Bookker API Documentation logo Bookker API Documentation

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.