Diferencia entre revisiones de «API Reference: Confirmación de Disponibilidad de una Tarifa»

De Wiki PriceSurfer
Ir a la navegaciónIr a la búsqueda
 
(No se muestran 17 ediciones intermedias de 2 usuarios)
Línea 3: Línea 3:
 
Confirma la vigencia de una tarifa provista por una consulta de disponibilidad previa
 
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 [[API Reference: Reserva de una Tarifa - Hoteles|Reserva de una Tarifa de Hoteles]] o [[API Reference: Consulta de Gastos de Cancelación de un Producto - Hotel|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 ([http://wiki.psurfer.net/resources/PSCEV-doc/pscev_AvailabilityValidationRQ.html Estructura del Documento])
 
Request: AvailabilityValidationRQ ([http://wiki.psurfer.net/resources/PSCEV-doc/pscev_AvailabilityValidationRQ.html Estructura del Documento])
Línea 12: Línea 15:
 
*** Solicitud:
 
*** Solicitud:
 
<code xml>
 
<code xml>
  <AvailabilityValidationRQ>
+
<AvailabilityValidationRQ>
<GeneralParameters>
+
  <GeneralParameters>
<PreferedLanguage LanguageCode="es"/>
+
    <PreferedLanguage LanguageCode="es"/>
<PreferedCurrency CurrencyCode="ARS"/>
+
    <PreferedCurrency CurrencyCode="ARS"/>
</GeneralParameters>
+
  </GeneralParameters>
<Products>
+
  <Products>
<Hotels>
+
    <Hotels>
<Hotel TripProductID="829d088e-90e1-4a47-8fce-bb1c8d45b4cc"/>
+
      <Hotel TripProductID="o1RPSM0RiqYxODcxNT.jMi0wwgEDBQQCzQHNzyNsjx82n2NI:q1JBe2JmeHNRfTF1zgHjL5s."/>
</Hotels>
+
    </Hotels>
</Products>
+
  </Products>
  </AvailabilityValidationRQ>
+
</AvailabilityValidationRQ>
 
</code>
 
</code>
  
Línea 38: Línea 41:
 
LanguageCode: Código de lenguaje correspondiente a los códigos de lenguaje estándar provistos por Nemo.
 
LanguageCode: Código de lenguaje correspondiente a los códigos de lenguaje estándar provistos por Nemo.
 
|-
 
|-
| PreferedCurrency || || Establece la moneda requerida para la respuesta.
+
| PreferedCurrency || No || Establece la moneda requerida para la respuesta.
  
 
Atributos:
 
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.
 
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 ||  
 
| Hotels || No ||  
Línea 51: Línea 57:
  
 
*** Respuesta:
 
*** Respuesta:
 
 
 
  
 
<code xml>
 
<code xml>
Línea 60: Línea 63:
 
     <Products>
 
     <Products>
 
       <Hotels>
 
       <Hotels>
         <Rate HotelCode="7442" SupplierId="GTA" TripProductID="829d088e-90e1-4a47-8fce-bb1c8d45b4cc">
+
         <Rate HotelCode="187156" SupplierId="TOH" TripProductID="o1RPSM0RiqYxODcxNT.jMi0wwgEDBQQCzQHNzyNsjx82n2NI:q1JBe2JmeHNRfTF1zgHjL5s.">
 
           <Rooms>
 
           <Rooms>
             <Room Type="NMO.HTL.RMT.SGL" Availability="NMO.HTL.AVB.CNF" RoomDescription="Simple (Habitación individual estándar)">
+
             <Room Type="NMO.HTL.RMT.DBL" Availability="NMO.HTL.AVB.CNF" RoomDescription="Estándar + desayuno - 2 paxs in 1 beds">
 
               <Occupancy>
 
               <Occupancy>
 
                 <Guests>
 
                 <Guests>
 
                   <Guest PassengerSequence="1"/>
 
                   <Guest PassengerSequence="1"/>
 +
                  <Guest PassengerSequence="2"/>
 
                 </Guests>
 
                 </Guests>
 
               </Occupancy>
 
               </Occupancy>
 
             </Room>
 
             </Room>
 
           </Rooms>
 
           </Rooms>
           <Board Code="60">Desayuno incluido</Board>
+
           <Board Code="2">Desayuno buffet</Board>
 
           <RatePrices>
 
           <RatePrices>
             <RatePrice Currency="ARS" Type="NMO.HTL.RPT.NET">1001.410437235543</RatePrice>
+
             <RatePrice Currency="USD" Type="NMO.HTL.RPT.NET">369.18</RatePrice>
             <RatePrice Currency="ARS" Type="NMO.GBL.RPT.GRS">1201.5514809590973</RatePrice>
+
             <RatePrice Currency="USD" Type="NMO.GBL.RPT.GRS">461.47</RatePrice>
 
           </RatePrices>
 
           </RatePrices>
 
           <Passengers>
 
           <Passengers>
 +
            <Passenger AgeType="NMO.GBL.AGT.ADT"/>
 
             <Passenger AgeType="NMO.GBL.AGT.ADT"/>
 
             <Passenger AgeType="NMO.GBL.AGT.ADT"/>
 
           </Passengers>
 
           </Passengers>
 
           <Destinations>
 
           <Destinations>
             <Destination DestinationType="NMO.HTL.DST.CTY" DestinationCode="2757">Londres</Destination>
+
             <Destination DestinationType="NMO.HTL.DST.CTY" DestinationCode="4490">Miami</Destination>
             <Destination DestinationType="NMO.HTL.DST.CTR" DestinationCode="143">Reino Unido</Destination>
+
             <Destination DestinationType="NMO.HTL.DST.CTR" DestinationCode="174">Estados Unidos</Destination>
             <Destination DestinationType="NMO.HTL.DST.CNT" DestinationCode="12">Europa</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>
 
             <Destination DestinationType="NMO.HTL.DST.ALL" DestinationCode="1">Planeta Tierra</Destination>
 
           </Destinations>
 
           </Destinations>
           <Rating Code="NMO.HTL.RTN.2ST" Type="NMO.HTL.RTT.STR">
+
           <Rating Code="NMO.HTL.RTN.3ST" Type="NMO.HTL.RTT.STR">
             <Value>2.0</Value>
+
             <Value>3.0</Value>
             <Description>2 Estrellas</Description>
+
             <Description>3 Estrellas</Description>
 
           </Rating>
 
           </Rating>
           <CheckIn>2014-05-20</CheckIn>
+
           <CheckIn>2018-04-05</CheckIn>
           <CheckOut>2014-05-22</CheckOut>
+
           <CheckOut>2018-04-09</CheckOut>
 
           <RequiredFieldsByAgeType>
 
           <RequiredFieldsByAgeType>
 
             <RequiredFieldsFor AgeType="NMO.GBL.AGT.ADT">
 
             <RequiredFieldsFor AgeType="NMO.GBL.AGT.ADT">
 
               <RequiredFields>
 
               <RequiredFields>
                 <RequiredField Type="NMO.FLD.ALL.FNM" FieldHelp="Primer nombre" Optional="false"  
+
                 <RequiredField Type="NMO.FLD.ALL.FNM" FieldHelp="Primer nombre" Optional="false" XmlNode="Passenger/PersonNames/PersonName[@NameType='NMO.GBL.PNT.FIR']">Nombre</RequiredField>
                  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.SNM" FieldHelp="Apellido" Optional="false"  
+
                <RequiredField Type="NMO.FLD.ALL.BRD" FieldHelp="Fecha de Nacimiento" Optional="false" XmlNode="Passenger/BirthDate">Fecha Nac.</RequiredField>
                  XmlNode="Passenger/PersonNames/PersonName[@NameType='NMO.GBL.PNT.LAS']">Apellido</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>
 
               </RequiredFields>
 
             </RequiredFieldsFor>
 
             </RequiredFieldsFor>
Línea 114: Línea 121:
 
| Notifications || No ||
 
| Notifications || No ||
 
|-
 
|-
| Notification || Sí || Nodo que informa cuando ocurre algún error o excepción. En el atributo TripNumber se indica el trip al cual se refiere la notificación.
+
| Notification || Sí || Nodo que informa cuando ocurre algún error o excepción.
 
|-
 
|-
 
| NotificationId || Sí || Identificador de la notificación. Las mismas serán provistas por Nemo.
 
| NotificationId || Sí || Identificador de la notificación. Las mismas serán provistas por Nemo.
Línea 121: Línea 128:
 
|-
 
|-
 
| NotificationMessage || Sí || Mensaje de notificación.
 
| NotificationMessage || Sí || 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.
 
| Echo || No || En este nodo se envía una copia de la consulta realizada.
Línea 130: Línea 141:
 
| Hotels || No ||  
 
| Hotels || No ||  
 
|-
 
|-
| Hotel || Sí || Información de un Hotel reportada por el proveedor asociado.
+
| Rate || Sí || Información de la Tarifa, reportada por el proveedor correspondiente al Hotel.
  
 
Atributos:
 
Atributos:
Línea 148: Línea 159:
 
-Type: tipo de habitación.
 
-Type: tipo de habitación.
  
-Availability: indica la disponibilidad de la habitación.
+
-Availability: indica la disponibilidad de la habitación. Chequear por cambios en el Tipo de Disponibilidad indicado por el proveedor.
 
|-
 
|-
 
| Occupancy || Sí || Se informa la distribución de pasajeros en la habitación.
 
| Occupancy || Sí || Se informa la distribución de pasajeros en la habitación.
 
|-
 
|-
| Guests || Sí || Lista de huespedes de la habitación con su información.
+
| Guests || Sí || Lista de huéspedes de la habitación.
 
|-
 
|-
 
| Boards || No ||  
 
| Boards || No ||  
Línea 160: Línea 171:
 
Atributos:
 
Atributos:
  
-Type: Tipo de régimen correspondiente a los tipos de régimen estándar provistos por Nemo.
+
-Code: Código del régimen (tipo de pensión). [[API Reference: Tipos de Pensiones|Tabla de códigos]]
 +
 
 +
* Nota: la descripcion del board es la que retorna el proveedor
  
-Code: Código del régimen correspondiente a los códigos de régimen estándar provistos.
 
 
|-
 
|-
| RatePrices || No || Se informan las tarifas de la habitación.
+
| RatePrices || No || Se informan las tarifas de la habitación. Chequear por cambios de precios indicados por el proveedor.
 
|-
 
|-
 
| Passengers || Sí || Pajeros incluidos en la tarifa hotelera.
 
| Passengers || Sí || Pajeros incluidos en la tarifa hotelera.
 
|-
 
|-
| Fares || Sí || Datos de tarifas
+
| RequiredFieldsByAgeType || Sí || [[API Reference: Sobre la Información de Pasajeros Requerida al Reservar|Información requerida y opcional para la reserva por tipo de pasajero.]]
|-
 
| FareType || No || Tipo de tarifas, ej. Tarifa web, precio de agencia
 
|-
 
| Prices || Sí || Precios, con valor y moneda
 
|-
 
| RequiredFieldsByAgeType || Sí || Información requerida y opcional para la reserva por tipo de pasajero
 
 
|-
 
|-
 
| RequiredFieldsFor || Sí || Información requerida y opcional para la reserva para un tipo de pasajero
 
| RequiredFieldsFor || Sí || Información requerida y opcional para la reserva para un tipo de pasajero
 
Atributos:
 
Atributos:
  
-AgeType: Tipo de pasajero para el grupo de campos informado
+
-AgeType: Tipo de pasajero para el grupo de campos informado. [[API Reference: Tipos de Pasajeros|Tabla de códigos]]
 
|-
 
|-
 
| RequiredFields || Sí || Campos requeridos y opcionales
 
| RequiredFields || Sí || Campos requeridos y opcionales
Línea 187: Línea 193:
 
Atributos:
 
Atributos:
  
-Type: Tipo de campo
+
-Type: Tipo de campo. [[API Reference: Campos con Información de Pasajeros|Tabla de códigos]]
  
 
-FieldHelp: Ayuda/Información sobre el campo para el usuario
 
-FieldHelp: Ayuda/Información sobre el campo para el usuario
Línea 196: Línea 202:
  
 
|}
 
|}
 +
 +
 +
Ejemplo de Notificaciones con cambio de precio:
 +
 +
<code xml>
 +
<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>
 +
</code>

Revisión actual del 13:37 3 jul 2019

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>