BÊTAAuraPOS est en phase de développement. À ne pas utiliser en production critique.En savoir plus
Retour à la documentation

Module réservations

AuraPOS intègre un planning de réservations complet avec interfaces graphiques avancées : planning du jour, vues calendrier semaine/mois, drag and drop avec snap 15 min, shifts configurables et liste d'attente automatique.

Disponibilité

Inclus dans les éditions Studio, Restaurant, Group et Restaurant Group. Visible uniquement si le type de commerce est HORECA ou SERVICES.

Modèle générique

Le module utilise un modèle générique qui s'adapte à 2 usages :

  • HORECA : ressource = table (TABLE:T05, TABLE:T12+T13 pour table fusionnée)
  • Services : ressource = praticien (PRESTA:Marie, PRESTA:Salon_VIP)

Une réservation peut référencer plusieurs ressources simultanément (cas typique HORECA : table 5+6 fusionnée pour un groupe de 8 personnes).

Vue planning du jour

Ouvre par défaut sur la date du jour avec :

  • Header : sélecteur de date (DateTimePicker custom format dddd dd/MM/yyyy), boutons rapides Hier / Aujourd'hui / Demain, filtre statut, recherche client/téléphone
  • ListView 8 colonnes : Heure / Durée / Client / Couverts (X (YA+ZE)) / Ressources / Statut / Source / Remarques
  • Couleurs background+foreground par statut : vert = Arrivée, bleu = En service, gris = Terminée, rouge = No-show, orange = En attente
  • Footer actions : Nouvelle / Détails / Marquer arrivée / No-show / Annuler / Fermer (boutons H=40, footer=72, convention kiosque tactile)

Vues calendrier semaine et mois

Toggle de 3 boutons en header pour basculer entre les 3 vues :

Vue semaine

  • 7 colonnes Lun-Dim, axe Y heures 8h-24h, scroll vertical
  • Click = ouverture fiche réservation
  • Drag and drop 3 axes :
    • Vertical : changement d'heure (snap 15 min)
    • Horizontal : changement de ressource (table)
    • Resize bord bas (5 px sensible) : changement de durée
  • Validation conflit live (ghost rouge si conflit avec autre réservation)
  • Persistance auto au relâcher

Vue mois

  • Grille 7×6 (mois complet) avec heatmap densité par jour
  • Click sur un jour = switch automatique vers vue Jour

Fiche création / édition

Modal ClientSize 720×780 avec 4 sections :

  1. Date + créneau : date picker custom + heure picker ShowUpDown + durée NumericUpDown (15-600 min step 15). Fin estimée calculée et affichée live.
  2. Client : RadioButton existant→ComboBox autocomplete sur la base clients OU Guest→TextBox Nom+Téléphone libres
  3. Couverts : 3 NumericUpDown (Total + Adultes + Enfants)
  4. Ressources : ListBox sélectionnée + ComboBox suggestions LIBRES (filtrées en live par ReservationService.FiltrerRessourcesLibresParmi) + boutons Ajouter / Retirer

Détection de conflit live : à chaque changement (date / heure / durée / ressource), appel DetecterConflits → label rouge avec référence de la réservation en conflit.

Email de confirmation : bouton "📧 Envoyer confirmation" qui ouvre un mailto pré-rempli avec date / heure / couverts / ressources / occasion / remarques + signature NomCommerce. Lookup email automatique depuis le client lié, sinon InputBox.

Shifts / services HORECA

Configurez vos services (déjeuner / dîner) avec :

  • Code + Nom affichés dans la fiche
  • Jours actifs (bitmask) : ex Lun-Ven uniquement
  • Heures début/fin : ex 12h-14h pour déjeuner
  • Durée moyenne couvert : ex 90 min → pré-rempli automatiquement dans la fiche
  • Capacité simultanée : nombre max de couverts en parallèle
  • Rotation active : si oui, panel radio Standard/Rotation visible dans la fiche

Configuration depuis Paramètres → Services HORECA (visible si TypeCommerce = HORECA).

Double seating

Avec un shift où RotationActive = true, vous proposez 2 services consécutifs sur la même table (ex : 19h → 21h, puis 21h → 23h).

  • Dans la fiche réservation, le radio "Rotation" recale automatiquement DateHeureDebut à l'heure de rotation et DureeRotation
  • ReservationService.SuggererCreneaux propose les bons créneaux selon la dispo des tables

Liste d'attente automatique

Quand une table se libère (annulation, no-show, fin de service), AuraPOS scanne automatiquement les réservations EnAttente et les promeut.

  • Bandeau orange en haut de FormReservations si N candidats EnAttente
  • Dialog "Voir" → liste des candidats avec bouton Promouvoir
  • Hook auto après MarquerNoShow / MarquerTerminee / Annuler / changement de jour

Intégration salle + caisse

FormSalle (HORECA)

Cache _resasDuJour rafraîchi à Recharger(). Badge en haut-droite des tables (40×16 px) avec heure début + couleur par statut :

  • Bleu = Confirmée / Provisoire à venir
  • Vert = Arrivée / En service
  • Orange = En attente

FormCaisse (mode table)

À l'ouverture en mode table : trouve la résa active (TrouverResaActiveSurTable), l'affiche dans le bandeau supérieur (📅 Resa #X (client, Yp)), bascule auto Confirmée/Provisoire → Arrivée.

À l'encaissement (juste avant FermerTable) : si une résa est liée → set r.TicketId = ticket.Id + r.Statut = Terminee + Modifier(r). Best-effort, ne bloque pas la clôture.

Permissions

Permission UserRights.Reservations (default false, Manager+ via ForRole). Migration auto rétroactive des Manager+ existants au boot.

Carte "Réservations" visible dans FormLauncher uniquement si :

  • Type de commerce = HORECA ou SERVICES
  • ET l'utilisateur a la permission Reservations

Tablette serveur

L'API /api/v1/reservations?date=YYYY-MM-DD + PATCH /api/v1/reservations/{id} est exposée pour la tablette serveur Android (aurapos-pad). Vue planning consultable + actions statut (Arrivée / No-show / Annuler) en LAN local.

Restes à venir (V2.2 + V2.3)

  • Web public : widget JS embeddable + API publique /reservation/create (V2.2)
  • SMS rappel J-1 via Twilio / OVH / MessageBird (~5-7c/SMS, V2.3)
  • Acompte CB via intégration Mollie (V2.3)
  • Intégration TheFork prio BE puis Google Reserve (V2.3+)