Comprobar disponibilidad de cesiones de puestos fijos por planta
Última modificación: 26/11/2024
Comprobar disponibilidad
Comprueba la disponibilidad de los recursos teniendo en cuenta los siguientes criterios:
- Solo se tendrán en cuenta en la búsqueda los puestos fijos que tengan check-out ya realizado o cuyas cesiones permitan hacer la reserva de los mismos.
- Si el usuario tiene acceso al recurso (grupos).
- Si el recurso tiene las características seleccionadas por el usuario (opcional).
- Si se cumplen las reglas del recurso (antelación de la reserva, horarios…).
- Si el recurso está libre en el momento seleccionado por el usuario.
Request
HTTP request
GET /api/v1/users/me/buildings/{buildingId}/floors/{floorId}/fixedWorkstations/subcategories/{subcategoryId}/free
Headers
| Header | Value | Required |
|---|---|---|
| Authorization | Bearer eyJ0eXBlIjoiSldUIiwiYWxnIjoiSFM1MT… | true |
Params
| Param | Value | Required |
|---|---|---|
| bookingDays | List<BookingDay> | true |
| features | Array de identificadores de las características por las que se quiere filtrar. | false |
| isSupervisedBooking | Indica si se está intentando realizar una reserva supervisada. Solo disponible para puestos. | false |
| allDayBookings | Indica si se está intentando realizar una reserva para todo el día. Solo disponible para puestos. | false |
¡Importante! - Ejemplo de uso del parámetro bookingDays.
Para utilizar una lista en los parámetros de una petición GET hay que hacerlo de la siguiente forma:
http://localhost:9010/api/v1/users/{userId}/buildings/{buildingId}/floors/{floorId}/workstations/subcategories/{subcategoryId}/free?bookingDays[0].startDate=1561708800000&bookingDays[0].endDate=1561712400000&bookingDays[1].startDate=1561723200000&bookingDays[1].endDate=1561730400000
Sin embargo, para poder realizar la petición correctamente hay que encodear la URL ya que los corchetes "[]" son carácteres no válidos.
Request Example
GET http://localhost:9010/api/v1/users/me/buildings/5068c634-064d-4e15-b17f-1a420c68f051/floors/3268c634-064d-4e15-b17f-1a420c68f051/workstations/subcategories/eaacb523-7a8b-44d4-a3b2-d67f036a3b1c/free?bookingDays%5B0%5D.startDate=1561708800000&bookingDays%5B0%5D.endDate=1561712400000&bookingDays%5B1%5D.startDate=1561723200000&bookingDays%5B1%5D.endDate=1561730400000&features=faf57caf-53ed-410f-bf3d-39f220593ba7,asd57caf-53ed-230f-bf3d-39f220593c4r
Response
Si se han conseguido procesar la petición, se devuelve un código 200 con la información de los recursos disponibles.
Response
HTTP/1.1 200 OK
Content-type: application/json
{
"freeResources": [
{
"id": "12fba569-f49d-443a-a130-c7a86e2a49aa",
"name": "B-P3-PUESTO-37",
"posterCode": "B-P3-PUESTO-37",
"image": "https://api.develop.bookkercorp.com/api/v1/bookker/download/organizations/8aee218a-fce2-4900-9410-00f485a2729e/users/5432a51ff76e4e349a0fcd6759eeaa0a.jpeg",
"mapCoordinates": {
"topLeftX": 908,
"topLeftY": 521,
"bottomRightX": 956,
"bottomRightY": 570
},
"approachable": false,
"floor": {
"id": "14ab4017-1261-46ff-af05-eadf5d3d69e8"
},
"subcategory": {
"id": "db5d3245-1df2-42e2-9c6e-51bfadba948b",
"priority": 0
},
"visible": true,
"status": "ACTIVATED",
"group": {
"id": "e42861f3-7d9f-40c8-ba35-0e2eec75efdf"
}
}
]
}
BookingDay
Properties
| Name | Type | Description |
|---|---|---|
| startDate | Long | Fecha y hora en milisegundos del inicio de la reserva. |
| endDate | Long | Fecha y hora en milisegundos del fin de la reserva. |
{
"startDate": 1561557600000,
"endDate": 1561559400000
}