API MOTOR RESERVAS VEHÍCULOS

INTRODUCCIÓN

Bienvenido a la API del motor de reservas para el alquiler de vehículos de Mybooking.

Este API tiene tiene la funcionalidad necesaria para implementar el proceso de alquiler de vehículos en un sitio web. Obtener los lugares de entrega y devolución, realizar la búsqueda de vehículos, realizar la reserva y completar los datos del contrato posteriormente.

Está diseñada de forma que se pueda utilizar tanto desde el navegador con JAMStack como desde su lenguaje preferido en el lado del servidor.

El proceso de reserva está gestionado en el servidor y se lleva a cabo de forma similar a como se realiza en un e-commerce. Usamos un carrito de la reserva que se almacena en el servidor con toda la información de la reserva en curso.

URL Base

https://micuenta.mybooking.es

Entrega y devolución

GET Lugares de entrega

GET /api/booking/frontend/pickup-places

Obtiene los lugares de entrega de los vehículos

Query String

Parámetro Descripción Detalle
lang Idioma Código ISO 639-1 (en,es,it,...) Opcional

Resultado

Success

200

GET Lugares de devolución

GET /api/booking/frontend/return-places

Obtiene los lugares de devolución de los vehículos

Query String

Parámetro Descripción Detalle
lang Idioma Código ISO 639-1 (en,es,it,...) Opcional

Resultado

Success

200

GET Horarios de entrega y devolución

GET /api/booking/frontend/pickup-return-times

Obtiene los horarios de entrega y devolución de los vehículos

Resultado

Success

200

Proceso de reserva

POST Crear carrito de reserva

POST /api/booking/frontend/shopping-cart

Inicia el proceso de reserva seleccionado con el lugar y las fechas de entrega y devolución

Query String

Parámetro Descripción Detalle
lang Idioma Código ISO 639-1 (en,es,it,...) Opcional

Request Body

Resultado

Success

200

PUT Cambiar criterios de búsqueda

PUT /api/booking/frontend/shopping-cart/{free_access_id}

Permite modificar los criterios de búsqueda una vez se ha iniciado el proceso de reserva.

Path Parameters

Parámetro Descripción Detalle
free_access_id Identificador del carrito de la compra obtenido al iniciar el proceso de venta String Obligatorio

Query String

Parámetro Descripción Detalle
lang Idioma String Código ISO 639-1 (en,es,it, …) Opcional

Request Body

Parámetro Descripción Detalle
date_from Fecha de entrega dd/mm/yyyy Obligatorio
time_from Hora de entrega hh:MM Obligatorio
date_to Fecha de devolución dd/mm/yyyy Obligatorio
time_to Hora de devolución hh:MM Obligatorio
pickup_place Lugar entrega Cuando hay varios lugares de entrega Obligatorio
return_place Lugar devolución Cuando hay varios lugares de devolución Obligatorio
driver_age_rule Indica la regla que identifica la edad del conductor Opcional
sales_channel_code Canal de venta Opcional
promotion_code Código de promoción Opcional

Resultado

Success

200

Resultado

Error

404 Carrito de reserva no existe

GET Obtener el carrito de reserva

GET /api/booking/frontend/shopping-cart/{free_access_id}

Permite obtener el carrito de reserva

Path Parameters

Parámetro Descripción Detalle
free_access_id Identificador del carrito de la compra obtenido al iniciar el proceso de venta String Obligatorio

Query String

Parámetro Descripción Detalle
lang Idioma String Código ISO 639-1 (en,es,it, …) Opcional

Resultado

Success

200

Resultado

Error

404 Carrito de reserva no existe

POST Seleccionar vehículo

POST /api/booking/frontend/shopping-cart/{free_access_id}/set-product

Permite añadir una categoría de vehículos al carrito de reserva

Path Parameters

Parámetro Descripción Detalle
free_access_id Identificador del carrito de la compra obtenido al iniciar el proceso de venta String Obligatorio

Query String

Parámetro Descripción Detalle
lang Idioma String Código ISO 639-1 (en,es,it, …) Opcional

Request Body:

Resultado

Success

200

Resultado

Error

404 Carrito de reserva no existe

POST Añadir/modificar extra

POST /api/booking/frontend/shopping-cart/{free_access_id}/set-extra

Permite añadir un extra a la reserva o modificar la cantidad

Path Parameters

Parámetro Descripción Detalle
free_access_id Identificador del carrito de la compra obtenido al iniciar el proceso de venta String Obligatorio

Query String

Parámetro Descripción Detalle
lang Idioma String Código ISO 639-1 (en,es,it, …) Opcional

Request Body:

Parámetro Descripción Detalle
extra Código del extra String Código Obligatorio
quantity Cantidad del producto Integer Opcional

Resultado

Success

200

Resultado

Error

404 Carrito de reserva no existe

POST Eliminar extra

POST /api/booking/frontend/shopping-cart/{free_access_id}/set-extra

Permite eliminar un extra

Path Parameters

Parámetro Descripción Detalle
free_access_id Identificador del carrito de la compra obtenido al iniciar el proceso de venta String Obligatorio

Query String

Parámetro Descripción Detalle
lang Idioma String Código ISO 639-1 (en,es,it, …) Opcional

Request Body:

Parámetro Descripción Detalle
extra Código del extra String Obligatorio

Resultado

Success

200

Resultado

Error

404 Carrito de reserva no existe

POST Checkout carrito reserva

POST /api/booking/frontend/shopping-cart/{free_access_id}/checkout

Permite crear la reserva a partir del carrito de la reserva

Path Parameters

Parámetro Descripción Detalle
free_access_id Identificador del carrito de la compra obtenido al iniciar el proceso de venta String Obligatorio

Query String

Parámetro Descripción Detalle
lang Idioma String Código ISO 639-1 (en,es,it, …) Opcional

Request Body:

Resultado

Success

200

Resultado

En el caso que la operación se lleve a cabo correctamente se puede hacer un POST a /reserva/pagar

Error

404 Carrito de reserva no existe

Conexión con la pasarela de pago

POST /reserva/pagar

POST /reserva/pagar

Permite conectar con la pasarela de pago para realizar el pago

Se ha de hacer un POST de un formulario con los campos indicados. Nuestra plataforma preparará la petición para conectar con la pasarela de pago y devolverá el código HTML que realizará la conexión con la misma.

Cuerpo:

Parámetro Descripción Detalle
id Free Access Id de la reserva String Obligatorio
payment Cantidad a pagar. Los posibles valores son:
  • deposit
  • total
  • pending
String Obligatorio
payment_method Forma de pago. Depende las plataformas de pago configurada.
  • redsys256
  • webpay
  • paypal_standard
  • addon_payments
String Obligatorio

Consultar reserva

GET Reserva

GET /api/booking/frontend/booking/{free_access_id}

Permite consultar una reserva

Parámetros de PATH:

Parámetro Descripción Detalle
free_access_id Identificador de la reserva obtenido al realizar el checkout del carrito de la reserva.
Se trata de un hash que identifica de forma única cada reserva.
String Obligatorio

Query String:

Parámetro Descripción Detalle
lang Idioma String Código ISO 639-1 (en,es,it, …) Opcional

Resultado

Success

200

PUT Actualizar reserva

PUT /api/booking/frontend/booking/{free_access_id}

Permite actualizar la información necesaria de la reserva para el contrato

Parámetros de PATH:

Parámetro Descripción Detalle
free_access_id Identificador de la reserva obtenido al realizar el checkout del carrito de la reserva. Se trata de un hash que identifica de forma única cada reserva. String Obligatorio

Query String:

Parámetro Descripción Detalle
lang Idioma String Código ISO 639-1 (en,es,it, …) Opcional

Request Body: