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