Consejo: comienza colocando el nombre del producto sobre el que necesitás asesoría
MKTE AIR: Servicio API JSON
Introducción
El servicio API esa orientado a la integración del contenido Amadeus MKTE AIR en interfaces externas, permitiendo utilizar las funcionalidades MKTE disponibles y registrando las reservas de forma en el módulo de reservas.
Para cerrar un flujo de reserva se debe peticionar linealmente los servicios disponibles en API conservando los datos mandatorios de identificación.
Servicios disponibles en flujo
- Availability
- Booking
- Queue
Se presenta a continuación un esquema de uso de los servicios disponibles

El servicio de Availability permite obtener las recomendaciones disponibles para destinos y fechas determinadas.
El servicio de Booking permite generar la reserva de los tramos y segmentos de vuelo requeridos enviando la información de los pasajeros
El servicio de Queue permite reencolar una reserva y bloquear la misma para evitar la cancelación automática.
Tanto el servicio de Booking como Queue requieren el envío de parámetros de referencia de flujo indicados en la petición de disponibilidad.
Método de petición
Los servicios JSON requieren ser consultados con los parámetros definidor mediante método POST, apuntando al endpoint indicado para cada uno.
Autenticación
Los servicios deben ser peticionados enviando la variable key definida en el motor MKTE AIR dentro de los parámetros de cada servicio.
Servicio Availability
El servicio de availability permite realizar peticiones de disponibilidad sobre el motor MKTE AIR. Las tarifas de los resultados presentados son previamente procesados por el motor MKTE RULES y se presenta en la respuesta todo el detalle de intervención tarifaria.
El motor MKTE AIR se encarga de determinar toda la lógica del negocio peticionando sobre el perfil de tarifas configurado en la búsqueda MasterPricerTravelBoard del proveedor Amadeus.
Las recomendaciones obtenidas por el servicio de disponibilidad están disponibles por un periodo de 10 minutos. Superado ese tiempo el cupo y la tarifa puede no ser garantizada.
Endpoint:
<URL MOTOR MKTE AIR>/mkte_air/json/availability.php
Request
| Parámetro | Tipo | Descripción | Mandatorio |
| key | String | HASH de autenticación | S |
| destinos | Array | Codigo IATA ciudad | S |
| fechas | Array | Fecha de tramos de vuelo en formato YYYY-MM-DD | S |
| clase | String | Prioridad de búsqueda. Opciones disponibles: Economy, EconomyStandard, EconomyPremium, Business, First | N |
| adultos | Integer | Cantidad de pasajeros adultos. Mínimo 1 | S |
| menores | Integer | Cantidad de pasajeros menores | N |
| bebes | Integer | Cantidad de bebes. No puede superar la cantidad de adultos responsables | N |
| aerolineas | Array | Codigos IATA de líneas aéreas mandatorias en los resultados | N |
Response
| Parámetro | Tipo | Descripción |
| providerName | String | Nombre del motor generador de la tarifa |
| price | Array | Elemento price |
| bookingdata | Array | Elemento bookingdata |
| bookURL | String | URL predecible de búsqueda |
| motor_busqueda | String | Identificador de búsqueda |
| session_id | String | Identificados de sesión internar de búsqueda |
| hash_data | String | Información codificada de recomendación |
| flights | Array | Elemento flights |
Elemento Price
Se devuelven la cotización de la recomendación en moneda local del motor en la posición inicial del array y en USD para la segunda posición
| Parámetro | Tipo | Descripción |
| value | Decimal | Valor tarifa final |
| currency | Char | Codigo de moneda |
| PTC_FareBreakdowns | Array | Elemento PTC_FareBreakdowns |
| reglas | Array | Elemento reglas |
Elemento Price / PTC_FareBreakdowns
El key de cada elemento indica el tipo de PTC
| Parámetro | Tipo | Descripción |
| BaseFare | Decimal | Valor BaseFare por PTC |
| EquivFare | Decimal | Valor EquivFare por PTC |
| Taxes | Decimal | Valor Taxes por PTC |
| FareBasisCodes | Array | Listado de FareBasisCodes por segmento de vuelo |
| TaxesDetail | Array | Listado de montos detalle de impuestos. El key de cada elemento indica el código del impuesto |
| TotalFare | Decimal | Valor TotalFare por PTC |
El detalle de impuestos varía según el mercado y destino de las recomendaciones, y pueden variar según normativas locales. Por ejemplo los impuestos codificados como Q1GO y O5LA corresponden a las percepciones de AFIP RG 4815 e impuesto país respectivamente.
Para obtener más información sobre detalle de impuestos visitar los siguientes visitar
https://servicehub.amadeus.com/c/portal/view-solution/4471495/codigos-de-naturaleza-del-impuesto
Elemento Price / reglas
| Parámetro | Tipo | Descripción |
| nombre | String | Nombre de la regla visible aplicada |
| monto | Decimal | Monto de la regla |
Elemento bookingdata
| Parámetro | Tipo | Descripción |
| montos | Array | Elemento detalle montos |
| ValidatingCarrier | Char | Código de línea aérea validadora de tarifa |
| FareType | Array | Listado de tipos de tarifas de la recomendación |
| PTC_FareBreakdowns | Array | Elemento detalle PTC_FareBreakdowns |
Elemento bookingdata / montos
Se devuelven la cotización de la recomendación en moneda local del motor en la posición inicial del array y en USD para la segunda posición
| Parámetro | Tipo | Descripción |
| currency | Char | Código de moneda |
| value | Decimal | Monto final intervenido |
| original | Decimal | Monto tarifa final informado por la línea aérea |
| BaseFare | Decimal | Monto Base tarifaria intervenido |
| Taxes | Decimal | Monto Impuestos intervenido |
| reglas | Array | Elemento detalle reglas visibles |
Elemento bookingdata / montos / reglas
| Parámetro | Tipo | Descripción |
| nombre | String | Nombre de la regla visible aplicada |
| monto | Decimal | Monto de la regla |
Elemento bookingdata / PTC_FareBreakdowns
| Parámetro | Tipo | Descripción |
| PTC | Char | Código de PTC |
| FareBasisCodes | Array | Listado de FareBsisCode por segmento de vuelo |
Elemento flights @ segments
Se devuelven las opciones de vuelo por tramo agrupadas en keys según la cantidad de tramos solicitados y segmentos de vuelo
| Parámetro | Tipo | Descripción |
| RefNumber | Integer | Identificación de tramo. 0 (cero) determina el primero, 1 (uno) el segundo y así sucesivamente |
| flightNumber | String | Numero de vuelo |
| airline | Char | Código de línea aérea operadora |
| departure | Char | Código de aeropuerto de salida |
| arrival | Char | Código de aeropuerto de destino final |
| departureTime | Datetime | Día y hora de salida en horario local |
| departureTime | Datetime | Día y hora de llegada en horario local |
| stops | Integer | Cantidad de escalas |
| duration | Integer | Duración total del vuelo expresado en minutos |
| FareFamlyInformation | Array | Elemento detalle familia tarifaria |
| flights | Array | Elemento detalle de segmentos de vuelo |
Elemento flights / segments / FareFamlyInformation
| Parámetro | Tipo | Descripción |
| RefNumber | Integer | Identificación de tramo. 1 (uno) determina el primero, 2 (dos) el segundo y asi sucesivamente |
| fareFamilyname | String | Nombre familia tarifaria |
| description | String | Descripción nombre familia tarifaria |
| carrier | Char | Código línea aérea validadora de tarifa |
| services | String | Elemento detalle servicios incluidos |
Elemento flights / segments / FareFamlyInformation / services
| Parámetro | Tipo | Descripción |
| reference | Integer | Referencia interna de familia tarifaria |
| subType | Char | Código de servicio |
| serviceMarketingCarrier | Char | Descripción nombre familia tarifaria |
| serviceGroup | Char | Código agrupamiento de servicio |
| description | String | Detalle de servicio incluido |
| status | Char | Código de cargo del servicio. Opciones: INC (Incluido), CHA (con cargo), NOF (no ofrecido) |
Elemento flights / segments / flights
| Parámetro | Tipo | Descripción |
| Equipment | String | Código aeronave |
| TPA_ExtensionsOriginDestinationOptionDuration | Integer | Duración total del vuelo expresado en minutos |
| TPA_ExtensionsFlightDuration | Integer | Duración del segmento de vuelo expresado en minutos |
| DepartureDateTime | Datetime | Día y hora de salida del vuelo en horario local |
| ArrivalDateTime | Datetime | Día y hora de llegada del vuelo en horario local |
| StopQuantity | Integer | Cantidad de paradas / escalas técnicas |
| FlightNumber | Integer | Código de vuelo |
| DepartureAirportLocationCode | Char | Código de aeropuerto de salida |
| DepartureAirportCodeContext | String | Nombre de ciudad de salida |
| DepartureAirportTerminal | String | Nombre de terminal de salida |
| ArrivalAirportLocationCode | Char | Código de aeropuerto de llegada |
| ArrivalAirportCodeContext | String | Nombre de ciudad de llegada |
| OperatingAirlineCode | Char | Código de línea aérea operadora |
| BookingClassAvailsCabinType | String | Nombre de cabina de asiento |
| BookingClassAvailsResBookDesigCode | Char | Codigo de clase de asiento |
| freeBagAllowance | Integer | Cantidad de equipaje para despachar informado |
| freeBagWeight | Integer | Peso máximo de equipaje informado. El valor CERO corresponde a valor no informado y se debe analizar el detalle de la familia tarifaria |
| freeCarryOn | Integer | Cantidad de equipaje tipo carry on informado. Valor interpretado del detalle de la familia tarifaria |
Detalle de errores
| Código | Descripción | |
| 001 | Acceso Denegado. Contactese con el sitio web para obtener el KEY | |
| 002 | Error en consulta. Verifique que se estan enviando los destinos y fechas para la consulta | |
| 003 | Error en consulta. No se pueden consultar mas de un tramo RT | |
| 004 | Error en consulta. No se pueden consultar mas dos fechas para los tramos RT | |
| 005 | Error en consulta. Revisar la cantidad de destinos y fechas enviadas | |
| 006 | Error en consulta. Fecha no válida por anticipación | |
| 007 | Error en consulta. Fecha no válida | |
| 008 | Máximo de procesos ejecutados | |
| 009 | Código de ciudad inexistente | |
Servicio Booking
El servicio de booking permite reservar los segmentos de vuelo requeridos enviando la información de pasajeros e información de validación de tarifa.
Únicamente el sistema permite cerrar una reserva cuando hay cupo de asientos y tarifa garantida igual a la seleccionada de la disponibilidad.
En caso que el motor MKTE AIR cuente con configuración de control de CHURNING, se evitara generar reservas equivalentes según la política configurada en el motor para evitar reservas duplicadas y posteriores penalizaciones para el Office Id propietario.
Endpoint:
<URL MOTOR MKTE AIR>/mkte_air/json/booking.php
Request
| Parámetro | Tipo | Descripción | Mandatorio |
| key | String | HASH de autenticación | S |
| motor_busqueda | String | Identificador de disponibilidad externa | S |
| session_id | Array | Identificados de sesión interna | S |
| hash_data | String | Información codificada en hash adicional | S |
| notifica | Integer | Indicar valor 1 si se solicita enviar por mail el comprobante al pasajero final con detalle de reserva | N |
| tarifa | Array | Elemento detalle tarifa a reservar | S |
| pasajeros | Array | Elemento detalle información de pasajeros | S |
| vuelos | Array | Elemento detalle de segmentos de vuelos a reservar | N |
| camposextras | Array | Elemento detalle de campos extras en reserva | S |
Elemento tarifa
| Parámetro | Tipo | Descripción | Mandatorio |
| FareType | Array | Códigos de tipo de tarifa | S |
| currency | Char | Código de moneda reserva | S |
| value | Decimal | Monto de tarifa final intervenida | S |
| original | Decimal | Monto de tarifa precio final original | S |
| BaseFare | Decimal | Monto base tarifaria intervenida | S |
| Taxes | Decimal | Monto impuestos intervenido | S |
| ValidatingCarrier | Char | Código línea aérea validadora | S |
| PTC_FareBreakdowns | Array | Elemento detalle de códigos Farebasis por PTC | S |
| reglas | Array | Elemento detalle de reglas. | N |
Elemento tarifa / PTC_FareBreakdowns
| Parámetro | Tipo | Descripción | Mandatorio |
| PTC | Char | Código de PTC | S |
| FareBasisCodes | Array | Códigos de farebasiscode por cada segmento | S |
Elemento tarifa / reglas
| Parámetro | Tipo | Descripción | Mandatorio |
| nombre | String | Nombre detalle de regla aplicada | S |
| monto | Decimal | Monto de la regla adicional | S |
Elemento pasajeros
Se debe informar por cada pasajero los siguientes datos:
| Parámetro | Tipo | Descripción | Mandatorio |
| ptc | Char | Códigos de tipo de pasajero: Opciones: ADT, CH o INF | S |
| apellido | String | Apellido del pasajero | S |
| nombre | String | Nombre del pasajero | S |
| nacimiento | Date | Fecha de nacimiento del pasajero en formato DD-MM-YYYY | S |
| sexo | Char | Código de sexo. Valores posibles: M (Masculino), F (Femenino) | S |
| documento_tipo | String | Tipo de documento del pasajero. Valores posibles: DOCUMENTO, PASAPORTE | S |
| documento | String | Numero de documento del pasajero | S |
| documento_vencimiento | Date | Fecha de vencimiento de documento en formato DD-MM-YYYY | S |
| documento_pais_expedicion | Char | Código ISO alfa-3 de país de expedición. Ejemplo: ARG (Argentina) | S |
Elemento vuelos
Se debe informar por cada segmento de vuelo los siguientes datos:
| Parámetro | Tipo | Descripción | Mandatorio |
| fecha | Date | Fecha de salida de vuelo | S |
| origen | Char | Código aeropuerto de salida | S |
| destino | Char | Código aeropuerto de llegada | S |
| aerolinea | Char | Código aerolínea operadora | S |
| numero | String | Código de vuelo | S |
| cabina | String | Tipo de cabina a reservar | S |
| clase | Char | Código de clase a reservar | S |
| asientos | Integer | Cantidad de asientos a reserva considerando pasajeros Adultos y menores | S |
Elemento camposextras
| Parámetro | Tipo | Descripción | Mandatorio |
| String | Email de pasajero titular | S | |
| telefono | Numeric | Número de teléfono de pasajero titular | S |
| cuit | Numeric | CUIT del pasajero titular | N |
| comentarios | String | Texto a guardar como Remark de reserva | N |
Response
| Parámetro | Tipo | Descripción |
| success | Integer | Se envía el valor 1 si se pudo generar correctamente la reserva |
| codigo | String | Código de reserva obtenido |
| motor_busqueda | String | Identificador de búsqueda |
| session_id | String | Identificados de sesión internar de búsqueda |
Detalle de errores
| Código | Descripción | |
| 001 | Acceso Denegado. Contactese con el sitio web para obtener el KEY | |
| 002 | No se ha podido confirmar el cupo de por lo menos uno de los segmentos | |
| 003 | No se ha podido ingresar correctamente la información de los pasajeros | |
| 004 | No se ha podido obtener las misma tarifa al momento de recotizar la reserva | |
| 005 | No se ha obtenido la tarifa original solicitada | |
| 006 | No se ha podido vincular la tarifa cotizada con el cupo | |
| 007 | No se ha podido firmar la reserva | |
| 100 | Se debe enviar el valor motor_busqueda | |
| 200 | Se debe enviar el session id | |
Servicio Queue
El servicio queue permite reencolar una reserva para que la misma pueda ser identificada para su posterior emisión con los datos enviados en el proceso de booking.
Para que las reservas no se cancelen automáticamente dentro del motor MKTE AIR, la misma se bloquea agregando un registro de pago por el monto total de la reserva.
En el caso que la reserva no se emita el vencimiento de la reserva se realizara directamente del lado de Amadeus según el vencimiento de tarifa o cupo mas cercano.
Endpoint:
<URL MOTOR MKTE AIR>/mkte_air/json/queue.php
Request
| Parámetro | Tipo | Descripción | Mandatorio |
| key | String | HASH de autenticación | S |
| motor_busqueda | String | Identificador de disponibilidad externa | S |
| session_id | Array | Identificados de sesión interna | S |
| codigo | String | Código de reserva | S |
| cola | Integer | Número de cola | S |
Response
| Parámetro | Tipo | Descripción |
| success | Integer | Se envía el valor 1 si se pudo generar encolar correctamente la reserva |
| codigo | String | Código de reserva obtenido |
Detalle de errores
| Código | Descripción | |
| 001 | Acceso Denegado. Contactese con el sitio web para obtener el KEY | |
| 002 | Se debe enviar el codigo de la reserva | |
| 003 | Se debe indicar la cola destino de la reserva | |
| 100 | Se debe enviar el valor motor_busqueda | |
| 200 | Se debe enviar el session id | |