==== Solicitud de reservas ====
Solicitud de reserva de rutas.
Verbo HTTP: POST
Recurso: /tour
Método: /book
---------------------------------------------------------------------------------------------------------------------------------------------------
Parámetros obligatorios:
* tourID: Identificador del tour
* departure: Fecha de salida del tour (yyyy-MM-dd)
* pax: Número de personas que solicitan la reserva
* bookingInfo: Información de los viajeros y habitaciones de la reserva
Parámetros opcionales:
* completeTour: Controla si la consulta es sobre el tour completo o
parcial (días en concreto). Por defecto: true
* entryDate: Fecha de entrada al tour (para rutas parciales) -> yyyy-MM-dd
* exitDate: Fecha de salida del tour (para rutas parciales) -> yyyy-MM-dd
* output: Formato de salida de la consulta (XML o JSON)
---------------------------------------------------------------------------------------------------------------------------------------------------
=== Esquema de la petición ===
El elemento "bookingInfo" tiene la siguiente estructura:
* BookingInfo -> Root
* Paxes -> Contenedor de información sobre las personas
* Pax -> Elemento con la información sobre una persona
* Id -> Identificador de la persona en la información de la reserva
* Name -> Nombre (y apellidos)
* Passport -> Pasaporte
* Email -> Email
* Address -> Dirección
* Telephone -> Teléfono
* Child -> Controla si la persona es un niño (menor de 8 años)
* Age -> Si la persona es un niño es obligatorio especificar su edad
* DepartureFlight -> Código del vuelo de ida
* ReturnFlight -> Código del vuelo de vuelta
* Rooms -> Contenedor de información sobre las habitaciones
* Room -> Elemento con la información sobre la habitación
* Type -> [[public:enums|Enumerador del tipo de habitación]]
* Price -> Precio de la habitación (obligatorio superior al neto de Eurorutas)
* PaxIds -> Contenedor de la distribución de personas asociados a la habitación
* PaxId -> Identificador de la persona asociada a la habitación
Nota: La información sobre las personas, excepto el identificador, nombre y apellidos, podrá ser completada con posterioridad al momento de la reserva.
A continuación tenemos ejemplos del elemento "BookingInfo":
0
1
{
"Paxes": [
{
"Id": 0,
"Name": "string",
"Passport": "string",
"Email": "string",
"Address": "string",
"Telephone": "string",
"Child": false,
"Age": 0,
"DepartureFlight": "string",
"ReturnFlight": "string"
},
{
"Id": 1,
"Name": "string",
"Passport": "string",
"Email": "string",
"Address": "string",
"Telephone": "string",
"Child": false,
"Age": 0,
"DepartureFlight": "string",
"ReturnFlight": "string"
}
],
"Rooms": [
{
"Type": 1,
"PaxIds": [
0,1
],
"Price": 150
}
]
}
---------------------------------------------------------------------------------------------------------------------------------------------------
=== Esquema de la respuesta ===
* Booking -> Root
* Confirmed -> Indica si la reserva ha sido confirmada correctamente
* Modified -> Indica si la reserva ha sido modificada correctamente (sólo en transacciones de modificación)
* BookingNumber -> Número de la reserva
* Price -> Precio total de la reserva
* Pax -> Número total de personas en la reserva
* TourID -> Identificador del tour
* CompleteTour -> Controla si la reserva es sobre el tour completo o parcial (días en concreto).
* EntryDate -> Fecha de entrada al tour (para rutas parciales)
* ExitDate -> Fecha de salida del tour (para rutas parciales)
* BookingDate -> Fecha de la reserva
* StartDate -> Fecha de salida del tour
* Error -> Descripción del error
* ErrorCode -> [[public:enums|Enumerador del tipo de error]]
* BookingInfo -> Elemento con la información de personas y habitaciones (descrito en la petición)
---------------------------------------------------------------------------------------------------------------------------------------------------
=== Respuestas de ejemplo ===
No_Error
1008
1009
---------------------------------------------------------------------------------------------------------------------------------------------------
{
"Confirmed": true,
"Modified": false,
"BookingNumber": 4,
"Error": "",
"ErrorCode": 0,
"BookingInfo": {
"Paxes": [
{
"Id": 1006,
"Name": "string",
"Passport": "string",
"Email": "string",
"Address": "string",
"Telephone": "string",
"Child": false,
"Age": 0,
"DepartureFlight": "string",
"ReturnFlight": "string"
},
{
"Id": 1007,
"Name": "string",
"Passport": "string",
"Email": "string",
"Address": "string",
"Telephone": "string",
"Child": false,
"Age": 0,
"DepartureFlight": "string",
"ReturnFlight": "string"
}
],
"Rooms": [
{
"Type": 1,
"PaxIds": [
1006,
1007
],
"Price": 150
}
]
},
"Price": 150,
"Pax": 2,
"TourID": 1,
"CompleteTour": true,
"EntryDate": "0001-01-01T00:00:00",
"ExitDate": "0001-01-01T00:00:00",
"BookingDate": "2016-11-10T13:30:15.2650353+01:00",
"StartDate": "2017-01-13T00:00:00"
}