feat: additional confirmation cycle and status for groups inquiries

This commit is contained in:
Björn Fromme
2026-08-18 12:48:17 +02:00
parent 5045846eed
commit 8dee65d0dc
28 changed files with 677 additions and 95 deletions
@@ -0,0 +1,5 @@
{#- Offen covers two situations that need different office action, told apart by the access
link: no link yet means the offer still has to be prepared, a link means the customer is
the one who has to act. Display only — both are the same status. -#}
{{- booking.status.label -}}
{%- if booking.open %} · {{ booking.accessLinkIssuedAt is not null ? 'Angebot versendet' : 'Angebot ausstehend' }}{% endif -%}
@@ -47,6 +47,11 @@
Angenommen am {{ booking.acceptedAt | date('d.m.Y, H:i') }}
</p>
{% endif %}
{% if booking.confirmedAt is not null %}
<p class="lg:col-span-2 text-xs text-gray-500">
Bestätigt am {{ booking.confirmedAt | date('d.m.Y, H:i') }}
</p>
{% endif %}
{% if form.managedBy is defined %}
<div class="lg:col-span-2">
{{ form_row(form.managedBy) }}
@@ -66,7 +66,7 @@
{% endif %}
</td>
<td>
{{ booking.type.label }} · {{ booking.status.label }}
{{ booking.type.label }} · {% include 'admin/accommodation_booking/_status_label.html.twig' %}
</td>
<td>
{% set discounts = [] %}
@@ -0,0 +1,13 @@
{% extends 'htmx_confirmation_modal.html.twig' %}
{% block title %}Buchung bestätigen{% endblock %}
{% block content %}
<div>
Möchtest du die Buchung für <em>{{ booking.groupName }}</em> verbindlich bestätigen?
<em>{{ booking.email }}</em> erhält daraufhin die Buchungsbestätigung inklusive
Preisübersicht per E-Mail.
</div>
{% endblock %}
{% block button_confirm %}Bestätigen{% endblock %}
@@ -2,7 +2,7 @@
{% block content %}
<twig:page:heading>
{{ booking.type.label }} · {{ booking.status.label }}
{{ booking.type.label }} · {% include 'admin/accommodation_booking/_status_label.html.twig' %}
{{ booking.groupName }}
</twig:page:heading>
@@ -56,11 +56,15 @@
<dt class="font-medium">Art</dt>
<dd>{{ booking.type.label }}</dd>
<dt class="font-medium">Status</dt>
<dd>{{ booking.status.label }}</dd>
<dd>{% include 'admin/accommodation_booking/_status_label.html.twig' %}</dd>
{% if booking.acceptedAt is not null %}
<dt class="font-medium">Angenommen am</dt>
<dd>{{ booking.acceptedAt | date('d.m.Y, H:i') }}</dd>
{% endif %}
{% if booking.confirmedAt is not null %}
<dt class="font-medium">Bestätigt am</dt>
<dd>{{ booking.confirmedAt | date('d.m.Y, H:i') }}</dd>
{% endif %}
</dl>
</div>
@@ -188,6 +192,23 @@
{% endif %}
</div>
{% if booking.received %}
<div class="mt-6 border-t border-gray-200 pt-6">
<h2 class="text-lg font-bold mb-2">Bestätigung</h2>
<p class="text-sm text-gray-500 mb-2">
Der Kunde hat die Buchung verbindlich abgeschickt, aber noch keine Bestätigung
erhalten. Prüfe Leistungen und Kapazitäten und bestätige die Buchung erst dann.
</p>
<button type="button"
class="button button--primary button--small"
hx-get="{{ path('app_admin_accommodationbooking_confirm', { id: booking.id }) }}"
hx-target="body"
hx-swap="beforeend">
Buchung bestätigen
</button>
</div>
{% endif %}
<div class="mt-6 border-t border-gray-200 pt-6">
<h2 class="text-lg font-bold mb-2">Zugangslink</h2>
{% if accessLink %}