API Reference: Confirmación de Disponibilidad de una Tarifa

De Wiki PriceSurfer
Revisión del 13:37 3 jul 2019 de Diego.alcantara (discusión | contribuciones)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Ir a la navegaciónIr a la búsqueda

Confirmación de Disponibilidad de una Tarifa (AvailabilityValidation)

Confirma la vigencia de una tarifa provista por una consulta de disponibilidad previa

Este mensaje es parte del flujo obligatorio luego de una operación de búsqueda de disponibilidad y antes de enviar otros mensajes.

Es necesario haber llamado a este mensaje al menos 15 minutos antes de otra operación (como Reserva de una Tarifa de Hoteles o Consulta de Gastos de Cancelación de un Hotel. Se sugiere que del lado del cliente de este Web Service se tenga almacenado el timestamp (fecha + hora) en que se realizó la última AvailabilityValidation, para volver a llamarla en caso de que hayan pasado más de 15 minutos respecto de ese timestamp.

Request: AvailabilityValidationRQ (Estructura del Documento)

Response: AvailabilityValidationRS (Estructura del Documento)

Ejemplo de uso:

      • Solicitud:

<AvailabilityValidationRQ>

 <GeneralParameters>
   <PreferedLanguage LanguageCode="es"/>
   <PreferedCurrency CurrencyCode="ARS"/>
 </GeneralParameters>
 <Products>
   <Hotels>
     <Hotel TripProductID="o1RPSM0RiqYxODcxNT.jMi0wwgEDBQQCzQHNzyNsjx82n2NI:q1JBe2JmeHNRfTF1zgHjL5s."/>
   </Hotels>
 </Products>

</AvailabilityValidationRQ>


Parámetro Obligatorio Descripción
GeneralParameters
PreferedLanguage Establece el lenguaje requerido para la respuesta.

Atributos:

LanguageCode: Código de lenguaje correspondiente a los códigos de lenguaje estándar provistos por Nemo.

PreferedCurrency No Establece la moneda requerida para la respuesta.

Atributos:

CurrencyCode: No está habilitado el uso de multimoneda. La moneda utilizada será la configurada en el contrato. Código de moneda correspondiente a los códigos de moneda estándar provistos.

(Dicho nodo es No Obligatorio ya que la moneda utilizada actualmente es la configurada en el contrato)

Hotels No
Hotel Se envía el id del hotel a consultar mediante el atributo TripProductID. IMPORTANTE: por ahora el servicio no soporta varios productos en una misma reserva. Deberá realizar una reserva por cada producto.


      • Respuesta:

<AvailabilityValidationRS>

 <Details>
   <Products>
     <Hotels>
       <Rate HotelCode="187156" SupplierId="TOH" TripProductID="o1RPSM0RiqYxODcxNT.jMi0wwgEDBQQCzQHNzyNsjx82n2NI:q1JBe2JmeHNRfTF1zgHjL5s.">
         <Rooms>
           <Room Type="NMO.HTL.RMT.DBL" Availability="NMO.HTL.AVB.CNF" RoomDescription="Estándar + desayuno - 2 paxs in 1 beds">
             <Occupancy>
               <Guests>
                 <Guest PassengerSequence="1"/>
                 <Guest PassengerSequence="2"/>
               </Guests>
             </Occupancy>
           </Room>
         </Rooms>
         <Board Code="2">Desayuno buffet</Board>
         <RatePrices>
           <RatePrice Currency="USD" Type="NMO.HTL.RPT.NET">369.18</RatePrice>
           <RatePrice Currency="USD" Type="NMO.GBL.RPT.GRS">461.47</RatePrice>
         </RatePrices>
         <Passengers>
           <Passenger AgeType="NMO.GBL.AGT.ADT"/>
           <Passenger AgeType="NMO.GBL.AGT.ADT"/>
         </Passengers>
         <Destinations>
           <Destination DestinationType="NMO.HTL.DST.CTY" DestinationCode="4490">Miami</Destination>
           <Destination DestinationType="NMO.HTL.DST.CTR" DestinationCode="174">Estados Unidos</Destination>
           <Destination DestinationType="NMO.HTL.DST.CNT" DestinationCode="13">América del Norte</Destination>
           <Destination DestinationType="NMO.HTL.DST.ALL" DestinationCode="1">Planeta Tierra</Destination>
         </Destinations>
         <Rating Code="NMO.HTL.RTN.3ST" Type="NMO.HTL.RTT.STR">
           <Value>3.0</Value>
           <Description>3 Estrellas</Description>
         </Rating>
         <CheckIn>2018-04-05</CheckIn>
         <CheckOut>2018-04-09</CheckOut>
         <RequiredFieldsByAgeType>
           <RequiredFieldsFor AgeType="NMO.GBL.AGT.ADT">
             <RequiredFields>
               <RequiredField Type="NMO.FLD.ALL.FNM" FieldHelp="Primer nombre" Optional="false" XmlNode="Passenger/PersonNames/PersonName[@NameType='NMO.GBL.PNT.FIR']">Nombre</RequiredField>
               <RequiredField Type="NMO.FLD.ALL.SNM" FieldHelp="Apellido" Optional="false" XmlNode="Passenger/PersonNames/PersonName[@NameType='NMO.GBL.PNT.LAS']">Apellido</RequiredField>
               <RequiredField Type="NMO.FLD.ALL.BRD" FieldHelp="Fecha de Nacimiento" Optional="false" XmlNode="Passenger/BirthDate">Fecha Nac.</RequiredField>
               <RequiredField Type="NMO.FLD.HTL.IDN" FieldHelp="Número de Documento de Identificación" Optional="false" XmlNode="Passengers/Identifiers/Identifier[Type='NMO.HTL.RPT.DNI']">Documento</RequiredField>
               <RequiredField Type="NMO.FLD.MCL.CTR" FieldHelp="País" Optional="false" XmlNode="Passenger/CountryOfResidence">País</RequiredField>
               <RequiredField Type="NMO.FLD.MCL.NAC" FieldHelp="Nacionalidad del pasajero" Optional="false" XmlNode="Passenger/Nationality">Nacionalidad</RequiredField>
             </RequiredFields>
           </RequiredFieldsFor>
         </RequiredFieldsByAgeType>
       </Rate>
     </Hotels>
   </Products>
 </Details>

</AvailabilityValidationRS>


Parámetro Obligatorio Descripción
Notifications No
Notification Nodo que informa cuando ocurre algún error o excepción.
NotificationId Identificador de la notificación. Las mismas serán provistas por Nemo.
NotificationType Tipo de notificación.
NotificationMessage Mensaje de notificación.
NotificationDetailedMessage No Mensaje detallado.
NotificationTime No Marca de tiempo
Echo No En este nodo se envía una copia de la consulta realizada.
Details
Products
Hotels No
Rate Información de la Tarifa, reportada por el proveedor correspondiente al Hotel.

Atributos:

-TripProductId: identificador del producto.

-Offer: indica si es una oferta.

Featured: indica si es un producto recomendado.

Rooms No Información sobre las habitaciones.
Room Identifica una habitación en los parámetros de la búsqueda.

Atributos:

-Type: tipo de habitación.

-Availability: indica la disponibilidad de la habitación. Chequear por cambios en el Tipo de Disponibilidad indicado por el proveedor.

Occupancy Se informa la distribución de pasajeros en la habitación.
Guests Lista de huéspedes de la habitación.
Boards No
Board Regímenes asociados a la habitación.

Atributos:

-Code: Código del régimen (tipo de pensión). Tabla de códigos

  • Nota: la descripcion del board es la que retorna el proveedor
RatePrices No Se informan las tarifas de la habitación. Chequear por cambios de precios indicados por el proveedor.
Passengers Pajeros incluidos en la tarifa hotelera.
RequiredFieldsByAgeType Información requerida y opcional para la reserva por tipo de pasajero.
RequiredFieldsFor Información requerida y opcional para la reserva para un tipo de pasajero

Atributos:

-AgeType: Tipo de pasajero para el grupo de campos informado. Tabla de códigos

RequiredFields Campos requeridos y opcionales
RequiredField Información del campo requerido u opcional

Atributos:

-Type: Tipo de campo. Tabla de códigos

-FieldHelp: Ayuda/Información sobre el campo para el usuario

-Optional: Indica si el campo es opcional

-XmlNode: Ruta XPath dentro del nodo Passengers de la reserva donde se debe mandar el dato sobre el campo


Ejemplo de Notificaciones con cambio de precio:

<AvailabilityValidationRS>

  <Notifications>
     <Notification ProductType="NMO.GBL.PDT.HTL">
        <NotificationId>58</NotificationId>
        <NotificationType>NMO.HTL.NFT.WRN</NotificationType>
        <NotificationMessage>Hubo una variación en el precio del item</NotificationMessage>
        <NotificationDetailedMessage/>
        <NotificationTime>2019-04-25T16:01:41.961</NotificationTime>
     </Notification>
  </Notifications>
  <Details>
     <Products>
        <Hotels>
            <Rate HotelCode="187156" SupplierId="TOH"...

... </AvailabilityValidationRS>