{% extends "dashboard_base.html" %} {% block title %}Dashboard — calrs{% endblock %} {% block dashboard_content %}

Welcome, {{ user_name }}

{{ user_email }}{% if user_role == "admin" %} · admin{% endif %}

{% if username %}

Public page: /u/{{ username }}

{% endif %}
{% if source_count == 0 or event_type_count == 0 %}

Getting started

Follow these steps to start accepting bookings.

{% if source_count > 0 %} Connect a calendar {% else %} Connect a calendar {% endif %}
{% if event_type_count > 0 %} Create your first event type {% else %} {% if source_count > 0 %} Create your first event type {% else %} Create your first event type {% endif %} {% endif %}
Share your booking link
{% endif %} {# --- Pending bookings (most urgent — moved to top) --- #} {% if pending_bookings %}

Pending approval

{% for b in pending_bookings %}
{{ b.event_title }} with {{ b.guest_name }} pending
{{ b.start_at }}
{% if b.start_at_guest %}
Guest booked: {{ b.start_at_guest }}
{% endif %}
{% endfor %}
{% endif %} {# --- Stats tiles --- #}
📅
{{ event_type_count }}
Event Types
📋
{{ upcoming_count }}
Upcoming Bookings
{{ pending_count }}
Pending Approval
🔗
{{ source_count }}
Calendar Sources
{# --- Quick actions: always visible, greyed out with reasons when not available --- #}

Create a new event type

🌐
Public booking page
Share a link — anyone can pick a slot and book time with you.
{% if source_count == 0 %}
Connect a calendar first
{% endif %}
👥
Team scheduling
{% if team_count > 0 %}Distribute bookings across team members or find a time everyone's free.{% else %}Create a team first, then set up shared event types.{% endif %}
{% if source_count == 0 %}
Connect a calendar first
{% elif team_count == 0 and not is_admin %}
Ask an admin to create a team
{% endif %}
🔒
Private invite-only
Generate single-use links for specific contacts. No one else can book.
{% if source_count == 0 %}
Connect a calendar first
{% endif %}
🏢
Shared invite links
Any colleague in the team can generate booking links to share externally.
{% if source_count == 0 %}
Connect a calendar first
{% elif team_count == 0 %}
Requires a team — {% if is_admin %}create one first{% else %}ask an admin{% endif %}
{% endif %}
{% endblock %}