Caisse (PointOfSale) - Fonctionnement optimisé

Paiements

L’ajout de ligne de paiement au panier se fait côté navigateur, avec l’appel à la persistance posbasket/persist + dofinalize=true si panier entièrement payer.

Attention : il faut aussi ajouter les lignes de paiement en échec (ex: cb refusée): elles se seront pas comptabilisées dans le panier, mais elles seront utiles pour diagnostiquer des problèmes avec un type de carte (ex: il y a eu le cas d’une CB EMV de la BNC qui ne passait jamais).

sequenceDiagram participant K as Caissière participant U as UI participant H as hwproxy participant A as API participant J as Job K->>U: Bouton paiement U->>U: ... process de paiement ... activate K U->>U: addPaymentLine U->>A: PUT posbasket/persist A->>J: cineges.posbasket.action J->>U: Notif deactivate K

Finalisation

Si le panier est entièrement payé, l’appel à posbasket/persist doit se faire avec doFinalize=true. Le panier est alors clôturé, et les places de cinéma générées.

La notification de retour contient le prochain panier vide, mais avant d’initialiser le nouveau panier dans le navigateur, il faut appeler posbasket/getprintables pour récupérer les éléments à imprimer.