{% extends "base.html" %} {% import "macros/workspace_ui.html" as ui %} {% block page_title %}Provider Workspace{% endblock %} {% block extra_head %} {% include "skill-booking/ui-head.html" %} {% endblock %} {% block content %}

{% if enrollment_mode | default(value=false) %}Enroll as a skilled provider{% else %}Provider Workspace{% endif %}

{{ ui::notice() }} {% if enrollment_mode | default(value=false) %}

Save your profile, select all the skills you offer, and complete their applications together. Your applications stay pending until reviewed; enrollment does not approve your listing or activate platform billing.

{% endif %}

You are an independent skilled person. Customers pay you directly via UPI. This site only facilitates KYC, scheduling, and receipt tools.

{% if not logged_in %}

Sign in

{% elif not can_access %}

Provider enrollment is invite-only. Ask an admin or an enrolled provider to invite your email.

{% else %} {% if provider and provider.is_disabled == 1 %}
Your listing is hidden from search. Reason: {{ provider.disable_comment | default(value='') }}
{% endif %} {% if not enrollment_mode | default(value=false) %}

Platform access

{% if billing and (billing.is_perpetually_free == 1 or billing.is_perpetually_free == true) %}

Access is active under your free account plan. No recharge is required.

{% elif billing and (billing.is_valid == 1 or billing.is_valid == true) %}

Access is active through {{ billing.validity_end | default(value='—') | date_in_tz(timezone=settings.timezone) }}.

To extend access early, choose at least 30 days on the billing page. You can add more time in 30-day blocks.

{% elif billing %}

Your account needs a recharge before your profile can appear in search or manage availability.

The recharge amount follows your assigned account plan. Choose at least 30 days and add more time in 30-day blocks.

{% else %}

No billing plan is connected to this account yet.

If you expected to see a recharge amount, contact your administrator.

{% endif %}
{% if billing %}{% if billing.is_perpetually_free == 1 or billing.is_perpetually_free == true %}View account billing{% else %}View balance and recharge{% endif %}{% endif %}
{% endif %}

{% if enrollment_mode | default(value=false) %}1. Save your profile{% else %}Your profile{% endif %}

{% if not enrollment_mode | default(value=false) %}

Keep your contact and service details up to date.

{% endif %}
{% include "skill-booking/profile-fields.html" %}

My skills

Manage each skill’s approval and availability here. Pausing a skill removes it from new searches and bookings while preserving its approval.

{% for ps in provider_skills %}

{{ ps.skill_label }}

{% if ps.skill_description %}

{{ ps.skill_description }}

{% endif %}

{% if ps.status == 'enrolled' %}Enrolled · KYC approved{% if ps.is_enabled == 0 %} · Paused{% elif provider_ready and billing_ready %} · Ready for gigs{% else %} · Not currently listed for gigs{% endif %} {% elif ps.status == 'pending' %}KYC awaiting approval {% elif ps.status == 'rejected' %}KYC needs changes{% if ps.review_comment %}: {{ ps.review_comment }}{% endif %} {% else %}{{ ps.status }}{% endif %}

{% if ps.status == 'enrolled' %}{% endif %} Edit details
{% else %}

No skill applications yet.

{% endfor %}
Add another skill
{% if not enrollment_mode | default(value=false) %}

Availability

Select the dates you can take bookings. These dates apply to all your active skills.

Invite a colleague

Invite another skilled person to join the provider network.

Bookings

Review requests and update their progress here.

{% for b in bookings %}

{{ b.skill_label }}

{{ b.status }}

Dates: {{ b.start_date | date_in_tz(timezone=settings.timezone) }} → {{ b.end_date | date_in_tz(timezone=settings.timezone) }}

Payment: {{ b.payment_status }}

{% if b.status == 'pending' %}
{% elif b.status == 'confirmed' %}

Amount: {{ currency_symbol | default(value='₹') }}{{ b.agreed_amount | default(value='—') }} {% if b.checked_in_at %} · In: {{ b.checked_in_at | date_in_tz(timezone=settings.timezone) }}{% endif %} {% if b.checked_out_at %} · Out: {{ b.checked_out_at | date_in_tz(timezone=settings.timezone) }}{% endif %}

{% if not b.checked_in_at %}{% endif %} {% if b.checked_in_at and not b.checked_out_at %}{% endif %} {% if b.payment_status != 'paid' and b.agreed_amount %} {% endif %} {% if b.receipt_number %}Receipt{% endif %}
{% endif %}
{% else %}

No bookings yet. New requests will appear here.

{% endfor %}
{% endif %} {% endif %}
{% endblock %} {% block scripts %} {% endblock %}