Crear reserva manual de plaza de parking
Última modificación: 01/12/2023
Crea una reserva manual de parking.
Se comprueba si el usuario tiene acceso a la plaza que obtiene en el body de la petición mediante los grupos de tipo “manual” y las cesiones disponibles y realiza la reserva.
Tiene en cuenta las reglas del parking seleccionado: Antelación con la que se puede reservar, tiempo máximo por tramo que puede reservar el usuario…
Para poder reservar, el usuario tiene que tener el vehículo que ha solicitado para la reserva validado en el edificio que está intentando reservar
Si el usuario tiene plaza fija se crearán las cesiones pertinentes.
Si la organización NO tiene activado el módulo de vehículo requerido no hay que mandar el campo vehicleId. Si se manda la API devolverá un error.
Si la organización SI tiene activado el módulo de vehículo requerido si hay que mandar el campo vehicleId. Si no se manda la API devolverá un error.
¡IMPORTANTE!
La forma actual en la que se indica el vehículo asociado a la reserva mediante licensePlate queda deprecada y en su lugar se utilizará vehicleId.
Request
HTTP request
POST /api/v1/parkings/bookings/manual
Headers
| Header | Value | Required |
|---|---|---|
| Authorization | Bearer eyJ0eXBlIjoiSldUIiwiYWxnIjoiSFM1MT… | true |
Request
{
"buildingId": "118ae778-1d81-4589-b02c-8583add71994",
"floorId": "b60c8462-0c40-4f61-b9ce-1e1179f49da1",
"subcategoryId": "6e0a5df1-2de7-40f3-8590-2f8e7bc45ef8",
"bookingDays": [
{
"startDate": 1651042800000,
"endDate": 1651046400000
}
],
"licensePlate": "1234 ABC", // Deprecado
"vehicleId": "7ff07a0f-44b9-4a99-a359-461c0fb62ba0",
"slotSelected": { // Este objeto queda deprecado, se sugiere usar el resourceId
"id": "01ef13fc-a355-4054-92e8-63621dbbe012"
},
"resourceId": "01ef13fc-a355-4054-92e8-63621dbbe012"
}
Response
Se devuelve un código 201 con la información de la plaza reservada.
{
"bookings": [
{
"id": "cca5ac20-3d63-40ee-8524-aa784d96525d",
"startDate": 1651042800000,
"endDate": 1651046400000,
"duration": 3600000,
"status": "UNDETERMINED",
"accessControlType": "NONE",
"creator": {
"id": "304a9cba-ad72-49a1-8782-9ac9a36cd8e7",
"name": "Aitor",
"surname": "Jupiter",
"alias": "072919a68fbd42aead115dbee1b02620",
"upn": "a@bookker.es",
"email": "txoflas@gmail.com",
"organization": {
"id": "8aee218a-fce2-4900-9410-00f485a2729e"
},
"userRule": {
"id": "304a9cba-ad72-49a1-8782-9ac9a36cd8e7"
},
"mobileRole": {
"id": "1dfde059-da65-49c9-8db3-dccc4f3292e4"
},
"canBeSearched": false,
"type": "BOOKKER_INTERNAL",
"userLanguage": "es-ES",
"status": "ACTIVATED"
},
"organizer": {
"id": "304a9cba-ad72-49a1-8782-9ac9a36cd8e7",
"name": "Aitor",
"surname": "Jupiter",
"alias": "072919a68fbd42aead115dbee1b02620",
"upn": "a@bookker.es",
"email": "txoflas@gmail.com",
"organization": {
"id": "8aee218a-fce2-4900-9410-00f485a2729e"
},
"userRule": {
"id": "304a9cba-ad72-49a1-8782-9ac9a36cd8e7"
},
"mobileRole": {
"id": "1dfde059-da65-49c9-8db3-dccc4f3292e4"
},
"canBeSearched": false,
"type": "BOOKKER_INTERNAL",
"userLanguage": "es-ES",
"status": "ACTIVATED"
},
"resource": {
"id": "01ef13fc-a355-4054-92e8-63621dbbe012",
"name": "Parking 36",
"posterCode": "B-S1-PARK-36",
"approachable": false,
"floor": {
"id": "b60c8462-0c40-4f61-b9ce-1e1179f49da1",
"name": "Sótano 1",
"floorNumber": -1,
"image": "https://api.develop.bookkercorp.com/api/v1/bookker/download/organizations/8aee218a-fce2-4900-9410-00f485a2729e/floors/9f14e8a8597b44fd9ecfb17695d9ddf2.png",
"building": {
"id": "758a81f3-f171-404b-b48c-c922828aed49",
"name": "Júpiter Building",
"address": {
"country": "ES",
"city": "Madrid",
"address": "Avenida Gran Vía, 85",
"coordinates": null
},
"organization": {
"id": "8aee218a-fce2-4900-9410-00f485a2729e"
},
"timezone": "Europe/Madrid",
"status": "ACTIVATED",
"visible": true
},
"status": "ACTIVATED",
"type": "PARKING",
"visible": true
},
"subcategory": {
"id": "6e0a5df1-2de7-40f3-8590-2f8e7bc45ef8",
"priority": 0
},
"visible": true,
"status": "LOCKED",
"group": {
"id": "e97b9a4d-2fb5-48c4-ab90-3fd6dd9dfd3e",
"name": "Grupo Parking Jupiter SL",
"description": "",
"type": "PARKING_MANUAL",
"buildingId": "758a81f3-f171-404b-b48c-c922828aed49"
},
"covered": true,
"parkingSlotSize": "BIG"
},
"buildingAccessStatus": "PENDING",
"createdDate": 1650992915790,
"resourceType": "PARKING",
"vehicle": {
"userId": "304a9cba-ad72-49a1-8782-9ac9a36cd8e7",
"licensePlate": "1234 ABC",
"brand": "Yamaha",
"model": "TMax",
"color": "Blanco",
"type": "MOTORCYCLE"
}
}
]
}