Herramientas de usuario

Herramientas del sitio


public:book

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
public:book [2016/11/09 20:59]
onieto created
public:book [2017/01/20 13:17] (actual)
Línea 1: Línea 1:
 ==== Solicitud de reservas ==== ==== 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":​
 +
 +<code xml Example.xml>​
 +<​BookingInfo>​
 +  <​Paxes>​
 +    <Pax Id="​0"​ Name="​string"​ Passport="​string" ​ Email="​string"​ Address="​string"​ Telephone="​string"​ Child="​false"​ Age="​0"​ DepartureFlight="​string"​ ReturnFlight="​string"​ />
 +    <Pax Id="​1"​ Name="​string"​ Passport="​string" ​ Email="​string"​ Address="​string"​ Telephone="​string"​ Child="​false"​ Age="​0"​ DepartureFlight="​string"​ ReturnFlight="​string"​ />
 +  </​Paxes>​
 +  <​Rooms>​
 +    <Room Type="​Double"​ Price="​150.10">​
 +      <​PaxIds>​
 +        <​PaxId>​0</​PaxId>​
 +   ​ <​PaxId>​1</​PaxId>​
 +      </​PaxIds>​
 +    </​Room>​
 +  </​Rooms>​
 +</​BookingInfo>​
 +</​code>​
 +
 +<code javascript Example.json>​
 +{
 +  "​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
 +    }
 +  ]
 +}
 +</​code>​
 +
 +---------------------------------------------------------------------------------------------------------------------------------------------------
 +=== 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 ===
 +<code xml Example.xml>​
 +<Booking Confirmed="​true"​ Modified="​false"​ BookingNumber="​5"​ Price="​150.10"​ Pax="​2"​ TourID="​1"​ CompleteTour="​true"​ EntryDate="​0001-01-01T00:​00:​00"​ ExitDate="​0001-01-01T00:​00:​00"​ BookingDate="​2016-11-10T13:​31:​44.0233894+01:​00"​ StartDate="​2017-01-13T00:​00:​00">​
 +  <Error />
 +  <​ErrorCode>​No_Error</​ErrorCode>​
 +  <​BookingInfo>​
 +    <​Paxes>​
 +      <Pax Id="​1008"​ Name="​string"​ Passport="​string"​ Email="​string"​ Address="​string"​ Telephone="​string"​ Child="​false"​ Age="​0"​ DepartureFlight="​string"​ ReturnFlight="​string"​ />
 +      <Pax Id="​1009"​ Name="​string"​ Passport="​string"​ Email="​string"​ Address="​string"​ Telephone="​string"​ Child="​false"​ Age="​0"​ DepartureFlight="​string"​ ReturnFlight="​string"​ />
 +    </​Paxes>​
 +    <​Rooms>​
 +      <Room Type="​Double"​ Price="​150.10">​
 +        <​PaxIds>​
 +          <​PaxId>​1008</​PaxId>​
 +          <​PaxId>​1009</​PaxId>​
 +        </​PaxIds>​
 +      </​Room>​
 +    </​Rooms>​
 +  </​BookingInfo>​
 +</​Booking>​
 +</​code>​
 +---------------------------------------------------------------------------------------------------------------------------------------------------
 +<code javascript Example.json>​
 +{
 +  "​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"​
 +}
 +</​code>​
public/book.1478721571.txt.gz · Última modificación: 2017/01/20 13:16 (editor externo)