Herramientas de usuario

Herramientas del sitio


public:book

¡Esta es una revisión vieja del documento!


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
        • SurName → Apellidos
        • Passport → Pasaporte
        • Email → Email
        • Address → Dirección
        • Telephone1 → Teléfono 1
        • Telpehone2 → Teléfono 2
        • 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

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" SurName="string" Passport="string"  Email="string" Address="string" Telephone1="string" Telephone2="string" Child="false" Age="0" DepartureFlight="string" ReturnFlight="string" />
    <Pax Id="1" Name="string" SurName="string" Passport="string"  Email="string" Address="string" Telephone1="string" Telephone2="string" Child="false" Age="0" DepartureFlight="string" ReturnFlight="string" />
  </Paxes>
  <Rooms>
    <Room Type="Double" Category="Turista" Price="150.10">
      <PaxIds>
        <PaxId>0</PaxId>
   	<PaxId>1</PaxId>
      </PaxIds>		
    </Room>
  </Rooms>
</BookingInfo>
Example.json
{
  "Paxes": [
    {
      "Id": 0,
      "Name": "string",
      "SurName": "string",
      "Passport": "string",
      "Email": "string",
      "Address": "string",
      "Telephone1": "string",
      "Telephone2": "string",
      "Child": true,
      "Age": 0,
      "DepartureFlight": "string",
      "ReturnFlight": "string"
    }
  ],
  "Rooms": [
    {
      "Type": 1,
      "Category": 0,
      "PaxIds": [
        0
      ],
      "Price": 0
    }
  ]
}

Esquema de la respuesta

  • TourList → Root
    • Tours → Contenedor
      • Tour → Elemento
        • Id → Identificador del tour
        • Name → Nombre del tour
        • Image → URL a la imagen del tour
        • URLURL a la descripción del tour

—————————————————————————————————————————————————

Respuestas de ejemplo

Example.xml
<Booking Confirmed="true" Modified="false" BookingNumber="2" 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:13:07.7895248+01:00" StartDate="2017-01-13T00:00:00">
  <Error />
  <ErrorCode>No_Error</ErrorCode>
  <BookingInfo>
    <Paxes>
      <Pax Id="0" Name="string" SurName="string" Passport="string" Email="string" Address="string" Telephone1="string" Telephone2="string" Child="false" Age="0" DepartureFlight="string" ReturnFlight="string" />
      <Pax Id="1" Name="string" SurName="string" Passport="string" Email="string" Address="string" Telephone1="string" Telephone2="string" Child="false" Age="0" DepartureFlight="string" ReturnFlight="string" />
    </Paxes>
    <Rooms>
      <Room Type="Double" Category="Turista" Price="150.10">
        <PaxIds>
          <PaxId>1002</PaxId>
          <PaxId>1003</PaxId>
        </PaxIds>
      </Room>
    </Rooms>
  </BookingInfo>
</Booking>

Example.json
{
  "Tours": [
    {
      "Id": 1,
      "Name": "Esencia Europea 2017",
      "Image": "",
      "URL": ""
    },
    {
      "Id": 2,
      "Name": "Europa Preferente 2017",
      "Image": "",
      "URL": ""
    },
    {
      "Id": 3,
      "Name": "Ronda Europea 2017",
      "Image": "",
      "URL": ""
    },
    {
      "Id": 4,
      "Name": "Viva Europa 2017",
      "Image": "",
      "URL": ""
    },
    {
      "Id": 5,
      "Name": "Encanto de Europa 2017",
      "Image": "",
      "URL": ""
    },
    {
      "Id": 6,
      "Name": "Europa Emocionante 2017",
      "Image": "",
      "URL": ""
    },
    {
      "Id": 7,
      "Name": "Europa de Gala 2017",
      "Image": "",
      "URL": ""
    },
    {
      "Id": 8,
      "Name": "Rutas de Europa 2017",
      "Image": "",
      "URL": ""
    },
    {
      "Id": 9,
      "Name": "Europa Bella 2017",
      "Image": "",
      "URL": ""
    },
    {
      "Id": 10,
      "Name": "Magia Europea 2017",
      "Image": "",
      "URL": ""
    }
  ]
}
public/book.1478780514.txt.gz · Última modificación: 2017/01/20 13:16 (editor externo)