|
|
(No se muestran 238 ediciones intermedias de 7 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 12: |
Línea 21: |
| | | |
| == Implementación == | | == Implementación == |
− | Con este manual usted recibirá de Price Surfer una serie de credenciales de prueba para utilizar durante el proceso de integración del servicio con su aplicación web, usted deberá proveernos además las IP públicas desde las que se conectará al servicio para autorizarlas ya que este validará su IP contra esas credenciales recibidas con cada mensaje. Luego de completada la integración deberá contactarnos nuevamente para solicitar una revisión para la certificación final de su sitio.
| + | 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, |
− | Además de las credenciales provistas junto con los ejemplos de implementación recibirá una descripción de los servicios provistos bajo WADL, el equivalente REST del Lenguaje de Descripción de Web Services (WSDL). Dependiendo el lenguaje con el que implemente la interfaz de integración podrá utilizar esta descripción para generar los mensajes en base a una jerarquía de clases auto-generada. En los ejemplos provistos encontrará implementaciones con Java - XMLBeans. | + | 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. | | 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 24: |
Línea 43: |
| * 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 == |
| | | |
− | == Lista de Mensajes Soportados por el Servicio ==
| + | Los entornos disponibles son: |
| | | |
− | === Búsqueda de Disponibilidad de Hoteles (AvailabilityQueryRQ) ===
| + | * Produccion: https://service.psurfer.net/pricesurfer/ |
− | 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.
| |
− | Recibe AvailabilityQueryRQ, retorna AvailabilityQueryRS.
| |
| | | |
− | === Confirmación de Disponibilidad de una Tarifa obtenida en una Búsqueda Anterior (AvailabilityValidation) ===
| + | * Certificacion: http://service-cert.psurfer.net/pricesurfer/ |
− | Confirma la vigencia de una tarifa provista por una consulta de disponibilidad previa.
| |
− | Recibe AvailabilityQueryRQ, retorna AvailabilityQueryRS.
| |
| | | |
− | === Consulta de Información de un Hotel (AdditionalInfoQuery) ===
| |
− | Consulta la información y detalles para un hotel provisto por el proveedor.
| |
− | Recibe AditionalInfoQueryRQ, retorna AditionalInfoQueryRS.
| |
| | | |
− | === Consulta de Gastos de Cancelación para una o varias Tarifas ó Reservas (CancellationFeesQuery) ===
| + | Las siguientes operaciones están disponibles en la API del servicio, para búsquedas y reservas de Hoteles: |
− | Consulta de condiciones de gastos de cancelación sobre una o más tarifas o reservas reportadas.
| + | * /catalog/products/search |
− | Recibe CancellationFeesQueryRQ , retorna CancellationFeesQueryRS.
| + | * /catalog/product/detail |
| + | * /catalog/product/validate |
| + | * /catalog/product/book |
| + | * /booking/cancellation/fees |
| + | * /booking/detail |
| + | * /booking/cancel |
| | | |
− | === Reserva de Tarifa (BookingProducts) ===
| |
− | Solicitud de reserva para una o varias tarifas de hoteles.
| |
− | Recibe BookingProductsRQ, retorna BookingProductsRS
| |
| | | |
− | === Consulta de Reserva (BookingQuery) ===
| + | Ejemplo de endpoint de busqueda en Entorno de Certificacion: |
− | Consulta de información y detalles sobre una o varias reservas realizadas.
| + | * http://service-cert.psurfer.net/pricesurfer/catalog/products/search |
− | Recibe hotelBookingServiceDetailRQ, retorna hotelBookingServiceDetailRS
| |
| | | |
− | === Cancelación de Reserva (BookingCancellation) ===
| |
− | Solicitud de cancelación de una o varias reservas realizadas.
| |
− | Recibe BookingCancellationRQ, retorna BookingCancellationRS.
| |
| | | |
− | == Escenario básico de una operación de reserva ==
| + | Todas las operaciones tienen un POST con el siguiente esquema: |
| | | |
− | [[Archivo:bookingwikijpg1_v1.jpg]]
| + | '''POST''' |
| | | |
− | == Especificación de documentos XML ==
| + | '''Request Body''' |
| + | :media types: |
| + | ::''application/xml'' |
| | | |
− | === Búsqueda de Disponibilidad de Hoteles (AvailabilityQuery) ===
| + | '''Response Body''' |
| + | :media types: |
| + | ::''application/xml'' |
| | | |
− | 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: AvailabilityQueryRQ
| + | ---- |
| | | |
− | Response: AvailabilityQueryRS
| + | 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. |
| | | |
− | Ejemplo de uso:
| + | Por ejemplo, en linux desde la consola con bash podemos probar la conexión y los parámetros necesarios haciendo: |
| | | |
− | *** Solicitud:
| |
− | <syntaxhighlight lang="xml">
| |
− | <AvailabilityQueryRQ TransactionId="da9a0fcc_7bd9_48f9_8386_4079a7a6c66c" TransactionMode="Synchronous">
| |
− | <GeneralParameters>
| |
− | <PreferedLanguage LanguageCode="es"/>
| |
− | <PreferedCurrency CurrencyCode="ARS"/>
| |
− | </GeneralParameters>
| |
− | <Trips ItemsCount="2">
| |
− | <Trip Sequence="1">
| |
− | <Destination>2757</Destination>
| |
− | <ProductsParameters>
| |
− | <HotelsParameters>
| |
− | <Criterion>
| |
− | <Rooms ItemsCount="2">
| |
− | <Room RoomType="NMO.HTL.RMT.SGL" Sequence="1"/>
| |
− | </Rooms>
| |
− | <CheckIn>2013-12-20</CheckIn>
| |
− | <CheckOut>2013-12-22</CheckOut>
| |
− | </Criterion>
| |
− | </HotelsParameters>
| |
− | </ProductsParameters>
| |
− | </Trip>
| |
− | </Trips>
| |
− | <Passengers ItemsCount="1">
| |
− | <Passenger AgeType="NMO.GBL.AGT.ADT" Sequence="1" RoomSequence="1"/>
| |
− | </Passengers>
| |
− | </AvailabilityQueryRQ>
| |
− | </syntaxhighlight>
| |
| | | |
− | FALTA COD HOTEL EN CRITERION --> ver HCEVAvailabilityRequestProcessorImpl
| + | <code> |
| + | 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" |
| + | </code> |
| | | |
− | {| class="wikitable sortable"
| + | Esto conectará al Web Service y hará un pedido de disponibilidad de productos. |
− | |-
| |
− | ! Parámetro !! Obligatorio !! Descripción
| |
− | |-
| |
− | | GeneralParameters || Si ||
| |
− | |-
| |
− | | PreferedLanguage || Si || Establece el lenguaje requerido para la respuesta.
| |
| | | |
− | Atributos:
| + | Deberá existir el archivo AvailabilityQueryRQ.xml que contendrá un xml como por ejemplo el presentado más abajo. |
| | | |
− | LanguageCode: Código de lenguaje correspondiente a los códigos de lenguaje estándar provistos por Nemo.
| + | La respuesta se guardará en el archivo result.xml. |
− | |-
| |
− | | PreferedCurrency || Si || Establece la moneda requerida para la respuesta.
| |
| | | |
− | Atributos:
| + | 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. |
| | | |
− | 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 entrada de la estadía.
| |
− | |-
| |
− | | CheckOut || Si || Fecha de salida de la estadía
| |
− | |-
| |
− | | Rooms || Si || Información sobre las habitaciones solicitadas.
| |
− | |-
| |
− | | Room || Si || Identifica una habitación en los parámetros de la búsqueda.
| |
| | | |
− | Atributos:
| + | 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> |
| | | |
− | RoomType: Tipo de habitación. Los tipos de habitación admitidos corresponden a los provistos por Nemo.
| |
− | |-
| |
− | | Passenger || Si || Establece los pasajeros para la búsqueda realizada. El atributo AgeType indica el tipo de pasajero de acuerdo a la edad, dentro de los provistos por Nemo (chl, adt, inf).
| |
− | |-
| |
− | | PersonNames || No ||
| |
− | |-
| |
− | | PersonName || Si || Nombres de la persona. Cada elemento PersonName tiene tipo y secuencia lo que permite construir los nombres con N cantidad de elementos y siguiendo cualquier orden según las distintas culturas.
| |
− | |-
| |
− | | NameType || No || Tipo de nombre (primer nombre, segundo nombre, apellido).
| |
− | |-
| |
− | | BirthDate || No || Fecha de nacimiento.
| |
− | |-
| |
− | |}
| |
| | | |
− | *** Respuesta:
| + | === Flujo de Mensajes para la correcta implementación del Servicio === |
− | <syntaxhighlight lang="xml">
| |
− | <AvailabilityQueryRS TransactionId="da9a0fcc_7bd9_48f9_8386_4079a7a6c66c" TransactionMode="Synchronous">
| |
− | <Echo TransactionId="da9a0fcc_7bd9_48f9_8386_4079a7a6c66c" TransactionMode="Synchronous">
| |
− | <GeneralParameters>
| |
− | <PreferedLanguage LanguageCode="es"/>
| |
− | <PreferedCurrency CurrencyCode="ARS"/>
| |
− | </GeneralParameters>
| |
− | <Trips ItemsCount="2">
| |
− | <Trip Sequence="1">
| |
− | <Destination>2757</Destination>
| |
− | <ProductsParameters>
| |
− | <HotelsParameters>
| |
− | <Criterion>
| |
− | <Rooms ItemsCount="2">
| |
− | <Room RoomType="NMO.HTL.RMT.SGL" Sequence="1"/>
| |
− | </Rooms>
| |
− | <CheckIn>2013-12-20</CheckIn>
| |
− | <CheckOut>2013-12-22</CheckOut>
| |
− | </Criterion>
| |
− | </HotelsParameters>
| |
− | </ProductsParameters>
| |
− | </Trip>
| |
− | </Trips>
| |
− | <Passengers ItemsCount="1">
| |
− | <Passenger AgeType="NMO.GBL.AGT.ADT" Sequence="1" RoomSequence="1"/>
| |
− | </Passengers>
| |
− | </Echo>
| |
− | <Details>
| |
− | <Trips ItemsCount="1">
| |
− | <Trip Sequence="1">
| |
− | <HotelsAvailability>
| |
− | <Responset>
| |
− | <Pagination>
| |
− | <CurrentPage>1</CurrentPage>
| |
− | <ItemPerPage>2</ItemPerPage>
| |
− | <TotalItems>2</TotalItems>
| |
− | </Pagination>
| |
− | </Responset>
| |
− | <Summary>
| |
− | <Locations ItemsCount="2">
| |
− | <Location Sequence="1" LocationCode="G1000">General</Location>
| |
− | <Location Sequence="2" LocationCode="G8">Area suburbana</Location>
| |
− | </Locations>
| |
− | </Summary>
| |
− | <Hotels ItemsCount="2">
| |
− | <Hotel Code="7590" Name="Days Hotel London North" Featured="false" SupplierID="MIK"
| |
− | Longitude="-0.26438" Latitude="51.634681" Sequence="1">
| |
− | <Amenities>
| |
− | <Amenity Code="14" GroupCode="NMO.HTL.AMT.HTL" Sequence="1"/>
| |
− | <Amenity Code="5" GroupCode="NMO.HTL.AMT.FCL" Sequence="2"/>
| |
− | <Amenity Code="32" GroupCode="NMO.HTL.AMT.HTL" Sequence="3"/>
| |
− | <Amenity Code="7" GroupCode="NMO.HTL.AMT.FCL" Sequence="4"/>
| |
− | <Amenity Code="18" GroupCode="NMO.HTL.AMT.FCL" Sequence="5"/>
| |
− | <Amenity Code="117" GroupCode="NMO.HTL.AMT.HTL" Sequence="6"/>
| |
− | <Amenity Code="4" GroupCode="NMO.HTL.AMT.HTR" Sequence="7"/>
| |
− | <Amenity Code="34" GroupCode="NMO.HTL.AMT.HTR" Sequence="8"/>
| |
− | <Amenity Code="237" GroupCode="NMO.HTL.AMT.HTR" Sequence="9"/>
| |
− | <Amenity Code="8" GroupCode="NMO.HTL.AMT.HTR" Sequence="10"/>
| |
− | </Amenities>
| |
− | <DestinationDetails ItemsCount="4">
| |
− | <Destination Code="2757" Type="NMO.HTL.DST.CTY" Sequence="1"/>
| |
− | <Destination Code="143" Type="NMO.HTL.DST.CTR" Sequence="2"/>
| |
− | <Destination Code="12" Type="NMO.HTL.DST.CNT" Sequence="3"/>
| |
− | <Destination Code="1" Type="NMO.HTL.DST.ALL" Sequence="4"/>
| |
− | </DestinationDetails>
| |
− | <Rates ItemsCount="1">
| |
− | <Rate Offer="false" RateID="3727c45dbdafe53764a781ea39d8bd28#0" Sequence="1"
| |
− | TripProductID="fef501f1-962d-40e8-84eb-42373a0e343f">
| |
− | <Rooms>
| |
− | <Room Availability="CNF" Sequence="1" Type="SGL">Simple</Room>
| |
− | </Rooms>
| |
− | <Boards ItemsCount="1">
| |
− | <Board Sequence="1" Type="Basis" Code="60">Desayuno incluido</Board>
| |
− | </Boards>
| |
− | <RatePrices ItemsCount="1">
| |
− | <RatePrice Sequence="1" Type="NMO.GBL.RPT.GRS">389.82</RatePrice>
| |
− | </RatePrices>
| |
− | </Rate>
| |
− | </Rates>
| |
− | <Rating Code="NMO.HTL.RTN.4ST" Type="NMO.HTL.RTT.STR">
| |
− | <Value>3.0</Value>
| |
− | </Rating>
| |
− | <Address>
| |
− | <Line Sequence="1">London Gateway, Services</Line>
| |
− | <Line Sequence="2">London</Line>
| |
− | <Line Sequence="3">U.k.</Line>
| |
− | </Address>
| |
− | <LocationDetails>
| |
− | <Location Sequence="1" LocationCode="G8">Area suburbana</Location>
| |
− | </LocationDetails>
| |
− | <ImageLinks>
| |
− | <ImageLink Sequence="1">
| |
− | <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Exterior view</ImageDescription>
| |
− | <ImageHeight UnitOfMeasureCode="9">46.0</ImageHeight>
| |
− | <ImageWidth UnitOfMeasureCode="9">70.0</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.0</ImageHeight>
| |
− | <ImageWidth UnitOfMeasureCode="9">70.0</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.0</ImageHeight>
| |
− | <ImageWidth UnitOfMeasureCode="9">70.0</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.0</ImageHeight>
| |
− | <ImageWidth UnitOfMeasureCode="9">70.0</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.0</ImageHeight>
| |
− | <ImageWidth UnitOfMeasureCode="9">70.0</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.0</ImageHeight>
| |
− | <ImageWidth UnitOfMeasureCode="9">70.0</ImageWidth>
| |
− | <ImageURL>F/5/F577413868BD10E0413F903462BFEA4B.jpg</ImageURL>
| |
− | <ThumbnailURL>4/9/491197FA9F74F1DE30FB7D0FBBE29348.jpg</ThumbnailURL>
| |
− | </ImageLink>
| |
− | </ImageLinks>
| |
− | </Hotel>
| |
− | <Hotel Code="173240" Name="Cranley" Featured="false" SupplierID="MIK"
| |
− | Longitude="-86.751351" Latitude="21.138497" Sequence="2">
| |
− | <Amenities>
| |
− | <Amenity Code="52" GroupCode="NMO.HTL.AMT.HTL" Sequence="1"/>
| |
− | <Amenity Code="7" GroupCode="NMO.HTL.AMT.FCL" Sequence="2"/>
| |
− | <Amenity Code="1" GroupCode="NMO.HTL.AMT.FCL" Sequence="3"/>
| |
− | </Amenities>
| |
− | <DestinationDetails ItemsCount="4">
| |
− | <Destination Code="2757" Type="NMO.HTL.DST.CTY" Sequence="1"/>
| |
− | <Destination Code="143" Type="NMO.HTL.DST.CTR" Sequence="2"/>
| |
− | <Destination Code="12" Type="NMO.HTL.DST.CNT" Sequence="3"/>
| |
− | <Destination Code="1" Type="NMO.HTL.DST.ALL" Sequence="4"/>
| |
− | </DestinationDetails>
| |
− | <Rates ItemsCount="1">
| |
− | <Rate Offer="false" RateID="3727c45dbdafe53764a781ea39d8bd28#16" Sequence="1"
| |
− | TripProductID="23dfd49b-3239-42f6-8b24-1a2ee5301098">
| |
− | <Rooms>
| |
− | <Room Availability="CNF" Sequence="1" Type="SGL">Simple</Room>
| |
− | </Rooms>
| |
− | <Boards ItemsCount="1">
| |
− | <Board Sequence="1" Type="Basis" Code="97">Desayuno Buffet Continental</Board>
| |
− | </Boards>
| |
− | <RatePrices ItemsCount="1">
| |
− | <RatePrice Sequence="1" Type="NMO.GBL.RPT.GRS">1987.6</RatePrice>
| |
− | </RatePrices>
| |
− | </Rate>
| |
− | </Rates>
| |
− | <Rating Code="NMO.HTL.RTN.5ST" Type="NMO.HTL.RTT.STR">
| |
− | <Value>4.0</Value>
| |
− | </Rating>
| |
− | <Address>
| |
− | <Line Sequence="1">10-12 Bina Gardens</Line>
| |
− | <Line Sequence="2">London</Line>
| |
− | <Line Sequence="3">United Kingdom</Line>
| |
− | </Address>
| |
− | <LocationDetails>
| |
− | <Location Sequence="1" LocationCode="G1000">General</Location>
| |
− | </LocationDetails>
| |
− | </Hotel>
| |
− | </Hotels>
| |
− | </HotelsAvailability>
| |
− | </Trip>
| |
− | </Trips>
| |
− | <Passengers ItemsCount="1">
| |
− | <Passenger AgeType="NMO.GBL.AGT.ADT" Sequence="1" RoomSequence="1"/>
| |
− | </Passengers>
| |
− | </Details>
| |
− | </AvailabilityQueryRS>
| |
− | </syntaxhighlight>
| |
| | | |
| + | [[Archivo:Flujo.jpg|722px]] |
| | | |
| | | |
− | {| class="wikitable sortable"
| + | <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> |
− | |-
| |
− | ! 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:
| + | 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. |
| | | |
− | SupplerID: Id del proveedor
| + | == Lista de Mensajes XML por cada Operación == |
| | | |
− | Code: código del hotel, de los provistos por Nemo.
| + | Están disponibles los esquemas XSD de PriceSurfer: http://wiki.psurfer.net/resources/pscev-schema.zip |
| | | |
− | Name: nombre del hotel
| + | Documentación online: http://wiki.psurfer.net/resources/PSCEV-doc/pscev.html |
| | | |
− | Longitude y Latitude (opcionales): coordenadas para la ubicación del hotel en un mapa.
| + | 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] |
− | |-
| |
− | | 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.
| |
| | | |
− | Se agregó el nodo ResponsetFilters:
| |
| | | |
− | * PriceRange: Rango de precio de las tarifas
| + | '''Mensajes xml:''' |
| | | |
− | * HotelRatings: Rango de categoría de hotel | + | * ''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] |
| | | |
− | * HotelName
| + | 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. |
− | |-
| |
− | | Exceptions || Si || Si no se puede armar el nodo Details se arma un nodo Exceptions con las notificaciones correspondientes.
| |
− | |}
| |
| | | |
− | === Consulta de Información de un Hotel (AdditionalInfoQuery) ===
| |
| | | |
− | Mensaje que permite consultar la información detallada de un hotel. La información a devolver será la obtenida de los respectivos proveedores.
| + | * ''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] |
| | | |
− | Request: AdditionalInfoQueryRQ
| + | Consulta de Información de un Hotel: Consulta la información y detalles de los hoteles provistos por el proveedor. |
| | | |
− | Response: AdditionalInfoQueryRS
| |
| | | |
− | Ejemplo de uso:
| + | * ''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] |
| | | |
− | *** Solicitud:
| + | 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. |
− | <syntaxhighlight lang="xml">
| |
− | <AdditionalInfoQueryRQ>
| |
− | <GeneralParameters>
| |
− | <PreferedLanguage LanguageCode="es"/>
| |
− | <PreferedCurrency CurrencyCode="ARS"/>
| |
− | </GeneralParameters>
| |
− | <Products>
| |
− | <Hotels ItemsCount="1">
| |
− | <Hotel Sequence="1" TripProductID="fef501f1-962d-40e8-84eb-42373a0e343f"/>
| |
− | </Hotels>
| |
− | </Products>
| |
− | </AdditionalInfoQueryRQ>
| |
− | </syntaxhighlight>
| |
| | | |
| | | |
− | {| class="wikitable sortable"
| + | * ''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] |
− | |-
| |
− | ! 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.
| + | Consulta de Gastos de Cancelación para una Tarifa ó Reserva: Consulta de condiciones de gastos de cancelación sobre una tarifa o reserva reportada. |
− | |-
| |
− | |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.
| + | * ''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] |
− | |-
| |
− | |Hotels || No ||
| |
− | |-
| |
− | |Hotel || Si || Se envía el id del hotel a consultar mediante el atributo TripProductID.
| |
− | |}
| |
| | | |
| + | Reserva de Tarifa: Solicitud de reserva para una tarifa de hotel. |
| | | |
− | *** Respuesta:
| |
− | <syntaxhighlight lang="xml">
| |
− | <AdditionalInfoQueryRS>
| |
− | <Details>
| |
− | <Products>
| |
− | <Hotels>
| |
− | <Hotel HotelCode="7590" SupplierID="MIK" Sequence="1" xmlns:ns="http://www.nemogroup.net/hcev/2008/04">
| |
− | <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>
| |
− | <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>
| |
− | <LocationDetails ItemsCount="1">
| |
− | <Location Sequence="1" LocationCode="G8">Area suburbana</Location>
| |
− | </LocationDetails>
| |
− | </Hotel>
| |
− | </Hotels>
| |
− | </Products>
| |
− | </Details>
| |
− | </AdditionalInfoQueryRS>
| |
− | </syntaxhighlight>
| |
| | | |
| + | * ''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] |
| | | |
| + | 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. |
| | | |
− | {| 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.
| |
− | |-
| |
− | | 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:
| + | * ''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] |
| | | |
− | HotelCode: Código del hotel de los provistos por Nemo.
| + | Cancelación de Reserva: Solicitud de cancelación de una reserva realizada. |
| | | |
− | SupplierID: Código del proveedor correspondiente a los códigos de proveedor estándar provistos por Nemo.
| + | == Especificación de documentos XML == |
− | |-
| |
− | | HotelName || Si || Nombre del hotel.
| |
− | |-
| |
− | | AccomodationType || No || Indica si es hotel, hostel, camping, etc.
| |
− | |-
| |
− | | HotelDescriptions || No ||
| |
− | |-
| |
− | | HotelDescription || No || Descripción del hotel.
| |
| | | |
− | Atributos:
| + | === Búsqueda de Disponibilidad de Hoteles (AvailabilityQuery) === |
| + | [[API Reference: Búsqueda de Disponibilidad de Hoteles]] |
| | | |
− | HotelDescriptionType: Tipo de descripción correspondiente a los tipos de descripción estándar provistos.
| + | === Consulta de Información de un Hotel (AdditionalInfoQuery) === |
− | |-
| |
− | | 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:
| + | [[API Reference: Consulta de Información de un Hotel]] |
− | | |
− | 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:
| |
− | | |
− | DestinationType: Tipo de destino(continente, país, región/provincia/estado, ciudad) correspondiente a los tipos de destino estándar provistos.
| |
− | | |
− | DestinationCode: Código de destino correspondiente a los códigos de destino estándar provistos.
| |
− | |-
| |
− | | 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
| |
− | |-
| |
− | | 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) === | | === 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
| + | [[API Reference: Confirmación de Disponibilidad de una Tarifa]] |
| | | |
− | Response: AvailabilityQueryRS
| + | === Consulta de Gastos de Cancelación para una Tarifa ó Reserva (CancellationFeesQuery) === |
| | | |
− | Ejemplo de uso:
| + | Operación exclusiva para Hoteles. Devuelve las condiciones de gastos de cancelación para una Tarifa ó una Reserva. |
| | | |
− | *** Solicitud:
| + | Request: CancellationFeesQueryRQ ([http://wiki.psurfer.net/resources/PSCEV-doc/pscev_CancellationFeesQueryRQ.html Estructura del Documento]) |
− | <syntaxhighlight lang="xml">
| |
− | <AvailabilityValidationRQ>
| |
− | <GeneralParameters>
| |
− | <PreferedLanguage LanguageCode="es"/>
| |
− | <PreferedCurrency CurrencyCode="ARS"/>
| |
− | </GeneralParameters>
| |
− | <Products>
| |
− | <Hotels ItemsCount="1">
| |
− | <Hotel Sequence="1" TripProductID="fef501f1-962d-40e8-84eb-42373a0e343f"/>
| |
− | </Hotels>
| |
− | </Products>
| |
− | </AvailabilityValidationRQ>
| |
− | </syntaxhighlight>
| |
| | | |
| + | Response: CancellationFeesQueryRS ([http://wiki.psurfer.net/resources/PSCEV-doc/pscev_CancellationFeesQueryRS.html Estructura del Documento]) |
| | | |
− | {| class="wikitable sortable"
| + | '''Se pueden consultar de dos formas:''' |
− | |-
| |
− | ! Parámetro !! Obligatorio !! Descripción
| |
− | |-
| |
− | | GeneralParameters || Si ||
| |
− | |-
| |
− | | PreferedLanguage || Si || Establece el lenguaje requerido para la respuesta.
| |
| | | |
− | Atributos:
| + | * [[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]] |
| | | |
− | LanguageCode: Código de lenguaje correspondiente a los códigos de lenguaje estándar provistos por Nemo.
| + | === Reserva de Tarifa (BookingProducts) === |
− | |-
| |
− | | PreferedCurrency || Si || Establece la moneda requerida para la respuesta.
| |
| | | |
− | Atributos:
| + | Solicitud de reserva para una tarifa. |
| | | |
− | CurrencyCode: Código de moneda correspondiente a los códigos de moneda estándar provistos.
| + | Request: BookingProductsRQ ([http://wiki.psurfer.net/resources/PSCEV-doc/pscev_BookingProductsRQ.html Estructura del Documento]) |
− | |-
| |
− | | Hotels || No ||
| |
− | |-
| |
− | | Hotel || Si || Se envía el id del hotel a consultar mediante el atributo TripProductID.
| |
− | |}
| |
| | | |
| + | Response: BookingProductsRS ([http://wiki.psurfer.net/resources/PSCEV-doc/pscev_BookingProductsRS.html Estructura del Documento]) |
| | | |
− | *** Respuesta:
| + | Detalles y ejemplos: |
− | <syntaxhighlight lang="xml">
| + | [[API Reference: Reserva de una Tarifa - Hoteles|Reserva de una Tarifa - Hoteles]] |
− | <AvailabilityValidationRS>
| |
− | <Details>
| |
− | <Products>
| |
− | <Hotels ItemsCount="1">
| |
− | <Rate RateID="3727c45dbdafe53764a781ea39d8bd28#0" Sequence="1" HotelCode="7590" SupplierId="MIK"
| |
− | TripProductID="fef501f1-962d-40e8-84eb-42373a0e343f">
| |
− | <Rooms ItemsCount="1">
| |
− | <Room Sequence="1" Type="NMO.HTL.RMT.SGL" Availability="NMO.HTL.AVB.CNF" RoomDescription="Simple">
| |
− | <Occupancy>
| |
− | <Guests ItemsCount="1">
| |
− | <Guest Sequence="1" PassengerSequence="1"/>
| |
− | </Guests>
| |
− | </Occupancy>
| |
− | </Room>
| |
− | </Rooms>
| |
− | <Boards ItemsCount="1">
| |
− | <Board Sequence="1" Code="60" Type="BreakfastDescription">Desayuno incluido</Board>
| |
− | </Boards>
| |
− | <RatePrices ItemsCount="3">
| |
− | <RatePrice Currency="ARS" Sequence="1" Type="NMO.HTL.RPT.NET">389.81860737273263</RatePrice>
| |
− | <RatePrice Currency="EUR" Sequence="2" Type="NMO.HTL.RPT.NBC">66.62</RatePrice>
| |
− | <RatePrice Currency="ARS" Sequence="3" Type="NMO.GBL.RPT.GRS">389.81860737273263</RatePrice>
| |
− | </RatePrices>
| |
− | <Passengers ItemsCount="1">
| |
− | <Passenger Sequence="1" AgeType="NMO.GBL.AGT.ADT"/>
| |
− | </Passengers>
| |
− | <Destinations ItemsCount="1">
| |
− | <Destination Sequence="1" DestinationType="NMO.HTL.DST.CTY" DestinationCode="2757"/>
| |
− | </Destinations>
| |
− | <Rating Code="NMO.HTL.RTN.3ST" Type="NMO.HTL.RTT.STR">
| |
− | <Value>3.0</Value>
| |
− | <Description>3 Estrellas</Description>
| |
− | </Rating>
| |
− | <CheckIn>2013-12-20</CheckIn>
| |
− | <CheckOut>2013-12-22</CheckOut>
| |
− | </Rate>
| |
− | </Hotels>
| |
− | </Products>
| |
− | </Details>
| |
− | </AvailabilityValidationRS>
| |
− | </syntaxhighlight>
| |
| | | |
| + | === Cancelación de Reserva (BookingCancellation) === |
| | | |
| + | Solicitud de cancelación de una reserva confirmada. |
| | | |
− | {| 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.
| |
− | |-
| |
− | | 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:
| + | Request: BookingCancellationRQ ([http://wiki.psurfer.net/resources/PSCEV-doc/pscev_BookingCancellationRQ.html Estructura del Documento]) |
| | | |
− | TripProductId: identificador del producto.
| + | Response: BookingCancellationRS ([http://wiki.psurfer.net/resources/PSCEV-doc/pscev_BookingCancellationRS.html Estructura del Documento]) |
| | | |
− | Offer: indica si es una oferta.
| + | Detalles y ejemplos: |
| + | [[API Reference: Cancelación de una Reserva - Hoteles|Cancelación de una Reserva - Hoteles]] |
| | | |
− | Featured: indica si es un producto recomendado.
| + | === Consulta de Reserva (BookingQuery) === |
− | |-
| |
− | | Rooms || No || Información sobre las habitaciones.
| |
− | |-
| |
− | | Room || Si || Identifica una habitación en los parámetros de la búsqueda.
| |
| | | |
− | Atributos:
| + | Consulta de información y detalles sobre una reserva. |
| | | |
− | Type: tipo de habitación.
| + | Request: BookingQueryRQ ([http://wiki.psurfer.net/resources/PSCEV-doc/pscev_BookingQueryRQ.html Estructura del Documento]) |
| | | |
− | Availability: indica la disponibilidad de la habitación.
| + | Response: BookingQueryRS ([http://wiki.psurfer.net/resources/PSCEV-doc/pscev_BookingQueryRS.html Estructura del Documento]) |
− | |-
| |
− | | Occupancy || Si || Se informa la distribución de pasajeros en la habitación.
| |
− | |-
| |
− | | Guests || Si || Lista de huespedes de la habitación con su información.
| |
− | |-
| |
− | | Boards || No ||
| |
− | |-
| |
− | | Board || Si || Regímenes asociados a la habitación.
| |
| | | |
− | Atributos:
| + | Detalles y ejemplos: |
| + | [[API Reference: Consulta de una Reserva - Hoteles|Consulta de una Reserva - Hoteles]] |
| | | |
− | Type: Tipo de régimen correspondiente a los tipos de régimen estándar provistos por Nemo.
| + | == Lenguaje de Descripción de la Aplicación Web (WADL) == |
| | | |
− | Code: Código del régimen correspondiente a los códigos de régimen estándar provistos.
| + | 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. |
− | |-
| |
− | | RatePrices || No || Se informan las tarifas de la habitación.
| |
− | |-
| |
− | | Passengers || Si || Pajeros incluidos en la tarifa hotelera.
| |
− | |-
| |
− | | Fares || Si || Datos de tarifas
| |
− | |-
| |
− | | FareType || No || Tipo de tarifas, ej. Tarifa web, precio de agencia
| |
− | |-
| |
− | | Prices || Si || Precios, con valor y moneda
| |
− | |}
| |
| | | |
− | === Consulta de Gastos de Cancelación para una o varias Tarifas ó Reservas (CancellationFeesQuery) ===
| + | En Produccion -> https://service.psurfer.net/pricesurfer/application.wadl |
| | | |
− | Consulta de condiciones de gastos de cancelación sobre una o más tarifas o reservas reportadas.
| + | En Staging -> http://service-cert.psurfer.net/pricesurfer/application.wadl |
| | | |
| + | = Especificaciones y recomendaciones = |
| | | |
− | Request: CancellationFeesQueryRQ
| + | == Administracion de los TripProductIDs == |
| | | |
− | Response: CancellationFeesQueryRS
| + | 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: |
| | | |
− | Ejemplo de uso:
| + | 1- En el mensaje AvailabilityValidationRQ (Validación de Tarifa) utilizar el TripProductID que se responde en el AvailabilityQueryRS (respuesta de la Búsqueda) |
| | | |
− | *** Solicitud:
| + | 2- En el mensaje CancellationFeesQueryRQ (Politica de Gastos) utilizar el TripProductID que se responde en el AvailabilityValidationRS (respuesta de Validación de Tarifas) |
− | <syntaxhighlight lang="xml">
| |
− | <CancellationFeesQueryRQ>
| |
− | <GeneralParameters>
| |
− | <PreferedLanguage LanguageCode="es"/>
| |
− | <PreferedCurrency CurrencyCode="ARS"/>
| |
− | </GeneralParameters>
| |
− | <Products>
| |
− | <Hotels ItemsCount="1">
| |
− | <Hotel Sequence="1" TripProductID="fef501f1-962d-40e8-84eb-42373a0e343f"/>
| |
− | </Hotels>
| |
− | </Products>
| |
− | </CancellationFeesQueryRQ>
| |
− | </syntaxhighlight>
| |
| | | |
| + | 3- En el mensaje BookingProductsRQ (Reserva) utiliza el TripProductID que se responde en el CancellationFeesQueryRS (respuesta de Política de Cancelación) |
| | | |
− | {| class="wikitable sortable"
| + | == Autorización y otras cabeceras necesarias == |
− | |-
| |
− | ! Parámetro !! Obligatorio !! Descripción
| |
− | |-
| |
− | | GeneralParameters || Si ||
| |
− | |-
| |
− | | PreferedLanguage || Si || Establece el lenguaje requerido para la respuesta.
| |
| | | |
− | Atributos:
| + | 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. |
| | | |
− | LanguageCode: Código de lenguaje correspondiente a los códigos de lenguaje estándar provistos por Nemo.
| + | Además de la cabecera para la autorización deben enviarse las cabeceras estandars |
− | |-
| + | * '''Accept''' con valor '''''application/xml''''' |
− | | PreferedCurrency || Si || Establece la moneda requerida para la respuesta.
| + | * '''Accept-Encoding''' con valor '''''gzip,deflate''''' (solicitar la compresión de la respuesta para acelerar el tiempo de llegada de la misma) |
| | | |
− | Atributos:
| + | == Ejemplo de cabecera == |
| | | |
− | - CurrencyCode: Código de moneda correspondiente a los códigos de moneda estándar provistos.
| + | * Solicitud (entorno de Cert) |
− | |-
| |
− | | Products || Si ||
| |
− | |-
| |
− | | Hotels || No ||
| |
− | |-
| |
− | | Hotel || Si || Atributos:
| |
| | | |
− | - TripProductId: Identificador del producto | + | POST http://service-cert.psurfer.net/pricesurfer/catalog/products/search HTTP/1.1 |
− | |}
| |
| | | |
| + | Accept-Encoding: gzip,deflate |
| | | |
− | *** Respuesta:
| + | Accept: application/xml |
− | <syntaxhighlight lang="xml">
| |
− | <CancellationFeesQueryRS>
| |
− | <Details>
| |
− | <Products>
| |
− | <Hotels ItemsCount="1">
| |
− | <Hotel Sequence="1" HotelCode="7590" SupplierID="MIK">
| |
− | <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</CheckIn>
| |
− | <CheckOut>2013-12-22</CheckOut>
| |
− | <Rate RateID="3727c45dbdafe53764a781ea39d8bd28#0" TripProductID="fef501f1-962d-40e8-84eb-42373a0e343f">
| |
− | <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"/>
| |
− | </Passengers>
| |
− | </Occupancy>
| |
− | <Availability AvailabilityCode="NMO.HTL.AVB.CNF">Confirmación Inmediata</Availability>
| |
− | </Room>
| |
− | </Rooms>
| |
− | <Boards ItemsCount="1">
| |
− | <Board Sequence="1" BoardType="BreakfastDescription" BoardCode="60" AppliableDays="A">Desayuno incluido</Board>
| |
− | </Boards>
| |
− | <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>
| |
− | <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>
| |
− | </Hotel>
| |
− | </Hotels>
| |
− | </Products>
| |
− | </Details>
| |
− | </CancellationFeesQueryRS>
| |
− | </syntaxhighlight>
| |
| | | |
| + | Content-Type: application/xml |
| | | |
| + | X-PS-AUTHTOKEN: 981d284d_bc57_c429_91b9_178fg07f78f0 |
| | | |
− | {| class="wikitable sortable"
| + | Content-Length: 770 |
− | |-
| |
− | ! 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:
| + | Host: http://service-cert.psurfer.net |
| | | |
− | HotelDescriptionType: Tipo de descripción correspondiente a los tipos de descripción estándar provistos por Nemo.
| + | Connection: Keep-Alive |
− | |-
| |
− | | LocationDetails || No ||
| |
− | |-
| |
− | | Location || No || Descripción del área en la que se localiza el hotel.
| |
| | | |
− | Atributos:
| + | User-Agent: Apache-HttpClient/4.1.1 (java 1.5) |
| | | |
− | LocationCode: Código de área provisto por el proveedor.
| |
− | |-
| |
− | | Amenities || No ||
| |
− | |-
| |
− | | Amenity || No || Código de amenidad admitido.
| |
| | | |
− | Atributos:
| + | * Respuesta |
| | | |
− | AmenityGroupCode: Tipo de amenidad. Los tipos de amenidad admitidos corresponden a los provistos por Nemo.
| + | HTTP/1.1 200 OK |
| | | |
− | AmenityCode: Código de amenidad. Los códigos de amenidad admitidos corresponden a los provistos.
| + | X-Powered-By: Servlet/3.0 |
− | |-
| |
− | | 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:
| + | Server: GlassFish Server Open Source Edition 3.0.1 |
| | | |
− | HotelRatingCode: código de la categoría correspondiente a los códigos de categoría estándar provistos por Nemo.
| + | Content-Type: application/xml |
| | | |
− | HotelRatingType: Tipo de la categoría correspondiente a los tipos de categoría estándar provistos por Nemo.
| + | Transfer-Encoding: chunked |
− | |-
| |
− | | 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.
| + | Content-Encoding: gzip |
− | |-
| |
− | | DisplayOrder || No || Orden del la imagen.
| |
− | |-
| |
− | | ImageURL || Si || URL de la imagen
| |
− | |-
| |
− | | DestinationDetails || Si || Atributos:
| |
| | | |
− | DestinationType: tipo de destino de los provistos por Nemo.
| + | Vary: Accept-Encoding |
| | | |
− | Destination Code: código del destino a buscar, de los provistos por Nemo.
| + | Date: Wed, 31 Jul 2013 10:39:32 GMT |
− | |-
| |
− | | 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:
| + | == TransactionMode == |
| | | |
− | AgeType: tipo de pasajero (chl, inf, adt).
| + | Solo es posible usar el modo Sincrónico: |
| | | |
− | Sequence: Este dato será asociado al PassengerSequence del nodo Guest en hoteles.
| + | TransactionMode="Synchronous" |
− | |-
| |
− | | 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:
| + | 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. |
| | | |
− | - ChargeType, tipo de cargo (Ej. NMO.HTL.CHT.CAN cancelación, NMO.HTL.CHT.AMD Modificación)
| + | Si algún proveedor supera el tiempo máximo permitido (timeout configurado por nosotros) no se devolverán resultados del mismo. |
− | |-
| |
− | | 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:
| + | 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. |
| | | |
− | - RatePriceType, tipo de precio
| + | Aconsejamos ajustar el timeout en un tiempo no muy corto para no tener falta de tarifas. |
− | |}
| |
| | | |
− | === Reserva de Tarifa (BookingProducts) ===
| + | Contemplar las restricciones generales en la cantidad de peticiones de como máximo 10 peticiones cada 10 segundos. |
| | | |
− | Solicitud de reserva para una o varias tarifas de hoteles.
| + | == 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 == |
| | | |
− | Request: BookingProductsRQ
| + | * Recomendamos que tengan su propia librería de íconos para las amenities. |
| + | * Para URL de las imágenes de los hoteles deben usar: |
| | | |
− | Response: BookingProductsRS
| + | '''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) |
| | | |
− | Ejemplo de uso:
| + | '''Para el entorno de PRODUCCIÓN:''' |
| + | * http://psurfer-img.net/imagecache-prod/full/ (para las fotos en tamaño original) |
| + | * http://psurfer-img.net/imagecache-prod/thumbnails/ (para las imágenes en miniatura) |
| | | |
− | *** Solicitud:
| + | '''Importante:''' |
− | <syntaxhighlight lang="xml">
| + | * Las imágenes también están disponibles a través de una URL segura (indicar el protocolo '''''https''''' en lugar de ''http'') |
− | <BookingProductsRQ>
| + | * 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. |
− | <GeneralParameters>
| + | Ejemplo: |
− | <PreferedLanguage LanguageCode="es"/>
| |
− | <PreferedCurrency CurrencyCode="ARS"/>
| |
− | </GeneralParameters>
| |
− | <Products>
| |
− | <Hotels ItemsCount="2">
| |
− | <Hotel Sequence="1" TripProductID="fef501f1-962d-40e8-84eb-42373a0e343f">
| |
− | <Rooms ItemsCount="1">
| |
− | <Room Sequence="1" RoomType="NMO.HTL.RMT.SGL">
| |
− | <Guests ItemsCount="1">
| |
− | <Guest Sequence="1" PassengerSequence="1"/>
| |
− | </Guests>
| |
− | </Room>
| |
− | </Rooms>
| |
− | </Hotel>
| |
− | </Hotels>
| |
− | <Passengers ItemsCount="1">
| |
− | <Passenger AgeType="NMO.GBL.AGT.ADT" Sequence="1">
| |
− | <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>
| |
− | </Products>
| |
− | </BookingProductsRQ>
| |
− | </syntaxhighlight>
| |
| | | |
| + | - URL normalizada para imágenes: <ImageURL>IDJ/B/B/BB3898629BE8D3DB188164A6611AA350.jpg</ImageURL> |
| | | |
− | {| class="wikitable sortable"
| + | - URL completa <ImageURL>http://psurfer-img.net/pathalaimagen/imagen.jpg</ImageURL> |
− | |-
| |
− | ! Parámetro !! Obligatorio !! Descripción
| |
− | |-
| |
− | | GeneralParameters || Si ||
| |
− | |-
| |
− | | PreferedLanguage || Si || Establece el lenguaje requerido para la respuesta.
| |
| | | |
− | Atributos:
| + | (En este caso por favor no pegar la URL base delante) |
| | | |
− | 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:
| + | Ejemplos: |
− | | + | Suponiendo que la respuesta a la consulta de información adicional de un hotel es |
− | CurrencyCode: Código de moneda correspondiente a los códigos de moneda estándar provistos.
| + | <code xml> |
− | |-
| + | <AdditionalInfoQueryRS> |
− | | Hoteles || No ||
| + | <Details> |
− | |-
| + | <Products> |
− | | Hotel || Si ||
| + | <Hotels> |
− | |-
| + | <Hotel HotelCode="2444" SupplierID="HDO" Sequence="1" HotelDetailId="IDJ-1YT-4MO"> |
− | | Rate || Si || Tarifa a reservar, indicando con el atributo TripProductId el id del hotel a reservar.
| + | <HotelName>El Conquistador Hotel</HotelName> |
− | |-
| + | <HotelDescriptions> |
− | | Rooms || No ||
| + | ... |
− | |-
| + | </HotelDescriptions> |
− | | Room || Si ||
| + | <Amenities> |
− | |-
| + | ... |
− | | Occupancy || Si || Indica la cantidad de adultos, niños e infantes por cada habitación.
| + | </Amenities> |
− | En el nodo Guest se encuentra el identificador del pasajero, atributo PassengerSequence. Este dato se obtiene del Sequence del nodo Passenger.
| + | <Addresses> |
− | |-
| + | ... |
− | | Passenger || No || Datos de los pasajeros.
| + | </Addresses> |
− | | + | <Position> |
− | Atributos:
| + | ... |
− | | + | </Position> |
− | AgeType: tipo de pasajero (chl, inf, adt).
| + | <HotelRating HotelRatingCode="NMO.HTL.RTN.4ST" HotelRatingType="NMO.HTL.RTT.STR"> |
− | | + | ... |
− | Sequence: Este dato será asociado al PassengerSequence del nodo Guest en hoteles.
| + | </HotelRating> |
− | |}
| + | <ImageLinks> |
− | | + | <ImageLink> |
− | *** Respuesta:
| + | <ImageLink> |
− | <syntaxhighlight lang="xml"> | + | <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG"/> |
− | <BookingProductsRS> | + | <ImageHeight UnitOfMeasureCode="9">185</ImageHeight> |
− | <Details>
| + | <ImageWidth UnitOfMeasureCode="9">250</ImageWidth> |
− | <BookingReference>QN_006OF</BookingReference>
| + | <ImageURL>IDJ/B/B/BB3898629BE8D3DB188164A6611AA350.jpg</ImageURL> |
− | <BookingState>NMO.GBL.BST.CNF</BookingState> | + | <ThumbnailURL>IDJ/4/A/4A78390A062E3F504912F5E9ADEDBDB5.jpg</ThumbnailURL> |
− | <Products>
| + | </ImageLink> |
− | <Hotels ItemsCount="1">
| + | </ImageLinks> |
− | <Hotel Sequence="1" HotelCode="7590" SupplierID="MIK" LogID="162718">
| + | <LocationDetails> |
− | <BookingReferences ItemsCount="2">
| + | ... |
− | <BookingReference Sequence="1" ReferenceType="NMO.HTL.RPT.MPH">QN_006OF-1</BookingReference>
| + | </LocationDetails> |
− | <BookingReference Sequence="2" ReferenceType="NMO.HTL.RPT.PRS">E00166024</BookingReference>
| + | </Hotel> |
− | </BookingReferences>
| + | </Hotels> |
− | <BookingStatusList ItemsCount="1">
| + | </Products> |
− | <BookingStatus Sequence="1">
| + | </Details> |
− | <BookingStatusDescription BookingStatusCode="NMO.HTL.BST.CNF">Confirmado</BookingStatusDescription>
| + | </AdditionalInfoQueryRS> |
− | <BookingStatusTime>09:19:06.884-03:00</BookingStatusTime>
| + | </code> |
− | </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</CheckIn>
| |
− | <CheckOut>2013-12-22</CheckOut>
| |
− | <Rate RateID="3727c45dbdafe53764a781ea39d8bd28#0" TripProductID="971cf657-9cf4-4b7a-aeaa-32c7d354f71d">
| |
− | <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" AppliableDays="A">Desayuno incluido</Board>
| |
− | </Boards>
| |
− | <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>
| |
− | </Rate>
| |
− | <BookingCreationDT>2013-07-30T09:18:52.573-03:00</BookingCreationDT>
| |
− | </Hotel>
| |
− | </Hotels>
| |
− | </Products>
| |
− | </Details>
| |
− | </BookingProductsRS> | |
− | </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
| |
− | |-
| |
− | | 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.
| + | Entonces las URLs quedarían: |
− | |-
| |
− | | Amenities || No ||
| |
− | |-
| |
− | | Amenity || No || Código de amenidad admitido.
| |
| | | |
− | Atributos:
| + | 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 |
| | | |
− | AmenityGroupCode: Tipo de amenidad. Los tipos de amenidad admitidos corresponden a los provistos por Nemo.
| + | Si la respuesta fue del Web Service de PRODUCCIÓN: |
| + | * http://psurfer-img.net/imagecache-prod/full/IDJ/B/B/BB3898629BE8D3DB188164A6611AA350.jpg |
| + | * http://psurfer-img.net/imagecache-prod/thumbnails/IDJ/4/A/4A78390A062E3F504912F5E9ADEDBDB5.jpg |
| | | |
− | AmenityCode: Código de amenidad. Los códigos de amenidad admitidos corresponden a los provistos.
| + | == Sobre los tiempos de vida de los resultados de búsqueda en el Web Service == |
− | |-
| |
− | | 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:
| + | 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. |
| | | |
− | HotelRatingCode: código de la categoría correspondiente a los códigos de categoría estándar provistos por Nemo.
| + | == Sobre los comentarios del proveedor == |
| | | |
− | HotelRatingType: Tipo de la categoría correspondiente a los tipos de categoría estándar provistos por Nemo.
| + | Los proveedores pueden llegar a enviar comentarios/remarks en dos instancias diferentes: |
− | |-
| |
− | | 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.
| + | La primera en el resultado de la búsqueda: Tag Item Comments del Rate [[API Reference: Búsqueda de Disponibilidad de Hoteles]] |
− | |-
| |
− | | 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:
| |
− | <syntaxhighlight lang="xml">
| |
− | <BookingCancellationRQ>
| |
− | <GeneralParameters>
| |
− | <PreferedLanguage LanguageCode="es"/>
| |
− | <PreferedCurrency CurrencyCode="ARS"/>
| |
− | </GeneralParameters>
| |
− | <Bookings ItemsCount="1">
| |
− | <Booking BookingReference="QN_006OF" Sequence="1"/>
| |
− | </Bookings>
| |
− | </BookingCancellationRQ>
| |
− | </syntaxhighlight>
| |
| | | |
| + | 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 == |
| | | |
| {| class="wikitable sortable" | | {| class="wikitable sortable" |
| |- | | |- |
− | ! Parámetro !! Obligatorio !! Descripción | + | ! Código !! Descripción !! Significado |
− | |-
| |
− | | 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:
| |
− | <syntaxhighlight lang="xml">
| |
− | <BookingCancellationRS>
| |
− | <Details>
| |
− | <Bookings ItemsCount="1">
| |
− | <Booking>
| |
− | <BookingReference ReferenceType="NMO.GBL.BRT.NAV" Sequence="1">QN_006OF</BookingReference>
| |
− | <BookingState>NMO.GBL.BST.CAN</BookingState>
| |
− | <Products>
| |
− | <Hotels ItemsCount="1">
| |
− | <Hotel Sequence="1">
| |
− | <BookingReferences ItemsCount="1">
| |
− | <BookingReference ReferenceType="NMO.GBL.BRT.NAV" Sequence="1">QN_006OF-1</BookingReference>
| |
− | </BookingReferences>
| |
− | <BookingState Code="NMO.HTL.BST.CAN">NMO.HTL.BST.CAN</BookingState>
| |
− | </Hotel>
| |
− | </Hotels>
| |
− | <Passengers ItemsCount="0"/>
| |
− | </Products>
| |
− | </Booking>
| |
− | </Bookings>
| |
− | </Details>
| |
− | </BookingCancellationRS>
| |
− | </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.
| |
− | |-
| |
− | | 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 | + | | 1000 || Unexepected Error || Ha ocurrido un error inesperado, por favor informe al Soporte de PriceSurfer |
| |- | | |- |
− | | BookingState || Si || Estado de la reserva (del ítem). La codificación de los estados será provista por Nemo. | + | | 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. |
− | Code: Código del estado (confirmada, rechazada, etc)
| |
− | | |
| |- | | |- |
− | | Passenger || No || Datos de los pasajeros. | + | | 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:
| |
− | | |
− | 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. | + | | 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 [[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 |
| |} | | |} |
| | | |
− | === Consulta de Reserva (BookingQuery) === | + | == Importante: Información necesaria al reportar un error al Soporte de PriceSurfer == |
− | | |
− | 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.
| + | Si necesita informar de un fallo al soporte de PriceSurfer incluya la siguiente información: |
− | |-
| + | * Fecha en que ocurrió la incidencia |
− | | Bookings || Si || Mediante el nodo Booking se cargan las reservas a consultar.
| + | * 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. |
| | | |
− | Atributos:
| + | = Archivos adicionales = |
| | | |
− | BookingReference: identificador de la reserva a consultar.
| + | 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. |
| | | |
− | *** Respuesta:
| + | == Tablas de Códigos== |
− | <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" | | {| class="wikitable sortable" |
| |- | | |- |
− | ! Parámetro !! Obligatorio !! Descripción | + | ! Aplicable a !! Tabla |
− | |-
| |
− | | 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. | + | | Hoteles || [[API Reference: Grupos de Servicios e Instalaciones|Códigos de Grupos de Servicios e Instalaciones]] |
| |- | | |- |
− | | HotelName || Si || Nombre del hotel. | + | | Hoteles || [[API Reference: Códigos de Estrellas|Códigos de Estrellas]] |
| |- | | |- |
− | | AccomodationType || No || Indica si es hotel, hostel, camping, etc, los tipos serán provistos por Nemo. | + | | Reserva || [[API Reference: Estados de la Reserva|Estados de la Reserva]] |
| |- | | |- |
− | | HotelDescriptions || No || | + | | Hoteles || [[API Reference: Tipos de Alojamientos|Tipos de Alojamientos]] |
| |- | | |- |
− | | HotelDescription || Si || Descripción del hotel. | + | | Hoteles || [[API Reference: Tipos de Descripciones de Hoteles|Tipos de Descripciones]] |
− | | |
− | Atributos:
| |
− | | |
− | HotelDescriptionType: Tipo de descripción correspondiente a los tipos de descripción estándar provistos por Nemo.
| |
| |- | | |- |
− | | LocationDetails || No || | + | | Destinos || [[API Reference: Tipos de Destinos|Tipos de Destinos]] |
| |- | | |- |
− | | Location || No || Descripción del área en la que se localiza el hotel. | + | | Hoteles || [[API Reference: Tipos de Estrellas|Tipos de Estrellas]] |
− | | |
− | Atributos:
| |
− | | |
− | LocationCode: Código de área provisto por el proveedor.
| |
| |- | | |- |
− | | Amenities || No || | + | | Reserva || [[API Reference: Tipos de Gastos de Cancelación|Tipos de Gastos de Cancelación]] |
| |- | | |- |
− | | Amenity || No || Código de amenidad admitido. | + | | Habitaciones || [[API Reference: Tipos de Habitaciones|Tipos de Habitaciones]] |
− | | |
− | 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 | + | | Pasajeros || [[API Reference: Tipos de Identificadores de Pasajeros|Tipos de Identificadores de Pasajeros]] |
| |- | | |- |
− | | AddressLines || Si || Líneas que componen la dirección del hotel. | + | | Hoteles || [[API Reference: Tipos de Imágenes|Tipos de Imágenes]] |
| |- | | |- |
− | | AddressLine || Si || Indica la dirección del hotel. | + | | Reservas || [[API Reference: Tipos de Localizadores de la Reserva|Tipos de Localizadores (identificadores) de la Reserva]] |
| |- | | |- |
− | | Position || No || Coordenadas del hotel: Latitud y Longitud. | + | | Pasajeros || [[API Reference: Tipos de Nombres|Tipos de Nombres de Pasajeros]] |
| |- | | |- |
− | | HotelRating || Si || Categoría del hotel. | + | | Pasajeros || [[API Reference: Tipos de Pasajeros|Tipos de Pasajeros]] |
− | | |
− | 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. | + | | Tarifa || [[API Reference: Tipos de Pensiones|Tipos de Pensiones]] |
| |- | | |- |
− | | ImageLinks || Si || Conjunto de imágenes del hotel | + | | Hoteles || [[API Reference: Tipos de Servicios e Instalaciones|Tipos de Servicios e Instalaciones (Amenities)]] |
| |- | | |- |
− | | ImageLink || No || | + | | Hoteles || [[API Reference: Hoteles - Tipos de Teléfonos|Tipos de Teléfonos]] |
| |- | | |- |
− | | ImageDescription || Si || Descripción de la imagen | + | | General || [[API Reference: Tipos de Email|Tipos de Email]] |
− | | |
− | ImageDisplayType: Tipo de imagen correspondiente a los tipos de imágenes estándar provistos por Nemo.
| |
| |- | | |- |
− | | DisplayOrder || No || Orden del la imagen. | + | | General || [[API Reference: Códigos de proveedores | Códigos de proveedores]] |
| |- | | |- |
− | | ImageURL || Si || URL de la imagen | + | | Tarifa || [[API Reference: Tipos de tarifa | Tipos de tarifa]] |
− | |-
| |
− | | 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) == | + | == Destinos == |
− | | |
− | Utilizando la especificación provista por Price Surfer en el siguiente link [http://service.psurfer.net/pricesurfer/application.wadl_NOUSAR WADL] 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.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.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>
| |
− | | |
− | | |
− | = Accesos =
| |
− | | |
− | UsuarioTest: test-profile ??????????????
| |
− | | |
− | Contraseña: 12345678 ??????????????
| |
− | | |
| | | |
− | = Tips para una buena integración =
| + | Listado de destinos de Price Surfer: |
| | | |
− | RECORDATORIO: Acá se deben escribir acerca de criterios de caché, actualización, etc.
| + | * Español : [https://wiki.psurfer.net/images/7/7d/Destination_ES.zip Destination_ES.zip] |
| + | * Inglés : [https://wiki.psurfer.net/images/b/b4/Destination_EN.zip Destination_EN.zip] |
| + | * Portugués : [https://wiki.psurfer.net/images/1/12/Destination_PT.zip Destination_PT.zip] |