Flujo NetCore API Hoteles

Flujo NetCore API Hoteles

Objetivo

El presente documento tiene como finalidad presentar los servicios que se deben ejecutar para realizar un flujo de hoteles a través de servicios API.

Descripción de modelos

Swagger es un conjunto de herramientas de software de código abierto para diseñar, construir, documentar, y utilizar servicios web.
En esa herramienta se encuentra la descripción de todos los modelos utilizados en todos los servicios disponibles de NetSuite.
Swagger UI

Colección Postman y Environment

En los siguientes documentos podra encontrar la colección de postman y el enviroment hacia el ambiente de pruebas de todo el flujo (NetCoreApi y Static Content):

Static Content

El Static Content es una base de datos compuesta por un catálogo único de hoteles. Esta base contiene toda la información estática de los hoteles (nombre de hotel, dirección, imágenes, descripciones, amenities, etc) y corre por dos procesos automatizados: Unificación y Geolocalización. La unificación mediante GIATA logra unificarlos en un listado único y la geolocalización logra asociar cada hotel a distintas áreas geográficas o así llamados polígonos por ejemplo a ciudades, zonas, barrios, puntos de interés, aeropuertos, regiones, entre otros. 

Diagrama de flujo

El siguiente diagrama describe la interacción propuesta entre el usuario, una aplicación y el Api de netsuite para poder realizar el flujo de hoteles:

 

Generalidades de los servicios

A continuación se detallan los servicios utilizados para el flujo de venta de metabuscadores:

Tipo de servicio

Servicio

Caracteristicas

Tipo de servicio

Servicio

Caracteristicas

Iniciar sesión

NetCoreApi - GuestSession

Iniciar sesión como usuario invitado

NetCoreApi - Session

Iniciar sesión con un usuario registrado en el sistema (operador, agente, etc)

Búsqueda de hoteles

NetCoreApi - HotelSearchV3

Búsqueda por geolocalización u hotel

Resultado de hoteles

NetCoreApi - HotelResultsV2

Resultados paginados y aplicación de filtros

Detalle del hotel

Static Content - Details
Static Content - Get Images
Static Content - Get Reviews

Información de contenido estatico del hotel y tarifas por habitaciones

Validación del hotel

NetCoreApi - HotelValidation

Actualización de precios, politicas de cancelación, información relevante para la creación de la reserva

Gestion de reserva

NetCoreApi - HotelBook
NetCoreApi - HotelConfirm
NetCoreApi - HotelCancel

Creación, confirmación y cancelación de reservas de hoteles

 

Endpoints NetCoreApi

A continuación se describen los servicios y el orden en que se deben ejecutar para realizar un flujo de hoteles a través del API:

1. GuestSession [GET]

Este servicio retorna un token de sesión de usuario invitado. Se debe realizar la autenticación sobre el ambiente que se desee utilizar.

Request GuestSession

cURL Ejemplo RQ:

curl --location 'https://preprod.netactica.com/NetCoreApi/Session/GetGuestSession?userservice={{userservice}}'

Donde la variable {{userservice}} sera informada durante la implementación y es obligatorio su envío.


Response GuestSession

image-20250403-141458.png

En la respuesta el nodo Token.TokenId contiene el token de sesión de usuario invitado necesario para ejecutar los servicios del flujo (búsqueda, resultados, filtros, detalle, validación, etc).

El token de sesión tiene una validez de 24 horas, por lo que debe utilizarse un único token para ejecutar todos los servicios necesarios dentro de ese período. Pasado ese tiempo, será necesario generar un nuevo token.

 

2. Session [POST]

Este servicio retornan un token de sesión para los usuarios registrados en NetSuite (Operador, Agente, Usuario Final, etc). Se debe realizar la autenticación sobre el ambiente que se desee utilizar.

Request Session

cURL Ejemplo RQ

curl --location 'https://preprod.netactica.com/NetCoreApi/Session' \ --header 'Content-Type: application/json' \ --data-raw '{ "UserName": "{user}", "Password": "{pass}", "UserService": "{{userservice}}" }'

Donde la variable {{userservice}} sera informada durante la implementación y las variables {user} y {pass} corresponde a las credenciales de los usuarios registrados. Todos los parámetros son obligatorios.

Response Session

En la respuesta el nodo Token.TokenId contiene el token de sesión de usuario registrado en NetSuite necesario para ejecutar los servicios del flujo (búsqueda, resultados, filtros, detalle, validación, etc).

El token de sesión tiene una validez de 24 horas, por lo que debe utilizarse un único token para ejecutar todos los servicios necesarios dentro de ese período. Pasado ese tiempo, será necesario generar un nuevo token.

 

3. HotelSearchV3 [POST]

Por medio de este servicio se lanza la búsqueda utilizando Static Content (funcionalidad utilizada para guardar la información estática de los hoteles y unificarlos en un catálogo único, asociándolos a distintas áreas geográficas y no solamente a ciudades, lo cual permite hacer búsquedas por zona, punto de interés, ciudad y nombre de hotel.

Request HotelSearchV3

cURL Ejemplo RQ

curl --location 'https://preprod.netactica.com/NetCoreApi/HotelSearchV3' \ --header 'Content-Type: application/json' \ --data '{ "DestinationType": "location", "LocationId": 327916, "CheckIn": "2025-10-04", "CheckOut": "2025-10-06", "Rooms": [ { "Adults": 2, "Children": 1, "ChildrenAges": [7] } ], "IncludeHotelInfo": true, "IncludeRooms": false, "IncludeAlternativeCurrencies": true, "NotFilterHotelsWithoutCompleteStaticInformation": true, "MaxResults": 10, "SessionToken": "{{sessionToken}}", "RequestSettings": { "Language": "es" } }'

Donde la variable {{sessionToken}} corresponde al token de sesion que se genera al principio del flujo

A continuación se detallan los nodos correspondiente a la petición (RQ):

Nodo

Requerido

Explicación

Nodo

Requerido

Explicación

DestinationType

Tipo de busqueda a realizar:

  • location = Para búsquedas en zonas geograficas (ciudad, barrio, aeropuerto, zona de interes, etc)

  • hotel = Para búsquedas a un hotel especifico

LocationId

Id de la zona geografica o Id del hotel

Nota: Para obtener esta información es necesario implementar el servicio Autocomplete de Static Content

CheckIn

Fecha check in en formato YYYY-MM-DD

CheckOut

Fecha check out en formato YYYY-MM-DD

Rooms

Arreglo de las habitaciones solicitadas y su distribución de pasajeros

Adults

Cantidad de adultos en la habitación

Children

Cantidad de niños en la habitación

ChildrenAges

Arreglo con la edad de los niños en la habitación

IncludeHotelInfo

Se utiliza para retornar la información estatica de cada resultado (hoteles)

IncludeRooms

Se utiliza para retornar la información de habitaciones y tarifas de cada resultado. Si el parámetro MaxResults en el Request del servicio HotelSearch es enviado en 0, este tag no tiene impacto.

Para mejor performance enviar en false.

IncludeAlternativeCurrencies

Se utiliza para que tambien retorne los montos para la moneda alternativa configurada en el cliente

NotFilterHotelsWithoutCompleteStaticInformation

Se utiliza para filtrar hoteles que no tienen la información completa o esta incorrecta la Latitud/Longitud. Debe estar en True para que funcione el filtro

MaxResults

Se utiliza para limitar la cantidad de resultados que se quieren visualizar, aunque la cantidad de resultados de los conectores (proveedores) pueda ser superior; es decir, si se encontraron 1000 hoteles disponibles, pero en el parámetro "MaxResults" se digita 10, entonces el sistema solo mostrará los 10 primeros resultados. Por otro lado si dicho parámetro se envía en 0, no se devolveran resultados en el servicio y por lo tanto se deberá ejecutar el servicio Hotel Results para obtener el resto de información de hoteles de forma paginada.

SessionToken

Token de sesión

RequestSettings.ClientId

Identificador del cliente

RequestSettings.SalesChanelCode

Código de canal de ventas

RequestSettings.BusinessUnitCode

Código de unidad de negocio

RequestSettings.SaleType

Tipo de venta. Los valores permitidos son:

  • Package

  • Regular

RequestSettings.BranchCode

Código de sucursal

RequestSettings.Language

Idioma en que se desea recibir la información

RequestSettings.PromoCode

Código promocional

RequestSettings.Platform

Plataforma origen. Posibles valores:

  • DESKTOP

  • MOBILE-WEB

  • MOBILE-APP

Response HotelSearchV3

image-20250403-145705.png

A continuación se detallan los nodos principales correspondiente a la respuesta (RS):

Nodo

Explicación

Nodo

Explicación

Results[x].HotelName

Nombre del hotel

Results[x].HotelCode

Código del hotel en NetSuite

Results[x].HotelId

Id del Hotel en Static Content

Results[x].PropertyTypes

Tipo de propiedad del hotel

Results[x].ShortDescription

Descripción corta del hotel

Results[x].Destination

Código IATA de la ciudad del hotel

Results[x].Category

Categoria del hotel (cantidad de estrellas)

Results[x].FullAddress

Dirección del hotel

Results[x].Images

Imágenes del hotel. Se retornan las 5 imágenes principales. Para obtener el resto de imágenes ver la explicación del servicio Get Images

Results[x].Zone

Zona

Results[x].Chain

Cadena a la que pertenece el hotel

Results[x].Amenities

Listado de Ids de comodidades destacadas del hotel separado por comas

Results[x].OptionId

Id de la opción de hotel. Necesario para continuar el flujo por API

Results[x].MaxTotalDiscountPercentage

Porcentaje de descuento más grande qué tenga el hotel en alguna de sus tarifas

Results[x].PriceFrom

Precio desde

Results[x].RoomName

Nombre de la primera habitación (más economica) del hotel. Este nodo en la respuesta solo es retornado si en la petición se envía el IncludeRooms en false

Results[x].BoardTypeCode

Código del tipo de alimentación de la primera habitación (más economica) del hotel. Este nodo en la respuesta solo es retornado si en la petición se envía el IncludeRooms en false

Ver anexo Tipos de alimentación

Results[x].ParsedPromotionalText

Texto promocional de la primera habitación (más economica) del hotel. Este nodo en la respuesta solo es retornado si en la petición se envía el IncludeRooms en false

Results[x].Rooms

Contiene el listado de habitaciones del hotel. Este nodo en la respuesta solo es retornado si en la petición se envía el IncludeRooms en true

Ver anexo Modelo de habitaciones

Results[x].RoomRates

Contiene el listado de tarifas de las habitaciones. Si en la petición se envía el IncludeRooms en true retornara el listado completo, si se envía el IncludeRooms en false solo retornara la tarifa mas economica de la habitación o combinación de habitaciones si se solicita mas de una

Ver anexo Modelo de tarifas

Results[x].CancellationPolicies

Contiene la información de politicas de cancelación de las htabiciones / tarifas. Esta información solo es retornada en el servicio Details.

Ver anexo Modelo políticas de cancelación

Results[x].Score

Calificación del hotel

Results[x].ScoreReview

Cantidad de calificaciones

Results[x].IsSearchedhotel

Para búsqueda por hotel espefifico, indica si fue el hotel buscado.

Results[x].ShowAmenitiesDisclaimer

Indica si el hotel tiene comodidades que sujetas a condiciones de la tarifa que seleccione el usuario final.

Ejemplo de descargo de responsabilidad:
“Las comodidades descritas corresponden al hotel y están sujetas a las condiciones de la tarifa seleccionada”

SearchId

Identificado único de la búsqueda realizada. Necesario para peticionar otros servicios del flujo de hoteles

ResultsAvailableUntil

Fecha y hora de validez de la búsqueda

ResultsCount

Cantidad total de resultados de la búsqueda

ShowMessageHotelNotFound

Para búsqueda por hotel espefifico, indica si el hotel buscado no fue encontrado

4. HotelResultsV2 [POST]

Por medio de este servicio se puede obtener de forma total o páginada (recomendado) los hoteles resultantes de la búsqueda realizada (searchId).

Request HotelResultsV2

cURL Ejemplo RQ:

{ "SearchId": "{{searchid}}", "SessionToken": "{{sessiontoken}}", "OrderCriteria": "RECOMENDATION", "OrderDesc": false, "IncludeRooms": false, "ResultCountLowerBound": 0, "ResultCountUpperBound": 10 }

Donde la variable {{searchId}} corresponde al identificador único de la búsqueda y la variable {{sessionToken}} corresponde al token de sesion que se genera al principio del flujo.

También con este servicio se pueden ordenar los resultados e incluso aplicar filtros (ver servicio HotelFilter) sobre los resultados. Se debe tener en cuenta que los hoteles se agruparán en una sola categoría de habitación, por ejemplo si un hotel tiene categoría estándar de lujo, estándar junior, estándar senior, en el API se agrupan en un solo estándar. 

cURL Ejemplo RQ:

{ "SearchId": "{{searchid}}", "SessionToken": "{{sessiontoken}}", "IncludeRooms": false, "IncludeAlternativeCurrencies": true, "OrderCriteria": "SCORE", "OrderDesc": true, "Categories": [], "Score": "", "RefundableType": "Refundable", "Boards": ["Todo incluido"], "Tags": [], "Ammenities": [], "Zones": [], "PropertyTypes": [], "Providers": [], "PriceFrom": 0, "PriceTo": 0, "HotelName": "", "Chains": [], "ResultCountLowerBound": 0, "ResultCountUpperBound": 10 }

A continuación se detallan los nodos correspondiente a la petición (RQ):

Nodo

Requerido

Explicación

Nodo

Requerido

Explicación

SearchId

Identificador único de la búsqueda

SessionToken

Token de sesión usuario invitado o registrado

IncludeRooms

Se utiliza para retornar la información de habitaciones y tarifas de cada resultado.

Para mejor performance enviar en false.

IncludeAlternativeCurrencies

Se utiliza para que tambien retorne los montos para la moneda alternativa configurada en el cliente

OrderCriteria

Criterio por el cual se ordenarán los resultados. Los valores permitidos son:

  • RECOMENDATION = Reglas de negocio orden preferencia

  • CATEGORY = Categoria / Estrellas del hotel

  • HOTELNAME = Nombre del hotel

  • PRICE = Precio desde del hotel

  • SCORE = Calificación del hotel

  • DISCOUNTPERCENTAGE = Porcentaje de descuento del hotel

OrderDesc

Indicador de ordenamiento descendente. Si es true, los datos se ordenan de mayor a menor (por ejemplo, de la fecha más reciente a la más antigua o del precio más alto al más bajo). Si es false, el orden es ascendente.

Categories

Filtro de categorías

Score

Filtro de categorías

RefundableType

Filtro de tipo de reembolso

Boards

Filtro de tipo de alimentación

Tags

Filtro de etiquetas

Ammenities

Filtro de comodidaes

Zones

Filtro de zonas

PropertyTypes

Filtro de tipo de propiedades

Providers

Filtro de proveedores

PriceFrom

Filtro de precio desde

PriceTo

Filtro de precio hasta

HotelName

Filtro de nombre de hotel

Chains

Filtro de cadenas

ResultCountLowerBound

Utilizado para pedir los resultados paginados. Índice (base 0) del primer resultado a devolver en la página actual. Representa el límite inferior del rango de resultados.

ResultCountUpperBound

Utilizado para pedir los resultados paginados. Índice del último resultado a devolver en la página actual. Representa el límite superior del rango de resultados.

Nota: Los valores a enviar en los filtros dependeran de la información retornada en el servicio Filters

Response HotelResultsV2

image-20250404-151121.png

La información retornada en este servicio es la misma descrita en el servicio de busqueda solo que para el hotel seleccionado

 

5. HotelDetails [GET]

Este servicio retorna la información de la búsqueda del hotel seleccionado y la información básica de contenido estático. Este servicio NO se debe implementar, el servicio a implmentar es el Details de Static Content el cual complementa el resultado con la información extendida de contenido estatico (imágenes de hotel, imágenes de habitacion, amenities de habitación, meta reviews y reviews de hotel, etc).

Request HotelDetails

cURL Ejemplo RQ:

curl --location 'https://preprod.netactica.com/NetCoreApi/Hotel/Details?searchid={{searchId}}&hotelOptionId={{optionId}}&Language={{language}}' \ --header 'Authorization: ••••••'

Donde la variable {{searchId}} corresponde al identificador único de la búsqueda, la variable {{optionId}} corresponde al Id de la opción de hotel seleccionado y la variable {{searchId}} corresponde al idioma en el que se desea recibir la información (Ej: en, es o pt). El token de sesion generado para usuarios invitados o registrados en NetSuite se debe enviar en el header Authorization.

Response HotelDetails

image-20250404-151302.png

La información retornada en este servicio tiene dos nodos principales:

  • Info = Información basica de contenido estático del hotel

  • Result = Es la misma descrita en el servicio de busqueda solo que para el hotel seleccionado

 

5. HotelValidation [POST]

Este servicio se usa para validar precios y disponibilidad de un hotel. Adicionalmente retorna información relevante como los comment contracts (notas importantes del hotel) y políticas de cancelación.  

Request HotelValidation

cURL Ejemplo RQ:

curl --location 'https://preprod.netactica.com/NetCoreApi/hotelvalidation' \ --header 'Content-Type: application/json' \ --header 'Authorization: ••••••' \ --data '{ "SearchId": "{{searchId}}", "SessionToken": "{{sessionToken}}", "OptionId": {{optionId}}, "RateId": "{{rateId}}", "IncludeAlternativeCurrencies": true }'

Donde la variable {{searchId}} corresponde al identificador único de la búsqueda, la variable {{sessionToken}} corresponde al token de sesion que se genera al principio del flujo, la variable {{optionId}} corresponde al Id de la opción de hotel seleccionado y la variable {{rateId}} corresponde a la tarifa seleccionada de la habitación o combinación de habitaciones. El nodo IncludeAlternativeCurrencies es el único opcional, los demas nodos de la petición son obligatorios.

Response HotelValidation

image-20250404-151511.png

A continuación se detallan los nodos principales correspondiente a la respuesta (RS):

Nodo

Explicación

Nodo

Explicación

ValidDocuments

Arreglo que contiene los documentos válidos para la información de los pasajeros en la creación de la reserva

CancellationPolicies

Ver anexo Modelo políticas de cancelación

CommentContract

Información relevante que debe visualizar el comprador, tal como horario de checkin, cobros a pagar en destino, condiciones de la tarifa seleccionada, etc

StatusChanged

Estado resultante de la validación de la posible reserva. Los valores permitidos son:

  • Available

  • NotAvailable

  • PriceDifference

  • CancellationPoliciesChanged

Amount

Ver anexo Modelo de tarifas

ValidateOptionId

Id validación de la posible reserva

TextFare

Información basado en la configuración de la regla de negocio Texto

HotelReservation

Contiene un resumen de la posible reserva con información de nodos y modelos ya descritos

6. HotelBook [POST]

Servicio para la creación de un itinerario, el cual genera un TTL (Tiempo limite de vencimiento)

Request HotelBook

cURL Ejemplo RQ:

curl --location 'https://preprod.netactica.com/NetCoreApi/HotelBook' \ --header 'Content-Type: application/json' \ --data-raw '{ "SessionToken": "{{sessionToken}}", "ValidateOptionId": "{{validateOptionId}}", "TravelItineraryId": 0, "Travelers": [ { "RoomNumber": 1, "PaxType": "Adult", "Gender": "Female", "FirstName": "Maggie", "LastName": "Kuhic", "Phone": "3123290000", "Email": "rrodriguez@netactica.com", "DocumentNumber": "520867120", "ConfigurationDocumentId": 4256, "Nationality": "CO", "DOB": "1980-02-02", "LoyaltyAccountId": "520867120" }, { "RoomNumber": 1, "PaxType": "Adult", "Gender": "Female", "FirstName": "Andrea", "LastName": "Casas", "Phone": "3123290000", "Email": "rrodriguez@netactica.com", "DocumentNumber": "12564654654", "ConfigurationDocumentId": 4256, "Nationality": "CO", "DOB": "1990-11-03" }, { "RoomNumber": 1, "PaxType": "Child", "Gender": "Female", "FirstName": "Natalia", "LastName": "Casas", "Phone": "3123290000", "Email": "rrodriguez@netactica.com", "DocumentNumber": "14564654654", "ConfigurationDocumentId": 4256, "Nationality": "CO", "DOB": "2018-05-03" } ] }'

A continuación se detallan los nodos correspondiente a la petición (RQ):

Nodo

Requerido

Explicación

Nodo

Requerido

Explicación

SessionToken

Token de sesion

ValidateOptionId

Id de la opción validada retornada en el servicio HotelValidate

TravelItineraryId

Id de itinerario. Envie 0 si desea crear un nuevo itinerario o el numero de un itinerario existente si desea asociar a la reserva que este creando

Travelers

Arreglo de pasajeros

Travelers.RoomNumber

Numero de la habitación (empieza desde 1)

Travelers.PaxType

Tipo de pasajero. Los valores permitidos son:

  • Adult

  • Child

  • Infant

Travelers.Gender

Genero del pasajero. Los valores permitidos son:

  • Female

  • Male

Travelers.FirstName

Nombre del pasajero

Travelers.LastName

Apellido del pasajero

Travelers.Phone

Teléfono del pasajero

Travelers.Email

Email del pasajero

Travelers.DocumentNumber

Número de documento del pasajero

Travelers.ConfigurationDocumentId

Id de documento valido retornado en el servicio HotelValidate

Travelers.Nationality

Nacionalidad del pasajero. Código del país ISO 3166-1 alfa-2

Travelers.DOB

Fecha de nacimiento en formato YYYY-MM-DD

Travelers.LoyaltyAccountId

Número de fidelización del pasajero

Response HotelBook

image-20250404-163857.png

A continuación se detallan los nodos principales correspondiente a la respuesta (RS):

Nodo

Explicación

Nodo

Explicación

TravelItineraryId

Id del itinerario asociado a la reserva

ReservationId

Id de la reserva. Necesario para la confirmación y/o cancelación de la reserva

Reservation

Modelo de reserva con información de nodos y modelos hijos ya descritos

UrlRedirect

URL de redirección hacia la pagína de pago (checkout)

7. HotelConfirm [POST]

Servicio para confirmación de reserva. Se debe enviar el HotelReservationId, el cual se obtiene en la respuesta del servicio HotelBook.

Request HotelConfirm

cURL Ejemplo RQ:

curl --location 'https://preprod.netactica.com/NetCoreApi/Hotel/Confirm' \ --header 'Content-Type: application/json' \ --data '{ "HotelReservationId": {{hotelReservationId}}, "SessionToken": "{{sessionToken}}" }'

Donde la variable {{hotelReservationId}} corresponde al identificador de la reserva retornada en la respuesta del servicio HotelBook y la variable {{sessionToken}} corresponde al token de sesion de un usuario con permisos para confirmar reservas de hotel. Ambos parámetros son obligatorios.

Response HotelConfirm

image-20250404-164525.png

En la respuesta (RS) del servicio se retorna un resumen con el modelo de reserva. Para saber si la reserva realmente fue confirmada se debe validar que el valor del nodo Reservation.Status sea “Confirm“, el codigo de conformación del proveedor sera retornado en el nodo Reservation.SupplierReferenceCode.

8. HotelCancel [POST]

Con este servicio se puede cancelar la reserva realizada. 

Request HotelCancel

cURL Ejemplo RQ:

curl --location 'https://preprod.netactica.com/NetCoreApi/Hotel/Cancel/' \ --header 'Content-Type: application/json' \ --data '{ "HotelReservationId": {{hotelReservationId}}, "SessionToken": "{{sessionToken}}" }'

Donde la variable {{hotelReservationId}} corresponde al identificador de la reserva retornada en la respuesta del servicio HotelBook y la variable {{sessionToken}} corresponde al token de sesion de un usuario con permisos para cancelar reservas de hotel. Ambos parámetros son obligatorios.

Response HotelCancel

image-20250404-164949.png

En la respuesta (RS) del servicio se retorna un resumen con el modelo de reserva. Para saber si la reserva realmente fue cancelada se debe validar que el valor del nodo Reservation.Status sea “Cancelled“

 

Notas

  • Se debe enviar el tag "MaxResults" con un valor superior a 0, en los servicios de búsqueda, para recibir la información de los hoteles.

  • Para encontrar un hotel en los resultados del API, se debe tener en cuenta las siguientes condiciones:
    1- El hotel debe tener imágenes
    2- Debe tener latitud y longitud correcta
    3- El hotel tiene que estar a menos de 100 Km de la latitud y longitud de la ciudad buscada (las ciudades en la db de cache de Netsuite tienen su latitud y longitud correspondiente)

  • El tag "IncludeRooms" es utilizado para devolver el detalle de las habitaciones y tarifas de cada resultado.

  • El parámetro "NotFilterHotelsWithoutCompleteStaticInformation", es utilizado para filtrar hoteles que no tienen la información completa o está incorrecta la Latitud/Longitud. Debe estar en True para que funcione el filtro.

  • El nodo “DeepLink” de la respuesta de los servicios del Metasearch, es la URL que usaría el metabuscador.

  • Reembolsable = 0 y no reembolsable = 1 en el API. 

  • Cuando una reserva ya está creada y se quiere cancelar, se puede buscar con servicios API de la siguiente manera:   
    1- Llamar el itinerario que se desea buscar por medio del servicio [GET] Itinerary {id}
    2- Ejecutar el servicio de Hotel Cancel para ese itinerario, enviando el HotelReservationId en el request. Tener presente que si un itinerario tiene más servicios (aéreo, travel extras, autos, etc), con el servicio Hotel Cancel, solamente se cancelará la reserva de hotel, para la cancelación de los otros servicios se debe utilizar el servicio cancel correspondiente, ejemplos: Air CancelandVoid (para el aéreo), TravelExtra Cancel (para los Travel extras), Vehicle Cancel (para los autos).

Diagrama de flujo

Servicios Opcionales NetCoreApi

1. Hotel Filter [GET]

Sirve para obtener todos los filtros disponibles que pueden ser aplicados al servicio Hotelresults, de acuerdo a la búsqueda realizada. Filtros por precio, por categorías, por amenities, reembolsable o no reembolsable, pensiones, etc. Ejemplo:

Netactica.com