AirService.svc

Este método permite realizar una búsqueda de tarifas e itinerarios a partir de un conjunto de tramos especificados.

Esta búsqueda retorna un conjunto de itinerarios con la información de vuelos, horarios, stops, tarifa y taxes recuperada de los GDS asi como la información pertinente a cada uno de ellos proveniente de GLAS.

Endpoints
SOAP: AirService.svc/Search
Json: AirService.svc/Json/SearchJson

Parámetros de entrada

Parametros globales
Parámetro Tipo Req. Descripción
ClientId String R Identificador proporcionado por Netviax.
ClientEnvironment String R Production o Testing.
ClientToken String R Token proporcionado por  Netviax.
ClientChannel String O Canal a ser utilizado por el consolidador/agencia.
ClientGLAS String R Código de Cliente GLAS proporcionado por el consolidador/agencia.
AdultsQty Int R Cantidad de Adultos.
ChildsQty Int O Cantidad de Niños.
InfantsQty Int O Cantidad de Bebes.
TripLegs SearchQueryLeg[] R Composición de los diferentes tramos a buscar.
TripType String R OneWay, RoundTrip, MultipleFlights.
CabinType String R Economy, Business, First.
ChosenAirlines String[] O Compañías preferidas.
ForcedDataSource String O Especificación de GDS.
FlexibleDate Boolean O Indicador de búsqueda lineal o flexible.
TaxBreakdown Boolean O Indicador de desglose de Taxes.
FareStrategy Boolean O Sobreescritura de estrategia frente al GDS.
RulesDetailLevel String O Detalle de reglas GLAS aplicadas.
SearchQueryLeg
Parámetro Tipo Req. Descripción
Origin String R Origen del tramo.
Destination String R Destino del tramo
DepartureDate String R Fecha del tramo **

Búsqueda Normal:

  • ClientId: Identificador de cliente consultando el servicio, este es un valor fijo que va a ser proporcionado por Netviax.
  • ClientEnvironment: Entorno de llamadas del cliente, este valor va a ser fijo y proporcionado por Netviax en cada una de las iteraciones con el desarrollador.
  • ClientToken: Valor fijo para otorgar seguridad en las consultas al servicio.
  • ClientChannel: Este parámetro brinda la posibilidad al desarrollador de elegir entre múltiples canales definidos por su cliente. Este cambio de Canal puede brindar a la Agencia de Viajes o Consolidador credenciales diferentes frente a los GDS o simplemente un “tracking” adicional en el caso de poseer múltiples sitios o aplicaciones consumiendo el servicio.
  • ClientGLAS: Este valor es especificado por la Agencia de Viajes o Consolidador que va a brindar contenido permitiendo variar el mismo de acuerdo a los cambios en este valor. Con la especificación de este valor se pueden cambiar tipos de busqueda, tarifas privadas, reglas comerciales, porcentajes de retención de descuentos, fees, etc. Si bien para un sitio/aplicación se estila utilizar un solo valor para todas estas llamadas, podrían generarse múltiples de acuerdo a parametros que se definan como usuario logueado etc.
  • AdultsQty: Cantidad de adultos a cotizar. *
  • ChildsQty: Cantidad de Childs (2 a 11 años de edad) a cotizar. *
  • InfantsQty: Cantidad de Infants (0 a 1 años de edad) a cotizar. *
  • TripLegs: Colección de TripLegs, tramos o “patas” del itinerario a buscar.**
    • Origin: Ciudad o aeropuerto de origen del tramo. El código utilizado es IATA Alpha Code 3.
    • Destination: Ciudad o aeropuerto de destino del tramo. El código utilizado es IATA Alpha Code 3.
    • DepartureDate: Fecha de partida del tramo ***
  • TripType: Tipo de itinerario a buscar, siendo validado este valor contra la cantidad de TripLegs elegida.
    • OneWay = 1 Trip Leg
    • RoundTrip = 2 Trip Legs siendo el origen del primero igual al destino del último
    • MultipleFlights = 2 o mas Trip Legs
  • FlexibleDate: Especificando este valor en verdadero la búsqueda va a devolver una matriz de itinerarios de 49 posiciones variando en +3/-3 días la fecha del primer trip leg y la de regreso del segundo TripLeg si fuera especificado.
  • TaxBreakdown: Especificando este valor en verdadero, la búsqueda va a devolver un nodo adicional a la respuesta con la especificación de cada uno de los taxes de la cotización con sus códigos y montos individuales.
  • RulesDetailLevel: Solicitar nodo adicional con descripción y/o detalle de las reglas
    • No presente = De no existir este tag en el request, no se devuelve nodo adicional.
    • Description = Se devuelve nodo adicional con Descripción y Detalle de cada una de las reglas involucradas en las cotizaciones de la respuesta.
    • ALL = Se devuelve nodo adicional con Descripción, Detalle y diccionario de clave/valor con los datos específicos de cada una de las reglas.

Búsqueda avanzada:

Estos calificadores se especifican dentro de lo que damos en llamar Busqueda Avanzada, ya que afectan sensiblemente el contenido devuelto por los GDS.

  • CabinType:
    • Economy = Economica
    • Business = Ejecutiva
    • First = Primera
  • ChosenAirlines: Lista de codigos de aerolíneas para forzar la búsqueda de itinerarios con ese criterio. El código utilizado es “IATA Alpha Code 2”.

Calificadores adicionales a las búsquedas.

  • ForcedDataSource
  • TaxBreakdown
  • FareStrategy
  • RulesDetailLevel

* Es mandatorio en todas las búsquedas al menos un adulto en la misma. El maximo de pasajeros a solicitar es de 9. ** Hasta 3 triplegs están permitidas. Maximo 2 triplegs en la misma fecha de partida. *** Para una búsqueda neutral la fecha de partida, DepartureDate, debe ser enviada con la parte “horaria” de la fecha en “00:00:00”, esto le indica a la plataforma que NO hay preferencia horaria. De enviar esa información, se realizará la búsqueda para ese tramo, en esa fecha y con una ventana horaria de salida de vuelo de una hora.

Parametros de salida

Parametros globales

Parámetro Tipo Descripción
SearchId String Identificador de busqueda.
Quotations SearchResponseQuotation[] Lista de cotizaciones retornadas.
GroupOfFlights SearchResponseGroupOfFlights[] Lista de itinerarios involucrados en las cotizaciones.
GeoInformation SearchResponseGeoInformation[] Lista de localidades involucradas en los itinerarios.
AirlineInformation SearchResponseAirlineInformation[] Lista de aerolíneas involucradas en los itinerarios.
SetOfRulesApplied Rules[] Lista de reglas de GLAS utilizadas para realizar la búsqueda.
RulesInformation Rule[] Lista de reglas de GLAS involucradas en las cotizaciones.
WarningMessage String Mensajes de advertencia referentes al mensaje completo.
ErrorMessage String Mensajes de error referentes al mensaje completo.


SearchResponseQuotation

Parámetro Tipo Descripción
Source String AM, SB, TP. GDS responsable de la cotización.
Quotations SearchResponseIndividualQuotation[] Lista de cotizaciones individuales por tipo de pasajero consultado.
RPHsQuoted SearchResponseRPHQuoted[] Lista de legs o “patas” del itinerario involucradas en esta cotización.
ErrorMessage String Mensaje de error referente a la cotización.
InternalGDSKey String Identificador único de la cotización en la lista.


SearchResponseIndividualQuotation

Parámetro Tipo Descripción
ValidatingCarrier String Aerolinea validadora.
PassengerType String Tipo de pasajero.
PassengerQuantity Int Cantidad de pasajeros.
PassengerDiscountType String Tipo de descuento de pasajero.
FareType String Tipo de tarifa utilizada.
AccountCodesUsed String[] Lista de codigos corporativos.
GlasData GlasData Información relativa a reglas de GLAS
Taxes Tax[] Lista de taxes.


GlasData

Parámetro Tipo Descripción
FareAmount Decimal Monto de tarifa.
TaxAmount Decimal Monto de taxes.
DiscountAmount Decimal Monto de descuento generado.
FeeAmount Decimal Monto de Fee/Markup generado.
NetAmount Decimal Monto neto.
SellingPriceAmount Decimal Precio de venta generado.
WarningMessage String Advertencia.
ErrorMessage String Mensaje de error.


Tax

Parámetro Tipo Descripción
TaxCode String Código.
Amount Decimal Monto.
Currency String Moneda.


SearchResponseRPHQuoted

Parámetro Tipo Descripción
RPHIndex Int Indice de leg, tramo o “pata”
InternalGDSKey String Referencia a grupo de vuelos conformando este tramo.
FareDetails SearchResponseFlightDetails[] Lista de detalles de tramo con respecto a la tarifa cotizada.


SearchResponseFlightDetails

Parámetro Tipo Descripción
BookingClass String Clase de reserva.
Cabin String Economy, Business, First.
MarriedWitPreviousSegment String Referencia de enlace con vuelos previos en el tramo.


SearchResponseGroupOfFlights

Parámetro Tipo Descripción
RPHIndex String Índice de Tramo
InternalGDSKey String Identificador único de GroupOfFlights
ElapsedFlightTimeInMinutes Int Tiempo total de vuelo en minutos
ElapsedLayOverTimeInMinutes Int Tiempo total de esperas en aeropuertos.
AirportChange Boolean Cambio de aeropuerto.
OverNight Boolean TBD
Flights SearchResponseFlight[] Lista de vuelos del tramo.


SearchResponseFlight

Parámetro Tipo Descripción
MarketingCarrier String Código de compania aerea.
FlightNumber String Numero de vuelo.
OriginAirport String Código de aeropuerto de partida.
DestinationAirport String Código de aeropuerto de arribo.
Departure DateTime Fecha y hora de partida.
Arrival DateTime Fecha y hora de arribo.
ElapsedFlightTimeInMinutes String Tiempo de vuelo.
OperatingCarrier String Código de compania operando el vuelo.
EquipmentType String Código de equipo operando el vuelo.
Stops SearchResponseFlightStop[] Lista de stops del vuelo.


SearchResponseFlightStop

Parámetro Tipo Descripción
Airport String Código de aeropuerto
Arrival DateTime Arribo
Departure DateTime Partida


SearchResponseGeoInformation

Parámetro Tipo Descripción
AirportCode String Código de aeropuerto.
AirportName String Nombre de aeropuerto.
CityCode String Código de ciudad.
CityName String Nombre de ciudad.
CountryCode String Código de pais.
CountryName String Nombre de pais.


SearchResponseGeoInformation

Parámetro Tipo Descripción
AirlineCode String Código de aerolinea
AirlineName String Nombre de aerolinea.

SearchId
Identificador único generado para el mensaje. Este dato debe ser preservado para futuras interacciones con los servicios, como chequeo de venta, creación de reserva, etc.

Quotations
Lista de cotizaciones retornadas por el servicio.

Cada una de estas cotizaciones contiene cotizaciones individuales, cada una de ellas determinadas por los diferentes tipos de pasajeros involucrados en el mensaje de solicitud. Asi si se hubiera solicitado 1 o mas adultos retornara una, 1 adulto y 1 child retornara 2, etc.

    • SearchResponseIndividualQuotation: Cotización individual.
      • ValidatingCarrier: Código de aerolínea validando la cotización. *
      • PassengerType: Tipo de pasajero de la cotización individual. *
      • PassengerQuantity: Cantidad de pasajeros de la cotización individual. *
      • PassengerDiscountType: Tipo de descuento de pasajero aplicado en la cotización. *
      • FareType: Tipo de  tarifa utilizada. *
      • AccountCodesUsed: Lista de códigos corporativos utilizados para lograr la cotización individual. *

*  Todos estos datos si bien no tienen una relevancia mayor a desplegar en interfaces gráficas de cara al usuario final de tipo pasajero o público en general, adquieren gran importancia en la mensajería y acciones posteriores a un flujo de reserva en la plataforma.

      • GlasData: Este nodo contiene la información añadida por Netviax a la cotización recibida desde el GDS.
        • FareAmount: Monto de tarifa recibida desde el GDS.
        • TaxAmount: Monto de taxes recibidos desde el GDS.
        • DiscountAmount: Monto de descuentos acumulados en base a las reglas de GLAS, entre estas se cuentan reglas de Comisión, Over, etc.
        • FeeAmount: Monto de fee, markup, coeficientes que “suman” a los datos obtenidos del GDS obtenidos a través de reglas de GLAS entre las que se cuentan reglas de Management Fee, Markup, Coeficiente, etc.
        • NetAmount: Monto neto de la cotización, establecido según la fórmula : Tarifa + Taxes – Descuentos.
        • SellingPriceAmount: Precio de venta de la cotización establecida por la fórmula : Tarifa + Taxes – Descuentos + Fees.
        • WarningMessage: Mensaje de advertencia referida al nodo GLAS. *
        • ErrorMessage: Mensaje de error referido al nodo GLAS. *

* Todo lo que refiere a importes en el nodo GLAS esta supeditado a reglas de negocio establecidas por la Agencia de Viajes/Consolidador a cargo de las mismas. Estas requieren cálculos complejos basados en rutas, clases de reserva, montos cálculos basados en las ciudades involucradas en el itinerario. Muchos de estos datos refieren a información almacenada en nuestra base de datos, de no poder obtener alguna información relacionada al itinerario esto se verá reflejado en estos nodos de advertencia y error, es altamente recomendable NO trabajar en una cotización que posea valores en estos nodos.

      • Taxes:  Lista de taxes involucradas en la cotización individual. Esta lista solamente retorna valores al ser requeridos mediante el valor Verdadero en el parámetro de entrada TaxBreakdown.
        • Code: Código de tax.
        • Amount: Monto de tax.
        • Currency: Moneda.
    • RPHsQuoted: Cada una de las cotizaciones tiene asociado un itinerario, los diferentes legs, tramos, “patas” del itinerario están dados por cada uno de los mismos solicitados. Asi, si la solicitud recibida es de ida y vuelta, dos nodos aparecerán como RPHs, uno por cada uno de los solicitados. Cada uno de estos RPHs tienen un índice a la información de los vuelos conformando el tramo, a modo de ejemplo un itinerario solicitado para Buenos Aires – Paris – Buenos Aires, puede retornar un Buenos Aires – San Pablo – Paris para el primer tramo y Paris – Rio de Janeiro – Buenos Aires para el segundo. Este nodo contiene adicionalmente información de cada uno de los vuelos con respecto a la tarifa.
      • RPHIndex: Índice de tramos, secuencial dentro de la cotización.
      • InternalGDSKey: Referencia al GroupOfFlights representando el grupo de vuelos integrando este tramo del itinerario.
      • FareDetail: Datos referentes a cada vuelo del GroupOfFlights referente a la tarifa/cotización del GDS utilizado.
        • BookingClass: Clase de reserva usada en ese vuelo. *
        • Cabin: Cabina utilizada en ese vuelo
          • Economy = Economica
          • Business = Ejecutiva
          • First = Primera
        • MarriedWithPreviousSegments: Referencia de enlace a otros vuelos en el tramo. *

* Nuevamente encontramos información que puede no ser importante para mostrar en la interfaz gráfica, pero es vital para futura mensajería con la plataforma.

GroupOfFlights

GeoInformation
Cada itinerario recorre diferentes aeropuertos, en este nodo se reúne toda la información extendida de esos aeropuertos. Esta información en los itinerarios aparece en Orígenes, Destinos o información de Stops de los vuelos incluidos en un tramo.

  • SearchResponseGeoInformation:
    • AirportCode: Código de aeropuerto, IATA Alpha Code 3, este código es ademas referencia de cada una de las localizaciones indicadas en los itinerarios.
    • AirportName: Nombre de aeropuerto.
    • CityCode: Código de ciudad.
    • CityName: Nombre de ciudad.
    • CountryCode: Código de pais ISO 31661 Alpha code 2
    • CountryName: Nombre de pais.

AirlineInformation
Cada itinerario involucra vuelos con Aerolíneas como compañía validadora, compañía de marketing del vuelo o compañía operando el mismo. En este nodo entregamos la información extendida de todas las aerolíneas involucradas.

  • SearchResponseAirlineInformation:
    • AirlineCode: IATA Alpha Code 2, este código es además referencia de cada una de las aerolíneas involucradas en los itinerarios.
    • AirlineName: Nombre de Aerolínea.
  • SetOfRulesApplied
  • RulesInformation: Solo presente cuando aplicado RulesDetailLevel en Description o ALL.

FAQs:

Cómo obtengo el itinerario en la respuesta de Search?
Cada opcion esta representada por un SearchResponseQuotation. En donde nos indica los RPHsQuoted indicando datos particulares de esta cotización a los que debe sumar e ir a buscar en SearchResponseGroupOfFlights donde encontrará todos los detalles de los vuelos por RPHIndex + InternalGDSKey.

El servicio me responde InternalServiceFault – The server was unable to process the request due to an internal error.
El request esta incompleto o mal formado.

SellService

Metodo: Sell

Este método permite verificar la disponibilidad y cotizaciones de la opción seleccionada en la búsqueda.

Endpoints
SOAP: SellService.svc/Sell
Json: SellService.svc/json/Sell

Parámetros de entrada

Parámetro Tipo Req. Descripción
SearchId Guid R Identificador de Search.
ClientId String R Identificador proporcionado por Netviax.
ClientToken String R Identificador proporcionado por Netviax.
ClientEnvironment String R Production o Testing.
ClientChannel String O Canal a ser utilizado por el consolidador/agencia.
Source String R GDS Fuente de la opción seleccionada, donde validar disponibilidad y precios. AM, SB, TPWS
AdultPassengerType String R PassengerDiscountType correspondiente al ADT
AdultPassengerQuantity Int O Cantidad de adultos.
AdultFareData FareData O Valores de Tarifa y Taxes a validar para el ADT
ChildPassengerType String O PassengerDiscountType correspondiente al CNN
ChildPassengerQuantity Int O Cantidad de Niños
ChildFareData FareData O Valores de Tarifa y Taxes a validar para el CNN
InfantPassengerType String O PassengerDiscountType correspondiente al INF
InfantPassengerQuantity Int O Cantidad de bebes.
InfantFareData FareData O Valores de Tarifa y Taxes a validar para el INF
FareType String R Tipo de Tarifa. PUB, PACC, PNEG
ACCodes String[] O
GroupsOfFlights SellQueryGroupOfFlights[]

SellQueryGroupOfFlights
Lista de vuelos agrupados por tramos. Cada grupo equivale a un RPH en los resultados de Search.

Parámetro Tipo Req. Descripción
GroupOfFlights SellQueryGroupOfFlights[] R Lista de grupos de vuelos.

SellQueryGroupOfFlights
Lista de vuelos agrupados por tramos. Cada grupo equivale a un RPH en los resultados de Search.

Parámetro Tipo Req. Descripción
Flights SellRequestFlight[] R Lista de vuelos.

SellRequestFlight
Detalles de vuelos incluidos en el itinerario.

Parámetro Tipo Req. Descripción
MarketingCarrier Guid R Cia de marketing.
FlightNumber String R Numero de vuelo.
Departure DateTime R Fecha de partida.
BookingClass String O Clase de reserva.
OriginAirport String R Codigo de Aeropuerto de partida.
DestinationAirport String R Codigo de Aeropuerto de llegada
MarriedWithPreviousSegment String R Indicador de segmentos casados.

FareData
Montos a validar en la cotización del itinerario correspondiente.
Si parte de una cotización desde el método Search,  Response-> … GlasData-> FareAmount y TaxAmount.

Parámetro Tipo Req. Descripción
FareAmount Decimal R Monto de Tarifa.
TaxAmount Decimal R Monto de Tasas.

Ejemplo de Sell RQ

Parámetros de salida

Parametros globales
Parámetro Tipo Descripción
SearchId String Identificador de busqueda.
FlightsSold SellResponseFlight[] Lista de vuelos confirmados.
FlightsUnableToSell SellResponseFlight[] Lista de vuelos no disponibles.
AdultFareData FareData
ChildFareData FareData
InfantFareData FareData
WarningMessage String[] Mensajes de advertencia referentes al mensaje completo.
ErrorMessage String Mensajes de error referentes al mensaje completo.
  • ErrorMessage:

Itinerary Sell Failed – Uno o mas vuelos no disponibles. Revisar la lista de FlightsUnableToSell.

NO COTIZÓ CON LA MISMA TARIFA – Error en los importes de Tarifa o Taxes.

FAQs:

Que hacer ante un Itinerary Sell Failed?
Este itinerario no está disponible, algunos tramos no se pudieron confirmar con lugar.
En la colleccion FlightsUnableToSell puede examinar los vuelos que no se pudieron vender.

PNRServices

Metodo: RetrievePNRByRecordLocator

Este método permite recuperar una reserva a partir de un código localizador de un GDS y la especificación de a que GDS pertenece.

Endpoints
SOAP: PNRServices.svc/RetrievePNRByRecordLocator
Json: PNRServices.svc/Json/RetrievePNRByRecordLocator

Parámetros de entrada

Parámetro Tipo Req. Descripción
SearchId Guid R Identificador de Search.
ClientId String R Identificador proporcionado por Netviax.
ClientEnvironment String R Production o Testing.
ClientChannel String O Canal a ser utilizado por el consolidador/agencia.
Source String R GDS Fuente de la opción seleccionada, donde validar disponibilidad y precios y generar la reserva.. AM, SB o TPWS según permisos de ClientId.
RecordLocator String R Código localizador dentro del GDS/Source seleccionado.

Metodo: AddDataToPNR

Este método permite recuperar una reserva a partir de un código localizador de un GDS y la especificación de a que GDS pertenece.

Endpoints
SOAP: PNRServices.svc/AddDataToPNR
Json: PNRServices.svc/Json/AddDataToPNR

Parámetros de entrada

Parámetro Tipo Req. Descripción
SearchId Guid R Identificador de Search.
ClientId String R Identificador proporcionado por Netviax.
ClientEnvironment String R Production o Testing.
ClientChannel String O Canal a ser utilizado por el consolidador/agencia.
ClientGlas String O
Source String R GDS Fuente de la opción seleccionada, donde validar disponibilidad y precios y generar la reserva.. AM, SB o TPWS según permisos de ClientId.
RecordLocator String R Código localizador dentro del GDS/Source seleccionado.
Remarks AddDataToPNRQueryRemark[] O Lista de remarks a ingresar en el PNR

AddDataToPNRQueryRemark

Parámetro Tipo Req. Descripción
Text String R Texto libre del remark a ingresar.
  • ClientId: Identificador de cliente consultando el servicio, este es un valor fijo que va a ser proporcionado por Netviax.
  • ClientEnvironment: Entorno de llamadas del cliente, este valor va a ser fijo y proporcionado por Netviax en cada una de las iteraciones con el desarrollador.
  • ClientToken: Valor fijo para otorgar seguridad en las consultas al servicio.
  • ClientChannel: Este parámetro brinda la posibilidad al desarrollador de elegir entre múltiples canales definidos por su cliente. Este cambio de Canal puede brindar a la Agencia de Viajes o Consolidador credenciales diferentes frente a los GDS o simplemente un “tracking” adicional en el caso de poseer múltiples sitios o aplicaciones consumiendo el servicio.
  • ClientGLAS: Este valor es especificado por la Agencia de Viajes o Consolidador que va a brindar contenido permitiendo variar el mismo de acuerdo a los cambios en este valor. Con la especificación de este valor se pueden cambiar tipos de busqueda, tarifas privadas, reglas comerciales, porcentajes de retención de descuentos, fees, etc. Si bien para un sitio/aplicación se estila utilizar un solo valor para todas estas llamadas, podrían generarse múltiples de acuerdo a parámetros que se definan como usuario logueado etc.
  • Remarks: Coleccion de AddDataToPNRQueryRemark constituyendo una lista de los remarks que se pretenden agregar al PNR.
    • Text: Texto libre. Este texto va a ser representado dentro de los PNR en el campo remarks de cada GDS. Dado que el receptor de estos datos puede ser múltiple (Amadeus, Sabre o Travelport) caracteres especiales pueden ser aceptados en algunos y no en otros, es por esto que recomendamos la construcción de estos “textos” libres con caracteres del alfabeto en ingles SIN la utilización de tildes. La inclusión de caracteres especiales tales como “*”, “/”, etc, deberían ser consultados con Netviax a fin de determinar la compatibilidad con el/los GDS a utilizar.

Ejemplo de AddDataToPNR

<ns:query>
   <mes:ClientId>Netviax</mes:ClientId>
   <mes:ClientEnvironment>Production</mes:ClientEnvironment>
   <mes:ClientToken>xxxx</mes:ClientToken>
   <mes:ClientChannel></mes:ClientChannel>
   <mes:ClientGLAS>NETVIAXINT</mes:ClientGLAS>
   <mes:TrackId>1234</mes:TrackId>
   <mes:Source>SB</mes:Source>
   <mes1:RecordLocator>RRRRRR</mes1:RecordLocator>
   <mes1:CreationTimestamp>2017-11-28T07:04</mes1:CreationTimestamp>
   <mes1:LastUpdateTimestamp>2017-11-28T07:50</mes1:LastUpdateTimestamp>
   <mes1:Remarks>
   <mes1:AddDataToPNRQueryRemark>
   <mes1:Text>ACA VA EL MENSAJE</mes1:Text>
   </mes1:AddDataToPNRQueryRemark>
   <mes1:AddDataToPNRQueryRemark>
   <mes1:Text>ACA VA EL MENSAJE 2</mes1:Text>
   </mes1:AddDataToPNRQueryRemark>
   </mes1:Remarks>
</ns:query>
{
   "ClientId":"Netviax",
   "ClientEnvironment":"Production",
   "ClientToken":"N3tv!ax",
   "ClientGLAS":"NETVIAXINT",
   "ClientChannel": "",
   "CorporationCodeGLAS": "",
   "TrackId" : "1234",
   "Source": "SB",
   "RecordLocator": "KWZRGI",
   "CreationTimestamp": "",
   "LastUpdateTimestamp": "",
   "Remarks": [
      { "Text" : "TEXTO 1"},
      { "Text" : "TEXTO 2"}
   ]
}

Método: CreatePNR

Endpoints
SOAP: PNRServices.svc/CreatePNR
Json: PNRServices.svc/Json/CreatePNR

 

Parámetros de entrada

Tipo Parámetro Tipo Req. Descripción
CreatePNRQuery
ClientId String R Identificador proporcionado por Netviax.
ClientEnvironment String R Production o Testing.
ClientToken String R Token del Cliente registrado por Netviax
ClientChannel String O Canal a ser utilizado por el consolidador/agencia.
ClientGLAS String R Identificador del Cliente GLAS
CorporationCodeGLAS String O Codigo Corporativo
TrackId String O Identificador para el Track, es opcional, si no llega Netviax genera uno para dicha operación.
Source String R GDS donde está creada la reserva: AM, SB o TPWS
AdultPassengerType String R Tipo de descuento para los Adultos
AdultFareData FareData R Datos de Tarifa
AdultPassengerQuantity Int M Cantidad de adultos
ChildPassengerType String O Tipo de descuento para los Childs
ChildFareData FareData O Datos de Tarifa
ChildPassengerQuantity Int M Cantidad de niños
InfantPassengerType String O Tipo de descuento para los Infants
InfantFareData FareData O Datos de Tarifa
InfantPassengerQuantity Int M Cantidad de bebes
ACCodes List<String> O Lista de ACCodes
FareType String O Tipo de Tarifa
Passengers List<QueryPassenger> R Lista de Pasajeros
Flights List<QueryFlight> R Lista de Vuelos
FOPToStore FOPToStore O Forma de Pago a guardar
FOP QueryFOPs O Forma de Pago
NetRemit String O Tipo de NetRemit 1, 5, «»
Encrypted boolean R Dice si los datos de la tarjeta vienen Encriptados
FOPs List<QueryFOP> R Lista de Formas de Pago
ValidatingCarrier String R Aerolínea Validadora
OverrideValidatingCarrier String O Sobreescribir Aerolínea Validadora
Agency AgencyData R Datos de Agencia
WholesalerDetails AgencyData O Datos de Consolidadora
RetailerDetails AgencyData O Datos de Minorista
ExpiringDate DateTime O Fecha de Expiración de Reserva
Remarks List<String> O Remarks generales
FareData
FareAmount Decimal R Monto de Tarifa
TaxAmount Decimal R Monto total de Tasas
Rules List<Rule> O Reglas de GLAS de la Tarifa
Rule
Id String R Código de Regla
Type String R Tipo de Regla
ExtendedProperties List<ExtendedProperty> R Propiedades de la Regla
ExtendedProperty
Key String R Clave
Value String R Valor
Agency
AgencyTelephone String R Teléfono
AgencyEmail String R Email
AgencyAdress String R Dirección
AgencyCity String R Código de Ciudad
AgencyCountry String R Código de Pais
AgencyName String R Nombre de Agencia
QueryPassenger
Type String R Tipo de Pasajero («ADT», «CNN», «INF»)
LastName String R Apellido
FirstName String R Nombre
DateOfBirth DateTime O Fecha de Nacimiento
Sex String R Sexo «M», «F»
TravelDocument
Type String R Tipo de documento «PP», «CI»
Country String R Pais del documento
Number String R Número de documento
ValidThru DateTime O Fecha de Expiración
Contact
Telephone String O Teléfono
Email String O Email
Adress String O Dirección
Country String R Codigo de Pais
City String O Codigo de Ciudad
FrequentFlyerData List<QueryFrequentFlyer> O Lista de datos de Viajero Frecuente
QueryFrequentFlyer
Carrier String R Código de Aerolínea
FrequentFlyerNumber String R Número de Viajero Frecuente
QueryFlight
MarketingAirlineCode String R Aerolínea de Marketing
Number String R Número de Vuelo
Departure DateTime R Fecha de Salida
BookingClass String R Clase de Reserva
DepartureAirport String R Aeropuerto de Salida
ArrivalAirport String R Aeropuerto de Llegada
Marriage String R Información sobre vuelos casados
Grp String R Grupo
FOPToStore
Type Enum R Cash = 0, CreditCard = 1, CreditCard_CreditCard = 2, CreditCard_Cash = 3
CreditCards List<QueryFOPToStoreCreditCard> O Lista de Tarjetas de Credito
Cash O Si es 100% Cash o combinada
Currency String O Moneda
Amount Decimal O Monto
AdditionalData List<String> O Lista de Datos Adicionales
QueryFOPToStoreCreditCard
BrandCode String R Credit Card Brand code: AX, MC, VI, TN.
Number String R Numero de tarjeta
ExpirationDate String R
SecurityCode String O CVV
CardHolderName String R Titular de la tarjeta
Currency String O Moneda
Amount Decimal O Monto
ExtendedPayment String O Planes de cuotas
AuthorizationCode String O Código de autorización
AdditionalData List<String> O Lista de Datos Adicionales
Encrypted Boolean R Dice si los datos de la tarjeta vienen Encriptados
QueryFOP
Type Enum R Cash = 0, CreditCard = 1, CreditCard_CreditCard = 2, CreditCard_Cash = 3
Cash O Si es 100% Cash o combinada
Currency String O Moneda
Amount Decimal O Monto
AdditionalData List<String> O Lista de Datos Adicionales
CreditCards List<QueryFOPCreditCard> OverrideValidatingCarrier
SegmentReferences List<String> O Referencias a Segmentos
PassengerReferences List<String> O Referencias a Pasajeros
StoreFareReference String O Referencia a la Tarifa (PQ/TST)
Carrier String O Aerolínea
Commission String O Comisión
TourCode String O TourCode
QueryFOPCreditCard
BrandCode String R Credit Card Brand code: AX, MC, VI, TN.
Number String R Numero de tarjeta
ExpirationDate String R
SecurityCode String O CVV
CardHolderName String R Titular de la tarjeta
Currency String O Moneda
Amount Decimal O Monto
ExtendedPayment String O Planes de cuotas
AuthorizationCode String O Código de autorización
AdditionalData List<String> O Lista de Datos Adicionales

Mensajes

Sugerencia para el uso de Mensajes
Como parte del servicio de search se incluye en cada cotización un set de mensajes que pueden describir la opción cotizada.

Nota para el Administrador de Reglas
Aunque el servicio consulta con un cliente GLAS específico, se recomienda no segmentar por cliente estas reglas de mensaje. Usar en cambio un prefijo en los mensajes (el cual puede ponerse de acuerdo con desarrollo, ej. www*) para facilitar el mantenimiento de las mismas.

Nota para el Desarrollador
Los mensajes son para uso desde varios medios. Recomendamos acordar un prefijo para los que estén destinados a este canal de venta (ej. www*). Cada mensaje tiene hasta 3 lineas. (Message0, Message1, Message2)

Metodo: AirService.svc/Search

Consulta:
Agregar a la consulta la propiedad RulesDetailLevel en ALL.

Respuesta:
..Quotations[0].GlasData.ReglasComercialesMensaje[]

ReglasComercialesMensaje

Reglas de mensaje.

Parámetro Tipo Descripción
ReglaID String Id de regla de mensaje.

Ejemplo de SearchResponse GlasData incluyendo Mensajes

<a:GlasData>
…
<a:ReglasComercialesFee />
<a:ReglasComercialesMensaje>
<a:ReglaComercialMensaje>
<a:ReglaID>993</a:ReglaID>
</a:ReglaComercialMensaje>
</a:ReglasComercialesMensaje>
"GlasData": {
...
"ReglasComercialesFee": [],
"ReglasComercialesMensaje": [
{
"ReglaID": "993"
}
],

Reglas

Informacion detallada de la regla.

Parámetro Tipo Descripción
Id String Id de Regla.
Description String Descripcion de la regla
Details String Detalle de la regla
ExtendedProperties KeyValuePair[] Lista general de propiedades

Ejemplo de SearchResponse incluyendo RulesInformation

<a:RulesInformation>
   <a:Rule>
   <a:Id>993</a:Id>
   <a:Description>MENSAJE PRUEBA</a:Description>
   <a:Details>MENSAJE PRUEBA</a:Details>
   <a:ExtendedProperties>
      <a:ExtendedProperty>
         <a:Key>Message0</a:Key>
         <a:Value>www*Los mejores precios comprando aqui</a:Value>
      </a:ExtendedProperty>
      <a:ExtendedProperty>
         <a:Key>Message1</a:Key>
         <a:Value>www*</a:Value>
      </a:ExtendedProperty>
   </a:ExtendedProperties>
   </a:Rule>
</a:RulesInformation>
"RulesInformation": [
   {
      "Id": "993",
      "Description": "MENSAJE PRUEBA",
      "Details": "MENSAJE PRUEBA",
      "ExtendedProperties": [
         {
            "Key": "Message0",
            "Value": "www*Los mejores precios comprando aqui."
         },
         {
            "Key": "Message1",
            "Value": " www*"
          },
          {
             "Key": "Message2",
             "Value": " www*"
           }
        ]
     },

PricingServices.svc

Método: PricingPNRStoredFare

Dado un PNR y la referencia a una de las tarifas guardadas en el mismo consultar al Motor de Reglas y devuelve las reglas asociadas a esa Tarifa.

Endpoints
SOAP: https://servicios.netviax.com/PricingServices.svc/PricingPNRStoredFare
Json: https://servicios.netviax.com/PricingServices.svc/Json/PricingPNRStoredFare

Parámetros de entrada

Parámetro Tipo Req. Descripción
ClientId String R Identificador proporcionado por Netviax.
ClientEnvironment String R Production o Testing.
ClientToken String R Token del Cliente registrado por Netviax
ClientChannel String O Canal a ser utilizado por el consolidador/agencia.
ClientGLAS String R Identificador del Cliente GLAS
CorporationCodeGLAS String O Codigo Corporativo
TrackId String O Identificador para el Track, es opcional, si no llega Netviax genera una para dicha operación.
Source String R GDS donde está creada la reserva: AM, SB o TPWS
RecordLocator String R Código localizador dentro del GDS/Source seleccionado.
StoredFareReference String R Identificador de la Tarifa que desea obtener.

Ej: Request

Datos de Salida

Atributo Tipo Descripción
OperationId String Identificador proporcionado por Netviax.
Fares QuotedFare[] Datos de Tarifa dentro del PNR
NumberInPNR String Referencia de la Tarifa dentro del PNR
ValidatingCarrier String Compañía validadora
FareType String Tipo de Tarifa (PUB, PACC, PNEG)
PassengerDiscountType String PTC
FareCalc String FareCalc de la Tarifa
OriginalFareCurrency String Moneda de la Tarifa Original
OriginalFareAmount Decimal Tarifa Original
Taxes Decimal Monto total de Tasas
TaxBreakdown TaxDetail[] Detalle de las Tasas
taxCountryCode String Código particular del país
taxNatureCode String Código de la Tasa
taxCurrency String Moneda de la Tasa
taxAmount Decimal Monto de la Tasa
taxIndicator String
EquivalentFareCurrency String Moneda de la Tarifa Equivalente
EquivalentFareAmount Decimal Monto de l a Tarifa Equivalente
PassengerTattooReference String[] Referencias a los pasajeros de la reserva
SegmentTattooReferences String[] Referencia a los tramos de la reserva
GlasData
Currency String Moneda de Tarifa
FareAmount Decimal Monto de Tarifa
TaxAmount Decimal Monto de Tasas
TarifaMenosQ Decimal Tarifa – Impuesto Q
TarifaMasYQ Decimal Tarifa + Impuestos YQ
DiscountAmount Decimal Monto total de Descuentos
NetAmount Decimal Monto Neto
FeeAmount Decimal Monto total de Fees
SellingPriceAmount Decimal Precio de Venta Sugerido
TotalAmount Decimal Monto Total = Tarifa + Impuestos
OnLine Decimal Monto Online en la Cia Validadora
ReglasComerciales ReglaComercial[] Reglas comerciales que aplican a la tarifa
ReglaId String Id de la regla
Properties ExtendedProperty Dictionary<String, String> Es un diccionario Clave Valor, con todos los datos de cálculo de cada Regla.
Flights FlightPricing[] Vuelos de la Reserva
Grp String Identificador de tramo
NumberInPNR String Identificador de Segmento
MarketingAirlineCode String Código de la Aerolínea de Marketing
OperatingAirlineCode String Código de la Aerolínea Operadora
Number String Número de Vuelo
DepartureAirport String Aeropuerto de salida
Departure DateTime Fecha y Hora de Salida
ArrivalAirport String Aeropuerto de Llegada
Arrival DateTime Fecha y Hora de Llegada
BookingClass String Clase
Marriage String Información de segmentos casados
RulesInformation RuleInformation[] Canal a ser utilizado por el consolidador/agencia.
Id String Id Regla
Type String Tipo de Regla
Description String Descripción
Details String Detalles de la regla
ExtendedProperty ExtendedProperty Dictionary<String, String> Es un diccionario Clave Valor, con todos los datos de Definición de cada Regla.
Warnings Warnings
Error Código y descripción del error.