DOH - Déplacer l’Ouverture du Hoppening

Au contraire des années précédentes, une immense quantité de gens veut participer à l’ouverture. Ainsi, Maître T doit permettre de modifier la durée et le moment de l’activité d’ouverture. Il faut aussi pouvoir modifier la plage de temps qui permet de réserver sa table au restaurant.

Conditions de succès

Critère Description
DOH 1 La date de début du Hoppening par défaut est 2150-07-20
DOH 2 La date de fin du Hoppening par défaut est 2150-07-30
DOH 3 La date où il est permis de commencer à réserver par défaut est 2150-01-01
DOH 4 La date où il n’est plus permis de réserver par défaut est 2150-07-16
DOH 5 Les messages d’erreur continuent à bien fonctionner
DOH 6 Le Hoppening continue à bien fonctionner
DOH 7 Les stories précédentes continuent à bien fonctionner
DOH 8 Il est possible de modifier la plage de dates de réservation
DOH 9 Il est possible dem odifier la plage de dates de souper
DOH 10 Pour les 2 periodes, la date de fin doit être après la date de début.
DOH 11 La plage de date de souper doit etre exclusivement après la place de date de réservation. Si la réservation termine le 10 juin 2150, alors la plage de date du souper doit commencer le 11 juin 2150 ou plus tard.

@olgam4 Reply…

Notes:

Prenez pour acquis que..

  • nous ne ferons qu’un seul POST à /configuration avant de faire les autres requêtes, donc pas besoin de gérer le fait que des tables aient été réservées avant le changement de configuration
  • les dates de début et de fin sont inclusives
  • les dates ne seront pas identiques (début - fin)
  • les dates de réservation seront avant l’activité d’ouverture
  • la date de fin > date de début
  • que les dates données seront après 2020
  • l’activité d’ouverture peut durer un nombre arbitraire de jours

API

Requête

Exemple:

POST /configuration

{
    "reservationPeriod": {
        "beginDate": "2150-02-20",
        "endDate": "2150-02-23"
    },
    "hoppening": {
        "beginDate": "2150-03-20",
        "endDate": "2150-03-23"
    }
}

Réponse

HTTP 200 Ok

HTTP 400 Bad Request

Dans le cas où les plages se chevauchent ou si la réservation est avant le Hoppening.

{
  "error": "INVALID_TIME_FRAMES"::string,
  "description": "Invalid time frames, please use better ones."::string
} 

HTTP 400 Bad Request

Dans le cas où les dates sont invalides.

{
  "error": "INVALID_DATE"::string,
  "description": "Invalide dates, please use the format yyyy-mm-dd"::string
} 

HTTP 400 Bad Request

Dans le cas où le JSON est invalide.

{
  "error": "INVALID_FORMAT"::string,
  "description": "Invalid format"::string
}