{% with messages = get_flashed_messages() %}{% if messages %} {% for m in messages %}
{{ m }}
{% endfor %} {% endif %}{% endwith %}
{{ locker.name | upper }}
{{ locker.location }}
{% if state.status == 'locked' %}CASIER LIBRE {% elif state.status == 'reserved' %}RÉSERVATION EN ATTENTE {% else %}CASIER EN COURS D'UTILISATION{% endif %}
{% if not state.online %}
CASIER HORS-LIGNE
Le casier n'est pas allumé ou la connexion est perdue. Aucune réservation n'est possible tant qu'il n'est pas remis en marche.
{% endif %} {% if state.status == 'reserved' and state.session and is_my_session %}
RÉSERVATION CONFIRMÉE
Votre casier s'ouvrira automatiquement à l'heure prévue.
Pas besoin de revenir sur l'app.
--:--:--
Avant ouverture
Créneau
{{ state.session.start_str }} — +{{ state.session.hours }}h
Montant
{{ "%.2f"|format(state.session.amount_eur) }} €
{# Bouton Annulation — visible uniquement si l'ouverture est dans + d'1h #} {% set seconds_before = state.session.started_at - now_ts %} {% if seconds_before > 3600 %}
L'annulation n'est possible que jusqu'à 1h avant l'ouverture.
{% else %}
Annulation indisponible : il reste moins d'1h avant l'ouverture.
{% endif %} {% endif %} {% if state.status == 'unlocked' and state.session %}
Temps restant
--:--:--
Session en cours — {{ state.session.hours }}h payées
Montant payé
{{ "%.2f"|format(state.session.amount_eur) }} €
Expire à
--:--
{% elif state.status == 'locked' %} {% if not state.online %}
Réservation indisponible
Le casier doit être allumé et connecté pour pouvoir être réservé.
{% else %}
Choisir un créneau
{% with messages = get_flashed_messages() %}{% if messages %}
ERREUR DE RÉSERVATION
    {% for m in messages %}
  • {{ m }}
  • {% endfor %}
{% endif %}{% endwith %}
Date
Choisissez une date.
Heure de début
Choisissez une heure de début.
Durée
HEURES
1
Durée invalide.
{% endif %} {% endif %}