← Dashboard

Request #{{ req.id }} — {{ req.name }}

Status: {{ statuses[req.status] }}

{% with messages = get_flashed_messages(with_categories=true) %} {% for category, message in messages %}
{{ message }}
{% endfor %} {% endwith %}

Customer Info

Operators can correct customer details here. Click Save when done.

Request #: {{ req.id }}

{% if req.revision_note %}

📝 Revisions Requested{% if req.revision_count %}Revision #{{ req.revision_count }}{% endif %}

{{ req.revision_note }}

{% endif %}

Operator Notes

Internal notes for the booth team. Customers cannot see this.

Stems / Extras Link

Paste a self-hosted file share link (e.g. from Pingvin Share). It will appear on the customer player page once delivered.

1. Generate & Save Suno Prompt

Paste Hermes' Title, Style, and Lyrics directly into the fields below, then save.

2. Upload Songs

Version A: {% if req.song_a_path and file_exists(req.song_a_path) %} ✅ Uploaded {{ basename(req.song_a_path) }} {% else %} ❌ Not uploaded {% endif %}

Version B: {% if req.song_b_path and file_exists(req.song_b_path) %} ✅ Uploaded {{ basename(req.song_b_path) }} {% else %} ❌ Not uploaded {% endif %}

3. Notify Customer

Preview email: {% if req.preview_sent_at %} ✅ Sent {{ req.preview_sent_at }} {% else %} ❌ Not sent yet {% endif %}

Both songs must be uploaded first.

{% if req.song_a_path and req.song_b_path %}

Operator preview link: Open customer player in new tab →

{% endif %}

4. Payment & Delivery

Customer approved: {% if req.customer_approved == 'none' %} Nothing yet {% else %} {{ req.customer_approved.upper() }} {% endif %}

Delivery email: {% if req.delivery_sent_at %} ✅ Sent {{ req.delivery_sent_at }} {% else %} ❌ Not sent yet {% endif %}

{% if req.square_payment_ref %}

Square Payment Reference: {{ req.square_payment_ref }}

{% endif %}

Select files to deliver:

{% set all_files = [] %} {% if req.song_a_path and file_exists(req.song_a_path) %} {% set _ = all_files.append(req.song_a_path) %} {% endif %} {% if req.song_b_path and file_exists(req.song_b_path) %} {% set _ = all_files.append(req.song_b_path) %} {% endif %} {% set files_to_show = all_files + extra_files %} {% for fpath in files_to_show %}
{% if not (fpath == req.song_a_path or fpath == req.song_b_path) %}
archived / revision file
{% endif %}
{% else %}

No files available. Upload songs first.

{% endfor %}
{% if req.customer_approved == 'none' %}

⚠️ Customer must approve a version before you can mark paid or deliver.

{% endif %}

Revision History

{% if revision_history %}
    {% for h in revision_history %}
  • Revision #{{ h.revision_count }} — {{ h.created_at }} {% if h.old_song_a_path or h.old_song_b_path %}
    Archived: {% if h.old_song_a_path %}
    A: {{ basename(h.old_song_a_path) }}{% endif %} {% if h.old_song_b_path %}
    B: {{ basename(h.old_song_b_path) }}{% endif %} {% endif %}

    {{ h.note or 'No note provided.' }}

  • {% endfor %}
{% else %}

No revisions recorded yet.

{% endif %}