diff --git a/data/sandbox/fixtures.json b/data/sandbox/fixtures.json index 2275a9a..ca65b94 100644 --- a/data/sandbox/fixtures.json +++ b/data/sandbox/fixtures.json @@ -4,27 +4,43 @@ "id": 1, "title": "Brocante de Printemps 2026", "description": "Grande brocante annuelle en plein air avec plus de 200 exposants.", - "startAt": "2026-06-15T08:00:00", - "endAt": "2026-06-15T18:00:00", + "startAt": "2025-06-15T08:00:00", + "endAt": "2025-06-15T18:00:00", "address": "Place de la Republique", "zipcode": "75003", "city": "Paris", - "isOnline": true, + "isOnline": false, "isSecret": false, - "imageUrl": null + "imageUrl": null, + "status": "past" }, { "id": 2, "title": "Convention Cosplay Ete", - "description": "Convention cosplay avec concours, stands et animations.", - "startAt": "2026-08-20T10:00:00", - "endAt": "2026-08-21T19:00:00", + "description": "Convention cosplay avec concours, stands et animations. Evenement en cours !", + "startAt": "2026-03-22T10:00:00", + "endAt": "2026-03-24T19:00:00", "address": "Parc des Expositions", "zipcode": "02800", "city": "Beautor", "isOnline": true, "isSecret": false, - "imageUrl": "https://ticket.e-cosplay.fr/demo/convention.jpg" + "imageUrl": "https://ticket.e-cosplay.fr/demo/convention.jpg", + "status": "ongoing" + }, + { + "id": 3, + "title": "Marche de Noel 2026", + "description": "Marche de Noel avec chalets, vin chaud et animations pour enfants.", + "startAt": "2026-12-15T10:00:00", + "endAt": "2026-12-24T20:00:00", + "address": "Place du Marche", + "zipcode": "59000", + "city": "Lille", + "isOnline": true, + "isSecret": false, + "imageUrl": null, + "status": "upcoming" } ], "categories": { @@ -67,6 +83,26 @@ "isHidden": false, "isActive": true } + ], + "3": [ + { + "id": 5, + "name": "Chalets & Stands", + "position": 0, + "startAt": "2026-10-01T00:00:00", + "endAt": "2026-12-14T23:59:00", + "isHidden": false, + "isActive": true + }, + { + "id": 6, + "name": "Entrees Visiteurs", + "position": 1, + "startAt": "2026-11-01T00:00:00", + "endAt": "2026-12-24T20:00:00", + "isHidden": false, + "isActive": true + } ] }, "billets": { @@ -143,6 +179,32 @@ "notBuyable": false, "position": 0 } + ], + "5": [ + { + "id": 7, + "name": "Chalet Standard (3m)", + "priceHT": 8000, + "quantity": 40, + "sold": 12, + "type": "reservation_brocante", + "isGeneratedBillet": false, + "notBuyable": false, + "position": 0 + } + ], + "6": [ + { + "id": 8, + "name": "Entree Gratuite", + "priceHT": 0, + "quantity": null, + "sold": 0, + "type": "billet", + "isGeneratedBillet": true, + "notBuyable": false, + "position": 0 + } ] }, "billetDetails": { @@ -241,6 +303,38 @@ "imageUrl": "https://ticket.e-cosplay.fr/demo/vip.jpg", "category": {"id": 4, "name": "VIP"}, "event": {"id": 2, "title": "Convention Cosplay Ete"} + }, + "7": { + "id": 7, + "name": "Chalet Standard (3m)", + "description": "Chalet en bois de 3 metres avec eclairage et prise electrique.", + "priceHT": 8000, + "quantity": 40, + "sold": 12, + "type": "reservation_brocante", + "isGeneratedBillet": false, + "hasDefinedExit": false, + "notBuyable": false, + "position": 0, + "imageUrl": null, + "category": {"id": 5, "name": "Chalets & Stands"}, + "event": {"id": 3, "title": "Marche de Noel 2026"} + }, + "8": { + "id": 8, + "name": "Entree Gratuite", + "description": "Entree gratuite pour tous les visiteurs du marche de Noel.", + "priceHT": 0, + "quantity": null, + "sold": 0, + "type": "billet", + "isGeneratedBillet": true, + "hasDefinedExit": false, + "notBuyable": false, + "position": 0, + "imageUrl": null, + "category": {"id": 6, "name": "Entrees Visiteurs"}, + "event": {"id": 3, "title": "Marche de Noel 2026"} } }, "scan": { @@ -254,43 +348,60 @@ "isInvitation": false, "firstScannedAt": null, "hasDefinedExit": true, - "details": {} + "details": {}, + "_comment": "Billet valide - jamais scanne" }, "ETICKET-DEMO-0002-BBBB": { "state": "refused", - "reason": "already_scanned", + "reason": "exit_definitive", "reference": "ETICKET-DEMO-0002-BBBB", - "billetName": "Entree Adulte", + "billetName": "Pass 2 jours", "buyerFirstName": "Marie", "buyerLastName": "Martin", "isInvitation": false, - "firstScannedAt": "2026-06-15T09:30:00", - "hasDefinedExit": false, - "details": null + "firstScannedAt": "2026-03-22T11:00:00", + "hasDefinedExit": true, + "details": null, + "_comment": "Billet valide - deja scanne avec sortie definitive" }, "ETICKET-DEMO-0003-CCCC": { - "state": "refused", - "reason": "invalid", + "state": "accepted", + "reason": null, "reference": "ETICKET-DEMO-0003-CCCC", - "billetName": "Pass VIP 2 jours", + "billetName": "Pass 1 jour Samedi", "buyerFirstName": "Pierre", "buyerLastName": "Durand", "isInvitation": false, - "firstScannedAt": null, - "hasDefinedExit": true, - "details": null + "firstScannedAt": "2026-03-22T10:30:00", + "hasDefinedExit": false, + "details": {}, + "_comment": "Billet valide - entree/sortie illimitee (deja scanne une fois)" }, "ETICKET-DEMO-0004-DDDD": { "state": "accepted", "reason": null, "reference": "ETICKET-DEMO-0004-DDDD", - "billetName": "Pass 1 jour Samedi", + "billetName": "Pass VIP 2 jours", "buyerFirstName": "Sophie", "buyerLastName": "Bernard", "isInvitation": true, "firstScannedAt": null, "hasDefinedExit": true, - "details": {} + "details": {}, + "_comment": "Invitation - jamais scannee" + }, + "ETICKET-DEMO-0005-EEEE": { + "state": "refused", + "reason": "invalid", + "reference": "ETICKET-DEMO-0005-EEEE", + "billetName": "Vote Meilleur Cosplay", + "buyerFirstName": "Lucas", + "buyerLastName": "Petit", + "isInvitation": false, + "firstScannedAt": null, + "hasDefinedExit": false, + "details": null, + "_comment": "Vote - pas de billet genere, refuse car type vote" } } } diff --git a/templates/api/doc.html.twig b/templates/api/doc.html.twig index 2baedc0..2354840 100644 --- a/templates/api/doc.html.twig +++ b/templates/api/doc.html.twig @@ -43,7 +43,25 @@

https://ticket.e-cosplay.fr/api/sandbox

Environnement de test. Les donnees ne sont pas modifiees.

-

L'authentification (/api/auth/login) est commune aux deux environnements.

+

L'authentification (/api/auth/login) est commune aux deux environnements (vos vrais identifiants).

+ +
+

Donnees Sandbox

+

La sandbox retourne des donnees fictives identiques pour tous les utilisateurs :

+
+ Event #1 (passe) + Event #2 (en cours) + Event #3 (a venir) +
+

References de scan disponibles :

+
+ ETICKET-DEMO-0001-AAAA + ETICKET-DEMO-0002-BBBB + ETICKET-DEMO-0003-CCCC + ETICKET-DEMO-0004-DDDD + ETICKET-DEMO-0005-EEEE +
+