Basset Help

Help Basset

API Reservation Hotel – (Paso 7)

Documentación de la API de Basset

La API de Basset permite realizar reservaciones asincrónicas a través de solicitudes HTTP. A continuación, se describe cómo interactuar con la API utilizando el ejemplo de solicitud cURL proporcionado.

Recurso de Reservaciones Asincrónicas

Crear una Reservación Asincrónica

Crea una nueva reservación asincrónica utilizando los datos proporcionados.

  • URL del recurso: https://api.basset.ws/reservations/async
  • Método HTTP: POST

Parámetros de Consulta

ParámetroDescripciónEjemplo
siteSitio específico para la reservación.AR
channelCanal de acceso a la API.WEB, DESKTOP, API, MOBILE

Encabezados

EncabezadoDescripciónEjemplo
x-api-keyClave de API para autenticación y autorización.API-KEY
x-client-idID del cliente que realiza la solicitud.CLIENT-ID
Content-TypeTipo de contenido de la solicitud.application/json

Cuerpo de la Solicitud

El cuerpo de la solicitud debe estar en formato JSON e incluir la información necesaria para la reservación.

Ejemplo de Solicitud cURL

curl --location --request POST 'https://api.basset.ws/reservations/async?site=AR&channel=API' \
--header 'x-api-key: API-KEY' \
--header 'x-client-id: CLIENT-ID' \
--header 'Content-Type: application/json' \
--data-raw '{
    "products": [
        {
            "item_id": "68b8b5ef-d528-453c-b29a-5b696820941c",
            "type": "ACCOMMODATION",
            "rooms": [
                {
                    "firstname": "jorge",
                    "lastname": "sanchez",
                    "document": {
                        "type": "PAS",
                        "number": "958587845221"
                    }
                }
            ]
        }
    ],
    "fiscal_identification": {
        "type": "CUIL",
        "number": "205245254582"
    },
    "fiscal_data": {
        "identification": {
            "type": "CUIL",
            "number": "205854855452",
            "fiscal_name": "jorg sanchez",
            "tax_situation": "CF"
        },
        "address": {
            "state": "",
            "city": "",
            "country": "AR",
            "street": "",
            "number": "",
            "floor": "",
            "door": "",
            "postal_code": ""
        }
    },
    "contact": {
        "language": "es",
        "email": "mail@mailpropio.com",
        "telephone": {
            "type": "M",
            "country_code": "54",
            "area_code": "011",
            "number": "65524585"
        }
    },
    "autocomplete_billing_info": true
}'

Respuesta

La respuesta contendrá la confirmación de la creación de la reservación asincrónica en el formato deseado. Esta le generara un ID

Donde posterior a ello y sin realizar nuevamente una petición, debe llamar a la API Process para verificar si la reserva efectivamente se realizo, de haberse realizado la reserva mostrará un mensaje similar:
Con el ID Basset y el estatus OK o algún cambio de tarifa:

Ahora, ¿cuál es el servicio que sustituye al price-check? la API /accommodations/rates/ estaria evaluando las distintas respuestas y enviando los distintos estatus según lo que nos responda cada proveedor, estos serían:

“EXPIRATION_DATE_CHANGE” = La fecha de expiración cambio.

“REFUNDABLE_CHANGE” = Habitación cambio de gratuita a paga. (true/false)

“PRICE_CHANGE” = Cambio de precio en la tarifa. Acompañada del objeto old_fare con la tarifa anterior.

“UNCHECKED” “OK” = Sin cambios, la tarifa se mantiene. (Ambos son lo mismo)“SOLD_OUT” = Habitación no disponible. (No muestra modal, mensaje “Por poco”)

{
    "rooms": [
        {
            "id": "817214215",
            "name": "Standard Suite with two single beds, a sofa bed, and a small kitchenette",
            "capacity": 2,
            "bed_configuration": []
        }
    ],
    "rates": [
        {
            "id": "b00fc85e-85c5-4dab-b327-ebf030882ae9",
            "status": "PRICE_CHANGE",
            "provider": "DOTW",
            "accommodation_id": "655dabefff9b450001cad127",
            "available_rooms": 0,
            "checkin": "2024-08-21T00:00:00Z",
            "checkout": "2024-08-23T00:00:00Z",
            "meal_plan": "FREE_BREAKFAST",
            "refundable": false,
            "cancel_penalties": [],
            "fare": {
                "base_rate": 422,
                "net_rate": 422,
                "nightly_basis": 211,
                "total": 805.1315789473684,
                "currency": "USD",
                "original_currency": {
                    "currency_code": "USD",
                    "ratio": 1
                },
                "charges": [
                    {
                        "type": "commission",
                        "amount": 0,
                        "vat": 0,
                        "currency": "USD",
                        "collector": "PROVIDER"
                    },
                    {
                        "type": "markup",
                        "amount": 22.210526315789473,
                        "vat": 2.221052631578947,
                        "currency": "USD",
                        "collector": "AGENCY"
                    }
                ],
                "fees": [
                    {
                        "type": "PAIS",
                        "amount": 126.6,
                        "currency": "USD",
                        "collector": "AGENCY"
                    },
                    {
                        "type": "RG4815/20",
                        "amount": 126.6,
                        "currency": "USD",
                        "collector": "AGENCY"
                    },
                    {
                        "type": "RG5272/22",
                        "amount": 105.5,
                        "currency": "USD",
                        "collector": "AGENCY"
                    }
                ],
                "taxes": [],
                "additional_charges": ""
            },
            "price": {
                "total": 915.9065789473684,
                "nightly_basis": 0,
                "base_rate": 0,
                "extra_cost": 915.91,
                "provider_vat": 0,
                "agency_commission": {
                    "total": 22.210526315789473,
                    "percentage": 0,
                    "currency": ""
                },
                "agency_ceded_commission": null,
                "reseller_commission": {
                    "total": 0,
                    "percentage": 0,
                    "currency": ""
                },
                "markup": 22.210526315789473,
                "commission": 0,
                "currency": "USD",
                "price_detail": {
                    "charges": [
                        {
                            "type": "tax_and_service_fee",
                            "amount": 22.210526315789473,
                            "vat": 2.221052631578947,
                            "currency": "USD"
                        },
                        {
                            "type": "base_rate",
                            "amount": 0,
                            "vat": 0,
                            "currency": "USD"
                        }
                    ],
                    "fees": [
                        {
                            "type": "PAIS",
                            "amount": 126.6,
                            "vat": 0,
                            "currency": "USD"
                        },
                        {
                            "type": "RG4815/20",
                            "amount": 164.58,
                            "vat": 0,
                            "currency": "USD"
                        },
                        {
                            "type": "RG5272/22",
                            "amount": 178.295,
                            "vat": 0,
                            "currency": "USD"
                        }
                    ],
                    "taxes": [],
                    "commissions": [
                        {
                            "type": "tax_and_service_fee",
                            "amount": 22.210526315789473,
                            "vat": 0,
                            "currency": "USD",
                            "collector": "AGENCY"
                        }
                    ]
                },
                "original_currency": {
                    "currency_code": "USD",
                    "ratio": 1
                },
                "agency_charges": {
                    "operating_cost": {
                        "vat_value": 0,
                        "gross_value": 0
                    },
                    "markup": {
                        "vat_value": 2.221052631578947,
                        "gross_value": 22.210526315789473
                    },
                    "admin_cost": {
                        "vat_value": 0,
                        "gross_value": 0
                    },
                    "ceded_amount": {
                        "vat_value": 0,
                        "gross_value": 0
                    }
                }
            },
            "comments": "Room1 Standard Suite with two single beds, a sofa bed, and a small kitchenette:\nNON-REFUNDABLE RATE\n.",
            "rooms": [
                {
                    "id": "817214215",
                    "name": "Standard Suite with two single beds, a sofa bed, and a small kitchenette",
                    "capacity": 2,
                    "bed_configuration": []
                }
            ],
            "type": "STANDALONE",
            "expiration_date": "2024-07-24T21:25:39.397663388Z",
            "custom_expiration_date": "2024-07-21T21:25:39.397663388Z",
            "tracking_id": "ed7811fe-8d15-4969-ae84-d981dfb2cae2"
        }
    ],
    "payments_url": "",
    "old_fare": { // TARIFA ANTERIOR
        "base_rate": 443.75,
        "net_rate": 443.75,
        "charges": [
            {
                "type": "commission",
                "amount": 0,
                "vat": 0,
                "currency": "USD",
                "original_currency": {
                    "code": "USD",
                    "ratio": 1
                },
                "collector": "PROVIDER"
            },
            {
                "type": "markup",
                "amount": 23.355263157894736,
                "vat": 2.335526315789474,
                "currency": "USD",
                "collector": "AGENCY"
            }
        ],
        "fees": [
            {
                "type": "PAIS",
                "amount": 133.125,
                "currency": "USD",
                "collector": "AGENCY"
            },
            {
                "type": "RG4815/20",
                "amount": 133.125,
                "currency": "USD",
                "collector": "AGENCY"
            },
            {
                "type": "RG5272/22",
                "amount": 110.9375,
                "currency": "USD",
                "collector": "AGENCY"
            }
        ],
        "total": 846.6282894736842,
        "currency": "USD",
        "original_currency": {
            "code": "USD",
            "ratio": 1
        },
        "additional_charges": ""
    }
}

Esta documentación proporciona una guía detallada sobre cómo utilizar el ejemplo de solicitud cURL para interactuar con la API de Basset y crear una reservación asincrónica. Puedes ampliar esta documentación agregando ejemplos de respuestas, descripciones de campos en las respuestas y otros detalles relevantes para los usuarios de la API.