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

Invites

{% if team_slug %}Back to teams{% else %}Back to event types{% endif %}

Send invite links for {{ event_type_title }} {% if owner_name is defined and owner_name %}({{ owner_name }}){% endif %}

{% if error %}
{{ error }}
{% endif %} {% if bulk_result %} {% if bulk_result.sent_count > 0 %}
Sent {{ bulk_result.sent_count }} invite{% if bulk_result.sent_count != 1 %}s{% endif %}.
{% endif %} {% if bulk_result.has_issues %}
{% if bulk_result.over_limit %}
Input was capped at {{ bulk_result.max_recipients }} recipients per submission. Submit the rest in another batch.
{% endif %} {% if bulk_result.invalid %}
Skipped {{ bulk_result.invalid|length }} invalid {% if bulk_result.invalid|length == 1 %}row{% else %}rows{% endif %}: {{ bulk_result.invalid|join(", ") }}
{% endif %} {% if bulk_result.duplicates %}
Skipped {{ bulk_result.duplicates|length }} duplicate {% if bulk_result.duplicates|length == 1 %}row{% else %}rows{% endif %}: {{ bulk_result.duplicates|join(", ") }}
{% endif %} {% if bulk_result.failed %}
{{ bulk_result.failed|length }} {% if bulk_result.failed|length == 1 %}invite{% else %}invites{% endif %} failed (DB or SMTP): {{ bulk_result.failed|join(", ") }} — check server logs for details.
{% endif %}
{% endif %} {% endif %}
Quick link
Generate a single-use link and copy it to your clipboard.

Or send via email

{% if invites %}

Sent invites

{% for inv in invites %}
{{ inv.guest_name }} · {{ inv.guest_email }} {% if inv.is_expired %} expired {% elif inv.is_used %} used {% else %} active {% endif %}
Sent by {{ inv.created_by }} · {{ inv.used_count }}/{{ inv.max_uses }} uses {% if inv.expires_at %} · Expires {{ inv.expires_at }}{% endif %}
{% if not inv.is_expired and not inv.is_used %} {% endif %}
{% endfor %}
{% else %}
No invites sent yet. Use the form above to send a booking link to someone.
{% endif %}
{% endblock dashboard_content %}