Plans de salle et places réservées
Le placement numéroté est avant tout un problème de concurrence d'accès déguisé en plan de salle.
Une place est retenue, pas réservée indéfiniment
Quand un acheteur choisit une place, elle est retenue 15 minutes. Assez pour finir la commande, assez peu pour qu'un panier abandonné ne retire pas un siège de la vente pour la soirée. Sans finalisation, la retenue expire et la place revient automatiquement.
Deux personnes, une place
La retenue est posée de façon atomique : une seule session obtient une place donnée, et la seconde demande est refusée plutôt que mise en file. Cela compte surtout dans le pire cas — les derniers sièges, tout le monde qui clique en même temps — c'est-à-dire précisément là où une implémentation naïve vend deux fois.
Les retenues survivent à un redémarrage
Elles sont écrites en base en plus du stockage rapide en mémoire : un redémarrage ne libère pas silencieusement toutes les places retenues en pleine vente.
Mélanger placement et placement libre
Vous pouvez vendre des places numérotées et des billets en placement libre pour le même événement. Le placement libre n'a pas de siège à retenir ; sa disponibilité se compte sur le quota de la catégorie de billet.
Une conséquence à anticiper : une place retenue n'est pas une place vendue. Vos chiffres comptent les réservations confirmées, donc un moment de forte affluence affichera plus de sièges visuellement bloqués que de billets vendus. L'écart se résorbe à mesure que les retenues expirent.