Flujo NetCore API Hoteles
- 1 Objetivo
- 2 Descripción de modelos
- 3 Colección Postman y Environment
- 3.1 Static Content
- 4 Diagrama de flujo
- 5 Generalidades de los servicios
- 6 Endpoints NetCoreApi
- 6.1 1. GuestSession [GET]
- 6.1.1 Request GuestSession
- 6.1.2 Response GuestSession
- 6.2 2. Session [POST]
- 6.2.1 Request Session
- 6.2.2 Response Session
- 6.3 3. HotelSearchV3 [POST]
- 6.3.1 Request HotelSearchV3
- 6.3.2 Response HotelSearchV3
- 6.4 4. HotelResultsV2 [POST]
- 6.4.1 Request HotelResultsV2
- 6.4.2 Response HotelResultsV2
- 6.5 5. HotelDetails [GET]
- 6.5.1 Request HotelDetails
- 6.5.2 Response HotelDetails
- 6.6 5. HotelValidation [POST]
- 6.6.1 Request HotelValidation
- 6.6.2 Response HotelValidation
- 6.7 6. HotelBook [POST]
- 6.7.1 Request HotelBook
- 6.7.2 Response HotelBook
- 6.8 7. HotelConfirm [POST]
- 6.8.1 Request HotelConfirm
- 6.8.2 Response HotelConfirm
- 6.9 8. HotelCancel [POST]
- 6.9.1 Request HotelCancel
- 6.9.2 Response HotelCancel
- 6.10 Notas
- 6.11 Diagrama de flujo
- 6.1 1. GuestSession [GET]
- 7 Servicios Opcionales NetCoreApi
- 8 Servicios Static Content
- 9 Anexos
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 |
---|---|---|
Iniciar sesión | Iniciar sesión como usuario invitado | |
Iniciar sesión con un usuario registrado en el sistema (operador, agente, etc) | ||
Búsqueda de hoteles | Búsqueda por geolocalización u hotel | |
Resultado de hoteles | Resultados paginados y aplicación de filtros | |
Detalle del hotel | Static Content - Details | Información de contenido estatico del hotel y tarifas por habitaciones |
Validación del hotel | Actualización de precios, politicas de cancelación, información relevante para la creación de la reserva | |
Gestion de reserva | NetCoreApi - HotelBook | 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
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 |
---|---|---|
DestinationType | Tipo de busqueda a realizar:
| |
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:
| |
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:
|
Response HotelSearchV3
A continuación se detallan los nodos principales correspondiente a la respuesta (RS):
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: |
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 |
---|---|---|
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:
| |
OrderDesc | Indicador de ordenamiento descendente. Si es | |
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
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
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
A continuación se detallan los nodos principales correspondiente a la respuesta (RS):
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:
|
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 |
---|---|---|
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:
| |
Travelers.Gender | Genero del pasajero. Los valores permitidos son:
| |
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
A continuación se detallan los nodos principales correspondiente a la respuesta (RS):
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
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
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