- GET
/api/dormitory
Avoir tous les dortoirs
[
{
"id": 4,
"totalBed": 10,
"name": "dortoir 1",
"description": "description du premier dortoir",
"price": 10.2,
"taken": false,
"badges": [
{
"id": 3,
"name": "wifi4"
}
]
},
{
"id": 5,
"totalBed": 10,
"name": "dortoir 2",
"description": "description du premier dortoir",
"price": 10.2,
"taken": false,
"badges": []
}
]
- GET
/api/dormitory/{id}
Détails d’un dortoir
{
"id": 4,
"totalBed": 10,
"name": "dortoir 1",
"description": "description du premier dortoir",
"price": 10.2,
"taken": false,
"badges": [
{
"id": 3,
"name": "wifi4" (si badge il y a)
}
]
}
- POST
/api/dormitory/create
Créer un dortoir
{
"name":"dormitory2",
"description":"description2",
"price":12.23,
"totalBed":20
}
- PATCH
/api/dormitory/edit/{id}
Modifier un dortoir
{
"description":"description2"
}
- DELETE
/api/dormitory/delete/{id}
supprimer un dortoir
- GET
/api/dormitoryAvailable?from=YYYY-MM-DD&to=YYYY-MM-DD&numberOfBeds=6
Voir les dortoirs disponible sur une période donnée
{
"period": {
"from": "2026-01-11",
"to": "2026-01-14",
"durationDays": 3
},
"requestedBeds": 6,
"count": 4,
"dormitories": [
{
"id": 5,
"name": "dortoir 2",
"availableBeds": 10
},
{
"id": 4,
"name": "dortoir 1",
"availableBeds": 10
},
{
"id": 6,
"name": "dortoir 3",
"availableBeds": 10
},
{
"id": 7,
"name": "dortoir 4",
"availableBeds": 10
}
]
}
préciser dans l'url From/To = YYYY-MM-DD et numberOfBed = int > sert pour déterminer le nombre de participant à la réservation
- GET
/api/room
Voir les chambres
[
{
"id": 4,
"numberOfBed": 10,
"name": "chambre 1",
"description": "description de chambre",
"price": 10.2,
"occupy": false,
"badges": [
{
"id": 3,
"name": "wifi4"
}
]
},
{
"id": 5,
"numberOfBed": 10,
"name": "chambre 2",
"description": "description de chambre",
"price": 10.2,
"occupy": false,
"badges": []
}
]
- GET
/api/room/{id}
Voir une chambre
{
"id": 4,
"numberOfBed": 10,
"name": "chambre 1",
"description": "description de chambre",
"price": 10.2,
"occupy": false,
"badges": [
{
"id": 3,
"name": "wifi4"
}
]
}
- POST
/api/room/create
Créer une chambre
{
"name":"room2",
"description":"description2",
"price":12.23,
"numberOfBed":2
}
occupy se met en false dès la création
- PATCH
/api/room/edit/{id}
Editer une chambre
{
"name":"room23"
}
- DELETE
/api/room/delete/{id}
supprimer une chambre
- GET
/api/rooms/available?arrival=YYYY-MM-DD&departure=YYYY-MM-DD
voir les chambres disponible sur une période donnée
[
{
"id": 5,
"name": "room2",
"description": "description2",
"price": 12.23,
"numberOfBed": 2,
"occupy": false,
"badges": [],
"remarks": []
}
]
- GET
/api/dormitory/reservations/all
Voir toutes les réservations pour les dortoirs
[
{
"numberOfBed": 5,
"numberOfParticipant": 5,
"dormitory": {
"id": 4,
"totalBed": 10,
"name": "dortoir 1",
"description": "description du premier dortoir",
"price": 10.2,
"taken": false,
"badges": [
{
"id": 3,
"name": "wifi4"
}
]
},
"totalPrice": 102,
"participants": [
{
"id": 4,
"name": "Lefebvre",
"firstName": "Sophie",
"gender": "F",
"remarks": []
},
{
"id": 5,
"name": "Bernard",
"firstName": "Thomas",
"gender": "M",
"remarks": []
},
{
"id": 6,
"name": "Petit",
"firstName": "Julie",
"gender": "F",
"remarks": []
},
{
"id": 7,
"name": "Robert",
"firstName": "Lucas",
"gender": "M",
"remarks": []
},
{
"id": 8,
"name": "Richard",
"firstName": "Emma",
"gender": "F",
"remarks": []
}
],
"departure": "2026-03-12T00:00:00+00:00",
"arrival": "2026-03-10T00:00:00+00:00"
},
{
"numberOfBed": 5,
"numberOfParticipant": 5,
"dormitory": {
"id": 4,
"totalBed": 10,
"name": "dortoir 1",
"description": "description du premier dortoir",
"price": 10.2,
"taken": false,
"badges": [
{
"id": 3,
"name": "wifi4"
}
]
},
"totalPrice": 102,
"participants": [
{
"id": 9,
"name": "Lefebvre",
"firstName": "Sophie",
"gender": "F",
"remarks": []
},
{
"id": 10,
"name": "Bernard",
"firstName": "Thomas",
"gender": "M",
"remarks": []
},
{
"id": 11,
"name": "Petit",
"firstName": "Julie",
"gender": "F",
"remarks": []
},
{
"id": 12,
"name": "Robert",
"firstName": "Lucas",
"gender": "M",
"remarks": []
},
{
"id": 13,
"name": "Richard",
"firstName": "Emma",
"gender": "F",
"remarks": []
}
],
}
]
- GET
/api/dormitory/reservation/{id}
Voir détail d'une réservation pour un dortoir
{
"numberOfBed": 5,
"numberOfParticipant": 5,
"dormitory": {
"id": 4,
"totalBed": 10,
"name": "dortoir 1",
"description": "description du premier dortoir",
"price": 10.2,
"taken": false,
"badges": [
{
"id": 3,
"name": "wifi4"
}
]
},
"totalPrice": 102,
"participants": [
{
"id": 9,
"name": "Lefebvre",
"firstName": "Sophie",
"gender": "F",
"remarks": []
},
{
"id": 10,
"name": "Bernard",
"firstName": "Thomas",
"gender": "M",
"remarks": []
},
{
"id": 11,
"name": "Petit",
"firstName": "Julie",
"gender": "F",
"remarks": []
},
{
"id": 12,
"name": "Robert",
"firstName": "Lucas",
"gender": "M",
"remarks": []
},
{
"id": 13,
"name": "Richard",
"firstName": "Emma",
"gender": "F",
"remarks": []
}
],
}
- POST
/api/dormitory/{id}/reservation
Créer une réservation pour un dortoir
{
"arrival": "2026-01-09",
"departure": "2026-01-10",
"participants": [
{
"name": "",
"firstName": "",
"gender": ""
},
{
"name": "Bernard",
"firstName": "Thomas",
"gender": "M"
},
{
"name": "Petit",
"firstName": "Julie",
"gender": "F"
},
{
"name": "Robert",
"firstName": "Lucas",
"gender": "M"
},
{
"name": "Richard",
"firstName": "Emma",
"gender": "F"
}
]
}
- GET
/api/rooms/reservations
Voir les réservations pour les chambres
[
{
"id": 4,
"numberOfParticipant": 2,
"totalPrice": 48.92,
"room": {
"id": 4,
"name": "room2",
"description": "description2",
"price": 12.23,
"numberOfBed": 2
},
"participants": [
{
"id": 60,
"name": "test1",
"firstName": "rezr",
"gender": "Female",
"remarks": []
},
{
"id": 61,
"name": "test2",
"firstName": "daiuhdiuza",
"gender": "Female",
"remarks": []
}
]
}
]
- GET
/api/room/reservation/{id}
Détail d'une réservation pour une chambre
{
"id": 4,
"numberOfParticipant": 2,
"totalPrice": 48.92,
"room": {
"id": 4,
"name": "room2",
"description": "description2",
"price": 12.23,
"numberOfBed": 2
},
"participants": [
{
"id": 60,
"name": "test1",
"firstName": "rezr",
"gender": "Female",
"remarks": []
},
{
"id": 61,
"name": "test2",
"firstName": "daiuhdiuza",
"gender": "Female",
"remarks": []
}
]
}
- POST
/api/room/{id}/reservation
créer une réservation pour une chambre
{
"id": 21,
"numberOfParticipant": 2,
"totalPrice": 12.23,
"room": {
"id": 5,
"name": "room2",
"description": "description2",
"price": 12.23,
"numberOfBed": 2,
"occupy": true,
"badges": [],
"remarks": []
},
"participants": [],
"createdAt": "2026-01-15T11:40:23+00:00",
"departure": "2026-02-07T00:00:00+00:00",
"arrival": "2026-02-06T00:00:00+00:00"
}