==== 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" }