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:

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”:

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>
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
    }
  ]
}

Esquema de la respuesta


Respuestas de ejemplo

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>

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