Diferencia entre revisiones de «Price Surfer - Web Services»

De Wiki PriceSurfer
Ir a la navegaciónIr a la búsqueda
 
(No se muestran 156 ediciones intermedias de 5 usuarios)
Línea 6: Línea 6:
 
El servicio Web de Price Server permite a sus agentes conectarse de manera transparente a la aplicación a través de un conjunto  de funciones que pueden ser llamadas, desde las páginas web de sus sitios. Para lograr esto, se proveerá una Interfaz de Programación de Aplicaciones (API) para permitir que varios tipos de sistemas clientes se conecten al sistema propio de Nemo utilizando un juego de mensajes XML que han sido publicados y definidos en conformidad a los Estándares de Esquemas XML. La interfaz que provee servicios de búsquedas, reservas, etc. será entonces accesible vía una interfaz basada en XML y disponible para clientes registrados.
 
El servicio Web de Price Server permite a sus agentes conectarse de manera transparente a la aplicación a través de un conjunto  de funciones que pueden ser llamadas, desde las páginas web de sus sitios. Para lograr esto, se proveerá una Interfaz de Programación de Aplicaciones (API) para permitir que varios tipos de sistemas clientes se conecten al sistema propio de Nemo utilizando un juego de mensajes XML que han sido publicados y definidos en conformidad a los Estándares de Esquemas XML. La interfaz que provee servicios de búsquedas, reservas, etc. será entonces accesible vía una interfaz basada en XML y disponible para clientes registrados.
  
A través del servicio web un agente podrá consultar disponibilidad en hoteles para los proveedores asociados a su contrato, solicitar información sobre hoteles, gestionar reservas y cancelaciones. Todo a través de una interfaz única basada en el intercambio de documentos XML, que será descripta en esta guía de uso.  
+
A través del servicio web un agente podrá consultar disponibilidad en hoteles para los proveedores asociados a su contrato, solicitar información sobre hoteles, gestionar reservas y cancelaciones. Todo a través de una interfaz única basada en el intercambio de documentos XML, que será descripta en esta guía de uso.
 +
 
 +
 
 +
'''IMPORTANTE:
 +
 
 +
''' A partir del 29 de Noviembre del 2023, se introducen cambios opcionales para mejorar tiempos de respuesta en la búsqueda de disponibilidad. Afecta a los nodos Rating y Address de AvailabilityQueryRS y es configurable por cliente. Ver mas detalle y ejemplo en: https://wiki.psurfer.net/index.php/API_Reference:_B%C3%BAsqueda_de_Disponibilidad_de_Hoteles
 +
 
 +
''' A partir del 31 de Marzo del 2023, ampliando nuestras políticas de Ciberseguridad, se introducen cambios detallados en: https://nemogroup.net/autologin/
 +
 
 +
'''A partir de Octubre 2022 es requerida una lista de IPs habilitadas para poder operar, las IP que no sean informadas como autorizadas serán bloqueadas impidiendo la operatoria.
  
 
== Propósito del presente documento ==
 
== Propósito del presente documento ==
Línea 18: Línea 27:
 
Además de las credenciales provistas recibirá una descripción de los servicios provistos bajo WADL, el equivalente REST del Lenguaje de Descripción de Web Services (WSDL).  
 
Además de las credenciales provistas recibirá una descripción de los servicios provistos bajo WADL, el equivalente REST del Lenguaje de Descripción de Web Services (WSDL).  
 
Nuestro servicio es un servicio web estándar basado en REST para el intercambio de documentos XML, la seguridad es controlada a través de cabeceras WSS donde deberá incluir un Token de Autenticación.
 
Nuestro servicio es un servicio web estándar basado en REST para el intercambio de documentos XML, la seguridad es controlada a través de cabeceras WSS donde deberá incluir un Token de Autenticación.
 +
 +
El uso de dichas credenciales excluye la posibilidad de aplicarlas para otros fines como trabajar con un robot que realice búsquedas de disponibilidad para obtener tarifas y almacenarlas u otra tarea no especificada en este documento; reservando a Price Surfer el derecho de deshabilitar dicho usuario.
 +
Cualquier cambio que se desee realizar deberá ser notificado y aprobado con anticipación.
 +
 +
Documentos de Certificacion a utilizar en los Webservices de hoteles se encuentran disponibles:
 +
* Idioma español: http://wiki.psurfer.net/resources/CertificacionWS.docx
 +
* Idioma ingles: http://wiki.psurfer.net/resources/Certification_WS_en.docx
  
 
== Interfaz Cliente simplificada ==
 
== Interfaz Cliente simplificada ==
Línea 26: Línea 42:
 
* Seguridad establecida a través del uso de SSL
 
* Seguridad establecida a través del uso de SSL
 
* Se provee un mecanismo más eficiente para el manejo de mensajes asíncronos mediante la tecnología “Push”
 
* Se provee un mecanismo más eficiente para el manejo de mensajes asíncronos mediante la tecnología “Push”
 +
 +
== API REFERENCE - Entornos y Operaciones ==
 +
 +
Los entornos disponibles son:
 +
 +
* Produccion: https://service.psurfer.net/pricesurfer/
 +
 +
* Certificacion: http://service-cert.psurfer.net/pricesurfer/
 +
 +
 +
Las siguientes operaciones están disponibles en la API del servicio, para búsquedas y reservas de Hoteles:
 +
* /catalog/products/search
 +
* /catalog/product/detail
 +
* /catalog/product/validate
 +
* /catalog/product/book
 +
* /booking/cancellation/fees
 +
* /booking/detail
 +
* /booking/cancel
  
  
== API REFERENCE - Operaciones ==
+
Ejemplo de endpoint de busqueda en Entorno de Certificacion:
 +
* http://service-cert.psurfer.net/pricesurfer/catalog/products/search
  
Las siguientes operaciones están disponibles en la API del servicio, para búsquedas y reservas de Hoteles.
 
: /catalog/products/search
 
: /catalog/product/detail
 
: /catalog/product/validate
 
: /catalog/product/book
 
: /booking/cancellation/fees
 
: /booking/detail
 
: /booking/cancel
 
  
 
Todas las operaciones tienen un POST con el siguiente esquema:
 
Todas las operaciones tienen un POST con el siguiente esquema:
Línea 57: Línea 84:
 
Este xml va adjuntado como "raw" en el POST del http.
 
Este xml va adjuntado como "raw" en el POST del http.
  
Por ejemplo, desde la consola podemos probar la conexión y los parámetros necesarios haciendo:
+
Por ejemplo, en linux desde la consola con bash podemos probar la conexión y los parámetros necesarios haciendo:
  
  
Línea 74: Línea 101:
 
La respuesta se guardará en el archivo result.xml.
 
La respuesta se guardará en el archivo result.xml.
  
El valor X-PS-AUTHTOKEN:xxxxxxxxxxxxxxxxxxxxxxxxxxx es un token de seguridad que será suministrado por ''Soporte de Price Surfer'' cuando se les entreguen los usuarios correspondientes en el alta del servicio.
+
El valor la cabecera '''X-PS-AUTHTOKEN''' es un token de seguridad que será suministrado por ''Soporte de Price Surfer'' cuando se les entreguen los usuarios correspondientes en el alta del servicio.
  
  
Se recomienda utilizar contenido comprimido, agregando a la cabecera el encoding:
+
Para aumentar la velocidad de respuesta desde el servidor del WebService hasta el cliente, se recomienda agregar en la cabecera HTTP la solicitud de compresión de la respuesta, en el ejemplo con ''curl'' anterior se agregaría:
 
<code>-H "Accept-Encoding: gzip" \</code>
 
<code>-H "Accept-Encoding: gzip" \</code>
  
== Lista de Mensajes XML por cada Operación ==
 
  
Están disponibles los esquemas XSD de PriceSurfer:
+
=== Flujo de Mensajes para la correcta implementación del Servicio ===
http://wiki.psurfer.net/resources/pscev-schema.zip
 
  
 +
[[Archivo:Flujo.jpg|722px]]
  
O si desea la documentación online:
 
http://wiki.psurfer.net/resources/PSCEV-doc/pscev.html
 
  
 +
<span class="ps-alert">Atención: Para los productos hoteles, si su operador tiene el módulo de CANCELACION AUTOMATICA activado deberá disparar una [[API Reference: Consulta de una Reserva - Hoteles|Consulta de una Reserva]] inmediatamente luego del booking cuando éste quede en estado Confirmada o Pendiente de Confirmación; de esta forma se creará correctamente la tarea de autocancelación para la reserva.</span>
  
 +
Nota:
 +
Se recomienda disparar una [[API Reference: Consulta de una Reserva - Hoteles|Consulta de una Reserva]] luego de realizar un booking ya que brinda el estado final en el sistema.
  
Documentación generada automáticamente por el servicio:
+
== Lista de Mensajes XML por cada Operación ==
http://wiki.psurfer.net/resources/REST-doc/index.html
 
  
 +
Están disponibles los esquemas XSD de PriceSurfer: http://wiki.psurfer.net/resources/pscev-schema.zip
  
 +
Documentación online: http://wiki.psurfer.net/resources/PSCEV-doc/pscev.html
  
=== Búsqueda de Disponibilidad de Hoteles (AvailabilityQueryRQ) ===
+
Proyecto SoapUI para desarrollo (guia incluida): [https://wiki.psurfer.net/images/e/eb/PS_WebServices-soapui-project.xml.zip PS_WebServices-soapui-project.xml.zip]
Consulta de disponibilidad de tarifas de hoteles para un set de habitaciones, con una configuración de pasajeros, en un destino y un rango de fechas determinado.  
 
Retorna una colección de tarifas, una por cada hotel ofrecido por los proveedores habilitados para el contrato del usuario.  
 
  
'''Operación: /catalog/products/search'''
 
  
Recibe [http://wiki.psurfer.net/resources/PSCEV-doc/pscev_AvailabilityQueryRQ.html AvailabilityQueryRQ]
+
'''Mensajes xml:'''
  
Retorna [http://wiki.psurfer.net/resources/PSCEV-doc/pscev_AvailabilityQueryRS.html AvailabilityQueryRS]
+
* ''Operación: /catalog/products/search'' [http://wiki.psurfer.net/resources/PSCEV-doc/pscev_AvailabilityQueryRQ.html AvailabilityQueryRQ]  [http://wiki.psurfer.net/resources/PSCEV-doc/pscev_AvailabilityQueryRS.html AvailabilityQueryRS]
  
=== Confirmación de Disponibilidad de una Tarifa obtenida en una Búsqueda Anterior (AvailabilityValidation) ===
+
Búsqueda de Disponibilidad de Hoteles: Consulta de disponibilidad de tarifas de hoteles para un set de habitaciones, con una configuración de pasajeros, en un destino y un rango de fechas determinado. Retorna una colección de tarifas, una por cada hotel ofrecido por los proveedores habilitados para el contrato del usuario.  
Confirma la vigencia de una tarifa provista por una consulta de disponibilidad previa.
 
  
'''Operación: /catalog/product/validate'''
 
  
Recibe [http://wiki.psurfer.net/resources/PSCEV-doc/pscev_AvailabilityValidationRQ.html AvailabilityValidationRQ]
+
* ''Operación: /catalog/product/detail'' [http://wiki.psurfer.net/resources/PSCEV-doc/pscev_AdditionalInfoQueryRQ.html AditionalInfoQueryRQ] [http://wiki.psurfer.net/resources/PSCEV-doc/pscev_AdditionalInfoQueryRS.html AditionalInfoQueryRS]
  
Retorna [http://wiki.psurfer.net/resources/PSCEV-doc/pscev_AvailabilityValidationRS.html AvailabilityValidationRS]
+
Consulta de Información de un Hotel: Consulta la información y detalles de los hoteles provistos por el proveedor.
  
=== Consulta de Información de un Hotel (AdditionalInfoQuery) ===
 
Consulta la información y detalles para un hotel provisto por el proveedor.
 
  
'''Operación: /catalog/product/detail'''
+
* ''Operación: /catalog/product/validate'' [http://wiki.psurfer.net/resources/PSCEV-doc/pscev_AvailabilityValidationRQ.html AvailabilityValidationRQ] [http://wiki.psurfer.net/resources/PSCEV-doc/pscev_AvailabilityValidationRS.html AvailabilityValidationRS]
  
Recibe [http://wiki.psurfer.net/resources/PSCEV-doc/pscev_AdditionalInfoQueryRQ.html AditionalInfoQueryRQ]
+
Confirmación de Disponibilidad de una Tarifa obtenida en una Búsqueda Anterior: Confirma la vigencia de una tarifa provista por una consulta de disponibilidad previa.
  
Retorna [http://wiki.psurfer.net/resources/PSCEV-doc/pscev_AdditionalInfoQueryRS.html AditionalInfoQueryRS]
 
  
=== Consulta de Gastos de Cancelación para una o varias Tarifas ó Reservas (CancellationFeesQuery) ===
+
* ''Operación: /booking/cancellation/fees'' [http://wiki.psurfer.net/resources/PSCEV-doc/pscev_CancellationFeesQueryRQ.html CancellationFeesQueryRQ] [http://wiki.psurfer.net/resources/PSCEV-doc/pscev_CancellationFeesQueryRS.html CancellationFeesQueryRS]
Consulta de condiciones de gastos de cancelación sobre una o más tarifas o reservas reportadas.
 
  
'''Operación: /booking/cancellation/fees'''
+
Consulta de Gastos de Cancelación para una Tarifa ó Reserva: Consulta de condiciones de gastos de cancelación sobre una tarifa o reserva reportada.
  
Recibe [http://wiki.psurfer.net/resources/PSCEV-doc/pscev_CancellationFeesQueryRQ.html CancellationFeesQueryRQ]
 
  
Retorna [http://wiki.psurfer.net/resources/PSCEV-doc/pscev_CancellationFeesQueryRS.html CancellationFeesQueryRS]
+
* ''Operación: /catalog/product/book'' [http://wiki.psurfer.net/resources/PSCEV-doc/pscev_BookingProductsRQ.html BookingProductsRQ] [http://wiki.psurfer.net/resources/PSCEV-doc/pscev_BookingProductsRS.html BookingProductsRS]
  
=== Reserva de Tarifa (BookingProducts) ===
+
Reserva de Tarifa: Solicitud de reserva para una tarifa de hotel.
Solicitud de reserva para una o varias tarifas de hoteles.
 
  
'''Operación: /catalog/product/book'''
 
  
Recibe [http://wiki.psurfer.net/resources/PSCEV-doc/pscev_BookingProductsRQ.html BookingProductsRQ]
+
* ''Operación: /booking/detail'' [http://wiki.psurfer.net/resources/PSCEV-doc/pscev_BookingQueryRQ.html BookingQueryRQ] [http://wiki.psurfer.net/resources/PSCEV-doc/pscev_BookingQueryRS.html BookingQueryRS]
  
Retorna [http://wiki.psurfer.net/resources/PSCEV-doc/pscev_BookingProductsRS.html BookingProductsRS]
+
Consulta de Reserva: Consulta de información y detalles sobre una reserva realizada. Es necesario para obtener el detalle final de la reserva confirmada en el sistema.
  
=== Consulta de Reserva (BookingQuery) ===
 
Consulta de información y detalles sobre una o varias reservas realizadas.
 
  
'''Operación: /booking/detail'''
+
* ''Operación: /booking/cancel'' [http://wiki.psurfer.net/resources/PSCEV-doc/pscev_BookingCancellationRQ.html BookingCancellationRQ]  [http://wiki.psurfer.net/resources/PSCEV-doc/pscev_BookingCancellationRS.html BookingCancellationRS]
  
Recibe [http://wiki.psurfer.net/resources/PSCEV-doc/pscev_BookingQueryRQ.html BookingQueryRQ]
+
Cancelación de Reserva: Solicitud de cancelación de una reserva realizada.
  
Retorna [http://wiki.psurfer.net/resources/PSCEV-doc/pscev_BookingQueryRS.html BookingQueryRS]
+
== Especificación de documentos XML ==
  
=== Cancelación de Reserva (BookingCancellation) ===  
+
=== Búsqueda de Disponibilidad de Hoteles (AvailabilityQuery) ===  
Solicitud de cancelación de una o varias reservas realizadas.
+
[[API Reference: Búsqueda de Disponibilidad de Hoteles]]
  
'''Operación: /booking/cancel'''
+
=== Consulta de Información de un Hotel (AdditionalInfoQuery) ===
  
Recibe [http://wiki.psurfer.net/resources/PSCEV-doc/pscev_BookingCancellationRQ.html BookingCancellationRQ]
+
[[API Reference: Consulta de Información de un Hotel]]
  
Retorna [http://wiki.psurfer.net/resources/PSCEV-doc/pscev_BookingCancellationRS.html BookingCancellationRS]
+
=== Confirmación de Disponibilidad de una Tarifa obtenida en una Búsqueda Anterior (AvailabilityValidation) ===
  
== Escenario básico de una operación de reserva ==
 
  
[[Archivo:bookingwikijpg1_v1.jpg]]
+
[[API Reference: Confirmación de Disponibilidad de una Tarifa]]
  
== Especificación de documentos XML ==  
+
===  Consulta de Gastos de Cancelación para una Tarifa ó Reserva (CancellationFeesQuery) ===  
  
=== Búsqueda de Disponibilidad de Hoteles (AvailabilityQuery) ===
+
Operación exclusiva para Hoteles. Devuelve las condiciones de gastos de cancelación para una Tarifa ó una Reserva.
  
Consulta de disponibilidad para hoteles en un destino y un rango de fechas determinado. Retorna una colección de tarifas, una por cada hotel ofrecido por los proveedores habilitados para el contrato del usuario.
+
Request: CancellationFeesQueryRQ ([http://wiki.psurfer.net/resources/PSCEV-doc/pscev_CancellationFeesQueryRQ.html Estructura del Documento])
  
Request: AvailabilityQueryRQ
+
Response: CancellationFeesQueryRS ([http://wiki.psurfer.net/resources/PSCEV-doc/pscev_CancellationFeesQueryRS.html Estructura del Documento])
  
Response: AvailabilityQueryRS
+
'''Se pueden consultar de dos formas:'''
  
Ejemplo de uso:
+
* [[API Reference: Consulta de Gastos de Cancelación de un Producto - Hotel|Con el TripProductId de una búsqueda]]
 +
* [[API Reference: Consulta de Gastos de Cancelación de una Reserva - Hotel|Con el BookingReference de una reserva]]
  
*** Solicitud:
+
=== Reserva de Tarifa (BookingProducts) ===
  
<code xml>
+
Solicitud de reserva para una tarifa.
<AvailabilityQueryRQ TransactionId="9c8ac0a3_3e12_4fc5_ad86_6a774def52b6" TransactionMode="Synchronous">
 
  <GeneralParameters>
 
    <PreferedLanguage LanguageCode="es"/>
 
    <PreferedCurrency CurrencyCode="EUR"/>
 
  </GeneralParameters>
 
  <Trips>
 
    <Trip>
 
      <Destination>5735</Destination>
 
      <ProductsParameters>
 
        <HotelsParameters>
 
          <Criterion>
 
            <Rooms>
 
              <Room RoomType="NMO.HTL.RMT.SGL" RoomSequence="1"/>
 
              <Room RoomType="NMO.HTL.RMT.DBL" RoomSequence="2"/>
 
            </Rooms>
 
            <CheckIn>2014-06-15</CheckIn>
 
            <CheckOut>2014-06-16</CheckOut>
 
          </Criterion>
 
        </HotelsParameters>
 
      </ProductsParameters>
 
    </Trip>
 
  </Trips>
 
  <Passengers>
 
    <Passenger AgeType="NMO.GBL.AGT.ADT" RoomSequence="1"/>
 
    <Passenger AgeType="NMO.GBL.AGT.CHD" RoomSequence="1">
 
      <Age>10</Age>
 
    </Passenger>
 
    <Passenger AgeType="NMO.GBL.AGT.ADT" RoomSequence="2"/>
 
    <Passenger AgeType="NMO.GBL.AGT.ADT" RoomSequence="2"/>
 
    <Passenger AgeType="NMO.GBL.AGT.INF" RoomSequence="2">
 
      <Age>1</Age>
 
    </Passenger>
 
  </Passengers>
 
</AvailabilityQueryRQ>
 
</code>
 
  
 +
Request: BookingProductsRQ ([http://wiki.psurfer.net/resources/PSCEV-doc/pscev_BookingProductsRQ.html Estructura del Documento])
  
{| class="wikitable sortable"
+
Response: BookingProductsRS ([http://wiki.psurfer.net/resources/PSCEV-doc/pscev_BookingProductsRS.html Estructura del Documento])
|-
 
! Parámetro !! Obligatorio !! Descripción
 
|-
 
| TransactionId || Si || Deberá contener solo letras, números o "_" y lo genera el cliente para identificar un único ID de transacción entre todos los mensajes del fujo de reserva.
 
|-
 
| TransactionMode || Si || Synchronous / StartAsync / ContinueAsync, Normalmente se usará "Synchronous".
 
* Synchronous: Las búsquedas en este modo esperarán que termine hasta el último proveedor en responder. Luego se ordenarán por precio y se retornarán.
 
* StartAsync y ContinueAsync: Se utilizan en conjunto para hacer pooling.
 
(Ver en detalle el uso de TransactionMode en el capítulo [[Price_Surfer_-_Web_Services#Especificaciones_y_recomendaciones]])
 
|-
 
| GeneralParameters || Si ||
 
|-
 
| PreferedLanguage || Si || Establece el lenguaje requerido para la respuesta.
 
  
Atributos:
+
Detalles y ejemplos:
 +
[[API Reference: Reserva de una Tarifa - Hoteles|Reserva de una Tarifa - Hoteles]]
  
LanguageCode: Código de lenguaje correspondiente a los códigos de lenguaje estándar provistos por Nemo.
+
=== Cancelación de Reserva (BookingCancellation) ===
|-
 
| PreferedCurrency || Si || ''No está habilitado el uso de multimoneda. La moneda utilizada será la configurada en el contrato.''
 
  
Atributos:
+
Solicitud de cancelación de una reserva confirmada.
  
CurrencyCode: Código de moneda correspondiente a los códigos de moneda estándar provistos.
 
|-
 
| Trip ||  ||
 
|-
 
| Destination || Si || Ciudad para la que se realiza la consulta de disponibilidad de tarifas.
 
|-
 
| ProductsParameters || Si ||
 
|-
 
| HotelsParameters || Si || Parámetros específicos de hoteles.
 
|-
 
| Criterion || Si || Indica los distintos parámetros de la búsqueda.
 
|-
 
| CheckIn || Si || Fecha de inicio de la estadía. Formato 'YYYY-MM-DD'.
 
|-
 
| CheckOut || Si || Fecha de fin de la estadía. Formato 'YYYY-MM-DD'.
 
|-
 
| Rooms || Si || Información sobre las habitaciones solicitadas.
 
|-
 
| Room || Si || Identifica una habitación en los parámetros de la búsqueda. Cada habitación tendrá su RoomSequence, número entero consecutivo y comenzando en 1, que también colocará a los pasajeros en el nodo Passengers, para así armar la ocupación determinada para la búsqueda de hoteles.
 
  
'''Atributos:'''
+
Request: BookingCancellationRQ ([http://wiki.psurfer.net/resources/PSCEV-doc/pscev_BookingCancellationRQ.html Estructura del Documento])
  
'''RoomType''': Tipo de habitación sugerido. Los tipos de habitación admitidos en la búsqueda de disponibilidad son los siguientes:
+
Response: BookingCancellationRS ([http://wiki.psurfer.net/resources/PSCEV-doc/pscev_BookingCancellationRS.html Estructura del Documento])
  
: SGL, Single    (1 adulto)
+
Detalles y ejemplos:
: DBL, Doble    (2 adultos)
+
[[API Reference: Cancelación de una Reserva - Hoteles|Cancelación de una Reserva - Hoteles]]
: DBL.TSU, Doble de uso individual    (1 adulto)
 
: DBL.TWN, Doble Twin    (2 adultos)
 
: TPL, Trilpe    (3 adultos)
 
: QUA, Quadruple    (4 adultos)
 
: PEN, Quintuple    (5 adultos)
 
: HEX, Sextuple    (6 adultos)
 
: SEP, Septuple    (7 adultos)
 
: OCT, Octuple    (8 adultos)
 
: NON, Nonuple    (9 adultos)
 
  
Este campo es obligatorio, pero es solo una sugerencia para los proveedores habilitados. La búsqueda se hará por ocupación, indicada en el nodo Passengers, pero si se requiere un tipo especial de habitación, por ejemplo Doble Twin, se puede indicar aquí.
+
=== Consulta de Reserva (BookingQuery) ===
  
''Importante: La respuesta dependerá de la disponibilidad del proveedor, y puede contener habitaciones con otros tipos de habitación.''
+
Consulta de información y detalles sobre una reserva.
  
'''RoomSequence''': Es un número consecutivo que comienza en 1 que identifica la habitación donde estará alojado cada pasajero.
+
Request: BookingQueryRQ ([http://wiki.psurfer.net/resources/PSCEV-doc/pscev_BookingQueryRQ.html Estructura del Documento])
|-
 
| Passenger || Si || Establece los pasajeros para la búsqueda realizada.  
 
  
'''Atributos:'''
+
Response: BookingQueryRS ([http://wiki.psurfer.net/resources/PSCEV-doc/pscev_BookingQueryRS.html Estructura del Documento])
  
'''AgeType:''' indica el tipo de pasajero Adulto, Child o Infante (NMO.GBL.AGT.ADT , NMO.GBL.AGT.CHD , NMO.GBL.AGT.INF).
+
Detalles y ejemplos:
 +
[[API Reference: Consulta de una Reserva - Hoteles|Consulta de una Reserva - Hoteles]]
  
'''RoomSequence''': En hoteles, indicar todos los pasajeros con su correspondiente identificador de habitación ''RoomSequence''.
+
== Lenguaje de Descripción de la Aplicación Web (WADL) ==
Por ejemplo para dos habitaciones dobles colocar dos pasajeros con ''RoomSequence=1'' y otros dos pasajeros con ''RoomSequence=2''.
 
|-
 
| Age || No || Edad del pasajero. Solo obligatorio para pasajeros Child o Infante.
 
|-
 
|}
 
  
*** Respuesta:
+
Utilizando la especificación provista por Price Surfer los Clientes podrán acceder al catálogo de los servicios y recursos provistos en la API.
<code xml>
 
<AvailabilityQueryRS TransactionId="9c8ac0a3_3e12_4fc5_ad86_6a774def52b6" TransactionMode="Synchronous">
 
<Echo TransactionId="9c8ac0a3_3e12_4fc5_ad86_6a774def52b6" TransactionMode="Synchronous">
 
<GeneralParameters>
 
<PreferedLanguage LanguageCode="es"/>
 
<PreferedCurrency CurrencyCode="ARS"/>
 
</GeneralParameters>
 
<Trips>
 
<Trip>
 
<Destination>5735</Destination>
 
<ProductsParameters>
 
<HotelsParameters>
 
<Criterion>
 
<Rooms>
 
<Room RoomType="NMO.HTL.RMT.SGL" RoomSequence="1"/>
 
<Room RoomType="NMO.HTL.RMT.DBL" RoomSequence="2"/>
 
</Rooms>
 
<CheckIn>2014-06-10</CheckIn>
 
<CheckOut>2014-06-19</CheckOut>
 
</Criterion>
 
</HotelsParameters>
 
</ProductsParameters>
 
</Trip>
 
</Trips>
 
<Passengers>
 
<Passenger AgeType="NMO.GBL.AGT.ADT" RoomSequence="1"/>
 
<Passenger AgeType="NMO.GBL.AGT.CHD" RoomSequence="1">
 
<Age>10</Age>
 
</Passenger>
 
<Passenger AgeType="NMO.GBL.AGT.ADT" RoomSequence="2"/>
 
<Passenger AgeType="NMO.GBL.AGT.ADT" RoomSequence="2"/>
 
<Passenger AgeType="NMO.GBL.AGT.INF" RoomSequence="2">
 
<Age>1</Age>
 
</Passenger>
 
</Passengers>
 
</Echo>
 
<Details>
 
<Trips>
 
<Trip>
 
<HotelsAvailability>
 
<Hotels>
 
<Hotel Code="93316" Name="Pullman City Center Rosario" Longitude="-60.6629" Latitude="-33.0111">
 
<DestinationDetails>
 
<Destination Code="5735" Type="NMO.HTL.DST.CTY"/>
 
</DestinationDetails>
 
<Rates>
 
<Rate TripProductID="ceb238da-39e4-46a3-8f63-836540c76b78">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE TWIN</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE TWIN</Room>
 
</Rooms>
 
<Board Code="14">SOLO HABITACIÓN</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">2065.36</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">2062.36</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="77f7f4c5-fd18-430e-8516-fd864913f4d1">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE TWIN</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE CAMA KING SIZE</Room>
 
</Rooms>
 
<Board Code="14">SOLO HABITACIÓN</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">2065.36</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">2062.36</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="5df1f58f-93fa-4f6c-bedc-06f344ba5d75">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE CAMA KING SIZE</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE TWIN</Room>
 
</Rooms>
 
<Board Code="14">SOLO HABITACIÓN</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">2065.36</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">2062.36</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="39948393-185b-4b21-832d-4a57627f13c3">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE CAMA KING SIZE</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE CAMA KING SIZE</Room>
 
</Rooms>
 
<Board Code="14">SOLO HABITACIÓN</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">2065.36</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">2062.36</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="e8359402-c55c-49c2-9b91-11dc0f69bc66">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE TWIN</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE TWIN</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">2413.8</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">2410.8</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="9015035e-21ba-4299-90a3-4467af38707b">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE TWIN</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE CAMA KING SIZE</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">2413.8</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">2410.8</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="5ead8850-8ffc-4f11-a43b-f8bd62f7b17f">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE CAMA KING SIZE</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE TWIN</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">2413.8</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">2410.8</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="77970682-ef82-4d4b-9701-a9a9303676ae">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE CAMA KING SIZE</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE CAMA KING SIZE</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">2413.8</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">2410.8</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
</Rates>
 
<Rating Code="NMO.HTL.RTN.3ST" Type="NMO.HTL.RTT.STR">
 
<Value>5.0</Value>
 
</Rating>
 
<Address>
 
<Line>AV BATLLE Y ORDOÑEZ Y BV OROÑO</Line>
 
<Line>2000 - ROSARIO</Line>
 
<Line>Rosario</Line>
 
</Address>
 
</Hotel>
 
<Hotel Code="155879" Name="Esplendor Savoy Rosario" Longitude="-60.636577" Latitude="-32.94456">
 
<DestinationDetails>
 
<Destination Code="5735" Type="NMO.HTL.DST.CTY"/>
 
</DestinationDetails>
 
<Rates>
 
<Rate TripProductID="6071fc42-63ac-4fef-901b-55393f880cdc">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE MATRIMONIAL-CONCEPT-SUPERIOR</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE MATRIMONIAL-CONCEPT-SUPERIOR</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">3631.98</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">3628.98</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="f2ee3a8e-f6c9-4b15-88ec-5c1e9c499712">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE MATRIMONIAL-CONCEPT-SUPERIOR</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE CONCEPT-SUPERIOR-TWIN</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">3631.98</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">3628.98</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="000f680c-762f-4d4f-b557-69180c88ab5a">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE CONCEPT-SUPERIOR-TWIN</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE MATRIMONIAL-CONCEPT-SUPERIOR</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">3631.98</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">3628.98</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="ba667dfe-1527-4d3a-91bd-588e9b21e650">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE CONCEPT-SUPERIOR-TWIN</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE CONCEPT-SUPERIOR-TWIN</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">3631.98</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">3628.98</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="381103d6-18d2-40b1-975c-d72eb8aa09c4">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE MATRIMONIAL-CONCEPT</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE MATRIMONIAL-CONCEPT</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">5809.44</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">5806.44</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="cf04a9eb-449f-4b28-afaf-a7d4fdf82a06">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE MATRIMONIAL-CONCEPT</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE MATRIMONIAL-CONCEPT-SUPERIOR</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">5809.44</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">5806.44</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="8f8756cf-d7db-4bec-b54e-2010dd1d185b">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE MATRIMONIAL-CONCEPT</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE CONCEPT-SUPERIOR-TWIN</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">5809.44</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">5806.44</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="2674695d-da41-43f0-a3c2-340d3cf97c5c">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE MATRIMONIAL-CONCEPT-SUPERIOR</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE MATRIMONIAL-CONCEPT</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">5809.44</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">5806.44</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="afcf16f6-aa14-46cd-a0f9-ce37d8ec2275">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE MATRIMONIAL-CONCEPT-SUPERIOR</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE MATRIMONIAL-CONCEPT-SUPERIOR</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">5809.44</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">5806.44</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="e06048d3-0f27-40ea-82b0-c6f5b71586a1">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE MATRIMONIAL-CONCEPT-SUPERIOR</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE CONCEPT-SUPERIOR-TWIN</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">5809.44</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">5806.44</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="c26e190a-c7eb-4c12-8901-89aeafc6523e">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE CONCEPT-SUPERIOR-TWIN</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE MATRIMONIAL-CONCEPT</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">5809.44</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">5806.44</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="c9f6b112-ee7e-4969-8c8c-68aefb529011">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE CONCEPT-SUPERIOR-TWIN</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE MATRIMONIAL-CONCEPT-SUPERIOR</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">5809.44</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">5806.44</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="194c54d7-6bbc-495a-a9d9-66ed79a11890">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE CONCEPT-SUPERIOR-TWIN</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE CONCEPT-SUPERIOR-TWIN</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">5809.44</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">5806.44</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
</Rates>
 
<Rating Code="NMO.HTL.RTN.5ST" Type="NMO.HTL.RTT.STR">
 
<Value>4.0</Value>
 
</Rating>
 
<Address>
 
<Line>San Lorenzo 1022</Line>
 
<Line>2000 - ROSARIO</Line>
 
<Line>Rosario</Line>
 
</Address>
 
</Hotel>
 
<Hotel Code="171732" Name="Plaza Real" Longitude="-60.6639400497079" Latitude="-32.9377402737737">
 
<DestinationDetails>
 
<Destination Code="5735" Type="NMO.HTL.DST.CTY"/>
 
</DestinationDetails>
 
<Rates>
 
<Rate TripProductID="dd1aa792-e302-4861-94a7-4ed6a61abfb7">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE EJECUTIVO</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE EJECUTIVO</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">2751.42</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">2748.42</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="6ff984a9-a7c3-4986-94fb-1a4487071268">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE EJECUTIVO</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE ESPECIAL</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">2886.87</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">2883.87</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="b31050cd-3d38-4852-867f-3f2d53665896">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE ESPECIAL</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE EJECUTIVO</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">2886.87</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">2883.87</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="7f790f22-677f-4b09-a8a1-0801391e870d">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE ESPECIAL</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE ESPECIAL</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">3022.32</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">3019.32</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="89676945-569a-47d0-8a9e-9a5b71f357d4">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE EJECUTIVO</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE LUXURY</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">3815.94</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">3812.94</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="2d261dba-b417-4573-ba49-f057f58a18b3">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE LUXURY</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE EJECUTIVO</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">3815.94</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">3812.94</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="75deab40-b344-49af-a609-0d5c8e8ab6f3">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE ESPECIAL</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE LUXURY</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">3951.39</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">3948.39</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="558a25a8-b7cd-460b-9aa5-0c2e7cdfd10b">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE LUXURY</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE ESPECIAL</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">3951.39</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">3948.39</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="a44ba851-8c3e-4f2b-a15f-d3127fb86555">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE LUXURY</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE LUXURY</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">4880.46</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">4877.46</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
</Rates>
 
<Rating Code="NMO.HTL.RTN.5ST" Type="NMO.HTL.RTT.STR">
 
<Value>4.0</Value>
 
</Rating>
 
<Address>
 
<Line>SANTA FE 1632</Line>
 
<Line>2000 - ROSARIO</Line>
 
<Line>Rosario</Line>
 
</Address>
 
</Hotel>
 
<Hotel Code="172643" Name="Jujuy In Suite" Longitude="-60.6478831" Latitude="-32.9361003">
 
<DestinationDetails>
 
<Destination Code="5735" Type="NMO.HTL.DST.CTY"/>
 
</DestinationDetails>
 
<Rates>
 
<Rate TripProductID="91113c46-382a-4b0e-bc3e-3d32b60bb373">
 
<Rooms>
 
<Room Availability="CNF" Type="APT" Occupancy="2/1/0">APARTAMENTO 2 PERSONAS</Room>
 
<Room Availability="CNF" Type="APT" Occupancy="1/1/0">APARTAMENTO 2 PERSONAS</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">1669.68</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">1666.68</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="28990df2-5c0a-44b9-8735-e322cf2ee101">
 
<Rooms>
 
<Room Availability="CNF" Type="APT" Occupancy="2/1/0">APARTAMENTO 2 PERSONAS</Room>
 
<Room Availability="CNF" Type="APT" Occupancy="1/1/0">APARTAMENTO 3 PAX</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">1794.4</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">1791.4</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="b4af73a3-432a-4d24-a960-b04c8f16c102">
 
<Rooms>
 
<Room Availability="CNF" Type="APT" Occupancy="2/1/0">APARTAMENTO 3 PAX</Room>
 
<Room Availability="CNF" Type="APT" Occupancy="1/1/0">APARTAMENTO 2 PERSONAS</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">1794.4</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">1791.4</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="0c863001-40b4-455e-9611-f87f9189ca9a">
 
<Rooms>
 
<Room Availability="CNF" Type="APT" Occupancy="2/1/0">APARTAMENTO 2 PERSONAS</Room>
 
<Room Availability="CNF" Type="SUI" Occupancy="1/1/0">SUITE 2 PERSONAS</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">1836.37</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">1833.37</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="a3ab2a7e-8bfa-4146-bfe5-adab15eae786">
 
<Rooms>
 
<Room Availability="CNF" Type="SUI" Occupancy="2/1/0">SUITE 2 PERSONAS</Room>
 
<Room Availability="CNF" Type="APT" Occupancy="1/1/0">APARTAMENTO 2 PERSONAS</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">1836.37</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">1833.37</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="15d1318a-c483-4286-b2d8-708310e6e9eb">
 
<Rooms>
 
<Room Availability="CNF" Type="APT" Occupancy="2/1/0">APARTAMENTO 3 PAX</Room>
 
<Room Availability="CNF" Type="APT" Occupancy="1/1/0">APARTAMENTO 3 PAX</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">1919.12</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">1916.12</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="370b6086-ffb5-4e51-b2e9-b426fe4161f5">
 
<Rooms>
 
<Room Availability="CNF" Type="APT" Occupancy="2/1/0">APARTAMENTO 2 PERSONAS</Room>
 
<Room Availability="CNF" Type="SUI" Occupancy="1/1/0">SUITE 3 PAX</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">1960.02</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">1957.02</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="9f2734e8-c3f2-48c4-ab90-894c9d37ef84">
 
<Rooms>
 
<Room Availability="CNF" Type="SUI" Occupancy="2/1/0">SUITE 3 PAX</Room>
 
<Room Availability="CNF" Type="APT" Occupancy="1/1/0">APARTAMENTO 2 PERSONAS</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">1960.02</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">1957.02</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="40d31fb9-d0c7-482d-9b71-47c09c03b6fb">
 
<Rooms>
 
<Room Availability="CNF" Type="APT" Occupancy="2/1/0">APARTAMENTO 3 PAX</Room>
 
<Room Availability="CNF" Type="SUI" Occupancy="1/1/0">SUITE 2 PERSONAS</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">1961.09</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">1958.09</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="ce71d404-4871-4ef3-a00b-cbf2856acefc">
 
<Rooms>
 
<Room Availability="CNF" Type="SUI" Occupancy="2/1/0">SUITE 2 PERSONAS</Room>
 
<Room Availability="CNF" Type="APT" Occupancy="1/1/0">APARTAMENTO 3 PAX</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">1961.09</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">1958.09</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="c351980f-ec51-4a8d-b988-76b7d16c81c1">
 
<Rooms>
 
<Room Availability="CNF" Type="SUI" Occupancy="2/1/0">SUITE 2 PERSONAS</Room>
 
<Room Availability="CNF" Type="SUI" Occupancy="1/1/0">SUITE 2 PERSONAS</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">2003.06</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">2000.06</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="aa1c0f03-ae19-4f78-843f-a041afc152f7">
 
<Rooms>
 
<Room Availability="CNF" Type="APT" Occupancy="2/1/0">APARTAMENTO 2 PERSONAS</Room>
 
<Room Availability="CNF" Type="SUI" Occupancy="1/1/0">SUITE 4 PAX</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">2056.77</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">2053.77</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="a3652383-b96f-4b08-82cb-1865a05469a9">
 
<Rooms>
 
<Room Availability="CNF" Type="SUI" Occupancy="2/1/0">SUITE 4 PAX</Room>
 
<Room Availability="CNF" Type="APT" Occupancy="1/1/0">APARTAMENTO 2 PERSONAS</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">2056.77</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">2053.77</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="4d1c5b94-5c70-459d-b2ca-698c3f40297c">
 
<Rooms>
 
<Room Availability="CNF" Type="APT" Occupancy="2/1/0">APARTAMENTO 3 PAX</Room>
 
<Room Availability="CNF" Type="SUI" Occupancy="1/1/0">SUITE 3 PAX</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">2084.74</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">2081.74</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="06d1bdce-fbfa-42b7-ae48-fdc0c49f689f">
 
<Rooms>
 
<Room Availability="CNF" Type="SUI" Occupancy="2/1/0">SUITE 3 PAX</Room>
 
<Room Availability="CNF" Type="APT" Occupancy="1/1/0">APARTAMENTO 3 PAX</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">2084.74</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">2081.74</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="2b50fb67-07c9-4ba2-aa41-76244d3f5c14">
 
<Rooms>
 
<Room Availability="CNF" Type="SUI" Occupancy="2/1/0">SUITE 2 PERSONAS</Room>
 
<Room Availability="CNF" Type="SUI" Occupancy="1/1/0">SUITE 3 PAX</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">2126.71</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">2123.71</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="3af7eb19-2ce9-4155-a76d-a7abec5d5bbc">
 
<Rooms>
 
<Room Availability="CNF" Type="SUI" Occupancy="2/1/0">SUITE 3 PAX</Room>
 
<Room Availability="CNF" Type="SUI" Occupancy="1/1/0">SUITE 2 PERSONAS</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">2126.71</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">2123.71</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="f24c90ee-0252-468d-84fc-996d1ee70466">
 
<Rooms>
 
<Room Availability="CNF" Type="APT" Occupancy="2/1/0">APARTAMENTO 3 PAX</Room>
 
<Room Availability="CNF" Type="SUI" Occupancy="1/1/0">SUITE 4 PAX</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">2181.49</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">2178.49</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="e828258c-21be-4aef-a892-331c93a58aa9">
 
<Rooms>
 
<Room Availability="CNF" Type="SUI" Occupancy="2/1/0">SUITE 4 PAX</Room>
 
<Room Availability="CNF" Type="APT" Occupancy="1/1/0">APARTAMENTO 3 PAX</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">2181.49</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">2178.49</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="2f784e68-4698-4871-a227-e017202a8fb2">
 
<Rooms>
 
<Room Availability="CNF" Type="SUI" Occupancy="2/1/0">SUITE 2 PERSONAS</Room>
 
<Room Availability="CNF" Type="SUI" Occupancy="1/1/0">SUITE 4 PAX</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">2223.46</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">2220.46</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="95d6ee35-cc34-4c74-83cd-13b6513a336d">
 
<Rooms>
 
<Room Availability="CNF" Type="SUI" Occupancy="2/1/0">SUITE 4 PAX</Room>
 
<Room Availability="CNF" Type="SUI" Occupancy="1/1/0">SUITE 2 PERSONAS</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">2223.46</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">2220.46</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="10efb32d-613a-4cf2-983e-d0035ef3d890">
 
<Rooms>
 
<Room Availability="CNF" Type="SUI" Occupancy="2/1/0">SUITE 3 PAX</Room>
 
<Room Availability="CNF" Type="SUI" Occupancy="1/1/0">SUITE 3 PAX</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">2250.36</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">2247.36</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="cf4a219d-13d6-4b5d-9c72-ddc6c8d9bfc8">
 
<Rooms>
 
<Room Availability="CNF" Type="SUI" Occupancy="2/1/0">SUITE 3 PAX</Room>
 
<Room Availability="CNF" Type="SUI" Occupancy="1/1/0">SUITE 4 PAX</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">2347.11</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">2344.11</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="8083cc56-b638-460c-9450-2da09d0f9e69">
 
<Rooms>
 
<Room Availability="CNF" Type="SUI" Occupancy="2/1/0">SUITE 4 PAX</Room>
 
<Room Availability="CNF" Type="SUI" Occupancy="1/1/0">SUITE 3 PAX</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">2347.11</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">2344.11</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
<Rate TripProductID="a0f8f30d-5cc5-4cca-8f1d-b946de2be300">
 
<Rooms>
 
<Room Availability="CNF" Type="SUI" Occupancy="2/1/0">SUITE 4 PAX</Room>
 
<Room Availability="CNF" Type="SUI" Occupancy="1/1/0">SUITE 4 PAX</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">2443.86</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">2440.86</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
</Rates>
 
<Rating Code="NMO.HTL.RTN.4ST" Type="NMO.HTL.RTT.STR">
 
<Value>3.0</Value>
 
</Rating>
 
<Address>
 
<Line>JUJUY 1946</Line>
 
<Line>2000 - ROSARIO</Line>
 
<Line>Rosario</Line>
 
</Address>
 
</Hotel>
 
<Hotel Code="173905" Name="1495 Apart" Longitude="0.0" Latitude="0.0">
 
<DestinationDetails>
 
<Destination Code="5735" Type="NMO.HTL.DST.CTY"/>
 
</DestinationDetails>
 
<Rates>
 
<Rate TripProductID="666f5730-dda4-4494-ad30-e0508d9c2830">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE DELUXE</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE DELUXE</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS">3873.9</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET">3870.9</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
</Rates>
 
<Rating Code="NMO.HTL.RTN.4ST" Type="NMO.HTL.RTT.STR">
 
<Value>3.0</Value>
 
</Rating>
 
<Address>
 
<Line>MENDOZA 1495</Line>
 
<Line>2000 - ROSARIO</Line>
 
<Line>Rosario</Line>
 
</Address>
 
</Hotel>
 
</Hotels>
 
</HotelsAvailability>
 
</Trip>
 
</Trips>
 
<Passengers>
 
<Passenger AgeType="NMO.GBL.AGT.ADT" RoomSequence="1"/>
 
<Passenger AgeType="NMO.GBL.AGT.CHD" RoomSequence="1">
 
<Age>10</Age>
 
</Passenger>
 
<Passenger AgeType="NMO.GBL.AGT.ADT" RoomSequence="2"/>
 
<Passenger AgeType="NMO.GBL.AGT.ADT" RoomSequence="2"/>
 
<Passenger AgeType="NMO.GBL.AGT.INF" RoomSequence="2">
 
<Age>1</Age>
 
</Passenger>
 
</Passengers>
 
</Details>
 
</AvailabilityQueryRS>
 
</code>
 
  
 +
En Produccion -> https://service.psurfer.net/pricesurfer/application.wadl
  
 +
En Staging -> http://service-cert.psurfer.net/pricesurfer/application.wadl
  
{| class="wikitable sortable"
+
= Especificaciones y recomendaciones =
|-
 
! Parámetro !! Obligatorio !! Descripción
 
|-
 
| Notifications || No ||
 
|-
 
| Notification || Si || 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.
 
|-
 
| NotificationId || Si || Identificador de la notificación. Las mismas serán provistas por Nemo.
 
|-
 
| NotificationType || Si || Tipo de notificación.
 
|-
 
| NotificationMessage || Si || Mensaje de notificación.
 
|-
 
| Echo || No || En este nodo se envía una copia de la consulta realizada.
 
|-
 
| Details || Si ||
 
|-
 
| Trips || Si ||
 
|-
 
| Hotel || No || Hotel recomendado por el sistema como mejor compra para el tramo.
 
  
Atributos:
+
== Administracion de los TripProductIDs ==
  
SupplerID: Id del proveedor
+
Para evitar inconvenientes respecto de expiración de tarifas cuando el tiempo del flujo de reserva es elevado, recomendamos utilizar siempre el TripProductID obtenido en cada mensaje previo del flujo de reserva y que no siempre es el mismo que se obtuvo en la búsqueda original:
  
Code: código del hotel, de los provistos por Nemo.
+
1- En el mensaje AvailabilityValidationRQ (Validación de Tarifa) utilizar el TripProductID que se responde en el AvailabilityQueryRS (respuesta de la Búsqueda)
  
Name: nombre del hotel
+
2- En el mensaje CancellationFeesQueryRQ (Politica de Gastos) utilizar el TripProductID que se responde en el AvailabilityValidationRS (respuesta de Validación de Tarifas)
  
Longitude y Latitude (opcionales): coordenadas para la ubicación del hotel en un mapa.
+
3- En el mensaje BookingProductsRQ (Reserva) utiliza el TripProductID que se responde en el CancellationFeesQueryRS (respuesta de Política de Cancelación)
|-
 
| Amenities || Si || Amenidades del hotel.
 
|-
 
| Rates || Si || Se informan las habitaciones, regímenes y tarifas.
 
|-
 
| Rating || Si || Categoría del hotel.
 
|-
 
| HotelsAvailability || No || Retorna un conjunto de hoteles para el destino buscado. Se informará el nodo Amenities, DestinationDetails, Rates y Rating.
 
|-
 
| Exceptions || No || Si no se puede armar el nodo Details se arma un nodo Exceptions con las notificaciones correspondientes.
 
|}
 
  
 +
== Autorización y otras cabeceras necesarias ==
  
 +
Para acceder a las operaciones propias del servicio web será necesario el uso de credenciales por medio de un hash que actúa como Token de Autorización. El servicio utilizará para esto una cabecera especial denominada "'''X-PS-AUTHTOKEN'''" la cuál actuará como clave de seguridad interna para establecer la comunicación entre el sistema y el usuario.
  
Item '''Hotel''':
+
Además de la cabecera para la autorización deben enviarse las cabeceras estandars
 +
* '''Accept''' con valor '''''application/xml'''''
 +
* '''Accept-Encoding''' con valor '''''gzip,deflate''''' (solicitar la compresión de la respuesta para acelerar el tiempo de llegada de la misma)
  
 +
== Ejemplo de cabecera ==
  
<code xml>
+
* Solicitud (entorno de Cert)
    <Hotel Code="173905" Name="1495 Apart" Longitude="0.0" Latitude="0.0">
 
<DestinationDetails>
 
<Destination Code="5735" Type="NMO.HTL.DST.CTY"/>
 
</DestinationDetails>
 
<Rates>
 
<Rate TripProductID="666f5730-dda4-4494-ad30-e0508d9c2830">
 
<Rooms>
 
<Room Availability="CNF" Type="DBL" Occupancy="2/1/0">DOBLE DELUXE</Room>
 
<Room Availability="CNF" Type="DBL" Occupancy="1/1/0">DOBLE DELUXE</Room>
 
</Rooms>
 
<Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
<RatePrices>
 
<RatePrice Type="NMO.GBL.RPT.GRS" Currency="ARS">3873.9</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.NET" Currency="ARS">3870.9</RatePrice>
 
<RatePrice Type="NMO.HTL.RPT.COM" Currency="ARS">3.0</RatePrice>
 
</RatePrices>
 
</Rate>
 
</Rates>
 
<Rating Code="NMO.HTL.RTN.4ST" Type="NMO.HTL.RTT.STR">
 
<Value>3.0</Value>
 
</Rating>
 
<Address>
 
<Line>MENDOZA 1495</Line>
 
<Line>2000 - ROSARIO</Line>
 
<Line>Rosario</Line>
 
</Address>
 
    </Hotel>
 
</code>
 
  
{| class="wikitable sortable"
+
POST http://service-cert.psurfer.net/pricesurfer/catalog/products/search HTTP/1.1
|-
 
! Parámetro !! Descripción
 
|-
 
| Hotel || Cada item Hotel con sus descripciones y tarifas.
 
  
'''Atributos:'''
+
Accept-Encoding: gzip,deflate
  
'''Code:''' valor numérico correspondiente al código ''Nemo'' del hotel.
+
Accept: application/xml
  
'''Name:''' nombre del hotel.
+
Content-Type: application/xml
  
'''Longitude:''' atributo de geoposicionamiento.
+
X-PS-AUTHTOKEN: 981d284d_bc57_c429_91b9_178fg07f78f0
  
'''Latitude:''' atributo de geoposicionamiento.
+
Content-Length: 770
|-
 
| Destination || Código y tipo del destino del hotel.
 
  
'''Atributos:'''
+
Host: http://service-cert.psurfer.net
  
'''Code:''' valor numérico correspondiente al código del destino.
+
Connection: Keep-Alive
  
'''Type:''' valor correspondiente al tipo de destino. Valores posibles: "NMO.HTL.DST.CTY", "NMO.HTL.DST.AIR"
+
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
|-
 
| Rate || Tarifas
 
  
'''Atributos:'''
 
  
'''TripProductID:''' identificador único para la tarifa reservable.
+
* Respuesta
|-
 
| Room || Descripción de la habitación.
 
  
'''Atributos:'''
+
HTTP/1.1 200 OK
  
'''Availability:''' código de la disponibilidad. Valores posibles: CNF para "confirmación inmediata" y ORQ para "bajo petición".
+
X-Powered-By: Servlet/3.0
  
'''Type:''' código del tipo de habitación.
+
Server: GlassFish Server Open Source Edition 3.0.1
  
'''Occupancy:''' código que corresponde al tipo de ocupación.
+
Content-Type: application/xml
|-
 
| Board || Tipo de alojamiento y descripción.
 
  
'''Atributos:'''
+
Transfer-Encoding: chunked
  
'''Code:''' Código del board.
+
Content-Encoding: gzip
|-
 
| RatePrice || Precio de la habitación.
 
  
'''Atributos:'''
+
Vary: Accept-Encoding
  
'''Type:''' tipo de precio. Valores posibles: NMO.GBL.RPT.GRS Precio de venta o PVP, NMO.GBL.RPT.NET Precio neto.
+
Date: Wed, 31 Jul 2013 10:39:32 GMT
  
|-
+
== TransactionMode ==
| Rating || Estrellas
 
  
'''Atributos:'''
+
Solo es posible usar el modo Sincrónico:
  
'''Code:''' Código de la estrella. Valores posibles:
+
TransactionMode="Synchronous"
  
{| class="wikitable"
+
Las búsquedas en este modo esperarán que termine hasta el último proveedor en responder. Luego se ordenarán por precio y se retornarán.
|-
 
! Type !! Code !! Value
 
|-
 
| NMO.HTL.RTT.APM || NMO.HTL.RTN.APM || 0                     
 
|-
 
| NMO.HTL.RTT.APR || NMO.HTL.RTN.1AP || 1                     
 
|-
 
| NMO.HTL.RTT.APR || NMO.HTL.RTN.2AP || 2                     
 
|-
 
| NMO.HTL.RTT.APR || NMO.HTL.RTN.3AP || 3                     
 
|-
 
| NMO.HTL.RTT.APR || NMO.HTL.RTN.4AP || 4                     
 
|-
 
| NMO.HTL.RTT.APR || NMO.HTL.RTN.5AP || 5                     
 
|-
 
| NMO.HTL.RTT.BNB || NMO.HTL.RTN.BNB || 1                     
 
|-
 
| NMO.HTL.RTT.BTQ || NMO.HTL.RTN.BTQ || 3                     
 
|-
 
| NMO.HTL.RTT.CMP || NMO.HTL.RTN.1CM || 1                     
 
|-
 
| NMO.HTL.RTT.CMP || NMO.HTL.RTN.2CM || 2                     
 
|-
 
| NMO.HTL.RTT.DMN || NMO.HTL.RTN.1DM || 1                     
 
|-
 
| NMO.HTL.RTT.DMN || NMO.HTL.RTN.2DM || 2                     
 
|-
 
| NMO.HTL.RTT.DMN || NMO.HTL.RTN.3DM || 3                     
 
|-
 
| NMO.HTL.RTT.DMN || NMO.HTL.RTN.4DM || 4                     
 
|-
 
| NMO.HTL.RTT.DMN || NMO.HTL.RTN.5DM || 5                     
 
|-
 
| NMO.HTL.RTT.HHS || NMO.HTL.RTN.HHS || 1                     
 
|-
 
| NMO.HTL.RTT.HST || NMO.HTL.RTN.1HS || 1                     
 
|-
 
| NMO.HTL.RTT.HST || NMO.HTL.RTN.2HS || 2                     
 
|-
 
| NMO.HTL.RTT.HST || NMO.HTL.RTN.3HS || 3                     
 
|-
 
| NMO.HTL.RTT.HST || NMO.HTL.RTN.4HS || 4                     
 
|-
 
| NMO.HTL.RTT.HST || NMO.HTL.RTN.5HS || 5                     
 
|-
 
| NMO.HTL.RTT.KEY || NMO.HTL.RTN.1KY || 1                     
 
|-
 
| NMO.HTL.RTT.KEY || NMO.HTL.RTN.2KY || 2                     
 
|-
 
| NMO.HTL.RTT.KEY || NMO.HTL.RTN.3KY || 3                     
 
|-
 
| NMO.HTL.RTT.KEY || NMO.HTL.RTN.4KY || 4                     
 
|-
 
| NMO.HTL.RTT.KEY || NMO.HTL.RTN.5KY || 5                     
 
|-
 
| NMO.HTL.RTT.LDG || NMO.HTL.RTN.LDG || 1                     
 
|-
 
| NMO.HTL.RTT.NIN || NMO.HTL.RTN.0ST || 1                     
 
|-
 
| NMO.HTL.RTT.PND || NMO.HTL.RTN.PND || 1                     
 
|-
 
| NMO.HTL.RTT.PSD || NMO.HTL.RTN.PSD || 1                     
 
|-
 
| NMO.HTL.RTT.RES || NMO.HTL.RTN.RES || 1                     
 
|-
 
| NMO.HTL.RTT.RLH || NMO.HTL.RTN.RLH || 1                     
 
|-
 
| NMO.HTL.RTT.RRL || NMO.HTL.RTN.1RL || 1                     
 
|-
 
| NMO.HTL.RTT.RRL || NMO.HTL.RTN.2RL || 2                     
 
|-
 
| NMO.HTL.RTT.RRL || NMO.HTL.RTN.3RL || 3                     
 
|-
 
| NMO.HTL.RTT.RRL || NMO.HTL.RTN.4RL || 4                     
 
|-
 
| NMO.HTL.RTT.RRL || NMO.HTL.RTN.5RL || 5                     
 
|-
 
| NMO.HTL.RTT.STD || NMO.HTL.RTN.STD || 3                     
 
|-
 
| NMO.HTL.RTT.STR || NMO.HTL.RTN.15S || 1.5                   
 
|-
 
| NMO.HTL.RTT.STR || NMO.HTL.RTN.1ST || 1                     
 
|-
 
| NMO.HTL.RTT.STR || NMO.HTL.RTN.25S || 2.5                   
 
|-
 
| NMO.HTL.RTT.STR || NMO.HTL.RTN.2ST || 2                     
 
|-
 
| NMO.HTL.RTT.STR || NMO.HTL.RTN.35S || 3.5                   
 
|-
 
| NMO.HTL.RTT.STR || NMO.HTL.RTN.3ST || 3                     
 
|-
 
| NMO.HTL.RTT.STR || NMO.HTL.RTN.45S || 4.5                   
 
|-
 
| NMO.HTL.RTT.STR || NMO.HTL.RTN.4SL || 4                     
 
|-
 
| NMO.HTL.RTT.STR || NMO.HTL.RTN.4ST || 4                     
 
|-
 
| NMO.HTL.RTT.STR || NMO.HTL.RTN.55S || 5.5                   
 
|-
 
| NMO.HTL.RTT.STR || NMO.HTL.RTN.5SL || 5                     
 
|-
 
| NMO.HTL.RTT.STR || NMO.HTL.RTN.5ST || 5                     
 
|-
 
| NMO.HTL.RTT.STR || NMO.HTL.RTN.6ST || 6                     
 
|-
 
| NMO.HTL.RTT.STR || NMO.HTL.RTN.NNN || 5                     
 
|-
 
| NMO.HTL.RTT.VLL || NMO.HTL.RTN.VLL || 1                     
 
|-
 
| NMO.HTL.RTT.VTH || NMO.HTL.RTN.VTH || 1                     
 
|}
 
  
'''Type:''' Tipo de estrella. Valores posibles:
+
Si algún proveedor supera el tiempo máximo permitido (timeout configurado por nosotros) no se devolverán resultados del mismo.
  
{| class="wikitable"
+
Puede ocurrir que los resultados retornados por el WS no sean los mismos que los resultados del sitio online de PriceSurfer.  
|-
+
Esto ocurre porque un proveedor que se interrumpe por timeout sigue guardando resultados en la cache de resultados, que están disponibles solo en la aplicación online, y no en el ws.
! Code !! Value
+
Por consiguiente si se interrumpe algún proveedor por timeout se perderán esos datos por 30 minutos, ya que quedarán ocultos por la caché del ws.
|-
 
| NMO.HTL.RTT.APM || Apartment                           
 
|-
 
| NMO.HTL.RTT.APR || Aparthotel                         
 
|-
 
| NMO.HTL.RTT.BNB || Bed and Breakfast                   
 
|-
 
| NMO.HTL.RTT.BTQ || Boutique                           
 
|-
 
| NMO.HTL.RTT.CMP || Camping                             
 
|-
 
| NMO.HTL.RTT.DMN || Diamonds                           
 
|-
 
| NMO.HTL.RTT.HHS || Host House                         
 
|-
 
| NMO.HTL.RTT.HST || Hostal                             
 
|-
 
| NMO.HTL.RTT.KEY || Keys                               
 
|-
 
| NMO.HTL.RTT.LDG || Lodge                               
 
|-
 
| NMO.HTL.RTT.NIN || NotInformed                         
 
|-
 
| NMO.HTL.RTT.PND || Pending                             
 
|-
 
| NMO.HTL.RTT.PSD || Pousada                             
 
|-
 
| NMO.HTL.RTT.RES || Residence                           
 
|-
 
| NMO.HTL.RTT.RLH || Rural House                         
 
|-
 
| NMO.HTL.RTT.RRL || Rural Hotel                         
 
|-
 
| NMO.HTL.RTT.STD || Standard                           
 
|-
 
| NMO.HTL.RTT.STR || Stars                               
 
|-
 
| NMO.HTL.RTT.VLL || Villa                               
 
|-
 
| NMO.HTL.RTT.VTH || Vacationals Turistics Houses 
 
|}
 
  
'''Value:''' Valor asignado por ''Nemo'' a la estrella. Es un número double de 1.0 a 6.0
+
Aconsejamos ajustar el timeout en un tiempo no muy corto para no tener falta de tarifas.
|-
 
| Address || Dirección del hotel compuesto por varias líneas.
 
 
 
'''Atributos:'''
 
 
 
'''Line:''' Cada una de las líneas de texto correspondiente a la dirección.
 
|
 
|}
 
  
=== Consulta de Información de un Hotel (AdditionalInfoQuery) ===
+
Contemplar las restricciones generales en la cantidad de peticiones de como máximo 10 peticiones cada 10 segundos.
  
Mensaje que permite consultar la información detallada de un hotel. La información a devolver será la obtenida de los respectivos proveedores.  
+
== Sobre el pedido de información de hoteles ==
 +
Para descargar las fichas con la información de los hoteles (Mensaje AdditionalInfoQuery: [[API Reference: Consulta de Información de un Hotel]]), recomendamos enfáticamente generar peticiones con hasta 20 HotelDetailIds (realizar pedidos en batch de hasta 20 HotelDetailsIds por vez). De esta forma se puede ir descargando la información de hoteles a lo largo de todo el día sin afectar a la performance.
 +
Contemplar las restricciones generales en la cantidad de peticiones de como maximo 10 peticiones cada 10 segundos.
  
Request: AdditionalInfoQueryRQ
+
== Sobre las Imágenes - Hoteles ==
  
Response: AdditionalInfoQueryRS
+
* Recomendamos que tengan su propia librería de íconos para las amenities.
 +
* Para URL de las imágenes de los hoteles deben usar:
  
Ejemplo de uso:
+
'''Para el entorno de TEST:'''
 +
* http://psurfer-img.net/imagecache-cert/full/ (para las fotos en tamaño original)
 +
* http://psurfer-img.net/imagecache-cert/thumbnails/ (para las imágenes en miniatura)
  
*** Solicitud:
+
'''Para el entorno de PRODUCCIÓN:'''
 
+
* http://psurfer-img.net/imagecache-prod/full/ (para las fotos en tamaño original)
<code xml>
+
* http://psurfer-img.net/imagecache-prod/thumbnails/ (para las imágenes en miniatura)
<AdditionalInfoQueryRQ>
 
  <GeneralParameters>
 
    <PreferedLanguage LanguageCode="es"/>
 
    <PreferedCurrency CurrencyCode="ARS"/>
 
  </GeneralParameters>
 
  <Products>
 
    <Hotels>
 
      <Hotel TripProductID="addad55c-57fd-4ae9-8dfe-4d34a4f9c0bd"/>
 
    </Hotels>
 
  </Products>
 
</AdditionalInfoQueryRQ>
 
</code>
 
 
 
 
 
{| class="wikitable sortable"
 
|-
 
! Parámetro !! Obligatorio !! Descripción
 
|-
 
|PreferedLanguage || Si || 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.
+
'''Importante:'''
|-
+
* Las imágenes también están disponibles a través de una URL segura (indicar el protocolo '''''https''''' en lugar de ''http'')
|PreferedCurrency || Si || Establece la moneda requerida para la respuesta.
+
* Existen excepciones en algunos proveedores de hoteles, y algunas imágenes ya vienen con la URL completa, o sea, ya comienzan con http.....En estos casos no colocar la URL delante porque les fallaría.
 +
Ejemplo:
  
Atributos:
+
- URL normalizada para imágenes: <ImageURL>IDJ/B/B/BB3898629BE8D3DB188164A6611AA350.jpg</ImageURL>
  
CurrencyCode: Código de moneda correspondiente a los códigos de moneda estándar provistos. ''No está habilitado el uso de multimoneda. La moneda utilizada será la configurada en el contrato.''
+
- URL completa <ImageURL>http://psurfer-img.net/pathalaimagen/imagen.jpg</ImageURL>
|-
 
|Hotels || No ||
 
|-
 
|Hotel || Si || Se envía el id del hotel a consultar mediante el atributo TripProductID.
 
|}
 
  
 +
(En este caso por favor no pegar la URL base delante)
  
*** Respuesta:
 
  
 +
Ejemplos:
 +
Suponiendo que la respuesta a la consulta de información adicional de un hotel es
 
<code xml>
 
<code xml>
<?xml version="1.0" encoding="UTF-8"?>
 
 
<AdditionalInfoQueryRS>
 
<AdditionalInfoQueryRS>
 
   <Details>
 
   <Details>
 
     <Products>
 
     <Products>
 
       <Hotels>
 
       <Hotels>
         <Hotel HotelCode="2411" SupplierID="BOL" Sequence="1">
+
         <Hotel HotelCode="2444" SupplierID="HDO" Sequence="1" HotelDetailId="IDJ-1YT-4MO">
           <HotelName>725 Continental Hotel</HotelName>
+
           <HotelName>El Conquistador Hotel</HotelName>
 
           <HotelDescriptions>
 
           <HotelDescriptions>
             <HotelDescription HotelDescriptionType="General">Emblemático y único en su tipo, con su mezcla de diseño, tradición y vanguardismo el hotel tiene un vestí­bulo con recepción 24 horas, un bar, restaurante, salas de conferencias, servicio de habitaciones 24 horas y aparcamiento.</HotelDescription>
+
             ...
 
           </HotelDescriptions>
 
           </HotelDescriptions>
           <Amenities ItemsCount="18">
+
           <Amenities>
             <Amenity Fee="No" Sequence="1">
+
             ...
              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTT">Tipo de Hotel</AmenityGroup>
 
              <Description AmenityCode="1">Hotel de ciudad</Description>
 
            </Amenity>
 
            <Amenity Fee="No" Sequence="2">
 
              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
              <Description AmenityCode="1">Baño</Description>
 
            </Amenity>
 
            <Amenity Fee="Yes" Sequence="3">
 
              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
              <Description AmenityCode="5">Teléfono de lí­nea directa</Description>
 
            </Amenity>
 
            <Amenity Fee="No" Sequence="4">
 
              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
              <Description AmenityCode="7">TV ví­a satélite / TV por cable</Description>
 
            </Amenity>
 
            <Amenity Fee="No" Sequence="5">
 
              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
              <Description AmenityCode="13">Minibar</Description>
 
            </Amenity>
 
            <Amenity Fee="No" Sequence="6">
 
              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
              <Description AmenityCode="19">Lavadora</Description>
 
            </Amenity>
 
            <Amenity Fee="No" Sequence="7">
 
              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
              <Description AmenityCode="24">Aire acondicionado Central</Description>
 
              <ImageLink>
 
                <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Aire acondicionado Central</ImageDescription>
 
                <ImageURL>ic_aireac.gif</ImageURL>
 
              </ImageLink>
 
            </Amenity>
 
            <Amenity Fee="No" Sequence="8">
 
              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
              <Description AmenityCode="28">Caja de seguridad</Description>
 
            </Amenity>
 
            <Amenity Fee="No" Sequence="9">
 
              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
              <Description AmenityCode="1">Aire acondicionado en zonas comunes</Description>
 
            </Amenity>
 
            <Amenity Fee="No" Sequence="10">
 
              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
              <Description AmenityCode="2">Hall Recepción</Description>
 
            </Amenity>
 
            <Amenity Fee="No" Sequence="11">
 
              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
              <Description AmenityCode="4">Servicio de recepción 24 horas</Description>
 
            </Amenity>
 
            <Amenity Fee="No" Sequence="12">
 
              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
              <Description AmenityCode="14">Bar-es</Description>
 
              <ImageLink>
 
                <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Bar-es</ImageDescription>
 
                <ImageURL>ic_bar.gif</ImageURL>
 
              </ImageLink>
 
            </Amenity>
 
            <Amenity Fee="No" Sequence="13">
 
              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
              <Description AmenityCode="18">Sala de conferencias</Description>
 
            </Amenity>
 
            <Amenity Fee="No" Sequence="14">
 
              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
              <Description AmenityCode="24">Restaurante -s</Description>
 
            </Amenity>
 
            <Amenity Fee="No" Sequence="15">
 
              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
              <Description AmenityCode="46">Piscina de agua dulce</Description>
 
              <ImageLink>
 
                <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Piscina de agua dulce</ImageDescription>
 
                <ImageURL>ic_piscina.gif</ImageURL>
 
              </ImageLink>
 
            </Amenity>
 
            <Amenity Fee="No" Sequence="16">
 
              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
              <Description AmenityCode="54">Sauna</Description>
 
            </Amenity>
 
            <Amenity Fee="Yes" Sequence="17">
 
              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
              <Description AmenityCode="58">Masaje</Description>
 
            </Amenity>
 
            <Amenity Fee="No" Sequence="18">
 
              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
              <Description AmenityCode="60">Gimnasio</Description>
 
              <ImageLink>
 
                <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Gimnasio</ImageDescription>
 
                <ImageURL>ic_gimnasio.gif</ImageURL>
 
              </ImageLink>
 
            </Amenity>
 
 
           </Amenities>
 
           </Amenities>
 
           <Addresses>
 
           <Addresses>
             <Address>
+
             ...
              <AddressLines>
 
                <AddressLine>PTE. ROQUE SANEZ PEÑA 725</AddressLine>
 
                <AddressLine>C1035AAC - BUENOS AIRES</AddressLine>
 
                <AddressLine>Buenos Aires</AddressLine>
 
              </AddressLines>
 
              <TelephoneNumbers>
 
                <TelephoneNumber>
 
                  <TelephoneNumberType TelephoneNumberType="NMO.GBL.TLT.TE1">phoneHotel</TelephoneNumberType>
 
                  <TelephoneNumberValue>541141318000</TelephoneNumberValue>
 
                </TelephoneNumber>
 
                <TelephoneNumber>
 
                  <TelephoneNumberType TelephoneNumberType="NMO.GBL.TLT.OFF">phoneBooking</TelephoneNumberType>
 
                  <TelephoneNumberValue>541141318028</TelephoneNumberValue>
 
                </TelephoneNumber>
 
                <TelephoneNumber>
 
                  <TelephoneNumberType TelephoneNumberType="NMO.GBL.TLT.CTC">phoneMang</TelephoneNumberType>
 
                  <TelephoneNumberValue>541141318000</TelephoneNumberValue>
 
                </TelephoneNumber>
 
              </TelephoneNumbers>
 
              <PostalCode CountryCode="AR">C1035AAC</PostalCode>
 
              <Destinations>
 
                <Destination DestinationType="NMO.HTL.DST.CTY" DestinationCode="5694">Buenos Aires</Destination>
 
                <Destination DestinationType="NMO.HTL.DST.CTR" DestinationCode="202">Argentina</Destination>
 
                <Destination DestinationType="NMO.HTL.DST.CNT" DestinationCode="15">América del Sur</Destination>
 
                <Destination DestinationType="NMO.HTL.DST.ALL" DestinationCode="1">Planeta Tierra</Destination>
 
              </Destinations>
 
            </Address>
 
 
           </Addresses>
 
           </Addresses>
 
           <Position>
 
           <Position>
             <Latitude>34.6060222222222</Latitude>
+
             ...
            <Longitude>-58.3768777777778</Longitude>
 
 
           </Position>
 
           </Position>
           <HotelRating HotelRatingCode="NMO.HTL.RTN.5ST" HotelRatingType="NMO.HTL.RTT.STR">
+
           <HotelRating HotelRatingCode="NMO.HTL.RTN.4ST" HotelRatingType="NMO.HTL.RTT.STR">
             <RatingDescription>5 Estrellas</RatingDescription>
+
             ...
            <RatingValue>5.0</RatingValue>
 
 
           </HotelRating>
 
           </HotelRating>
           <ImageLinks ItemsCount="4">
+
           <ImageLinks>
             <ImageLink Sequence="1">
+
             <ImageLink>
              <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">General</ImageDescription>
+
               <ImageLink>
               <DisplayOrder>1</DisplayOrder>
+
               <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG"/>
              <ImageHeight UnitOfMeasureCode="9">46</ImageHeight>
+
               <ImageHeight UnitOfMeasureCode="9">185</ImageHeight>
              <ImageWidth UnitOfMeasureCode="9">70</ImageWidth>
+
               <ImageWidth UnitOfMeasureCode="9">250</ImageWidth>
              <ImageURL>6/1/61C147492531CF4BB1CACB2A4EB3CFB0.jpg</ImageURL>
+
               <ImageURL>IDJ/B/B/BB3898629BE8D3DB188164A6611AA350.jpg</ImageURL>
              <ThumbnailURL>7/2/72305C04BDDD0306D4382C6E769DA9ED.jpg</ThumbnailURL>
+
               <ThumbnailURL>IDJ/4/A/4A78390A062E3F504912F5E9ADEDBDB5.jpg</ThumbnailURL>
            </ImageLink>
 
            <ImageLink Sequence="2">
 
               <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Habitación</ImageDescription>
 
              <DisplayOrder>2</DisplayOrder>
 
               <ImageHeight UnitOfMeasureCode="9">44</ImageHeight>
 
               <ImageWidth UnitOfMeasureCode="9">70</ImageWidth>
 
               <ImageURL>A/B/ABA09A903CF78396C69266D883EAB44D.jpg</ImageURL>
 
              <ThumbnailURL>8/3/83FD71DF95D39D0949473B310672836B.jpg</ThumbnailURL>
 
            </ImageLink>
 
            <ImageLink Sequence="3">
 
              <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Habitación</ImageDescription>
 
              <DisplayOrder>3</DisplayOrder>
 
              <ImageHeight UnitOfMeasureCode="9">46</ImageHeight>
 
              <ImageWidth UnitOfMeasureCode="9">70</ImageWidth>
 
              <ImageURL>A/B/AB97AF5C98C1D4F70036769D92F1593B.jpg</ImageURL>
 
               <ThumbnailURL>7/2/72FDCB6C47755FEF3B079E846B91EEAA.jpg</ThumbnailURL>
 
            </ImageLink>
 
            <ImageLink Sequence="4">
 
              <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Habitación</ImageDescription>
 
              <DisplayOrder>4</DisplayOrder>
 
              <ImageHeight UnitOfMeasureCode="9">46</ImageHeight>
 
              <ImageWidth UnitOfMeasureCode="9">70</ImageWidth>
 
              <ImageURL>0/6/0606A6FF937B2F6ACF77B22502A97FBC.jpg</ImageURL>
 
              <ThumbnailURL>A/E/AE9A5F311477F13E85B8C64E26B94D5F.jpg</ThumbnailURL>
 
 
             </ImageLink>
 
             </ImageLink>
 
           </ImageLinks>
 
           </ImageLinks>
           <LocationDetails ItemsCount="1">
+
           <LocationDetails>
             <Location Sequence="1" LocationCode="G1">Centro</Location>
+
             ...
 
           </LocationDetails>
 
           </LocationDetails>
 
         </Hotel>
 
         </Hotel>
Línea 1644: Línea 384:
 
</code>
 
</code>
  
 +
Entonces las URLs quedarían:
  
 +
Si la respuesta fue del Web Service de TEST:
 +
* http://psurfer-img.net/imagecache-cert/full/IDJ/B/B/BB3898629BE8D3DB188164A6611AA350.jpg
 +
* http://psurfer-img.net/imagecache-cert/thumbnails/IDJ/4/A/4A78390A062E3F504912F5E9ADEDBDB5.jpg
  
{| class="wikitable sortable"
+
Si la respuesta fue del Web Service de PRODUCCIÓN:
|-
+
* http://psurfer-img.net/imagecache-prod/full/IDJ/B/B/BB3898629BE8D3DB188164A6611AA350.jpg
! Parámetro !! Obligatorio !! Descripción
+
* http://psurfer-img.net/imagecache-prod/thumbnails/IDJ/4/A/4A78390A062E3F504912F5E9ADEDBDB5.jpg
|-
 
| Notifications No
 
|-
 
| Notification || Si || 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.
 
|-
 
| NotificationId || Si || Identificador de la notificación. Las mismas serán provistas por Nemo.
 
|-
 
| NotificationType || Si || Tipo de notificación.
 
|-
 
| NotificationMessage || Si || Mensaje de notificación.
 
|-
 
| Echo || No || En este nodo se envía una copia de la consulta realizada.
 
|-
 
| Details || Si ||
 
|-
 
| Products || Si ||
 
|-
 
| Hotels || No ||
 
|-
 
| Hotel || Si || Información de un Hotel reportada por el proveedor asociado.
 
 
 
Atributos:
 
 
 
HotelCode: Código del hotel de los provistos por Nemo.
 
 
 
SupplierID: Código del proveedor correspondiente a los códigos de proveedor estándar provistos por Nemo.
 
|-
 
| HotelName || Si || Nombre del hotel.
 
|-
 
| AccomodationType || No || Indica si es hotel, hostel, camping, etc.
 
|-
 
| HotelDescriptions || No ||
 
|-
 
| HotelDescription || No || Descripción del hotel.
 
 
 
Atributos:
 
 
 
HotelDescriptionType: Tipo de descripción correspondiente a los tipos de descripción estándar provistos.
 
|-
 
| LocationDetails || No ||
 
|-
 
| Location || No || Descripción del área en la que se localiza el hotel.
 
 
 
Atributos:
 
 
 
LocationCode: Código de área provisto por el proveedor.
 
 
 
Amenities || Si || Lista de amenidades brindadas por el hotel.
 
|-
 
| Amenity || Si || Amenidad brindada por el hotel.
 
 
 
Atributos:
 
 
 
Fee: Bandera que indica si la amenidad tiene cargo por huésped o no.
 
|-
 
| AmenityGroup || Si || Descripción del tipo de amenidad.
 
 
 
Atributos:
 
 
 
AmenityGroupCode: Código del tipo de amenidad correspondiente a los códigos de tipo de amenidad estándar provistos por Nemo.
 
|-
 
| Description || Si || Descripción de la amenidad ofrecida por el hotel.
 
 
 
Atributos:
 
 
 
AmenityCode: Código de amenidad correspondiente a los códigos de amenidad estándar provistos por Nemo.
 
|-
 
| Address || Si || Dirección del hotel
 
|-
 
| AddressLines || Si || Líneas que componen la dirección del hotel.
 
|-
 
| AddressLine || Si || Indica la dirección del hotel.
 
|-
 
| TelephoneNumbers || No || Lista de números telefónicos disponibles para el hotel.
 
|-
 
| TelephoneNumber || Si ||
 
|-
 
| TelephoneNumberType || Si || Tipo de número telefónico.
 
 
 
Atributos:
 
 
 
TelephoneNumberType: Tipo de número telefónico correspondiente a los tipos de números telefónicos estándar provistos por Nemo.
 
|-
 
| TelephoneNumberValue || Si || Número telefónico.
 
|-
 
| Destination || Si || Localización geográfica detallada del hotel.
 
  
Atributos:
+
== Sobre los tiempos de vida de los resultados de búsqueda en el Web Service ==
  
DestinationType: Tipo de destino(continente, país, región/provincia/estado, ciudad) correspondiente a los tipos de destino estándar provistos.
+
Los resultados de búsqueda se mantienen cacheados en el servicio durante '''30 minutos''', por lo cual los clientes del Web Service podrán usar los [[API Reference: TripProductId|TripProductId]] devueltos por el mismo '''antes''' de los 30 minutos, caso contrario el Web Service podrá informar que los TripProductId ya no se encuentran disponibles o son inválidos.
  
DestinationCode: Código de destino correspondiente a los códigos de destino estándar provistos.
+
== Sobre los comentarios del proveedor ==
|-
 
| Position || No || Coordenadas del hotel: Latitud y Longitud.
 
|-
 
| HotelRating || Si || Categoría del hotel.
 
  
Atributos:
+
Los proveedores pueden llegar a enviar comentarios/remarks en dos instancias diferentes:
  
HotelRatingCode: código de la categoría correspondiente a los códigos de categoría estándar provistos por Nemo.
+
La primera en el resultado de la búsqueda: Tag Item Comments del Rate [[API Reference: Búsqueda de Disponibilidad de Hoteles]]
  
HotelRatingType: Tipo de la categoría correspondiente a los tipos de categoría estándar provistos por Nemo.
+
La segunda alternativa en la respuesta de la consulta de la reserva: SupplierComments [[API Reference: Consulta de una Reserva - Hoteles]]
|-
 
| RatingValue || Si || Valoración de la categoría del hotel expresada en el tipo de categoría indicado en el nodo padre.
 
|-
 
| ImageLinks || Si || Conjunto de imágenes del hotel
 
|-
 
| ImageLink || No ||
 
|-
 
| ImageDescription || Si || Descripción de la imagen
 
 
 
ImageDisplayType: Tipo de imagen correspondiente a los tipos de imágenes estándar provistos por Nemo.
 
 
 
DisplayOrder || No || Orden del la imagen.
 
|-
 
| ImageURL || Si || URL de la imagen
 
|-
 
| AreaDetails || No ||
 
|-
 
| AreaDetail || No || Referencia al área en el que se localiza el hotel
 
|-
 
| HotelRoomTypeDescriptions || No || Detalle de los tipos de habitación con los que cuenta el hotel.
 
|-
 
| Copyright || No || Declaración de derechos de autor del proveedor de la información del hotel.
 
|-
 
| Fares || Si || Datos de tarifas
 
|-
 
| FareType || No || Tipo de tarifas, ej. Tarifa web, precio de agencia
 
|-
 
| Prices || Si || Precios, con valor y moneda
 
|-
 
| Exceptions || Si || Si no se puede armar el nodo Details se arma un nodo Exceptions con las notificaciones correspondientes.
 
|}
 
 
 
=== Confirmación de Disponibilidad de una Tarifa obtenida en una Búsqueda Anterior (AvailabilityValidation) ===
 
 
 
Confirma la vigencia de una tarifa provista por una consulta de disponibilidad previa
 
 
 
 
 
Request: AvailabilityQueryRQ
 
 
 
Response: AvailabilityQueryRS
 
 
 
Ejemplo de uso:
 
 
 
*** Solicitud:
 
<code xml>
 
  <AvailabilityValidationRQ>
 
<GeneralParameters>
 
<PreferedLanguage LanguageCode="es"/>
 
<PreferedCurrency CurrencyCode="ARS"/>
 
</GeneralParameters>
 
<Products>
 
<Hotels>
 
<Hotel TripProductID="7b776d90-6fb5-42fe-87d0-910100f21d43"/>
 
</Hotels>
 
</Products>
 
  </AvailabilityValidationRQ>
 
</code>
 
  
 +
== Códigos de Error devueltos por el WebService ==
  
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
 
|-
 
|-
! Parámetro !! Obligatorio !! Descripción
+
! Código !! Descripción !! Significado
 
|-
 
|-
| GeneralParameters || Si ||  
+
| 1000 || Unexepected Error || Ha ocurrido un error inesperado, por favor informe al Soporte de PriceSurfer
 
|-
 
|-
| PreferedLanguage || Si || Establece el lenguaje requerido para la respuesta.
+
| 1015 || No credit for doing the booking. || El Contrato tiene establecido un límite de crédito que ha sido alcanzado, la reserva es rechazada por ese motivo.
 
+
|-
Atributos:
+
| 1101 || The TripProductId %s is not available || El TripProductId no fue encontrado. Este mensaje aparece cuando el rate no se encuentra disponible en el proveedor, porque ha cambiado alguno de los diferentes atributos del rate (regimen / precio / tipo de disponibilidad)
 
+
Para estas situaciones, se debe cambiar a otro tripProductID, para chequear su disponibilidad en el proveedor.  
LanguageCode: Código de lenguaje correspondiente a los códigos de lenguaje estándar provistos por Nemo.
 
 
|-
 
|-
| PreferedCurrency || Si || Establece la moneda requerida para la respuesta.
+
| 1103 || The booking of this product has been rejected by configuration: the product has cancellation charges as of this moment || La reserva del producto ha sido rechazada porque, por configuración del contrato, el sistema rechazará las reservas que entren en Gastos de Cancelación al momento de realizarlas.
 
 
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.
 
 
|-
 
|-
| Hotels || No ||  
+
| 1104 || The system couldn't check the cancellation charges of the product || El sistema no pudo obtener los Gastos de Cancelación del producto.
|-
+
|-
| Hotel || Si || Se envía el id del hotel a consultar mediante el atributo TripProductID.
+
| 1105 || The booking of this product has been rejected by deadline: the product has cancellation charges || El booking no se realizo ya que fue abortado el proceso (previo a la reserva) porque el contrato tiene activado el bloqueo para reservar items con "gastos de cancelacion".
 +
|-
 +
| 1106 || The booking of this product has been rejected because price has changed || El booking no se realizo ya que fue abortado el proceso porque la validacion pre-booking detecto que el precio ha cambiado.
 +
|-
 +
| 1107 || Rate's live time in cache has been expired || El tiempo de vida del rate en cache ha sido expirado.
 +
|-  
 +
| 1108 || Connectivity error || Error de conectividad detectado en dicho momento. En dicha situacion se debe enviar nuevamente el mensaje del caso.
 +
|-
 +
| 1109 || Unable to Query Booking || Errores generados al consultar el Detalle de Reserva.
 +
|-
 +
| 3000 || Request detail for current booking - Relationated with TripProductId: xxxyyy || Ante dicha situacion se debe realizar la consulta de detalle de reserva para recuperar la info detallada y actualizada de la reserva.
 +
|-
 +
| 5000 || No Availability for your request || No ha habido disponibilidad para los parámetros de búsqueda dados
 +
|-
 +
| 5010 || The TripProductId %s was not found || El [[API Reference: TripProductId|TripProductId]] dado no fue encontrado. Pudo haber expirado o es incorrecto (no corresponde a un TripProductId informado por el Web Service en una búsqueda)
 +
|-
 +
| 5011 || The TripProductId %s has expired || El [[API Reference: TripProductId|TripProductId]] dado ha expirado. [http://wiki.psurfer.net/index.php/Price_Surfer_-_Web_Services#Sobre_los_tiempos_de_vida_de_los_resultados_de_b.C3.BAsqueda_en_el_Web_Service Sobre la expiración de los resultados de búsqueda]
 +
|-
 +
| 5012 || The Search Results of your product have expired || Los Resultados de Búsqueda correspondientes al producto seleccionado han expirado. [http://wiki.psurfer.net/index.php/Price_Surfer_-_Web_Services#Sobre_los_tiempos_de_vida_de_los_resultados_de_b.C3.BAsqueda_en_el_Web_Service Sobre la expiración de los resultados de búsqueda]
 +
|-
 +
| 5020 || The Product is Invalid: %s || El Producto es Inválido (Cambió el Precio ó Incurría en gastos de Cancelación al momento de reservar)
 +
|-
 +
| 5100 || Invalid Request Document: %s || Se ha enviado un documento inválido. El mensaje contiene información sobre lo que es inválido en el documento.
 +
|-
 +
| 5120 || There are not availability when is booking || El rate no esta disponible para ser reservado.
 +
|-
 +
| 401 || Unauthorized || El Token de seguridad (X-PS-AUTHTOKEN) es inválido o no fue enviado
 
|}
 
|}
  
 +
== Importante: Información necesaria al reportar un error al Soporte de PriceSurfer ==
  
*** Respuesta:
+
Si necesita informar de un fallo al soporte de PriceSurfer incluya la siguiente información:
 +
* Fecha en que ocurrió la incidencia
 +
* Entorno (Test / Producción)
 +
* XML de Request enviado al Servicio
 +
* XML de Response con que el Serivicio respondió
 +
* Si es una operación posterior a la Búsqueda de Disponibilidad (Validación de Disponibilidad, Solicitud de Información Adicional, Solicitud de Gastos de Cancelación, Solicitud de Reserva) por favor especificar también el DestinationId (destino) correspondiente al producto sobre el que se intentó la operación.
  
 +
= Archivos adicionales =
  
 +
Para poder consultar disponibilidad en los hoteles necesitará de códigos de destinos, habitaciones, etc.
 +
Estos códigos son provistos por Price Surfer en esta sección.
  
 
+
== Tablas de Códigos==
<code xml>
 
<AvailabilityValidationRS>
 
  <Details>
 
      <Products>
 
        <Hotels>
 
            <Rate HotelCode="2392" SupplierId="BOL" TripProductID="7b776d90-6fb5-42fe-87d0-910100f21d43">
 
              <Rooms>
 
                  <Room Type="NMO.HTL.RMT.SGL" Availability="NMO.HTL.AVB.CNF" RoomDescription="INDIVIDUAL STANDARD">
 
                    <Occupancy>
 
                        <Guests>
 
                          <Guest PassengerSequence="1"/>
 
                        </Guests>
 
                    </Occupancy>
 
                  </Room>
 
              </Rooms>
 
              <Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
              <RatePrices>
 
                  <RatePrice Currency="ARS" Type="NMO.HTL.RPT.NET">1082.651622002821</RatePrice>
 
                  <RatePrice Currency="USD" Type="NMO.HTL.RPT.NBC">230.28</RatePrice>
 
                  <RatePrice Currency="ARS" Type="NMO.GBL.RPT.GRS">1082.651622002821</RatePrice>
 
              </RatePrices>
 
              <Passengers>
 
                  <Passenger AgeType="NMO.GBL.AGT.ADT"/>
 
              </Passengers>
 
              <Destinations>
 
                  <Destination DestinationType="NMO.HTL.DST.CTY" DestinationCode="5694">Buenos Aires</Destination>
 
                  <Destination DestinationType="NMO.HTL.DST.CTR" DestinationCode="202">Argentina</Destination>
 
                  <Destination DestinationType="NMO.HTL.DST.CNT" DestinationCode="15">América del Sur</Destination>
 
                  <Destination DestinationType="NMO.HTL.DST.ALL" DestinationCode="1">Planeta Tierra</Destination>
 
              </Destinations>
 
              <Rating Code="NMO.HTL.RTN.4ST" Type="NMO.HTL.RTT.STR">
 
                  <Value>4.0</Value>
 
                  <Description>4 Estrellas</Description>
 
              </Rating>
 
              <CheckIn>2014-08-18</CheckIn>
 
              <CheckOut>2014-08-20</CheckOut>
 
            </Rate>
 
        </Hotels>
 
      </Products>
 
  </Details>
 
</AvailabilityValidationRS>
 
</code>
 
  
  
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
 
|-
 
|-
! Parámetro !! Obligatorio !! Descripción
+
! Aplicable a !! Tabla
 
|-
 
|-
| Notifications || No ||
+
| Hoteles || [[API Reference: Grupos de Servicios e Instalaciones|Códigos de Grupos de Servicios e Instalaciones]]
 
|-
 
|-
| Notification || Si || 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.
+
| Hoteles || [[API Reference: Códigos de Estrellas|Códigos de Estrellas]]
 
|-
 
|-
| NotificationId || Si || Identificador de la notificación. Las mismas serán provistas por Nemo.
+
| Reserva || [[API Reference: Estados de la Reserva|Estados de la Reserva]]
 
|-
 
|-
| NotificationType || Si || Tipo de notificación.
+
| Hoteles || [[API Reference: Tipos de Alojamientos|Tipos de Alojamientos]]
 
|-
 
|-
| NotificationMessage || Si || Mensaje de notificación.
+
| Hoteles || [[API Reference: Tipos de Descripciones de Hoteles|Tipos de Descripciones]]
 
|-
 
|-
| Echo || No || En este nodo se envía una copia de la consulta realizada.
+
| Destinos || [[API Reference: Tipos de Destinos|Tipos de Destinos]]
 
|-
 
|-
| Details || Si ||  
+
| Hoteles || [[API Reference: Tipos de Estrellas|Tipos de Estrellas]]
 
|-
 
|-
| Products || Si ||  
+
| Reserva || [[API Reference: Tipos de Gastos de Cancelación|Tipos de Gastos de Cancelación]]
 
|-
 
|-
| Hotels || No ||  
+
| Habitaciones || [[API Reference: Tipos de Habitaciones|Tipos de Habitaciones]]
|-
 
| Hotel || Si || Información de un Hotel reportada por el proveedor asociado.
 
 
 
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.
+
| Pasajeros || [[API Reference: Tipos de Identificadores de Pasajeros|Tipos de Identificadores de Pasajeros]]
 
|-
 
|-
| Room || Si || Identifica una habitación en los parámetros de la búsqueda.
+
| Hoteles || [[API Reference: Tipos de Imágenes|Tipos de Imágenes]]
 
 
Atributos:
 
 
 
Type: tipo de habitación.
 
 
 
Availability: indica la disponibilidad de la habitación.
 
 
|-
 
|-
| Occupancy || Si || Se informa la distribución de pasajeros en la habitación.
+
| Reservas || [[API Reference: Tipos de Localizadores de la Reserva|Tipos de Localizadores (identificadores) de la Reserva]]
 
|-
 
|-
| Guests || Si || Lista de huespedes de la habitación con su información.
+
| Pasajeros || [[API Reference: Tipos de Nombres|Tipos de Nombres de Pasajeros]]
 
|-
 
|-
| Boards || No ||  
+
| Pasajeros || [[API Reference: Tipos de Pasajeros|Tipos de Pasajeros]]
 
|-
 
|-
| Board || Si || Regímenes asociados a la habitación.
+
| Tarifa || [[API Reference: Tipos de Pensiones|Tipos de Pensiones]]
 
 
Atributos:
 
 
 
Type: Tipo de régimen correspondiente a los tipos de régimen estándar provistos por Nemo.
 
 
 
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.
+
| Hoteles || [[API Reference: Tipos de Servicios e Instalaciones|Tipos de Servicios e Instalaciones (Amenities)]]
 
|-
 
|-
| Passengers || Si || Pajeros incluidos en la tarifa hotelera.
+
| Hoteles || [[API Reference: Hoteles - Tipos de Teléfonos|Tipos de Teléfonos]]
 
|-
 
|-
| Fares || Si || Datos de tarifas
+
| General || [[API Reference: Tipos de Email|Tipos de Email]]
 
|-
 
|-
| FareType || No || Tipo de tarifas, ej. Tarifa web, precio de agencia
+
| General || [[API Reference: Códigos de proveedores | Códigos de proveedores]]
 
|-
 
|-
| Prices || Si || Precios, con valor y moneda
+
| Tarifa || [[API Reference: Tipos de tarifa | Tipos de tarifa]]
 
|}
 
|}
 
===  Consulta de Gastos de Cancelación para una o varias Tarifas ó Reservas (CancellationFeesQuery) ===
 
 
Consulta de condiciones de gastos de cancelación sobre una o más tarifas o reservas reportadas.
 
 
 
Request: CancellationFeesQueryRQ
 
 
Response: CancellationFeesQueryRS
 
 
Ejemplo de uso:
 
 
*** Solicitud:
 
<code xml>
 
  <CancellationFeesQueryRQ>
 
<GeneralParameters>
 
<PreferedLanguage LanguageCode="es"/>
 
<PreferedCurrency CurrencyCode="USD"/>
 
</GeneralParameters>
 
<Bookings>
 
<Booking>
 
<BookingReference>XX_007GP-1</BookingReference>
 
</Booking>
 
</Bookings>
 
  </CancellationFeesQueryRQ>
 
</code>
 
 
 
{| class="wikitable sortable"
 
|-
 
! Parámetro !! Obligatorio !! Descripción
 
|-
 
| GeneralParameters || Si ||
 
|-
 
| PreferedLanguage || Si || 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 || Si || Establece la moneda requerida para la respuesta.
 
 
Atributos:
 
 
- CurrencyCode: Código de moneda correspondiente a los códigos de moneda estándar provistos.
 
|-
 
| Products || Si ||
 
|-
 
| Hotels || No ||
 
|-
 
| Hotel || Si || Atributos:
 
 
- TripProductId: Identificador del producto
 
|}
 
 
 
*** Respuesta:
 
<code xml>
 
<CancellationFeesQueryRS>
 
  <Details>
 
      <Bookings>
 
        <Booking>
 
            <Products>
 
              <Hotels>
 
                  <Hotel HotelCode="2392" SupplierID="BOL">
 
                    <BookingReferences>
 
                        <BookingReference ReferenceType="NMO.HTL.RPT.MPH">QN_007GP-1</BookingReference>
 
                        <BookingReference ReferenceType="NMO.HTL.RPT.PRS.PS1">249</BookingReference>
 
                        <BookingReference ReferenceType="NMO.HTL.RPT.PRS.PS2">278094</BookingReference>
 
                    </BookingReferences>
 
                    <BookingStatusList>
 
                        <BookingStatus>
 
                          <BookingStatusDescription BookingStatusCode="NMO.HTL.BST.CNF">Confirmado</BookingStatusDescription>
 
                          <BookingStatusActor BookingStatusActorType="HAR.DCO.DE1"></BookingStatusActor>
 
                          <RulesInfo>
 
                              <RuleInfo Permit="true" RuleType="NMO.GBL.RBS.DET"/>
 
                              <RuleInfo Permit="true" RuleType="NMO.GBL.RBS.VOU"/>
 
                              <RuleInfo Permit="true" RuleType="NMO.GBL.RBS.CAN"/>
 
                              <RuleInfo Permit="true" RuleType="NMO.GBL.RBS.PAY"/>
 
                          </RulesInfo>
 
                        </BookingStatus>
 
                    </BookingStatusList>
 
                    <Hotel SupplierID="BOL" HotelCode="2392">
 
                        <HotelName>Americas Towers</HotelName>
 
                        <HotelDescriptions>
 
                          <HotelDescription HotelDescriptionType="General">El hotel cuenta con 100 habitaciones espaciosas y lujosas, de las cuales 10 son suites; vestí­bulo con recepción 24 horas, caja fuerte, bar, restaurante, conexión a Internet, sala de conferencias moderna y decorada con paneles de madera y telas; servicio de habitaciones 24 horas, servicio de despertador y servicio de limpieza.</HotelDescription>
 
                          <HotelDescription HotelDescriptionType="General">La piscina del hotel permanece abierta de octubre a marzo.</HotelDescription>
 
                        </HotelDescriptions>
 
                        <LocationDetails ItemsCount="1">
 
                          <Location Sequence="1" LocationCode="G9">Cerca del centro</Location>
 
                        </LocationDetails>
 
                        <Amenities ItemsCount="50">
 
                          <Amenity Fee="No" Sequence="1">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.LOC">Ubicación</AmenityGroup>
 
                              <Description AmenityCode="1">En la carretera principal</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="2">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.LOC">Ubicación</AmenityGroup>
 
                              <Description AmenityCode="4">Edificio anexo</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="3">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.LOC">Ubicación</AmenityGroup>
 
                              <Description AmenityCode="7">Número total de habitaciones</Description>
 
                              <Value>100</Value>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="4">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.LOC">Ubicación</AmenityGroup>
 
                              <Description AmenityCode="11">Suites</Description>
 
                              <Value>10</Value>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="5">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTT">Tipo de Hotel</AmenityGroup>
 
                              <Description AmenityCode="1">Hotel de ciudad</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="6">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                              <Description AmenityCode="1">Baño</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="7">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                              <Description AmenityCode="2">Ducha</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="8">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                              <Description AmenityCode="3">Bañera</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="9">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                              <Description AmenityCode="4">Secador</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="10">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                              <Description AmenityCode="5">Teléfono de lí­nea directa</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="11">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                              <Description AmenityCode="6">TV</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="12">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                              <Description AmenityCode="7">TV ví­a satélite / TV por cable</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="13">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                              <Description AmenityCode="9">Estéreo</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="14">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                              <Description AmenityCode="10">Acceso a internet</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="15">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                              <Description AmenityCode="13">Minibar</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="16">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                              <Description AmenityCode="18">Cafetera / Tetera</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="17">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                              <Description AmenityCode="25">Aire acondicionado individual</Description>
 
                              <ImageLink>
 
                                <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Aire acondicionado individual</ImageDescription>
 
                                <ImageURL>ic_aireac.gif</ImageURL>
 
                              </ImageLink>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="18">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                              <Description AmenityCode="27">Calefacción individual</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="19">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                              <Description AmenityCode="28">Caja de seguridad</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="20">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                              <Description AmenityCode="32">Accesible silla de ruedas</Description>
 
                              <ImageLink>
 
                                <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Accesible silla de ruedas</ImageDescription>
 
                                <ImageURL>ic_discapacitado.gif</ImageURL>
 
                              </ImageLink>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="21">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                              <Description AmenityCode="33">Baño minusválidos</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="22">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                              <Description AmenityCode="2">Hall Recepción</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="23">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                              <Description AmenityCode="4">Servicio de recepción 24 horas</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="24">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                              <Description AmenityCode="5">Caja de seguridad</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="25">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                              <Description AmenityCode="9">Cafeterí­a</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="26">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                              <Description AmenityCode="12">Tienda-s</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="27">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                              <Description AmenityCode="14">Bar-es</Description>
 
                              <ImageLink>
 
                                <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Bar-es</ImageDescription>
 
                                <ImageURL>ic_bar.gif</ImageURL>
 
                              </ImageLink>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="28">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                              <Description AmenityCode="18">Sala de conferencias</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="29">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                              <Description AmenityCode="22">Sala para desayunos</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="30">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                              <Description AmenityCode="24">Restaurante -s</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="31">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                              <Description AmenityCode="25">Aire Acondicionado en Restaurante</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="32">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                              <Description AmenityCode="30">Acceso a internet</Description>
 
                              <ImageLink>
 
                                <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Acceso a internet</ImageDescription>
 
                                <ImageURL>ic_internet.gif</ImageURL>
 
                              </ImageLink>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="33">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                              <Description AmenityCode="32">Servicio de habitaciones</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="34">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                              <Description AmenityCode="36">Accesible en silla de ruedas</Description>
 
                              <ImageLink>
 
                                <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Accesible en silla de ruedas</ImageDescription>
 
                                <ImageURL>ic_discapacitado.gif</ImageURL>
 
                              </ImageLink>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="35">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                              <Description AmenityCode="45">Piscina al aire libre</Description>
 
                              <ImageLink>
 
                                <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Piscina al aire libre</ImageDescription>
 
                                <ImageURL>ic_piscina.gif</ImageURL>
 
                              </ImageLink>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="36">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                              <Description AmenityCode="46">Piscina de agua dulce</Description>
 
                              <ImageLink>
 
                                <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Piscina de agua dulce</ImageDescription>
 
                                <ImageURL>ic_piscina.gif</ImageURL>
 
                              </ImageLink>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="37">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                              <Description AmenityCode="51">Tumbonas</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="38">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                              <Description AmenityCode="52">Sombrillas</Description>
 
                          </Amenity>
 
                          <Amenity Fee="Yes" Sequence="39">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                              <Description AmenityCode="58">Masaje</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="40">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                              <Description AmenityCode="60">Gimnasio</Description>
 
                              <ImageLink>
 
                                <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Gimnasio</ImageDescription>
 
                                <ImageURL>ic_gimnasio.gif</ImageURL>
 
                              </ImageLink>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="41">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                              <Description AmenityCode="66">Desayuno</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="42">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                              <Description AmenityCode="68">Almuerzo de menú a la carta</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="43">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                              <Description AmenityCode="71">Cena de menú a la carta</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="44">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.DST">Distancia (en metros)</AmenityGroup>
 
                              <Description AmenityCode="1">Centro población</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="45">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.DST">Distancia (en metros)</AmenityGroup>
 
                              <Description AmenityCode="2">Gran Ciudad más próxima</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="46">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.DST">Distancia (en metros)</AmenityGroup>
 
                              <Description AmenityCode="4">Playa</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="47">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.DST">Distancia (en metros)</AmenityGroup>
 
                              <Description AmenityCode="14">Campo de golf</Description>
 
                              <TransferDurationList ItemsCount="1">
 
                                <TransferDuration>
 
                                    <TransportationMeans TransportationMeansType="NMO.GBL.TMN.WLK">Caminando</TransportationMeans>
 
                                    <TransferTime>
 
                                      <TransferTimeValue>20</TransferTimeValue>
 
                                      <UnitOfTime UnitOfTimeCode="NMO.GBL.UOT.MIN">Minutos</UnitOfTime>
 
                                    </TransferTime>
 
                                </TransferDuration>
 
                              </TransferDurationList>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="48">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.DST">Distancia (en metros)</AmenityGroup>
 
                              <Description AmenityCode="16">Estación de Metro</Description>
 
                              <TransferDurationList ItemsCount="1">
 
                                <TransferDuration>
 
                                    <TransportationMeans TransportationMeansType="NMO.GBL.TMN.WLK">Caminando</TransportationMeans>
 
                                    <TransferTime>
 
                                      <TransferTimeValue>5</TransferTimeValue>
 
                                      <UnitOfTime UnitOfTimeCode="NMO.GBL.UOT.MIN">Minutos</UnitOfTime>
 
                                    </TransferTime>
 
                                </TransferDuration>
 
                              </TransferDurationList>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="49">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.DST">Distancia (en metros)</AmenityGroup>
 
                              <Description AmenityCode="17">Estación de autobuses</Description>
 
                              <TransferDurationList ItemsCount="1">
 
                                <TransferDuration>
 
                                    <TransportationMeans TransportationMeansType="NMO.GBL.TMN.WLK">Caminando</TransportationMeans>
 
                                    <TransferTime>
 
                                      <TransferTimeValue>15</TransferTimeValue>
 
                                      <UnitOfTime UnitOfTimeCode="NMO.GBL.UOT.MIN">Minutos</UnitOfTime>
 
                                    </TransferTime>
 
                                </TransferDuration>
 
                              </TransferDurationList>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="50">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.DST">Distancia (en metros)</AmenityGroup>
 
                              <Description AmenityCode="18">Estación de Trenes</Description>
 
                              <TransferDurationList ItemsCount="1">
 
                                <TransferDuration>
 
                                    <TransportationMeans TransportationMeansType="NMO.GBL.TMN.WLK">Caminando</TransportationMeans>
 
                                    <TransferTime>
 
                                      <TransferTimeValue>15</TransferTimeValue>
 
                                      <UnitOfTime UnitOfTimeCode="NMO.GBL.UOT.MIN">Minutos</UnitOfTime>
 
                                    </TransferTime>
 
                                </TransferDuration>
 
                              </TransferDurationList>
 
                          </Amenity>
 
                        </Amenities>
 
                        <Addresses>
 
                          <Address>
 
                              <AddressLines>
 
                                <AddressLine>Libertad 1070</AddressLine>
 
                                <AddressLine>1012 - BUENOS AIRES</AddressLine>
 
                                <AddressLine>Buenos Aires</AddressLine>
 
                              </AddressLines>
 
                              <TelephoneNumbers>
 
                                <TelephoneNumber>
 
                                    <TelephoneNumberType TelephoneNumberType="NMO.GBL.TLT.TE1">phoneHotel</TelephoneNumberType>
 
                                    <TelephoneNumberValue>5411 4129 0700</TelephoneNumberValue>
 
                                </TelephoneNumber>
 
                                <TelephoneNumber>
 
                                    <TelephoneNumberType TelephoneNumberType="NMO.GBL.TLT.OFF">phoneBooking</TelephoneNumberType>
 
                                    <TelephoneNumberValue>5411 4129 0700</TelephoneNumberValue>
 
                                </TelephoneNumber>
 
                              </TelephoneNumbers>
 
                              <PostalCode CountryCode="AR">1012</PostalCode>
 
                              <Destinations>
 
                                <Destination DestinationType="NMO.HTL.DST.CTY" DestinationCode="5694">Buenos Aires</Destination>
 
                                <Destination DestinationType="NMO.HTL.DST.CTR" DestinationCode="202">Argentina</Destination>
 
                                <Destination DestinationType="NMO.HTL.DST.CNT" DestinationCode="15">América del Sur</Destination>
 
                                <Destination DestinationType="NMO.HTL.DST.ALL" DestinationCode="1">Planeta Tierra</Destination>
 
                              </Destinations>
 
                          </Address>
 
                        </Addresses>
 
                        <Position>
 
                          <Latitude>-34.595992</Latitude>
 
                          <Longitude>-58.384257</Longitude>
 
                        </Position>
 
                        <HotelRating HotelRatingCode="NMO.HTL.RTN.4ST" HotelRatingType="NMO.HTL.RTT.STR">
 
                          <RatingDescription>4 Estrellas</RatingDescription>
 
                          <RatingValue>4.0</RatingValue>
 
                        </HotelRating>
 
                        <ImageLinks ItemsCount="4">
 
                          <ImageLink Sequence="1">
 
                              <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">General</ImageDescription>
 
                              <DisplayOrder>1</DisplayOrder>
 
                              <ImageHeight UnitOfMeasureCode="9">52</ImageHeight>
 
                              <ImageWidth UnitOfMeasureCode="9">70</ImageWidth>
 
                              <ImageURL>1/6/169FECAA517308C6D670861605F22743.jpg</ImageURL>
 
                              <ThumbnailURL>9/8/98AE7381AF851A3631486502673653F2.jpg</ThumbnailURL>
 
                          </ImageLink>
 
                          <ImageLink Sequence="2">
 
                              <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Habitación</ImageDescription>
 
                              <DisplayOrder>2</DisplayOrder>
 
                              <ImageHeight UnitOfMeasureCode="9">51</ImageHeight>
 
                              <ImageWidth UnitOfMeasureCode="9">70</ImageWidth>
 
                              <ImageURL>6/0/60E1951BFA1D41836BCF1E8187675214.jpg</ImageURL>
 
                              <ThumbnailURL>5/0/5054FD9BAA428B52E49AD64DA800F23B.jpg</ThumbnailURL>
 
                          </ImageLink>
 
                          <ImageLink Sequence="3">
 
                              <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Piscina</ImageDescription>
 
                              <DisplayOrder>3</DisplayOrder>
 
                              <ImageHeight UnitOfMeasureCode="9">50</ImageHeight>
 
                              <ImageWidth UnitOfMeasureCode="9">70</ImageWidth>
 
                              <ImageURL>6/D/6DE26A3917736F13E0FD5E78DD5C9723.jpg</ImageURL>
 
                              <ThumbnailURL>C/A/CACCD17D7DC58DAB61148E5BD9451D99.jpg</ThumbnailURL>
 
                          </ImageLink>
 
                          <ImageLink Sequence="4">
 
                              <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Vestí­bulo</ImageDescription>
 
                              <DisplayOrder>4</DisplayOrder>
 
                              <ImageHeight UnitOfMeasureCode="9">46</ImageHeight>
 
                              <ImageWidth UnitOfMeasureCode="9">70</ImageWidth>
 
                              <ImageURL>1/3/136806D8E0E937AB37CF6644424DA587.jpg</ImageURL>
 
                              <ThumbnailURL>5/1/51927647FC24A445C17A1B5CF47EF5BC.jpg</ThumbnailURL>
 
                          </ImageLink>
 
                        </ImageLinks>
 
                        <HotelChain>GRUPO AMERICAS</HotelChain>
 
                        <Emails ItemsCount="1">
 
                          <Email Sequence="1">
 
                              <EmailType EmailType="NMO.GBL.EMT.OFC"/>
 
                              <EmailValue>TOWERS@AMERICAS-BUE.COM.AR</EmailValue>
 
                          </Email>
 
                        </Emails>
 
                        <URLs ItemsCount="1">
 
                          <URL Sequence="1" URLType="web">www.grupoamericas.com.ar</URL>
 
                        </URLs>
 
                    </Hotel>
 
                    <DestinationDetails>
 
                        <Destination DestinationType="NMO.HTL.DST.CTY" DestinationCode="5694">Buenos Aires</Destination>
 
                        <Destination DestinationType="NMO.HTL.DST.CTR" DestinationCode="202">Argentina</Destination>
 
                        <Destination DestinationType="NMO.HTL.DST.CNT" DestinationCode="15">América del Sur</Destination>
 
                        <Destination DestinationType="NMO.HTL.DST.ALL" DestinationCode="1">Planeta Tierra</Destination>
 
                    </DestinationDetails>
 
                    <CheckIn>2014-08-18Z</CheckIn>
 
                    <CheckOut>2014-08-20Z</CheckOut>
 
                    <Rate>
 
                        <Rooms>
 
                          <Room>
 
                              <RoomDescription RoomType="NMO.HTL.RMT.SGL">INDIVIDUAL STANDARD</RoomDescription>
 
                              <Occupancy>
 
                                <AdultsCount>1</AdultsCount>
 
                                <ChildrenCount>0</ChildrenCount>
 
                                <InfantCount>0</InfantCount>
 
                                <RoomsCount>1</RoomsCount>
 
                                <Passengers>
 
                                    <Passenger AgeType="NMO.GBL.AGT.ADT">
 
                                      <PersonNames>
 
                                          <PersonName NameType="NMO.GBL.PNT.FIR">NOMBRE</PersonName>
 
                                          <PersonName NameType="NMO.GBL.PNT.LAS">APELLIDO</PersonName>
 
                                      </PersonNames>
 
                                      <Age>30</Age>
 
                                      <Identifiers>
 
                                          <Identifier Type="NMO.HTL.RPT.DNI" xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
 
                                      </Identifiers>
 
                                    </Passenger>
 
                                </Passengers>
 
                              </Occupancy>
 
                              <Availability AvailabilityCode="NMO.HTL.AVB.CNF">Inmediate Confirmation</Availability>
 
                          </Room>
 
                        </Rooms>
 
                        <Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
                        <RatePrices>
 
                          <RatePrice Currency="ARS" Type="NMO.HTL.RPT.NET">1082.65162200282</RatePrice>
 
                          <RatePrice Currency="USD" Type="NMO.HTL.RPT.NBC">230.28</RatePrice>
 
                          <RatePrice Currency="ARS" Type="NMO.GBL.RPT.GRS">1082.65162200282</RatePrice>
 
                        </RatePrices>
 
                        <ChargeConditions>
 
                          <ChargeCondition Sequence="1">
 
                              <ChargeDescription ChargeType="NMO.HTL.CHT.CAN">Cancellation</ChargeDescription>
 
                              <DateRangeWithDateType>
 
                                <DateFrom>2014-08-15T00:00:00.000Z</DateFrom>
 
                                <DateTo>2014-08-18T00:00:00.000Z</DateTo>
 
                              </DateRangeWithDateType>
 
                              <RatePrices>
 
                                <RatePrice Currency="ARS" Type="NMO.HTL.RPT.NET">541.3258110014104</RatePrice>
 
                                <RatePrice Currency="USD" Type="NMO.HTL.RPT.NBC">115.14</RatePrice>
 
                                <RatePrice Currency="ARS" Type="NMO.GBL.RPT.GRS">541.3258110014104</RatePrice>
 
                              </RatePrices>
 
                          </ChargeCondition>
 
                        </ChargeConditions>
 
                        <Deadline>
 
                          <Date>2014-08-12T00:00:00.000Z</Date>
 
                        </Deadline>
 
                    </Rate>
 
                  </Hotel>
 
              </Hotels>
 
            </Products>
 
        </Booking>
 
      </Bookings>
 
  </Details>
 
</CancellationFeesQueryRS>
 
</code>
 
 
 
 
{| class="wikitable sortable"
 
|-
 
! Parámetro !! Obligatorio !! Descripción
 
|-
 
| Notifications || No ||
 
|-
 
| Notification || Si || 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.
 
|-
 
| NotificationId || Si || Identificador de la notificación. Las mismas serán provistas por Nemo.
 
|-
 
| NotificationType || Si || Tipo de notificación.
 
|-
 
| NotificationMessage || Si || Mensaje de notificación.
 
|-
 
| Details || Si ||
 
|-
 
| Hotel || No || Contiene toda la información del hotel.
 
|-
 
| HotelName || Si || Nombre del hotel.
 
|-
 
| AccomodationType || No || Indica si es hotel, hostel, camping, etc, los tipos serán provistos por Nemo.
 
|-
 
| HotelDescriptions || No ||
 
|-
 
| HotelDescription || Si || Descripción del hotel.
 
 
Atributos:
 
 
HotelDescriptionType: Tipo de descripción correspondiente a los tipos de descripción estándar provistos por Nemo.
 
|-
 
| LocationDetails || No ||
 
|-
 
| Location || No || Descripción del área en la que se localiza el hotel.
 
 
Atributos:
 
 
LocationCode: Código de área provisto por el proveedor.
 
|-
 
| Amenities || No ||
 
|-
 
| Amenity || No || Código de amenidad admitido.
 
 
Atributos:
 
 
AmenityGroupCode: Tipo de amenidad. Los tipos de amenidad admitidos corresponden a los provistos por Nemo.
 
 
AmenityCode: Código de amenidad. Los códigos de amenidad admitidos corresponden a los provistos.
 
|-
 
| Address || Si || Dirección del hotel
 
|-
 
| AddressLines || Si || Líneas que componen la dirección del hotel.
 
|-
 
| AddressLine || Si || Indica la dirección del hotel.
 
|-
 
| Position || No || Coordenadas del hotel: Latitud y Longitud.
 
|-
 
| HotelRating || Si || Categoría del hotel.
 
 
Atributos:
 
 
HotelRatingCode: código de la categoría correspondiente a los códigos de categoría estándar provistos por Nemo.
 
 
HotelRatingType: Tipo de la categoría correspondiente a los tipos de categoría estándar provistos por Nemo.
 
|-
 
| RatingValue || Si || Valoración de la categoría del hotel expresada en el tipo de categoría indicado en el nodo padre.
 
|-
 
| ImageLinks || Si || Conjunto de imágenes del hotel
 
|-
 
| ImageLink || No ||
 
|-
 
| ImageDescription || Si || Descripción de la imagen
 
 
ImageDisplayType: Tipo de imagen correspondiente a los tipos de imágenes estándar provistos por Nemo.
 
|-
 
| DisplayOrder || No || Orden del la imagen.
 
|-
 
| ImageURL || Si || URL de la imagen
 
|-
 
| DestinationDetails || Si || Atributos:
 
 
DestinationType: tipo de destino de los provistos por Nemo.
 
 
Destination Code: código del destino a buscar, de los provistos por Nemo.
 
|-
 
| CheckIn || No || Fecha de entrada de la estadía.
 
|-
 
| CheckOut || No || Fecha de salida de la estadía
 
|-
 
| Rate || Si || Tarifa a reservar, indicando con el atributo TripProductId el id del hotel a reservar.
 
|-
 
| Rooms || No ||
 
|-
 
| Room || Si ||
 
|-
 
| Occupancy || Si || Indica la cantidad de adultos, niños e infantes por cada habitación.
 
En el nodo Guest se encuentra el identificador del pasajero, atributo PassengerSequence. Este dato se obtiene del Sequence del nodo Passenger.
 
|-
 
| Passenger || No || Datos de los pasajeros.
 
 
Atributos:
 
 
AgeType: tipo de pasajero (chl, inf, adt).
 
 
Sequence: Este dato será asociado al PassengerSequence del nodo Guest en hoteles.
 
|-
 
| Exceptions || Si || Si no se puede armar el nodo Details se arma un nodo Exceptions con las notificaciones correspondientes.
 
|-
 
| ChargeConditions || Si || Nodo de gastos de cancelación
 
|-
 
| ChargeCondition || Si || Gasto de Cancelación
 
 
Atributo:
 
 
- ChargeType, tipo de cargo (Ej. NMO.HTL.CHT.CAN cancelación, NMO.HTL.CHT.AMD Modificación)
 
|-
 
| ChargeDescription || Si || Descripción del gastos de cancelación
 
|-
 
| DateRangeWithDays || No || Indica que el gasto de cancelación tiene un rango en base a días.
 
|-
 
| DateFrom || Si || Fecha desde
 
|-
 
| DateTo || Si || Fecha hasta
 
|-
 
| DateRangeWithDateType || No || Indica que el gasto de cancelación tiene un rango en base a fechas.
 
|-
 
| DateFrom || Si || Fecha desde
 
|-
 
| DateTo || Si || Fecha hasta
 
|-
 
| RatePrices || Si ||
 
|-
 
| RatePrice || Si || Indica el importe del concepto de cancelación
 
 
Atributos:
 
 
- RatePriceType, tipo de precio
 
|}
 
 
=== Reserva de Tarifa (BookingProducts) ===
 
 
Solicitud de reserva para una o varias tarifas de hoteles.
 
 
 
Request: BookingProductsRQ
 
 
Response: BookingProductsRS
 
 
Ejemplo de uso:
 
 
*** Solicitud:
 
 
<code xml>
 
<BookingProductsRQ>
 
<GeneralParameters>
 
<PreferedLanguage LanguageCode="es"/>
 
<PreferedCurrency CurrencyCode="ARS"/>
 
</GeneralParameters>
 
<Products>
 
<Hotels>
 
<Hotel TripProductID="4a862d90-6fb5-42fe-87d0-910100f21d43">
 
<Rooms>
 
<Room RoomType="NMO.HTL.RMT.TPL">
 
<Guests>
 
<Guest PassengerSequence="1"/>
 
<Guest PassengerSequence="3"/>
 
<Guest PassengerSequence="4"/>
 
</Guests>
 
</Room>
 
<Room RoomType="NMO.HTL.RMT.2ST">
 
<Guests>
 
<Guest PassengerSequence="2"/>
 
<Guest PassengerSequence="5"/>
 
</Guests>
 
</Room>
 
</Rooms>
 
</Hotel>
 
</Hotels>
 
<Passengers>
 
<Passenger AgeType="NMO.GBL.AGT.ADT" Sequence="1">
 
<PersonNames>
 
<PersonName NameType="NMO.GBL.PNT.FIR">NombreA</PersonName>
 
<PersonName NameType="NMO.GBL.PNT.LAS">apellido</PersonName>
 
</PersonNames>
 
</Passenger>
 
<Passenger AgeType="NMO.GBL.AGT.ADT" Sequence="2">
 
<PersonNames>
 
<PersonName NameType="NMO.GBL.PNT.FIR">NombreB</PersonName>
 
<PersonName NameType="NMO.GBL.PNT.LAS">apellido</PersonName>
 
</PersonNames>
 
</Passenger>
 
<Passenger AgeType="NMO.GBL.AGT.ADT" Sequence="3">
 
<PersonNames>
 
<PersonName NameType="NMO.GBL.PNT.FIR">NombreC</PersonName>
 
<PersonName NameType="NMO.GBL.PNT.LAS">apellido</PersonName>
 
</PersonNames>
 
</Passenger>
 
<Passenger AgeType="NMO.GBL.AGT.CHD" Sequence="4">
 
<PersonNames>
 
<PersonName NameType="NMO.GBL.PNT.FIR">Ninio</PersonName>
 
<PersonName NameType="NMO.GBL.PNT.LAS">apellido</PersonName>
 
</PersonNames>
 
<BirthDate>2010-05-05</BirthDate>
 
</Passenger>
 
<Passenger AgeType="NMO.GBL.AGT.CHD" Sequence="5">
 
<PersonNames>
 
<PersonName NameType="NMO.GBL.PNT.FIR">NinioB</PersonName>
 
<PersonName NameType="NMO.GBL.PNT.LAS">apellido</PersonName>
 
</PersonNames>
 
<BirthDate>2008-08-03</BirthDate>
 
</Passenger>
 
</Passengers>
 
</Products>
 
</BookingProductsRQ>
 
</code>
 
 
{| class="wikitable sortable"
 
|-
 
! Parámetro !! Obligatorio !! Descripción
 
|-
 
| GeneralParameters || Si ||
 
|-
 
| PreferedLanguage || Si || 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 || Si || Establece la moneda requerida para la respuesta.
 
 
Atributos:
 
 
CurrencyCode: Código de moneda correspondiente a los códigos de moneda estándar provistos.
 
|-
 
| Hoteles || No ||
 
|-
 
| Hotel || Si ||
 
|-
 
| Rate || Si || Tarifa a reservar, indicando con el atributo TripProductId el id del hotel a reservar.
 
|-
 
| Rooms || No ||
 
|-
 
| Room || Si ||
 
|-
 
| Occupancy || Si || Indica la cantidad de adultos, niños e infantes por cada habitación.
 
En el nodo Guest se encuentra el identificador del pasajero, atributo PassengerSequence. Este dato se obtiene del Sequence del nodo Passenger.
 
|-
 
| Passenger || No || Datos de los pasajeros.
 
 
Atributos:
 
 
AgeType: tipo de pasajero (chl, inf, adt).
 
 
Sequence: Este dato será asociado al PassengerSequence del nodo Guest en hoteles.
 
|}
 
 
*** Respuesta:
 
<code xml>
 
<BookingProductsRS>
 
  <Details>
 
      <BookingReference>QN_007GP</BookingReference>
 
      <BookingState>NMO.GBL.BST.CNF</BookingState>
 
      <Products>
 
        <Hotels>
 
            <Hotel HotelCode="2392" SupplierID="BOL" LogID="1">
 
              <BookingReferences>
 
                  <BookingReference ReferenceType="NMO.HTL.RPT.MPH">QN_007GP-1</BookingReference>
 
                  <BookingReference ReferenceType="NMO.HTL.RPT.PRS.PS1">249</BookingReference>
 
                  <BookingReference ReferenceType="NMO.HTL.RPT.PRS.PS2">278094</BookingReference>
 
              </BookingReferences>
 
              <BookingStatusList>
 
                  <BookingStatus>
 
                    <BookingStatusDescription BookingStatusCode="NMO.HTL.BST.CNF">Confirmado</BookingStatusDescription>
 
                    <BookingStatusActor BookingStatusActorType="???">???</BookingStatusActor>
 
                  </BookingStatus>
 
              </BookingStatusList>
 
              <Hotel SupplierID="BOL" HotelCode="2392">
 
                  <HotelName>Americas Towers</HotelName>
 
                  <HotelDescriptions>
 
                    <HotelDescription HotelDescriptionType="General">El hotel cuenta con 100 habitaciones espaciosas y lujosas, de las cuales 10 son suites; vestí­bulo con recepción 24 horas, caja fuerte, bar, restaurante, conexión a Internet, sala de conferencias moderna y decorada con paneles de madera y telas; servicio de habitaciones 24 horas, servicio de despertador y servicio de limpieza.</HotelDescription>
 
                    <HotelDescription HotelDescriptionType="General">La piscina del hotel permanece abierta de octubre a marzo.</HotelDescription>
 
                  </HotelDescriptions>
 
                  <LocationDetails ItemsCount="1">
 
                    <Location Sequence="1" LocationCode="G9">Cerca del centro</Location>
 
                  </LocationDetails>
 
                  <Amenities ItemsCount="50">
 
                    <Amenity Fee="No" Sequence="1">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.LOC">Ubicación</AmenityGroup>
 
                        <Description AmenityCode="1">En la carretera principal</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="2">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.LOC">Ubicación</AmenityGroup>
 
                        <Description AmenityCode="4">Edificio anexo</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="3">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.LOC">Ubicación</AmenityGroup>
 
                        <Description AmenityCode="7">Número total de habitaciones</Description>
 
                        <Value>100</Value>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="4">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.LOC">Ubicación</AmenityGroup>
 
                        <Description AmenityCode="11">Suites</Description>
 
                        <Value>10</Value>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="5">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTT">Tipo de Hotel</AmenityGroup>
 
                        <Description AmenityCode="1">Hotel de ciudad</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="6">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                        <Description AmenityCode="1">Baño</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="7">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                        <Description AmenityCode="2">Ducha</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="8">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                        <Description AmenityCode="3">Bañera</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="9">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                        <Description AmenityCode="4">Secador</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="10">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                        <Description AmenityCode="5">Teléfono de lí­nea directa</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="11">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                        <Description AmenityCode="6">TV</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="12">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                        <Description AmenityCode="7">TV ví­a satélite / TV por cable</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="13">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                        <Description AmenityCode="9">Estéreo</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="14">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                        <Description AmenityCode="10">Acceso a internet</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="15">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                        <Description AmenityCode="13">Minibar</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="16">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                        <Description AmenityCode="18">Cafetera / Tetera</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="17">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                        <Description AmenityCode="25">Aire acondicionado individual</Description>
 
                        <ImageLink>
 
                          <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Aire acondicionado individual</ImageDescription>
 
                          <ImageURL>ic_aireac.gif</ImageURL>
 
                        </ImageLink>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="18">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                        <Description AmenityCode="27">Calefacción individual</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="19">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                        <Description AmenityCode="28">Caja de seguridad</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="20">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                        <Description AmenityCode="32">Accesible silla de ruedas</Description>
 
                        <ImageLink>
 
                          <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Accesible silla de ruedas</ImageDescription>
 
                          <ImageURL>ic_discapacitado.gif</ImageURL>
 
                        </ImageLink>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="21">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                        <Description AmenityCode="33">Baño minusválidos</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="22">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                        <Description AmenityCode="2">Hall Recepción</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="23">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                        <Description AmenityCode="4">Servicio de recepción 24 horas</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="24">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                        <Description AmenityCode="5">Caja de seguridad</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="25">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                        <Description AmenityCode="9">Cafeterí­a</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="26">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                        <Description AmenityCode="12">Tienda-s</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="27">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                        <Description AmenityCode="14">Bar-es</Description>
 
                        <ImageLink>
 
                          <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Bar-es</ImageDescription>
 
                          <ImageURL>ic_bar.gif</ImageURL>
 
                        </ImageLink>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="28">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                        <Description AmenityCode="18">Sala de conferencias</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="29">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                        <Description AmenityCode="22">Sala para desayunos</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="30">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                        <Description AmenityCode="24">Restaurante -s</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="31">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                        <Description AmenityCode="25">Aire Acondicionado en Restaurante</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="32">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                        <Description AmenityCode="30">Acceso a internet</Description>
 
                        <ImageLink>
 
                          <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Acceso a internet</ImageDescription>
 
                          <ImageURL>ic_internet.gif</ImageURL>
 
                        </ImageLink>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="33">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                        <Description AmenityCode="32">Servicio de habitaciones</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="34">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                        <Description AmenityCode="36">Accesible en silla de ruedas</Description>
 
                        <ImageLink>
 
                          <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Accesible en silla de ruedas</ImageDescription>
 
                          <ImageURL>ic_discapacitado.gif</ImageURL>
 
                        </ImageLink>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="35">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                        <Description AmenityCode="45">Piscina al aire libre</Description>
 
                        <ImageLink>
 
                          <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Piscina al aire libre</ImageDescription>
 
                          <ImageURL>ic_piscina.gif</ImageURL>
 
                        </ImageLink>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="36">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                        <Description AmenityCode="46">Piscina de agua dulce</Description>
 
                        <ImageLink>
 
                          <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Piscina de agua dulce</ImageDescription>
 
                          <ImageURL>ic_piscina.gif</ImageURL>
 
                        </ImageLink>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="37">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                        <Description AmenityCode="51">Tumbonas</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="38">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                        <Description AmenityCode="52">Sombrillas</Description>
 
                    </Amenity>
 
                    <Amenity Fee="Yes" Sequence="39">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                        <Description AmenityCode="58">Masaje</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="40">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                        <Description AmenityCode="60">Gimnasio</Description>
 
                        <ImageLink>
 
                          <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Gimnasio</ImageDescription>
 
                          <ImageURL>ic_gimnasio.gif</ImageURL>
 
                        </ImageLink>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="41">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                        <Description AmenityCode="66">Desayuno</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="42">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                        <Description AmenityCode="68">Almuerzo de menú a la carta</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="43">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                        <Description AmenityCode="71">Cena de menú a la carta</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="44">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.DST">Distancia (en metros)</AmenityGroup>
 
                        <Description AmenityCode="1">Centro población</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="45">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.DST">Distancia (en metros)</AmenityGroup>
 
                        <Description AmenityCode="2">Gran Ciudad más próxima</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="46">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.DST">Distancia (en metros)</AmenityGroup>
 
                        <Description AmenityCode="4">Playa</Description>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="47">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.DST">Distancia (en metros)</AmenityGroup>
 
                        <Description AmenityCode="14">Campo de golf</Description>
 
                        <TransferDurationList ItemsCount="1">
 
                          <TransferDuration>
 
                              <TransportationMeans TransportationMeansType="NMO.GBL.TMN.WLK">Caminando</TransportationMeans>
 
                              <TransferTime>
 
                                <TransferTimeValue>20</TransferTimeValue>
 
                                <UnitOfTime UnitOfTimeCode="NMO.GBL.UOT.MIN">Minutos</UnitOfTime>
 
                              </TransferTime>
 
                          </TransferDuration>
 
                        </TransferDurationList>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="48">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.DST">Distancia (en metros)</AmenityGroup>
 
                        <Description AmenityCode="16">Estación de Metro</Description>
 
                        <TransferDurationList ItemsCount="1">
 
                          <TransferDuration>
 
                              <TransportationMeans TransportationMeansType="NMO.GBL.TMN.WLK">Caminando</TransportationMeans>
 
                              <TransferTime>
 
                                <TransferTimeValue>5</TransferTimeValue>
 
                                <UnitOfTime UnitOfTimeCode="NMO.GBL.UOT.MIN">Minutos</UnitOfTime>
 
                              </TransferTime>
 
                          </TransferDuration>
 
                        </TransferDurationList>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="49">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.DST">Distancia (en metros)</AmenityGroup>
 
                        <Description AmenityCode="17">Estación de autobuses</Description>
 
                        <TransferDurationList ItemsCount="1">
 
                          <TransferDuration>
 
                              <TransportationMeans TransportationMeansType="NMO.GBL.TMN.WLK">Caminando</TransportationMeans>
 
                              <TransferTime>
 
                                <TransferTimeValue>15</TransferTimeValue>
 
                                <UnitOfTime UnitOfTimeCode="NMO.GBL.UOT.MIN">Minutos</UnitOfTime>
 
                              </TransferTime>
 
                          </TransferDuration>
 
                        </TransferDurationList>
 
                    </Amenity>
 
                    <Amenity Fee="No" Sequence="50">
 
                        <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.DST">Distancia (en metros)</AmenityGroup>
 
                        <Description AmenityCode="18">Estación de Trenes</Description>
 
                        <TransferDurationList ItemsCount="1">
 
                          <TransferDuration>
 
                              <TransportationMeans TransportationMeansType="NMO.GBL.TMN.WLK">Caminando</TransportationMeans>
 
                              <TransferTime>
 
                                <TransferTimeValue>15</TransferTimeValue>
 
                                <UnitOfTime UnitOfTimeCode="NMO.GBL.UOT.MIN">Minutos</UnitOfTime>
 
                              </TransferTime>
 
                          </TransferDuration>
 
                        </TransferDurationList>
 
                    </Amenity>
 
                  </Amenities>
 
                  <Addresses>
 
                    <Address>
 
                        <AddressLines>
 
                          <AddressLine>Libertad 1070</AddressLine>
 
                          <AddressLine>1012 - BUENOS AIRES</AddressLine>
 
                          <AddressLine>Buenos Aires</AddressLine>
 
                        </AddressLines>
 
                        <TelephoneNumbers>
 
                          <TelephoneNumber>
 
                              <TelephoneNumberType TelephoneNumberType="NMO.GBL.TLT.TE1">phoneHotel</TelephoneNumberType>
 
                              <TelephoneNumberValue>5411 4129 0700</TelephoneNumberValue>
 
                          </TelephoneNumber>
 
                          <TelephoneNumber>
 
                              <TelephoneNumberType TelephoneNumberType="NMO.GBL.TLT.OFF">phoneBooking</TelephoneNumberType>
 
                              <TelephoneNumberValue>5411 4129 0700</TelephoneNumberValue>
 
                          </TelephoneNumber>
 
                        </TelephoneNumbers>
 
                        <PostalCode CountryCode="AR">1012</PostalCode>
 
                        <Destinations>
 
                          <Destination DestinationType="NMO.HTL.DST.CTY" DestinationCode="5694">Buenos Aires</Destination>
 
                          <Destination DestinationType="NMO.HTL.DST.CTR" DestinationCode="202">Argentina</Destination>
 
                          <Destination DestinationType="NMO.HTL.DST.CNT" DestinationCode="15">América del Sur</Destination>
 
                          <Destination DestinationType="NMO.HTL.DST.ALL" DestinationCode="1">Planeta Tierra</Destination>
 
                        </Destinations>
 
                    </Address>
 
                  </Addresses>
 
                  <Position>
 
                    <Latitude>-34.595992</Latitude>
 
                    <Longitude>-58.384257</Longitude>
 
                  </Position>
 
                  <HotelRating HotelRatingCode="NMO.HTL.RTN.4ST" HotelRatingType="NMO.HTL.RTT.STR">
 
                    <RatingDescription>4 Estrellas</RatingDescription>
 
                    <RatingValue>4.0</RatingValue>
 
                  </HotelRating>
 
                  <ImageLinks ItemsCount="4">
 
                    <ImageLink Sequence="1">
 
                        <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">General</ImageDescription>
 
                        <DisplayOrder>1</DisplayOrder>
 
                        <ImageHeight UnitOfMeasureCode="9">52</ImageHeight>
 
                        <ImageWidth UnitOfMeasureCode="9">70</ImageWidth>
 
                        <ImageURL>1/6/169FECAA517308C6D670861605F22743.jpg</ImageURL>
 
                        <ThumbnailURL>9/8/98AE7381AF851A3631486502673653F2.jpg</ThumbnailURL>
 
                    </ImageLink>
 
                    <ImageLink Sequence="2">
 
                        <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Habitación</ImageDescription>
 
                        <DisplayOrder>2</DisplayOrder>
 
                        <ImageHeight UnitOfMeasureCode="9">51</ImageHeight>
 
                        <ImageWidth UnitOfMeasureCode="9">70</ImageWidth>
 
                        <ImageURL>6/0/60E1951BFA1D41836BCF1E8187675214.jpg</ImageURL>
 
                        <ThumbnailURL>5/0/5054FD9BAA428B52E49AD64DA800F23B.jpg</ThumbnailURL>
 
                    </ImageLink>
 
                    <ImageLink Sequence="3">
 
                        <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Piscina</ImageDescription>
 
                        <DisplayOrder>3</DisplayOrder>
 
                        <ImageHeight UnitOfMeasureCode="9">50</ImageHeight>
 
                        <ImageWidth UnitOfMeasureCode="9">70</ImageWidth>
 
                        <ImageURL>6/D/6DE26A3917736F13E0FD5E78DD5C9723.jpg</ImageURL>
 
                        <ThumbnailURL>C/A/CACCD17D7DC58DAB61148E5BD9451D99.jpg</ThumbnailURL>
 
                    </ImageLink>
 
                    <ImageLink Sequence="4">
 
                        <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Vestí­bulo</ImageDescription>
 
                        <DisplayOrder>4</DisplayOrder>
 
                        <ImageHeight UnitOfMeasureCode="9">46</ImageHeight>
 
                        <ImageWidth UnitOfMeasureCode="9">70</ImageWidth>
 
                        <ImageURL>1/3/136806D8E0E937AB37CF6644424DA587.jpg</ImageURL>
 
                        <ThumbnailURL>5/1/51927647FC24A445C17A1B5CF47EF5BC.jpg</ThumbnailURL>
 
                    </ImageLink>
 
                  </ImageLinks>
 
                  <HotelContracts ItemsCount="1">
 
                    <HotelContract>
 
                        <ContractName>CGW-TODOS</ContractName>
 
                        <IncomingOffice>
 
                          <IncomingOfficeCode>249</IncomingOfficeCode>
 
                        </IncomingOffice>
 
                    </HotelContract>
 
                  </HotelContracts>
 
              </Hotel>
 
              <DestinationDetails>
 
                  <Destination DestinationType="NMO.HTL.DST.CTY" DestinationCode="5694">Buenos Aires</Destination>
 
                  <Destination DestinationType="NMO.HTL.DST.CTR" DestinationCode="202">Argentina</Destination>
 
                  <Destination DestinationType="NMO.HTL.DST.CNT" DestinationCode="15">América del Sur</Destination>
 
                  <Destination DestinationType="NMO.HTL.DST.ALL" DestinationCode="1">Planeta Tierra</Destination>
 
              </DestinationDetails>
 
              <CheckIn>2014-08-18</CheckIn>
 
              <CheckOut>2014-08-20</CheckOut>
 
              <Rate RateID="d8233eb837e1c0de093df4071da907cf@1" TripProductID="7b776d90-6fb5-42fe-87d0-910100f21d43">
 
                  <Rooms>
 
                    <Room>
 
                        <RoomDescription RoomType="NMO.HTL.RMT.SGL">INDIVIDUAL STANDARD</RoomDescription>
 
                        <Occupancy>
 
                          <AdultsCount>1</AdultsCount>
 
                          <ChildrenCount>0</ChildrenCount>
 
                          <InfantCount>0</InfantCount>
 
                          <RoomsCount>1</RoomsCount>
 
                          <Passengers>
 
                              <Passenger AgeType="NMO.GBL.AGT.ADT">
 
                                <PersonNames>
 
                                    <PersonName NameType="NMO.GBL.PNT.FIR">nombre</PersonName>
 
                                    <PersonName NameType="NMO.GBL.PNT.LAS">apellido</PersonName>
 
                                </PersonNames>
 
                              </Passenger>
 
                          </Passengers>
 
                        </Occupancy>
 
                        <Availability AvailabilityCode="NMO.HTL.AVB.CNF">Confirmación inmediata</Availability>
 
                    </Room>
 
                  </Rooms>
 
                  <Board Code="3">ALOJAMIENTO Y DESAYUNO</Board>
 
                  <RatePrices>
 
                    <RatePrice Currency="ARS" Type="NMO.HTL.RPT.NET">1082.651622002821</RatePrice>
 
                    <RatePrice Currency="USD" Type="NMO.HTL.RPT.NBC">230.28</RatePrice>
 
                    <RatePrice Currency="ARS" Type="NMO.GBL.RPT.GRS">1082.651622002821</RatePrice>
 
                  </RatePrices>
 
              </Rate>
 
              <BookingCreationDT>2013-12-23T13:38:30.670Z</BookingCreationDT>
 
            </Hotel>
 
        </Hotels>
 
      </Products>
 
  </Details>
 
</BookingProductsRS>
 
</code>
 
 
{| class="wikitable sortable"
 
|-
 
! Parámetro !! Obligatorio !! Descripción
 
|-
 
| Notifications || No ||
 
|-
 
| Notification || Si || 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.
 
|-
 
| NotificationId || Si || Identificador de la notificación. Las mismas serán provistas por Nemo.
 
|-
 
| NotificationType || Si || Tipo de notificación.
 
|-
 
| NotificationMessage || Si || Mensaje de notificación.
 
|-
 
| Details || Si ||
 
|-
 
| Bookings || Si ||
 
|-
 
| Booking || Si || Detalle de la reserva.
 
 
Atributos:
 
 
* BookingReference: identificador de la reserva.
 
* BookingState: estado de la reserva
 
|-
 
| Hotel || Si ||
 
|-
 
| BookingReferences || No || Identificadores de la resera.
 
|-
 
| BookingStatusList || No || Estados del “ítem”.
 
|-
 
| BookingStatus || Si ||
 
|-
 
| BookingStatusDescription || Si || Descripción del estado actual de la reserva.
 
 
BookingStatusCode: Código del estado de la reserva correspondiente a los códigos estándar de reserva provistos por Nemo.
 
|-
 
| Hotel || No || Contiene toda la información del hotel.
 
|-
 
| HotelName || Si || Nombre del hotel.
 
|-
 
| AccomodationType || No || Indica si es hotel, hostel, camping, etc, los tipos serán provistos por Nemo.
 
|-
 
| HotelDescriptions || No ||
 
|-
 
| HotelDescription || Si || Descripción del hotel.
 
 
Atributos:
 
 
HotelDescriptionType: Tipo de descripción correspondiente a los tipos de descripción estándar provistos por Nemo.
 
|-
 
| LocationDetails || No ||
 
|-
 
| Location || No || Descripción del área en la que se localiza el hotel.
 
 
Atributos:
 
 
LocationCode: Código de área provisto por el proveedor.
 
|-
 
| Amenities || No ||
 
|-
 
| Amenity || No || Código de amenidad admitido.
 
 
Atributos:
 
 
AmenityGroupCode: Tipo de amenidad. Los tipos de amenidad admitidos corresponden a los provistos por Nemo.
 
 
AmenityCode: Código de amenidad. Los códigos de amenidad admitidos corresponden a los provistos.
 
|-
 
| Address || Si || Dirección del hotel
 
|-
 
| AddressLines || Si || Líneas que componen la dirección del hotel.
 
|-
 
| AddressLine || Si || Indica la dirección del hotel.
 
|-
 
| Position || No || Coordenadas del hotel: Latitud y Longitud.
 
|-
 
| HotelRating || Si || Categoría del hotel.
 
 
Atributos:
 
 
HotelRatingCode: código de la categoría correspondiente a los códigos de categoría estándar provistos por Nemo.
 
 
HotelRatingType: Tipo de la categoría correspondiente a los tipos de categoría estándar provistos por Nemo.
 
|-
 
| RatingValue || Si || Valoración de la categoría del hotel expresada en el tipo de categoría indicado en el nodo padre.
 
|-
 
| ImageLinks || Si || Conjunto de imágenes del hotel
 
|-
 
| ImageLink || No ||
 
|-
 
| ImageDescription || Si || Descripción de la imagen
 
 
ImageDisplayType: Tipo de imagen correspondiente a los tipos de imágenes estándar provistos por Nemo.
 
|-
 
| DisplayOrder || No || Orden del la imagen.
 
|-
 
| ImageURL || Si || URL de la imagen
 
|-
 
| DestinationDetails || Si || Atributos:
 
 
DestinationType: tipo de destino de los provistos por Nemo.
 
 
Destination Code: código del destino a buscar, de los provistos por Nemo.
 
|-
 
| CheckIn || No || Fecha de entrada de la estadía.
 
|-
 
| CheckOut || No || Fecha de salida de la estadía
 
|-
 
| Rate || Si || Tarifa a reservar, indicando con el atributo TripProductId el id del hotel a reservar.
 
|-
 
| Rooms || No ||
 
|-
 
| Room || Si ||
 
|-
 
| Occupancy || Si || Indica la cantidad de adultos, niños e infantes por cada habitación.
 
En el nodo Passengers se encuentran los datos de los pasajeros.
 
|-
 
| ImageDescription || Si || Descripción de la imagen
 
 
ImageDisplayType: Tipo de imagen correspondiente a los tipos de imágenes estándar provistos por Nemo.
 
|-
 
| ImageHeight || No || Dimensiones de la imagen: alto
 
|-
 
| ImageWidht || No || Dimensiones de la imagen: Ancho
 
|-
 
| ImageURL || Si || URL de la imagen
 
|-
 
| ThumbnailURL || No || URL de la imagen miniatura
 
|-
 
| Fares || Si || Datos de tarifas
 
|-
 
| FareType || No || Tipo de tarifas, ej. Tarifa web, precio de agencia
 
|-
 
| Prices || Si || Precios, con valor y moneda
 
|-
 
| BookingState || Si || Estado de la reserva (del ítem). La codificación de los estados será provista por Nemo.
 
 
Atributos:
 
 
Code: Código del estado (confirmada, rechazada, etc)
 
|-
 
| ProductBookingExtraData || No || Nodo que se utiliza para registrar datos genéricos sobre una reserva. Luego al consultar la misma el sistema responderá con los datos registrados.
 
|-
 
| Exceptions || Si || Si no se puede armar el nodo Details se arma un nodo Exceptions con las notificaciones correspondientes.
 
|-
 
| ChargeConditions || Si || Nodo de gastos de cancelación
 
|-
 
| ChargeCondition || Si || Gasto de Cancelación
 
 
Atributo:
 
 
ChargeType, tipo de cargo (Ej. NMO.HTL.CHT.CAN cancelación, NMO.HTL.CHT.AMD Modificación)
 
|-
 
| ChargeDescription || Si || Descripción del gastos de cancelación
 
|-
 
| DateRangeWithDays || No || Indica que el gasto de cancelación tiene un rango en base a días.
 
|-
 
| DateFrom || Si || Fecha desde
 
|-
 
| DateTo || Si || Fecha hasta
 
|-
 
| DateRangeWithDateType || No || Indica que el gasto de cancelación tiene un rango en base a fechas.
 
|-
 
| DateFrom || Si || Fecha desde
 
|-
 
| DateTo || Si || Fecha hasta
 
|-
 
| RatePrices || Si ||
 
|-
 
| RatePrice || Si || Indica el importe del concepto de cancelación
 
 
Atributos:
 
 
RatePriceType, tipo de precio
 
|}
 
 
=== Cancelación de Reserva (BookingCancellation) ===
 
 
Solicitud de cancelación de una o varias reservas realizadas.
 
 
 
Request: BookingCancellationRQ
 
 
Response: BookingCancellationRS
 
 
Ejemplo de uso:
 
 
*** Solicitud:
 
 
<code xml>
 
<BookingCancellationRQ>
 
<GeneralParameters>
 
<PreferedLanguage LanguageCode="es"/>
 
<PreferedCurrency CurrencyCode="ARS"/>
 
</GeneralParameters>
 
<Bookings>
 
<Booking BookingReference="XX_007GP"/>
 
</Bookings>
 
</BookingCancellationRQ>
 
</code>
 
 
 
{| class="wikitable sortable"
 
|-
 
! Parámetro !! Obligatorio !! Descripción
 
|-
 
| GeneralParameters || Si ||
 
|-
 
| PreferedLanguage || Si || 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 || Si || Establece la moneda requerida para la respuesta.
 
 
Atributos:
 
 
- CurrencyCode: Código de moneda correspondiente a los códigos de moneda estándar provistos.
 
|-
 
| Products || Si ||
 
|-
 
| BookingReference || Si || Atributos:
 
 
- ReferenceType: Tipo de referencia, por ejemplo  OLA.GBL.BRT.HTL – Referencia de reserva de hoteles.
 
 
Valor: Identificador entregado en la respuesta de reserva
 
|-
 
| Hotels || No ||
 
|-
 
| Hotel || Si ||
 
|-
 
| BookingReference || Si || Atributos:
 
 
- ReferenceType: Tipo de referencia, por ejemplo  OLA.GBL.BRT.HTL – Referencia de reserva de hoteles.
 
 
Valor: Identificador entregado en la respuesta de reserva
 
|}
 
 
*** Respuesta:
 
<code xml>
 
<BookingCancellationRS>
 
  <Details>
 
      <Bookings>
 
        <Booking>
 
            <BookingReference ReferenceType="NMO.GBL.BRT.NAV">XX_007GP</BookingReference>
 
            <BookingState>NMO.GBL.BST.CAN</BookingState>
 
            <Products>
 
              <Hotels>
 
                  <Hotel>
 
                    <BookingReferences>
 
                        <BookingReference ReferenceType="NMO.GBL.BRT.NAV">XX_007GP-1</BookingReference>
 
                    </BookingReferences>
 
                    <BookingState Code="NMO.HTL.BST.CAN">NMO.HTL.BST.CAN</BookingState>
 
                  </Hotel>
 
              </Hotels>
 
              <Passengers/>
 
            </Products>
 
        </Booking>
 
      </Bookings>
 
  </Details>
 
</BookingCancellationRS>
 
</code>
 
 
 
{| class="wikitable sortable"
 
|-
 
! Parámetro !! Obligatorio !! Descripción
 
|-
 
| Notifications || No ||
 
|-
 
| Notification || Si || 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.
 
|-
 
| NotificationId || Si || Identificador de la notificación. Las mismas serán provistas por Nemo.
 
|-
 
| NotificationType || Si || Tipo de notificación.
 
|-
 
| NotificationMessage || Si || Mensaje de notificación.
 
|-
 
| Details || Si ||
 
|-
 
| Bookings || Si ||
 
|-
 
| Booking || Si || Detalle de la reserva.
 
 
Atributos:
 
 
- BookingReference: identificador de la reserva.
 
 
- BookingState: estado de la reserva
 
|-
 
| ReceivedFrom || Si || Nombre de la persona que firma los cambios de la reserva.
 
|-
 
| BookingState || No || Estado de la reserva (del ítem). La codificación de los estados será provista por Nemo.
 
|-
 
| Hotels || No ||
 
|-
 
| Hotel || Si ||
 
|-
 
| BookingReferences || No || Identificadores de la resera.
 
|-
 
| BookingState || No || Estado actual de la reserva.
 
 
BookingStateCode: Código del estado de la reserva correspondiente a los códigos estándar de reserva provistos por Nemo.
 
 
|-
 
| Fares || Si || Datos de tarifas
 
|-
 
| FareType || No || Tipo de tarifas, ej. Tarifa web, precio de agencia
 
|-
 
| Prices || Si || Precios, con valor y moneda
 
|-
 
| BookingReferences || No || Identificadores de la reserva
 
|-
 
| BookingState || Si || Estado de la reserva (del ítem). La codificación de los estados será provista por Nemo.
 
 
Atributos:
 
 
Code: Código del estado (confirmada, rechazada, etc)
 
 
|-
 
| Passenger || No || Datos de los pasajeros.
 
 
Atributos:
 
 
AgeType: tipo de pasajero (chl, inf, adt).
 
 
Sequence: Este dato será asociado al PassengerSequence del nodo Guest en hoteles.
 
|-
 
| Exceptions || Si || Si no se puede armar el nodo Details se arma un nodo Exceptions con las notificaciones correspondientes.
 
|}
 
 
=== Consulta de Reserva (BookingQuery) ===
 
 
Consulta de información y detalles sobre una o varias reservas realizadas.
 
Request: BookingQueryRQ
 
Response: BookingQueryRS
 
 
Ejemplo de uso:
 
 
*** Solicitud:
 
<syntaxhighlight lang="xml">
 
<BookingQueryRQ>
 
<GeneralParameters>
 
<PreferedLanguage LanguageCode="es"/>
 
<PreferedCurrency CurrencyCode="ARS"/>
 
</GeneralParameters>
 
<Bookings ItemsCount="1">
 
<Booking BookingReference="QN_006OF" Sequence="1"/>
 
</Bookings>
 
</BookingQueryRQ>
 
</syntaxhighlight>
 
 
 
{| class="wikitable sortable"
 
|-
 
! Parámetro !! Obligatorio !! Descripción
 
|-
 
| GeneralParameters || Si ||
 
|-
 
| PreferedLanguage || Si || 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 || Si || Establece la moneda requerida para la respuesta.
 
 
Atributos:
 
 
CurrencyCode: Código de moneda correspondiente a los códigos de moneda estándar provistos.
 
|-
 
| Bookings || Si || Mediante el nodo Booking se cargan las reservas a consultar.
 
 
Atributos:
 
 
BookingReference: identificador de la reserva a consultar.
 
|}
 
 
*** Respuesta:
 
<syntaxhighlight lang="xml">
 
<BookingQueryRS>
 
  <Details>
 
      <Bookings ItemsCount="1">
 
        <Booking Sequence="1">
 
            <BookingReference>QN_006OF</BookingReference>
 
            <BookingState>NMO.GBL.BST.CAN</BookingState>
 
            <Products>
 
              <Hotels ItemsCount="1">
 
                  <Hotel Sequence="1" HotelCode="7590" SupplierID="MIK">
 
                    <BookingReferences ItemsCount="2">
 
                        <BookingReference Sequence="1" ReferenceType="NMO.HTL.RPT.MPH">QN_006OF-1</BookingReference>
 
                        <BookingReference Sequence="2" ReferenceType="NMO.HTL.RPT.PRS">E00166024</BookingReference>
 
                    </BookingReferences>
 
                    <BookingStatusList ItemsCount="1">
 
                        <BookingStatus Sequence="1">
 
                          <BookingStatusDescription BookingStatusCode="NMO.HTL.BST.CAN">Cancelado</BookingStatusDescription>
 
                          <BookingStatusTime>09:19:34.048-03:00</BookingStatusTime>
 
                          <RulesInfo ItemsCount="4">
 
                              <RuleInfo Sequence="1" Permit="true" RuleType="NMO.GBL.RBS.DET"/>
 
                              <RuleInfo Sequence="2" Permit="false" RuleType="NMO.GBL.RBS.VOU"/>
 
                              <RuleInfo Sequence="3" Permit="false" RuleType="NMO.GBL.RBS.CAN"/>
 
                              <RuleInfo Sequence="4" Permit="false" RuleType="NMO.GBL.RBS.PAY"/>
 
                          </RulesInfo>
 
                        </BookingStatus>
 
                    </BookingStatusList>
 
                    <Hotel Sequence="1" SupplierID="MIK" HotelCode="7590">
 
                        <HotelName>Days Hotel London North</HotelName>
 
                        <HotelDescriptions ItemsCount="1">
 
                          <HotelDescription Sequence="1" HotelDescriptionType="General">Este hotel de 3 estrellas esta situado a las afueras de London y el año de apertura fue 2002. Esta a poca distancia en coche de Wembley Stadium y la estación más cercana es Edgware. El hotel tiene un restaurante, un bar, un salón de convenciones y una cafeteria. Las 193 habitaciones estan equipadas con secador de pelo, caja de seguridad y aire acondicionado.</HotelDescription>
 
                        </HotelDescriptions>
 
                        <LocationDetails ItemsCount="1">
 
                          <Location Sequence="1" LocationCode="G8">Area suburbana</Location>
 
                        </LocationDetails>
 
                        <Amenities ItemsCount="10">
 
                          <Amenity Fee="No" Sequence="1">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTL">Hotel</AmenityGroup>
 
                              <Description AmenityCode="14">Ascensores</Description>
 
                              <ImageLink>
 
                                <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Ascensores</ImageDescription>
 
                                <ImageURL>ic_elevador.gif</ImageURL>
 
                              </ImageLink>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="2">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                              <Description AmenityCode="5">Caja de seguridad</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="3">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTL">Hotel</AmenityGroup>
 
                              <Description AmenityCode="32">Tiro al Arco</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="4">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                              <Description AmenityCode="7">Guardarropa</Description>
 
                              <Value>193</Value>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="5">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL">Instalaciones</AmenityGroup>
 
                              <Description AmenityCode="18">Sala de conferencias</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="6">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTL">Hotel</AmenityGroup>
 
                              <Description AmenityCode="117">Se permite animales domésticos</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="7">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                              <Description AmenityCode="4">Secador</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="8">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                              <Description AmenityCode="34">Aire acondicionado</Description>
 
                              <ImageLink>
 
                                <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Aire acondicionado</ImageDescription>
 
                                <ImageURL>ic_aireac.gif</ImageURL>
 
                              </ImageLink>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="9">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                              <Description AmenityCode="237">television</Description>
 
                          </Amenity>
 
                          <Amenity Fee="No" Sequence="10">
 
                              <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR">Habitación</AmenityGroup>
 
                              <Description AmenityCode="8">Radio</Description>
 
                          </Amenity>
 
                        </Amenities>
 
                        <Addresses ItemsCount="1">
 
                          <Address Sequence="1">
 
                              <AddressLines ItemsCount="3">
 
                                <AddressLine Sequence="1">London Gateway, Services</AddressLine>
 
                                <AddressLine Sequence="2">London</AddressLine>
 
                                <AddressLine Sequence="3">U.k.</AddressLine>
 
                              </AddressLines>
 
                              <TelephoneNumbers ItemsCount="2">
 
                                <TelephoneNumber Sequence="1">
 
                                    <TelephoneNumberType TelephoneNumberType="NMO.GBL.TLT.TE1"/>
 
                                    <TelephoneNumberValue>020 89067000</TelephoneNumberValue>
 
                                </TelephoneNumber>
 
                                <TelephoneNumber Sequence="2">
 
                                    <TelephoneNumberType TelephoneNumberType="NMO.GBL.TLT.FAX"/>
 
                                    <TelephoneNumberValue>020 89067011</TelephoneNumberValue>
 
                                </TelephoneNumber>
 
                              </TelephoneNumbers>
 
                              <Destinations ItemsCount="4">
 
                                <Destination Sequence="1" DestinationType="NMO.HTL.DST.CTY" DestinationCode="2757">Londres</Destination>
 
                                <Destination Sequence="2" DestinationType="NMO.HTL.DST.CTR" DestinationCode="143">Reino Unido</Destination>
 
                                <Destination Sequence="3" DestinationType="NMO.HTL.DST.CNT" DestinationCode="12">Europa</Destination>
 
                                <Destination Sequence="4" DestinationType="NMO.HTL.DST.ALL" DestinationCode="1">Planeta Tierra</Destination>
 
                              </Destinations>
 
                          </Address>
 
                        </Addresses>
 
                        <Position>
 
                          <Latitude>51.634681</Latitude>
 
                          <Longitude>-0.26438</Longitude>
 
                        </Position>
 
                        <HotelRating HotelRatingCode="NMO.HTL.RTN.3ST" HotelRatingType="NMO.HTL.RTT.STR">
 
                          <RatingDescription>3 Estrellas</RatingDescription>
 
                          <RatingValue>3.0</RatingValue>
 
                        </HotelRating>
 
                        <ImageLinks ItemsCount="6">
 
                          <ImageLink Sequence="1">
 
                              <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Exterior view</ImageDescription>
 
                              <ImageHeight UnitOfMeasureCode="9">46</ImageHeight>
 
                              <ImageWidth UnitOfMeasureCode="9">70</ImageWidth>
 
                              <ImageURL>B/6/B6E5222965FCD939B8967908EE909116.jpg</ImageURL>
 
                              <ThumbnailURL>4/3/43081546B80C1F2361A934E91E0B83F4.jpg</ThumbnailURL>
 
                          </ImageLink>
 
                          <ImageLink Sequence="2">
 
                              <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Standard bedroom</ImageDescription>
 
                              <ImageHeight UnitOfMeasureCode="9">46</ImageHeight>
 
                              <ImageWidth UnitOfMeasureCode="9">70</ImageWidth>
 
                              <ImageURL>B/A/BA1FE7678A1DBABF62BB877A92B31404.jpg</ImageURL>
 
                              <ThumbnailURL>D/2/D2CEAE049DA3A5D2D1F8C6CC1F911B67.jpg</ThumbnailURL>
 
                          </ImageLink>
 
                          <ImageLink Sequence="3">
 
                              <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Standard bedroom</ImageDescription>
 
                              <ImageHeight UnitOfMeasureCode="9">46</ImageHeight>
 
                              <ImageWidth UnitOfMeasureCode="9">70</ImageWidth>
 
                              <ImageURL>F/7/F73A5A01DACC93E47CC6ECA33071A1A5.jpg</ImageURL>
 
                              <ThumbnailURL>9/1/914733863EFF6EC19D48A23ED5AE697C.jpg</ThumbnailURL>
 
                          </ImageLink>
 
                          <ImageLink Sequence="4">
 
                              <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Standard bedroom</ImageDescription>
 
                              <ImageHeight UnitOfMeasureCode="9">46</ImageHeight>
 
                              <ImageWidth UnitOfMeasureCode="9">70</ImageWidth>
 
                              <ImageURL>5/E/5EBE1CC8E1840C121C4BF0FBF40B6DCB.jpg</ImageURL>
 
                              <ThumbnailURL>2/E/2EA36573BCE916FAFC09A32A590DBF1E.jpg</ThumbnailURL>
 
                          </ImageLink>
 
                          <ImageLink Sequence="5">
 
                              <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Restaurant</ImageDescription>
 
                              <ImageHeight UnitOfMeasureCode="9">46</ImageHeight>
 
                              <ImageWidth UnitOfMeasureCode="9">70</ImageWidth>
 
                              <ImageURL>F/0/F07D742D7500E4C1315EA73B6449861E.jpg</ImageURL>
 
                              <ThumbnailURL>E/A/EA1A7F0CE29E848589485A346F35B81F.jpg</ThumbnailURL>
 
                          </ImageLink>
 
                          <ImageLink Sequence="6">
 
                              <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Bar</ImageDescription>
 
                              <ImageHeight UnitOfMeasureCode="9">46</ImageHeight>
 
                              <ImageWidth UnitOfMeasureCode="9">70</ImageWidth>
 
                              <ImageURL>F/5/F577413868BD10E0413F903462BFEA4B.jpg</ImageURL>
 
                              <ThumbnailURL>4/9/491197FA9F74F1DE30FB7D0FBBE29348.jpg</ThumbnailURL>
 
                          </ImageLink>
 
                        </ImageLinks>
 
                    </Hotel>
 
                    <DestinationDetails ItemsCount="4">
 
                        <Destination Sequence="1" DestinationType="NMO.HTL.DST.CTY" DestinationCode="2757">Londres</Destination>
 
                        <Destination Sequence="2" DestinationType="NMO.HTL.DST.CTR" DestinationCode="143">Reino Unido</Destination>
 
                        <Destination Sequence="3" DestinationType="NMO.HTL.DST.CNT" DestinationCode="12">Europa</Destination>
 
                        <Destination Sequence="4" DestinationType="NMO.HTL.DST.ALL" DestinationCode="1">Planeta Tierra</Destination>
 
                    </DestinationDetails>
 
                    <CheckIn>2013-12-20-03:00</CheckIn>
 
                    <CheckOut>2013-12-22-03:00</CheckOut>
 
                    <Rate>
 
                        <Rooms ItemsCount="1">
 
                          <Room Sequence="1">
 
                              <RoomDescription RoomType="NMO.HTL.RMT.SGL">Simple</RoomDescription>
 
                              <Occupancy>
 
                                <AdultsCount>1</AdultsCount>
 
                                <ChildrenCount>0</ChildrenCount>
 
                                <InfantCount>0</InfantCount>
 
                                <RoomsCount>1</RoomsCount>
 
                                <Passengers ItemsCount="1">
 
                                    <Passenger Sequence="1" AgeType="NMO.GBL.AGT.ADT">
 
                                      <PersonNames ItemsCount="2">
 
                                          <PersonName Sequence="1" NameType="NMO.GBL.PNT.FIR">NOMBRE</PersonName>
 
                                          <PersonName Sequence="2" NameType="NMO.GBL.PNT.LAS">APELLIDO</PersonName>
 
                                      </PersonNames>
 
                                    </Passenger>
 
                                </Passengers>
 
                              </Occupancy>
 
                              <Availability AvailabilityCode="NMO.HTL.AVB.CNF">Confirmación Inmediata</Availability>
 
                          </Room>
 
                        </Rooms>
 
                        <Boards ItemsCount="1">
 
                          <Board Sequence="1" BoardType="BreakfastDescription" BoardCode="60">Desayuno incluido</Board>
 
                        </Boards>
 
                        <RatePrices ItemsCount="3">
 
                          <RatePrice Sequence="1" Currency="ARS" Type="NMO.HTL.RPT.NET">0.0</RatePrice>
 
                          <RatePrice Sequence="2" Currency="EUR" Type="NMO.HTL.RPT.NBC">0.0</RatePrice>
 
                          <RatePrice Sequence="3" Currency="ARS" Type="NMO.GBL.RPT.GRS">0.0</RatePrice>
 
                        </RatePrices>
 
                        <ChargeConditions ItemsCount="2">
 
                          <ChargeCondition Sequence="1">
 
                              <ChargeDescription ChargeType="NMO.HTL.CHT.CAN">Gastos de cancelación</ChargeDescription>
 
                              <DateRangeWithDays>
 
                                <DateFrom>0</DateFrom>
 
                                <DateTo>2</DateTo>
 
                              </DateRangeWithDays>
 
                              <RatePrices ItemsCount="3">
 
                                <RatePrice Sequence="1" Currency="ARS" Type="NMO.HTL.RPT.NET">194.90930368636631</RatePrice>
 
                                <RatePrice Sequence="2" Currency="EUR" Type="NMO.HTL.RPT.NBC">33.31</RatePrice>
 
                                <RatePrice Sequence="3" Currency="ARS" Type="NMO.GBL.RPT.GRS">194.90930368636631</RatePrice>
 
                              </RatePrices>
 
                          </ChargeCondition>
 
                          <ChargeCondition Sequence="2">
 
                              <ChargeDescription ChargeType="NMO.HTL.CHT.CAN">Gastos de cancelación</ChargeDescription>
 
                              <DateRangeWithDays>
 
                                <DateFrom>0</DateFrom>
 
                                <DateTo>1</DateTo>
 
                              </DateRangeWithDays>
 
                              <RatePrices ItemsCount="3">
 
                                <RatePrice Sequence="1" Currency="ARS" Type="NMO.HTL.RPT.NET">389.81860737273263</RatePrice>
 
                                <RatePrice Sequence="2" Currency="EUR" Type="NMO.HTL.RPT.NBC">66.62</RatePrice>
 
                                <RatePrice Sequence="3" Currency="ARS" Type="NMO.GBL.RPT.GRS">389.81860737273263</RatePrice>
 
                              </RatePrices>
 
                          </ChargeCondition>
 
                        </ChargeConditions>
 
                        <Deadline>
 
                          <Date>2013-12-15T00:00:00.000-03:00</Date>
 
                        </Deadline>
 
                    </Rate>
 
                    <BookingCreationDT>2013-07-30T09:18:52.000-03:00</BookingCreationDT>
 
                  </Hotel>
 
              </Hotels>
 
            </Products>
 
        </Booking>
 
      </Bookings>
 
  </Details>
 
</BookingQueryRS>
 
</syntaxhighlight>
 
 
 
{| class="wikitable sortable"
 
|-
 
! Parámetro !! Obligatorio !! Descripción
 
|-
 
| Notifications || No ||
 
|-
 
| Notification || Si || 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.
 
|-
 
| NotificationId || Si || Identificador de la notificación. Las mismas serán provistas por Nemo.
 
|-
 
| NotificationType || Si || Tipo de notificación.
 
|-
 
| NotificationMessage || Si || Mensaje de notificación.
 
|-
 
| Details || Si ||
 
|-
 
| Bookings || Si ||
 
|-
 
| Booking || Si || Detalle de la reserva.
 
 
Atributos:
 
 
* BookingReference: identificador de la reserva.
 
* BookingState: estado de la reserva
 
|-
 
| ReceivedFrom || Si || Nombre de la persona que firma los cambios de la reserva.
 
|-
 
| BookingState || No || Estado de la reserva (del ítem). La codificación de los estados será provista por Nemo.
 
|-
 
| Hotel || Si ||
 
|-
 
| BookingReferences || No || Identificadores de la resera.
 
|-
 
| BookingStatusList || No || Estados del “ítem”.
 
|-
 
| BookingStatus || Si ||
 
|-
 
| BookingStatusDescription || Si || Descripción del estado actual de la reserva.
 
 
BookingStatusCode: Código del estado de la reserva correspondiente a los códigos estándar de reserva provistos por Nemo.
 
|-
 
| Hotel || No || Contiene toda la información del hotel.
 
|-
 
| HotelName || Si || Nombre del hotel.
 
|-
 
| AccomodationType || No || Indica si es hotel, hostel, camping, etc, los tipos serán provistos por Nemo.
 
|-
 
| HotelDescriptions || No ||
 
|-
 
| HotelDescription || Si || Descripción del hotel.
 
 
Atributos:
 
 
HotelDescriptionType: Tipo de descripción correspondiente a los tipos de descripción estándar provistos por Nemo.
 
|-
 
| LocationDetails || No ||
 
|-
 
| Location || No || Descripción del área en la que se localiza el hotel.
 
 
Atributos:
 
 
LocationCode: Código de área provisto por el proveedor.
 
|-
 
| Amenities || No ||
 
|-
 
| Amenity || No || Código de amenidad admitido.
 
 
Atributos:
 
 
AmenityGroupCode: Tipo de amenidad. Los tipos de amenidad admitidos corresponden a los provistos por Nemo.
 
 
AmenityCode: Código de amenidad. Los códigos de amenidad admitidos corresponden a los provistos.
 
|-
 
| Address || Si || Dirección del hotel
 
|-
 
| AddressLines || Si || Líneas que componen la dirección del hotel.
 
|-
 
| AddressLine || Si || Indica la dirección del hotel.
 
|-
 
| Position || No || Coordenadas del hotel: Latitud y Longitud.
 
|-
 
| HotelRating || Si || Categoría del hotel.
 
 
Atributos:
 
 
HotelRatingCode: código de la categoría correspondiente a los códigos de categoría estándar provistos por Nemo.
 
 
HotelRatingType: Tipo de la categoría correspondiente a los tipos de categoría estándar provistos por Nemo.
 
|-
 
| RatingValue || Si || Valoración de la categoría del hotel expresada en el tipo de categoría indicado en el nodo padre.
 
|-
 
| ImageLinks || Si || Conjunto de imágenes del hotel
 
|-
 
| ImageLink || No ||
 
|-
 
| ImageDescription || Si || Descripción de la imagen
 
 
ImageDisplayType: Tipo de imagen correspondiente a los tipos de imágenes estándar provistos por Nemo.
 
|-
 
| DisplayOrder || No || Orden del la imagen.
 
|-
 
| ImageURL || Si || URL de la imagen
 
|-
 
| DestinationDetails || Si || Atributos:
 
 
DestinationType: tipo de destino de los provistos por Nemo.
 
 
Destination Code: código del destino a buscar, de los provistos por Nemo.
 
|-
 
| CheckIn || No || Fecha de entrada de la estadía.
 
|-
 
| CheckOut || No || Fecha de salida de la estadía
 
|-
 
| Rate || Si || Tarifa a reservar, indicando con el atributo TripProductId el id del hotel a reservar.
 
|-
 
| Rooms || No ||
 
|-
 
| Room || Si ||
 
|-
 
| Occupancy || Si || Indica la cantidad de adultos, niños e infantes por cada habitación.
 
En el nodo Passengers se encuentran los datos de los pasajeros.
 
|-
 
| Fares || Si || Datos de tarifas
 
|-
 
| FareType || No || Tipo de tarifas, ej. Tarifa web, precio de agencia
 
|-
 
| Prices || Si || Precios, con valor y moneda
 
|-
 
| BookingReferences || No || Identificadores de la reserva
 
|-
 
| BookingState || Si || Estado de la reserva (del ítem). La codificación de los estados será provista por Nemo.
 
 
Atributos:
 
 
Code: Código del estado (confirmada, rechazada, etc)
 
|-
 
| Exceptions || Si || Si no se puede armar el nodo Details se arma un nodo Exceptions con las notificaciones correspondientes.
 
|-
 
| ChargeConditions || Si || Nodo de gastos de cancelación
 
|-
 
| ChargeCondition || Si || Gasto de Cancelación
 
 
Atributo:
 
 
ChargeType, tipo de cargo (Ej. NMO.HTL.CHT.CAN cancelación, NMO.HTL.CHT.AMD Modificación)
 
|-
 
| ChargeDescription || Si || Descripción del gastos de cancelación
 
|-
 
| DateRangeWithDays || No || Indica que el gasto de cancelación tiene un rango en base a días.
 
|-
 
| DateFrom || Si || Fecha desde
 
|-
 
| DateTo || Si || Fecha hasta
 
|-
 
| DateRangeWithDateType || No || Indica que el gasto de cancelación tiene un rango en base a fechas.
 
|-
 
| DateFrom || Si || Fecha desde
 
|-
 
| DateTo || Si || Fecha hasta
 
|-
 
| RatePrices || Si ||
 
|-
 
| RatePrice || Si || Indica el importe del concepto de cancelación
 
 
Atributos:
 
 
RatePriceType, tipo de precio
 
|}
 
 
== Lenguaje de Descripción de la Aplicación Web (WADL) ==
 
 
Utilizando la especificación provista por Price Surfer los Clientes podrán acceder al catálogo de los servicios y recursos provistos en la API.
 
 
= Especificaciones y recomendaciones =
 
 
== Autorización ==
 
 
Para acceder a las operaciones propias del servicio web será necesario el uso de credenciales por medio de un hash que actúa como Token de Autorización. El servicio utilizará para esto una cabecera especial denominada "X-PS-AUTHTOKEN" la cuál actuará como clave de seguridad interna para establecer la comunicación entre el sistema y el usuario.
 
 
== Ejemplo de cabecera ==
 
 
* Solicitud
 
<syntaxhighlight lang="xml">
 
POST http://service-cert.psurfer.net/pricesurfer/catalog/products/search HTTP/1.1
 
Accept-Encoding: gzip,deflate
 
Accept: application/xml
 
Content-Type: application/xml
 
X-PS-AUTHTOKEN: 981d284d_bc57_c429_91b9_178fg07f78f0
 
Content-Length: 770
 
Host: http://service-cert.psurfer.net
 
Connection: Keep-Alive
 
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
 
</syntaxhighlight>
 
 
* Respuesta
 
<syntaxhighlight lang="xml">
 
HTTP/1.1 200 OK
 
X-Powered-By: Servlet/3.0
 
Server: GlassFish Server Open Source Edition 3.0.1
 
Content-Type: application/xml
 
Transfer-Encoding: chunked
 
Content-Encoding: gzip
 
Vary: Accept-Encoding
 
Date: Wed, 31 Jul 2013 10:39:32 GMT
 
</syntaxhighlight>
 
 
== TransactionMode Sincrónico y Asincrónico ==
 
 
Este modo se utiliza para Hoteles.
 
 
* Sincrónico: TransactionMode="Synchronous"
 
Las búsquedas en este modo esperarán que termine hasta el último proveedor en responder. Luego se ordenarán por precio y se retornarán.
 
Esta es el método que utiliza la plataforma de PriceSurfer hsata este momento.
 
* Asincrónico: TransactionMode="StartAsync" y "ContinueAsync"
 
En este modo deberá iniciarse una búsqueda con el modo "StartAsync". La búsqueda termina cuando termine el primer proveedor, o sea el más rápido.
 
El resto de los resultados se obtendrán con subsecuentes búsquedas pero con el modo "ContinueAsync".
 
 
Cada respuesta a este mensaje contiene un nodo "TransactionStatus" que se encuentra en la respuesta de Hoteles:
 
{AvailabilityQueryRS//Details/Trips/TripList[n]/HotelsAvailabilityResponset/TransactionStatus}
 
y su valor puede ser FINISHED, TIMEOUT o CONTINUE.
 
 
* FINISHED: significa que no hay más datos. Ésta es la última respuesta.
 
* TIMEOUT: significa que no hay más datos. Ésta es la última respuesta. La diferencia con FINISHED es que ha terminado con algún error en un proveedor y el mismo no pudo terminar el proceso.
 
* CONTINUE: significa que hay más datos de disponibilidad de hoteles. Debe seguir haciendo peticiones en modo "ContinueAsync" para obtener más resultados.
 
 
= Archivos adicionales =
 
 
Para poder consultar disponibilidad en los hoteles necesitará de códigos de destinos, habitaciones, etc.
 
Estos códigos son provistos por Price Surfer en esta sección.
 
 
== Tipos de Habitaciones ==
 
 
Para indicar la ocupación en la búsqueda es necesario colocar un tipo de habitación.
 
 
Los tipos de habitaciones válidas son las siguientes:
 
 
* NMO.HTL.RMT.SGL habitación simple, cantidad de pasajeros=1.
 
* NMO.HTL.RMT.DBL habitación doble, cantidad de pasajeros=2.
 
* NMO.HTL.RMT.DBL.TWN habitación doble twin, cantidad de pasajeros=2.
 
* NMO.HTL.RMT.DBL.TSU habitación doble de uso individual, cantidad de pasajeros=1.
 
* NMO.HTL.RMT.TPL habitación triple, cantidad de pasajeros=3.
 
* NMO.HTL.RMT.QUA habitación para 4 pasajeros.
 
* NMO.HTL.RMT.PEN habitación para 5 pasajeros.
 
* NMO.HTL.RMT.HEX habitación para 6 pasajeros.
 
* NMO.HTL.RMT.SEP habitación para 7 pasajeros.
 
* NMO.HTL.RMT.OCT habitación para 8 pasajeros.
 
* NMO.HTL.RMT.NON habitación para 9 pasajeros.
 
 
 
Algunos proveedores entregan un tipo de habitación diferente al propuesto en la búsqueda. Estoas tipos de habitaciones son traducidos a un tipo de Price Surfer.
 
 
El listado completo de tipos de habitación está disponible aquí:
 
 
* http://wiki.psurfer.net/resources/ROOM_TYPE.csv.zip
 
 
  
 
== Destinos ==
 
== Destinos ==
Línea 4018: Línea 518:
 
Listado de destinos de Price Surfer:
 
Listado de destinos de Price Surfer:
  
* Español : http://wiki.psurfer.net/resources/DESTINATION_ES.zip
+
* Español : [https://wiki.psurfer.net/images/7/7d/Destination_ES.zip Destination_ES.zip]
* Inglés : http://wiki.psurfer.net/resources/DESTINATION_EN.zip
+
* Inglés : [https://wiki.psurfer.net/images/b/b4/Destination_EN.zip Destination_EN.zip]
* Portugués : http://wiki.psurfer.net/resources/DESTINATION_PT.zip
+
* Portugués : [https://wiki.psurfer.net/images/1/12/Destination_PT.zip Destination_PT.zip]

Revisión actual del 12:24 27 nov 2023

Price Surfer - Mensajes de Web Services

Introducción

El servicio Web de Price Server permite a sus agentes conectarse de manera transparente a la aplicación a través de un conjunto de funciones que pueden ser llamadas, desde las páginas web de sus sitios. Para lograr esto, se proveerá una Interfaz de Programación de Aplicaciones (API) para permitir que varios tipos de sistemas clientes se conecten al sistema propio de Nemo utilizando un juego de mensajes XML que han sido publicados y definidos en conformidad a los Estándares de Esquemas XML. La interfaz que provee servicios de búsquedas, reservas, etc. será entonces accesible vía una interfaz basada en XML y disponible para clientes registrados.

A través del servicio web un agente podrá consultar disponibilidad en hoteles para los proveedores asociados a su contrato, solicitar información sobre hoteles, gestionar reservas y cancelaciones. Todo a través de una interfaz única basada en el intercambio de documentos XML, que será descripta en esta guía de uso.


IMPORTANTE:

A partir del 29 de Noviembre del 2023, se introducen cambios opcionales para mejorar tiempos de respuesta en la búsqueda de disponibilidad. Afecta a los nodos Rating y Address de AvailabilityQueryRS y es configurable por cliente. Ver mas detalle y ejemplo en: https://wiki.psurfer.net/index.php/API_Reference:_B%C3%BAsqueda_de_Disponibilidad_de_Hoteles

A partir del 31 de Marzo del 2023, ampliando nuestras políticas de Ciberseguridad, se introducen cambios detallados en: https://nemogroup.net/autologin/

A partir de Octubre 2022 es requerida una lista de IPs habilitadas para poder operar, las IP que no sean informadas como autorizadas serán bloqueadas impidiendo la operatoria.

Propósito del presente documento

La función del documento es la de remarcar la estructura de la ya mencionada API, las funciones estándares que se proveen y aquellas funciones específicas que son dispuestas mediante la misma.

Implementación

Para poder iniciar la implementación y hacer pruebas a nuestro servidor de test, necesitará una serie de credenciales para utilizar durante el proceso de integración del servicio con su aplicación web, Las credenciales son: un "token" para el acceso al web service y un usuario y contraseña para acceder a la aplicación de Price Surfer y al Backoffice de configuración.

Luego de completada la integración deberá contactarnos nuevamente para solicitar una revisión para la certificación final de su sitio. Además de las credenciales provistas recibirá una descripción de los servicios provistos bajo WADL, el equivalente REST del Lenguaje de Descripción de Web Services (WSDL). Nuestro servicio es un servicio web estándar basado en REST para el intercambio de documentos XML, la seguridad es controlada a través de cabeceras WSS donde deberá incluir un Token de Autenticación.

El uso de dichas credenciales excluye la posibilidad de aplicarlas para otros fines como trabajar con un robot que realice búsquedas de disponibilidad para obtener tarifas y almacenarlas u otra tarea no especificada en este documento; reservando a Price Surfer el derecho de deshabilitar dicho usuario. Cualquier cambio que se desee realizar deberá ser notificado y aprobado con anticipación.

Documentos de Certificacion a utilizar en los Webservices de hoteles se encuentran disponibles:

Interfaz Cliente simplificada

La API publicada ofrece protocolos estándares de HTTPS que habilitan al servicio a través de solicitudes HTTPS bajo POST permitiendo así las siguientes ventajas:

  • Protocolos estándares de acuerdo a la Industria
  • No hay necesidad de establecer un middleware como componente adicional (ej. MQ Series)
  • Seguridad establecida a través del uso de SSL
  • Se provee un mecanismo más eficiente para el manejo de mensajes asíncronos mediante la tecnología “Push”

API REFERENCE - Entornos y Operaciones

Los entornos disponibles son:


Las siguientes operaciones están disponibles en la API del servicio, para búsquedas y reservas de Hoteles:

  • /catalog/products/search
  • /catalog/product/detail
  • /catalog/product/validate
  • /catalog/product/book
  • /booking/cancellation/fees
  • /booking/detail
  • /booking/cancel


Ejemplo de endpoint de busqueda en Entorno de Certificacion:


Todas las operaciones tienen un POST con el siguiente esquema:

POST

Request Body

media types:
application/xml

Response Body

media types:
application/xml



Cada operación de la API necesita un xml según el mensaje que corresponda. A continuación se presentarán los XML necesarios para cada operación. Este xml va adjuntado como "raw" en el POST del http.

Por ejemplo, en linux desde la consola con bash podemos probar la conexión y los parámetros necesarios haciendo:


 curl -i -H "Accept: application/xml" -H "Content-Type: application/xml" \
  -H "X-PS-AUTHTOKEN:xxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -d "`cat AvailabilityQueryRQ.xml`" \
  -o "result.xml" -v \
  -X POST "http://#url-servicio-psurfer#/pricesurfer/catalog/products/search"

Esto conectará al Web Service y hará un pedido de disponibilidad de productos.

Deberá existir el archivo AvailabilityQueryRQ.xml que contendrá un xml como por ejemplo el presentado más abajo.

La respuesta se guardará en el archivo result.xml.

El valor la cabecera X-PS-AUTHTOKEN es un token de seguridad que será suministrado por Soporte de Price Surfer cuando se les entreguen los usuarios correspondientes en el alta del servicio.


Para aumentar la velocidad de respuesta desde el servidor del WebService hasta el cliente, se recomienda agregar en la cabecera HTTP la solicitud de compresión de la respuesta, en el ejemplo con curl anterior se agregaría: -H "Accept-Encoding: gzip" \


Flujo de Mensajes para la correcta implementación del Servicio

Flujo.jpg


Atención: Para los productos hoteles, si su operador tiene el módulo de CANCELACION AUTOMATICA activado deberá disparar una Consulta de una Reserva inmediatamente luego del booking cuando éste quede en estado Confirmada o Pendiente de Confirmación; de esta forma se creará correctamente la tarea de autocancelación para la reserva.

Nota: Se recomienda disparar una Consulta de una Reserva luego de realizar un booking ya que brinda el estado final en el sistema.

Lista de Mensajes XML por cada Operación

Están disponibles los esquemas XSD de PriceSurfer: http://wiki.psurfer.net/resources/pscev-schema.zip

Documentación online: http://wiki.psurfer.net/resources/PSCEV-doc/pscev.html

Proyecto SoapUI para desarrollo (guia incluida): PS_WebServices-soapui-project.xml.zip


Mensajes xml:

Búsqueda de Disponibilidad de Hoteles: Consulta de disponibilidad de tarifas de hoteles para un set de habitaciones, con una configuración de pasajeros, en un destino y un rango de fechas determinado. Retorna una colección de tarifas, una por cada hotel ofrecido por los proveedores habilitados para el contrato del usuario.


Consulta de Información de un Hotel: Consulta la información y detalles de los hoteles provistos por el proveedor.


Confirmación de Disponibilidad de una Tarifa obtenida en una Búsqueda Anterior: Confirma la vigencia de una tarifa provista por una consulta de disponibilidad previa.


Consulta de Gastos de Cancelación para una Tarifa ó Reserva: Consulta de condiciones de gastos de cancelación sobre una tarifa o reserva reportada.


Reserva de Tarifa: Solicitud de reserva para una tarifa de hotel.


Consulta de Reserva: Consulta de información y detalles sobre una reserva realizada. Es necesario para obtener el detalle final de la reserva confirmada en el sistema.


Cancelación de Reserva: Solicitud de cancelación de una reserva realizada.

Especificación de documentos XML

Búsqueda de Disponibilidad de Hoteles (AvailabilityQuery)

API Reference: Búsqueda de Disponibilidad de Hoteles

Consulta de Información de un Hotel (AdditionalInfoQuery)

API Reference: Consulta de Información de un Hotel

Confirmación de Disponibilidad de una Tarifa obtenida en una Búsqueda Anterior (AvailabilityValidation)

API Reference: Confirmación de Disponibilidad de una Tarifa

Consulta de Gastos de Cancelación para una Tarifa ó Reserva (CancellationFeesQuery)

Operación exclusiva para Hoteles. Devuelve las condiciones de gastos de cancelación para una Tarifa ó una Reserva.

Request: CancellationFeesQueryRQ (Estructura del Documento)

Response: CancellationFeesQueryRS (Estructura del Documento)

Se pueden consultar de dos formas:

Reserva de Tarifa (BookingProducts)

Solicitud de reserva para una tarifa.

Request: BookingProductsRQ (Estructura del Documento)

Response: BookingProductsRS (Estructura del Documento)

Detalles y ejemplos: Reserva de una Tarifa - Hoteles

Cancelación de Reserva (BookingCancellation)

Solicitud de cancelación de una reserva confirmada.


Request: BookingCancellationRQ (Estructura del Documento)

Response: BookingCancellationRS (Estructura del Documento)

Detalles y ejemplos: Cancelación de una Reserva - Hoteles

Consulta de Reserva (BookingQuery)

Consulta de información y detalles sobre una reserva.

Request: BookingQueryRQ (Estructura del Documento)

Response: BookingQueryRS (Estructura del Documento)

Detalles y ejemplos: Consulta de una Reserva - Hoteles

Lenguaje de Descripción de la Aplicación Web (WADL)

Utilizando la especificación provista por Price Surfer los Clientes podrán acceder al catálogo de los servicios y recursos provistos en la API.

En Produccion -> https://service.psurfer.net/pricesurfer/application.wadl

En Staging -> http://service-cert.psurfer.net/pricesurfer/application.wadl

Especificaciones y recomendaciones

Administracion de los TripProductIDs

Para evitar inconvenientes respecto de expiración de tarifas cuando el tiempo del flujo de reserva es elevado, recomendamos utilizar siempre el TripProductID obtenido en cada mensaje previo del flujo de reserva y que no siempre es el mismo que se obtuvo en la búsqueda original:

1- En el mensaje AvailabilityValidationRQ (Validación de Tarifa) utilizar el TripProductID que se responde en el AvailabilityQueryRS (respuesta de la Búsqueda)

2- En el mensaje CancellationFeesQueryRQ (Politica de Gastos) utilizar el TripProductID que se responde en el AvailabilityValidationRS (respuesta de Validación de Tarifas)

3- En el mensaje BookingProductsRQ (Reserva) utiliza el TripProductID que se responde en el CancellationFeesQueryRS (respuesta de Política de Cancelación)

Autorización y otras cabeceras necesarias

Para acceder a las operaciones propias del servicio web será necesario el uso de credenciales por medio de un hash que actúa como Token de Autorización. El servicio utilizará para esto una cabecera especial denominada "X-PS-AUTHTOKEN" la cuál actuará como clave de seguridad interna para establecer la comunicación entre el sistema y el usuario.

Además de la cabecera para la autorización deben enviarse las cabeceras estandars

  • Accept con valor application/xml
  • Accept-Encoding con valor gzip,deflate (solicitar la compresión de la respuesta para acelerar el tiempo de llegada de la misma)

Ejemplo de cabecera

  • Solicitud (entorno de Cert)

POST http://service-cert.psurfer.net/pricesurfer/catalog/products/search HTTP/1.1

Accept-Encoding: gzip,deflate

Accept: application/xml

Content-Type: application/xml

X-PS-AUTHTOKEN: 981d284d_bc57_c429_91b9_178fg07f78f0

Content-Length: 770

Host: http://service-cert.psurfer.net

Connection: Keep-Alive

User-Agent: Apache-HttpClient/4.1.1 (java 1.5)


  • Respuesta

HTTP/1.1 200 OK

X-Powered-By: Servlet/3.0

Server: GlassFish Server Open Source Edition 3.0.1

Content-Type: application/xml

Transfer-Encoding: chunked

Content-Encoding: gzip

Vary: Accept-Encoding

Date: Wed, 31 Jul 2013 10:39:32 GMT

TransactionMode

Solo es posible usar el modo Sincrónico:

TransactionMode="Synchronous"

Las búsquedas en este modo esperarán que termine hasta el último proveedor en responder. Luego se ordenarán por precio y se retornarán.

Si algún proveedor supera el tiempo máximo permitido (timeout configurado por nosotros) no se devolverán resultados del mismo.

Puede ocurrir que los resultados retornados por el WS no sean los mismos que los resultados del sitio online de PriceSurfer. Esto ocurre porque un proveedor que se interrumpe por timeout sigue guardando resultados en la cache de resultados, que están disponibles solo en la aplicación online, y no en el ws. Por consiguiente si se interrumpe algún proveedor por timeout se perderán esos datos por 30 minutos, ya que quedarán ocultos por la caché del ws.

Aconsejamos ajustar el timeout en un tiempo no muy corto para no tener falta de tarifas.

Contemplar las restricciones generales en la cantidad de peticiones de como máximo 10 peticiones cada 10 segundos.

Sobre el pedido de información de hoteles

Para descargar las fichas con la información de los hoteles (Mensaje AdditionalInfoQuery: API Reference: Consulta de Información de un Hotel), recomendamos enfáticamente generar peticiones con hasta 20 HotelDetailIds (realizar pedidos en batch de hasta 20 HotelDetailsIds por vez). De esta forma se puede ir descargando la información de hoteles a lo largo de todo el día sin afectar a la performance. Contemplar las restricciones generales en la cantidad de peticiones de como maximo 10 peticiones cada 10 segundos.

Sobre las Imágenes - Hoteles

  • Recomendamos que tengan su propia librería de íconos para las amenities.
  • Para URL de las imágenes de los hoteles deben usar:

Para el entorno de TEST:

Para el entorno de PRODUCCIÓN:

Importante:

  • Las imágenes también están disponibles a través de una URL segura (indicar el protocolo https en lugar de http)
  • Existen excepciones en algunos proveedores de hoteles, y algunas imágenes ya vienen con la URL completa, o sea, ya comienzan con http.....En estos casos no colocar la URL delante porque les fallaría.

Ejemplo:

- URL normalizada para imágenes: <ImageURL>IDJ/B/B/BB3898629BE8D3DB188164A6611AA350.jpg</ImageURL>

- URL completa <ImageURL>http://psurfer-img.net/pathalaimagen/imagen.jpg</ImageURL>

(En este caso por favor no pegar la URL base delante)


Ejemplos: Suponiendo que la respuesta a la consulta de información adicional de un hotel es <AdditionalInfoQueryRS>

 <Details>
   <Products>
     <Hotels>
       <Hotel HotelCode="2444" SupplierID="HDO" Sequence="1" HotelDetailId="IDJ-1YT-4MO">
         <HotelName>El Conquistador Hotel</HotelName>
         <HotelDescriptions>
           ...
         </HotelDescriptions>
         <Amenities>
           ...
         </Amenities>
         <Addresses>
           ...
         </Addresses>
         <Position>
           ...
         </Position>
         <HotelRating HotelRatingCode="NMO.HTL.RTN.4ST" HotelRatingType="NMO.HTL.RTT.STR">
           ...
         </HotelRating>
         <ImageLinks>
           <ImageLink>
             <ImageLink>
             <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG"/>
             <ImageHeight UnitOfMeasureCode="9">185</ImageHeight>
             <ImageWidth UnitOfMeasureCode="9">250</ImageWidth>
             <ImageURL>IDJ/B/B/BB3898629BE8D3DB188164A6611AA350.jpg</ImageURL>
             <ThumbnailURL>IDJ/4/A/4A78390A062E3F504912F5E9ADEDBDB5.jpg</ThumbnailURL>
           </ImageLink>
         </ImageLinks>
         <LocationDetails>
           ...
         </LocationDetails>
       </Hotel>
     </Hotels>
   </Products>
 </Details>

</AdditionalInfoQueryRS>

Entonces las URLs quedarían:

Si la respuesta fue del Web Service de TEST:

Si la respuesta fue del Web Service de PRODUCCIÓN:

Sobre los tiempos de vida de los resultados de búsqueda en el Web Service

Los resultados de búsqueda se mantienen cacheados en el servicio durante 30 minutos, por lo cual los clientes del Web Service podrán usar los TripProductId devueltos por el mismo antes de los 30 minutos, caso contrario el Web Service podrá informar que los TripProductId ya no se encuentran disponibles o son inválidos.

Sobre los comentarios del proveedor

Los proveedores pueden llegar a enviar comentarios/remarks en dos instancias diferentes:

La primera en el resultado de la búsqueda: Tag Item Comments del Rate API Reference: Búsqueda de Disponibilidad de Hoteles

La segunda alternativa en la respuesta de la consulta de la reserva: SupplierComments API Reference: Consulta de una Reserva - Hoteles

Códigos de Error devueltos por el WebService

Código Descripción Significado
1000 Unexepected Error Ha ocurrido un error inesperado, por favor informe al Soporte de PriceSurfer
1015 No credit for doing the booking. El Contrato tiene establecido un límite de crédito que ha sido alcanzado, la reserva es rechazada por ese motivo.
1101 The TripProductId %s is not available El TripProductId no fue encontrado. Este mensaje aparece cuando el rate no se encuentra disponible en el proveedor, porque ha cambiado alguno de los diferentes atributos del rate (regimen / precio / tipo de disponibilidad)

Para estas situaciones, se debe cambiar a otro tripProductID, para chequear su disponibilidad en el proveedor.

1103 The booking of this product has been rejected by configuration: the product has cancellation charges as of this moment La reserva del producto ha sido rechazada porque, por configuración del contrato, el sistema rechazará las reservas que entren en Gastos de Cancelación al momento de realizarlas.
1104 The system couldn't check the cancellation charges of the product El sistema no pudo obtener los Gastos de Cancelación del producto.
1105 The booking of this product has been rejected by deadline: the product has cancellation charges El booking no se realizo ya que fue abortado el proceso (previo a la reserva) porque el contrato tiene activado el bloqueo para reservar items con "gastos de cancelacion".
1106 The booking of this product has been rejected because price has changed El booking no se realizo ya que fue abortado el proceso porque la validacion pre-booking detecto que el precio ha cambiado.
1107 Rate's live time in cache has been expired El tiempo de vida del rate en cache ha sido expirado.
1108 Connectivity error Error de conectividad detectado en dicho momento. En dicha situacion se debe enviar nuevamente el mensaje del caso.
1109 Unable to Query Booking Errores generados al consultar el Detalle de Reserva.
3000 Request detail for current booking - Relationated with TripProductId: xxxyyy Ante dicha situacion se debe realizar la consulta de detalle de reserva para recuperar la info detallada y actualizada de la reserva.
5000 No Availability for your request No ha habido disponibilidad para los parámetros de búsqueda dados
5010 The TripProductId %s was not found El TripProductId dado no fue encontrado. Pudo haber expirado o es incorrecto (no corresponde a un TripProductId informado por el Web Service en una búsqueda)
5011 The TripProductId %s has expired El TripProductId dado ha expirado. Sobre la expiración de los resultados de búsqueda
5012 The Search Results of your product have expired Los Resultados de Búsqueda correspondientes al producto seleccionado han expirado. Sobre la expiración de los resultados de búsqueda
5020 The Product is Invalid: %s El Producto es Inválido (Cambió el Precio ó Incurría en gastos de Cancelación al momento de reservar)
5100 Invalid Request Document: %s Se ha enviado un documento inválido. El mensaje contiene información sobre lo que es inválido en el documento.
5120 There are not availability when is booking El rate no esta disponible para ser reservado.
401 Unauthorized El Token de seguridad (X-PS-AUTHTOKEN) es inválido o no fue enviado

Importante: Información necesaria al reportar un error al Soporte de PriceSurfer

Si necesita informar de un fallo al soporte de PriceSurfer incluya la siguiente información:

  • Fecha en que ocurrió la incidencia
  • Entorno (Test / Producción)
  • XML de Request enviado al Servicio
  • XML de Response con que el Serivicio respondió
  • Si es una operación posterior a la Búsqueda de Disponibilidad (Validación de Disponibilidad, Solicitud de Información Adicional, Solicitud de Gastos de Cancelación, Solicitud de Reserva) por favor especificar también el DestinationId (destino) correspondiente al producto sobre el que se intentó la operación.

Archivos adicionales

Para poder consultar disponibilidad en los hoteles necesitará de códigos de destinos, habitaciones, etc. Estos códigos son provistos por Price Surfer en esta sección.

Tablas de Códigos

Aplicable a Tabla
Hoteles Códigos de Grupos de Servicios e Instalaciones
Hoteles Códigos de Estrellas
Reserva Estados de la Reserva
Hoteles Tipos de Alojamientos
Hoteles Tipos de Descripciones
Destinos Tipos de Destinos
Hoteles Tipos de Estrellas
Reserva Tipos de Gastos de Cancelación
Habitaciones Tipos de Habitaciones
Pasajeros Tipos de Identificadores de Pasajeros
Hoteles Tipos de Imágenes
Reservas Tipos de Localizadores (identificadores) de la Reserva
Pasajeros Tipos de Nombres de Pasajeros
Pasajeros Tipos de Pasajeros
Tarifa Tipos de Pensiones
Hoteles Tipos de Servicios e Instalaciones (Amenities)
Hoteles Tipos de Teléfonos
General Tipos de Email
General Códigos de proveedores
Tarifa Tipos de tarifa

Destinos

Listado de destinos de Price Surfer: