Diferencia entre revisiones de «API Reference: Confirmación de Disponibilidad de una Tarifa»
(No se muestran 18 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> | |
− | + | <GeneralParameters> | |
− | + | <PreferedLanguage LanguageCode="es"/> | |
− | + | <PreferedCurrency CurrencyCode="ARS"/> | |
− | + | </GeneralParameters> | |
− | + | <Products> | |
− | + | <Hotels> | |
− | + | <Hotel TripProductID="o1RPSM0RiqYxODcxNT.jMi0wwgEDBQQCzQHNzyNsjx82n2NI:q1JBe2JmeHNRfTF1zgHjL5s."/> | |
− | + | </Hotels> | |
− | + | </Products> | |
− | + | </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 || | + | | 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=" | + | <Rate HotelCode="187156" SupplierId="TOH" TripProductID="o1RPSM0RiqYxODcxNT.jMi0wwgEDBQQCzQHNzyNsjx82n2NI:q1JBe2JmeHNRfTF1zgHjL5s."> |
<Rooms> | <Rooms> | ||
− | <Room Type="NMO.HTL.RMT. | + | <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=" | + | <Board Code="2">Desayuno buffet</Board> |
<RatePrices> | <RatePrices> | ||
− | <RatePrice Currency=" | + | <RatePrice Currency="USD" Type="NMO.HTL.RPT.NET">369.18</RatePrice> |
− | <RatePrice Currency=" | + | <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=" | + | <Destination DestinationType="NMO.HTL.DST.CTY" DestinationCode="4490">Miami</Destination> |
− | <Destination DestinationType="NMO.HTL.DST.CTR" DestinationCode=" | + | <Destination DestinationType="NMO.HTL.DST.CTR" DestinationCode="174">Estados Unidos</Destination> |
− | <Destination DestinationType="NMO.HTL.DST.CNT" DestinationCode=" | + | <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. | + | <Rating Code="NMO.HTL.RTN.3ST" Type="NMO.HTL.RTT.STR"> |
− | <Value> | + | <Value>3.0</Value> |
− | <Description> | + | <Description>3 Estrellas</Description> |
</Rating> | </Rating> | ||
− | <CheckIn> | + | <CheckIn>2018-04-05</CheckIn> |
− | <CheckOut> | + | <CheckOut>2018-04-09</CheckOut> |
<RequiredFieldsByAgeType> | <RequiredFieldsByAgeType> | ||
<RequiredFieldsFor AgeType="NMO.GBL.AGT.ADT"> | <RequiredFieldsFor AgeType="NMO.GBL.AGT.ADT"> | ||
Línea 95: | Línea 100: | ||
<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.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.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> | </RequiredFields> | ||
</RequiredFieldsFor> | </RequiredFieldsFor> | ||
Línea 112: | Línea 121: | ||
| Notifications || No || | | Notifications || No || | ||
|- | |- | ||
− | | Notification || Sí || Nodo que informa cuando ocurre algún error o excepció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 119: | 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 128: | Línea 141: | ||
| Hotels || No || | | Hotels || No || | ||
|- | |- | ||
− | | | + | | Rate || Sí || Información de la Tarifa, reportada por el proveedor correspondiente al Hotel. |
Atributos: | Atributos: | ||
− | TripProductId: identificador del producto. | + | -TripProductId: identificador del producto. |
− | Offer: indica si es una oferta. | + | -Offer: indica si es una oferta. |
Featured: indica si es un producto recomendado. | Featured: indica si es un producto recomendado. | ||
Línea 144: | Línea 157: | ||
Atributos: | Atributos: | ||
− | 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 | + | | Guests || Sí || Lista de huéspedes de la habitación. |
|- | |- | ||
| Boards || No || | | Boards || No || | ||
Línea 158: | Línea 171: | ||
Atributos: | Atributos: | ||
− | + | -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 | ||
− | |||
|- | |- | ||
− | | 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. | ||
|- | |- | ||
− | | | + | | 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.]] |
|- | |- | ||
− | | | + | | RequiredFieldsFor || Sí || Información requerida y opcional para la reserva para un tipo de pasajero |
+ | Atributos: | ||
+ | |||
+ | -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 |
− | | | + | |- |
+ | | RequiredField || Sí || Información del campo requerido u opcional | ||
+ | |||
+ | Atributos: | ||
+ | |||
+ | -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 | ||
+ | |||
+ | -Optional: Indica si el campo es opcional | ||
+ | |||
+ | -XmlNode: [http://www.w3.org/TR/xpath/#location-paths 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: | ||
+ | |||
+ | <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 | Sí | |
PreferedLanguage | Sí | 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 | Sí | 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 | 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. |
NotificationType | Sí | Tipo 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. |
Details | Sí | |
Products | Sí | |
Hotels | No | |
Rate | Sí | 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 | Sí | 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 | Sí | Se informa la distribución de pasajeros en la habitación. |
Guests | Sí | Lista de huéspedes de la habitación. |
Boards | No | |
Board | Sí | Regímenes asociados a la habitación.
Atributos: -Code: Código del régimen (tipo de pensión). Tabla de códigos
|
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. |
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
Atributos: -AgeType: Tipo de pasajero para el grupo de campos informado. Tabla de códigos |
RequiredFields | Sí | Campos requeridos y opcionales |
RequiredField | Sí | 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>