Editar reserva de espacio
Última modificación: 21/05/2025
Permite editar una reserva de la categoría espacios del usuario. La reserva no debe estar expirada, cancelada o finalizada.
En caso de que se quiera cambiar de espacio reservado, se deberá tener en cuenta que si era un espacio sincronizado, el sistema sólo le permitirá elegir otro espacio que esté también sincronizado. Mientras que si era un espacio no sincronizado, sólo se le permitirá elegir otro espacio no sincronizado.
¡IMPORTANTE!
Si se trata de una reserva de un espacio sincronizado se debe añadir la cabecera "user-access-token" con el token de acceso de Microsoft del usuario (en caso de ser necesario).
¡Importante!
Las reservas de espacios que tengan el parámetro isExternalOrganizer a true NO se podrán ni editar, ni cancelar, ni hacer check-out.
Request
HTTP request
PUT /api/v2/spacebookings/{bookingId}
Headers
| Header | Value | Required |
|---|---|---|
| Authorization | Bearer eyJ0eXBlIjoiSldUIiwiYWxnIjoiSFM1MT… | true |
| user-access-token | eyJ0eXBlIjoiSldUIiwiYWxnIjoiSFM1MT… | false |
Ejemplo de petición
PUT /api/v2/spacebookings/a9e0681a-cf6e-4cdc-98a6-3a9c8237a375 HTTP/1.1
Host: api.develop.bookkercorp.com
Content-Type: application/json
user-access-token: eyJ0eXBlIjoiSldUIiwiYWxnIjoiSFM1M
Authorization: Bearer eyJ0eXBlIjoiSldUIiwiYWxnIjoiSFM1MTIifQ.eyJpc3MiOiJzZWN1cmUtYXBpIiwiYXVkIjoic2VjdXJlLWFwcCIsInN1YiI6ImFuZHJlc0BwcnVlYmFzLmNvbSIsImV4cCI6MTY2NzE5Nzk2NCwicm9sIjpbIjFkZmRlMDU5LWRhNjUtNDljOS04ZGIzLWRjY2M0ZjMyOTJlNCJdfQ.9XKSYmkNvnauzyi9P4I_pMEEUMGM7-BKOGHJPMh1FZwbMvxYMrchEpeoQBQpYanzEClr7QPf4vbBC6kr7UugQg
Content-Length: 697
{
"startDate": 1667120400000,
"endDate": 1667124000000,
"subject": "Nuevo título 2",
"addOnlineMeeting": true, // Opcional
"body": {
"content": "Esta es la nueva descripción 2",
"type": "TEXT"
},
"importance": "LOW",
"sipAddress": null,
"resourceId": "3cbebe9a-512a-4f32-b805-7275bbaef0ca",
"internalAttendees": [
{
"userId": "3f45617f-2d97-42c4-8e19-1d7b8905e139",
"type": "OPTIONAL"
},
{
"userId": "89174d56-a663-45eb-a82b-e2ce397d1e77",
"type": "OPTIONAL"
}
],
"externalAttendees": [
{
"email": "aitorgilcallejo@gmail.com",
"type": "OPTIONAL"
}
],
"reservables": [
{
"reservableId": "77af2139-6a93-48ec-89d1-a68d32bed800",
"deliveryTimeMs": 39600000,
"quantity": 3,
"comment": "Los 3 cafes, calientes, por favor."
},
{
"reservableId": "81842fde-2205-4acb-913f-9a5a3be98e83"
}
]
}
Response
Si se ha conseguido editar correctamente la reserva se devolverá un 200 Ok.
{
"id": "56baeb5a-93ef-4f24-927f-575a065461db",
"startDate": 1667120400000,
"endDate": 1667124000000,
"duration": 3600000,
"status": "PENDING",
"accessControl": {
"accessControlType": "ANY"
},
"creator": {
"id": "304a9cba-ad72-49a1-8782-9ac9a36cd8e7",
"name": "Aitor",
"surname": "Jupiter",
"upn": "a@bookker.es",
"email": "txoflas@gmail.com",
"userRuleId": "c796bc2d-e000-4d07-b5da-4d334d66a770",
"organizationId": "8aee218a-fce2-4900-9410-00f485a2729e",
"mobileRoleId": "1dfde059-da65-49c9-8db3-dccc4f3292e4",
"canBeSearched": false,
"timezone": "Europe/Madrid",
"language": "es",
"acceptedBookkerPolicy": true,
"acceptedCustomPolicy": true,
"status": "ACTIVATED"
},
"organizer": {
"id": "304a9cba-ad72-49a1-8782-9ac9a36cd8e7",
"name": "Aitor",
"surname": "Jupiter",
"upn": "a@bookker.es",
"email": "txoflas@gmail.com",
"userRuleId": "c796bc2d-e000-4d07-b5da-4d334d66a770",
"organizationId": "8aee218a-fce2-4900-9410-00f485a2729e",
"mobileRoleId": "1dfde059-da65-49c9-8db3-dccc4f3292e4",
"canBeSearched": false,
"timezone": "Europe/Madrid",
"language": "es",
"acceptedBookkerPolicy": true,
"acceptedCustomPolicy": true,
"status": "ACTIVATED"
},
"resource": {
"id": "3cbebe9a-512a-4f32-b805-7275bbaef0ca",
"name": "SALA 102",
"posterCode": "14MAY-P1-SALA-102",
"organizationId": "8aee218a-fce2-4900-9410-00f485a2729e",
"status": "ACTIVATED",
"subcategory": {
"id": "072ac366-1c4f-4995-af07-1a111f8fcc12",
"name": "Sala de reuniones",
"category": "SPACE"
},
"building": {
"id": "9f7868b3-c276-494c-aa34-c8ca7967ee7f",
"name": "Edificio 14 MAYO",
"organizationId": "8aee218a-fce2-4900-9410-00f485a2729e",
"status": "ACTIVATED",
"visible": true,
"timezone": "Etc/UTC"
},
"floor": {
"id": "0b85c0f9-4fbc-4263-ad5c-b1e2ef0da118",
"name": "Planta 1",
"visible": true,
"status": "ACTIVATED"
},
"group": {
"id": "68d7e3d4-4a1f-472f-8354-ebe4682791b2"
},
"approachable": false,
"visible": true,
"capacity": 24
},
"buildingAccessStatus": "PENDING",
"createdDate": 1666774385000,
"createdBy": "304a9cba-ad72-49a1-8782-9ac9a36cd8e7",
"lastModifiedDate": 1666774835000,
"lastModifiedBy": "304a9cba-ad72-49a1-8782-9ac9a36cd8e7",
"resourceType": "SPACE",
"subject": "Nuevo título 2",
"body": {
"content": "Esta es la nueva descripción 2",
"bodyType": "TEXT"
},
"importance": "LOW",
"attendees": [
{
"id": "11935255-2908-49d2-97d1-45971cfa0726",
"type": "OPTIONAL",
"status": "NEEDS_ACTION",
"bookingId": "56baeb5a-93ef-4f24-927f-575a065461db",
"email": "aitorgilcallejo@gmail.com"
},
{
"id": "57f469f1-f7b2-46ae-8600-deed927fba58",
"type": "OPTIONAL",
"status": "NEEDS_ACTION",
"bookingId": "56baeb5a-93ef-4f24-927f-575a065461db",
"user": {
"id": "89174d56-a663-45eb-a82b-e2ce397d1e77",
"name": "Ramón",
"surname": "Jupiter",
"upn": "r@bookker.es",
"email": "ramon.jupiter@bookker.es",
"userRuleId": "d4ae3e62-0379-408e-9485-861798285b77",
"organizationId": "8aee218a-fce2-4900-9410-00f485a2729e",
"mobileRoleId": "1dfde059-da65-49c9-8db3-dccc4f3292e4",
"canBeSearched": false,
"timezone": "Europe/Madrid",
"language": "es",
"acceptedBookkerPolicy": true,
"acceptedCustomPolicy": true,
"status": "ACTIVATED"
}
},
{
"id": "6d70c407-cea5-4561-ad93-bb76f4fa22dd",
"type": "ORGANIZER",
"status": "ACCEPTED",
"bookingId": "56baeb5a-93ef-4f24-927f-575a065461db",
"user": {
"id": "304a9cba-ad72-49a1-8782-9ac9a36cd8e7",
"name": "Aitor",
"surname": "Jupiter",
"upn": "a@bookker.es",
"email": "txoflas@gmail.com",
"userRuleId": "c796bc2d-e000-4d07-b5da-4d334d66a770",
"organizationId": "8aee218a-fce2-4900-9410-00f485a2729e",
"mobileRoleId": "1dfde059-da65-49c9-8db3-dccc4f3292e4",
"canBeSearched": false,
"timezone": "Europe/Madrid",
"language": "es",
"acceptedBookkerPolicy": true,
"acceptedCustomPolicy": true,
"status": "ACTIVATED"
}
},
{
"id": "8af08308-bb8e-4613-a3fe-8c9d084289cf",
"type": "OPTIONAL",
"status": "NEEDS_ACTION",
"bookingId": "56baeb5a-93ef-4f24-927f-575a065461db",
"user": {
"id": "3f45617f-2d97-42c4-8e19-1d7b8905e139",
"name": "Ricardo",
"surname": "Jupiter",
"upn": "ricardo.jupiter@bookker.es",
"email": "ricardo.jupiter@bookker.es",
"userRuleId": "042864eb-99bf-4572-a08a-cf1892239419",
"organizationId": "8aee218a-fce2-4900-9410-00f485a2729e",
"mobileRoleId": "1dfde059-da65-49c9-8db3-dccc4f3292e4",
"canBeSearched": false,
"timezone": "Europe/Madrid",
"language": "es",
"acceptedBookkerPolicy": true,
"acceptedCustomPolicy": true,
"status": "ACTIVATED"
}
}
],
"allDayBooking": false
}
Lista de posibles errores
| ErrorCode | HttpStatus | Descripción |
|---|---|---|
| 1000 - USER_NOT_FOUND | 404 | El usuario no se ha encontrado. |
| 1002 - RESOURCE_NOT_FOUND | 404 | El recurso no se ha encontrado. |
| 1011 - BOOKING_NOT_FOUND | 404 | La reserva no ha sido encontrada. |
| 1012 - USER_RULE_NOT_FOUND | 404 | No se ha encontrado la regla del usuario. |
| 1023 - RESOURCE_RULE_NOT_FOUND | 404 | No se ha encontrado la regla del recurso. |
| 1014 - RESOURCE_GROUP_NOT_FOUND | 404 | No se ha encontrado el grupo del recurso. |
| 2000 - INVALID_BOOKING_DATE | 404 | Las fechas enviadas no son válidas. |
| 3027 - USER_HAS_GOT_NOT_ACCESS_GROUP | 403 | El usuario no pertenece al grupo del recurso. |
| 4000 - USER_ALREADY_HAS_BOOKING | 409 | El usuario ya tiene una reserva en las fechas seleccionadas. |
| 4001 - RESOURCE_ALREADY_HAS_BOOKING | 409 | El recurso ya tiene una reserva en las fechas seleccionadas. |
| 4002 - INVALID_RESOURCE_SCHEDULE | 409 | Las fechas seleccionadas se salen del horario del recurso. |
| 4003 - INVALID_ADVANCE_DAYS | 409 | Las fechas seleccionadas no cumplen la regla de antelación. |
| 4005 - INVALID_SPACE_MAX_BOOKING | 409 | Se supera el límite de reserva de espacios por tramo. |
| 4006 - INVALID_DURATION | 409 | La reserva supera el límite de duración establecido. |
| 4007 - RESOURCE_NOT_ACTIVATED | 409 | El recurso no está activado. |
| 4010 - START_DATE_CAN_NOT_BE_MODIFIED | 409 | La fecha de inicio de la reserva no puede ser modificada. |
| 4047 - WORKING_STATUS_BLOCKS_BOOKING | 409 | El estado de trabajo del usuario bloquea la edición. |
| 4063 - RESOURCE_NOT_VISIBLE | 409 | El recurso no está visible. |
| 4064 - FLOOR_NOT_ACTIVATED | 409 | La planta no está activa. |
| 4065 - FLOOR_NOT_VISIBLE | 409 | La planta no está visible. |
| 4066 - BUILDING_NOT_ACTIVATED | 409 | El edificio no está activado. |
| 4067 - BUILDING_NOT_VISIBLE | 409 | El edificio no está visible. |
| 4082 - CAN_NOT_SWITCH_BETWEEN_DIFFERENT_SYNCHRONIZATION_TYPES | 409 | No se permite cambiar entre recursos con diferentes tipos de sincronización. Es decir, no puedes cambiar de un espacio no sincronizado a otro sí sincronizado y viceversa. |
| 4087 - BOOKING_RESOURCE_CANNOT_BE_MODIFIED | 409 | Se intenta cambiar el recurso cuando la reserva tiene servicios contratados. No deja debido a que los servicios van asociados al recurso. |
| 4088 - INVALID_RESERVABLE_RESCHEDULED | 409 | No se puede reagendar la reserva cambiando la hora. Únicamente el día. Saltará si, en una reserva con servicios contratados, se cambia de hora de inicio (Si editamos una reserva del día 20 a las 13:00 para el día 21 a las 13:00, si que se permite y no saltará el error.) |
| 6000 - 6999 Todos los errores de Microsoft Graph | 409 | Esta llamada sincroniza con Microsoft, así que existe la posibilidad de que se devuelvan todos los errores de la seríe 6000. |
| 7000 - INTERNAL_USERS_API_COMMUNICATION_ERROR | 500 | Error en la comunicación con el API interno de usuarios. |
| 7002 - INTERNAL_ORGANIZATIONS_API_COMMUNICATION_ERROR | 500 | Error en la comunicación con el API interno de organizaciones. |
| 7003 - INTERNAL_BOOKINGS_API_COMMUNICATION_ERROR | 500 | Error en la comunicación con el API interno de reservas. |