Bookker API Documentation logo Bookker API Documentation

Contratar reservables para una reserva

Última modificación: 27/11/2023

Realiza la contratación de un servicio o medio físico para una reserva ya existente.

Request

HTTP request
PUT /api/v1/bookings/{bookingId}/reservables/all
Headers
Header Value Required
Authorization Bearer eyJ0eXBlIjoiSldUIiwiYWxnIjoiSFM1MT… true
Body
{
    "bookingId": "fb3191f3-3ff7-43d5-b258-7be90150f6ec",
    "reservableBookingList": [
        {
            "reservableId": "89fe7a53-c8f6-42d1-8dd0-cd8dfb774701",
            "deliveryTimeMs": 36000000,
            "quantity": 1,
            "comment": "La leche fría y desnatada."
        },
        {
            "reservableId": "efd62f06-a75a-40fa-b188-1990fd1c5e22",
            "deliveryTimeMs": 37800000,
            "quantity": 14,
            "comment": "comentario para el proveedor 2"
        }
    ]
}

Ejemplo de petición

PUT /api/v1/bookings/fb3191f3-3ff7-43d5-b258-7be90150f6ec/reservables/all HTTP/1.1
Host: 127.0.0.1:9010
Content-Type: application/json
Accept: application/json
app-version: WEBAPP/1.3.1
Authorization: Bearer eyJ0eXBlIjoiSldUIiwiYWxnIjoiSFM1MTIifQ.eyJpc3MiOiJzZWN1cmUtYXBpIiwiYXVkIjoic2VjdXJlLWFwcCIsInN1YiI6ImFuZHJlcy5wcnVlYmFzeEBnbWFpbC5jb20iLCJleHAiOjE2NjM5MzIzMTUsInJvbCI6WyIxZGZkZTA1OS1kYTY1LTQ5YzktOGRiMy1kY2NjNGYzMjkyZTQiXX0.nWg33FXFPYhn_TfYawOEFRQxCtC5swxtmd6dBumkVZzyp5sz8-iRw8oiyUGuWxAvAC01vCzv3Tyjf5UTmGDLcg
Content-Length: 84

{
    "bookingId": "fb3191f3-3ff7-43d5-b258-7be90150f6ec",
    "reservableBookingList": [
        {
            "reservableId": "89fe7a53-c8f6-42d1-8dd0-cd8dfb774701",
            "deliveryTimeMs": 36000000,
            "quantity": 1,
            "comment": "La leche fría y desnatada."
        },
        {
            "reservableId": "efd62f06-a75a-40fa-b188-1990fd1c5e22",
            "deliveryTimeMs": 37800000,
            "quantity": 14,
            "comment": "comentario para el proveedor 2"
        }
    ]
}

Response

Se devuelve un código 201 con la información de los servicios contratados en la reserva. “Foto final”

{
    "bookingId": "fb3191f3-3ff7-43d5-b258-7be90150f6ec",
    "bookingReservableList": [
        {
            "reservable": {
                "id": "89fe7a53-c8f6-42d1-8dd0-cd8dfb774701",
                "organizationId": "8aee218a-fce2-4900-9410-00f485a2729e",
                "name": "servicio cafe",
                "type": "SERVICE",
                "description": "Servicio de café estándar. Se permite indicar el tipo de leche.",
                "chooseQuantity": true,
                "chooseDeliveryTime": true,
                "allowComments": true
            },
            "minimumCancellationMs": 3600000,
            "standardDeliveryTimeMs": 3600000,
            "deliveryTimeMs": 17913184,
            "quantity": 1,
            "comment": "La leche fría y desnatada."
        },
        {
            "reservable": {
                "id": "89fe7a53-c8f6-42d1-8dd0-cd8dfb774701",
                "organizationId": "8aee218a-fce2-4900-9410-00f485a2729e",
                "name": "servicio cafe",
                "type": "SERVICE",
                "description": "Servicio de café estándar. Se permite indicar el tipo de leche.",
                "chooseQuantity": true,
                "chooseDeliveryTime": true,
                "allowComments": true
            },
            "minimumCancellationMs": 3600000,
            "standardDeliveryTimeMs": 3600000,
            "deliveryTimeMs": 37800000,
            "quantity": 14,
            "comment": "La leche fría y desnatada."
        }
    ]
}

Lista de posibles errores

ErrorCode HttpStatus Descripción
1002 - RESOURCE_NOT_FOUND 404 No se ha encontrado el recurso.
El recurso, su planta o su edificio no están en estado ACTIVATED.
El recurso, su planta o su edificio no están visibles.
1011 - BOOKING_NOT_FOUND 404 No se ha encontrado la reserva.
1043 - RESOURCE_RESERVABLE_NOT_FOUND 404 El reservable que se ha mandado en la URL, no esta asociado al recurso de la reserva.
4072 - INVALID_DATE_BY_MIN_CANCELLATION_OF_THE_RESERVABLE 409 No se puede realizar la acción debido a que falta menos tiempo para el inicio de la reserva que el mínimo permitido para cancelar la contratación y, por lo tanto, no se puede/podría cancelar.
4077 - INVALID_RESERVABLE_DELIVERY_TIME 409 La hora de entrega seleccionada no es válida.
4078 - INVALID_RESERVABLE_QUANTITY 409 La cantidad seleccionada no es válida.
4079 - ADDITIONAL_SERVICES_MODULE_NOT_ACTIVE 409 La organización no tiene activo/contratado el módulo de servicios adicionales.