==== Modificación de reservas ====
Modificación de reservas.
Verbo HTTP: PATCH
Recurso: /tour
Método: /book
---------------------------------------------------------------------------------------------------------------------------------------------------
Parámetros obligatorios:
* bookingID: Identificador de la reserva
Parámetros opcionales:
* departure: Fecha nueva de salida del tour (para cambios en salidas del mismo tour)
* pax: Número actual de personas en la reserva (para añadir personas)
* bookingInfo: Información de los viajeros y habitaciones de la reserva
* completeTour: Controla si se desea cambiar de tour completo a paricconsulta 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.
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
* 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
1010
1011
---------------------------------------------------------------------------------------------------------------------------------------------------
{
"Confirmed": true,
"Modified": true,
"BookingNumber": 7,
"Error": "",
"ErrorCode": 0,
"BookingInfo": {
"Paxes": [
{
"Id": 1012,
"Name": "string",
"Passport": "string",
"Email": "string",
"Address": "string",
"Telephone": "string",
"Child": false,
"Age": 0,
"DepartureFlight": "string",
"ReturnFlight": "string"
},
{
"Id": 1013,
"Name": "string",
"Passport": "string",
"Email": "string",
"Address": "string",
"Telephone": "string",
"Child": false,
"Age": 0,
"DepartureFlight": "string",
"ReturnFlight": "string"
}
],
"Rooms": [
{
"Type": 1,
"PaxIds": [
1012,
1013
],
"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-10T15:21:40.5960815+01:00",
"StartDate": "2017-01-13T00:00:00"
}