Introducción
...
Table of Contents | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Introducción
KIU SNAPSHOTS (PNR) es un servicio para el envío de PNRs que permitirá mantener sincronizado con el PSS el estado de todos los PNR en tiempo real. Cada vez que un PNR es creado, modificado, dividido o purgado se enviará un archivo JSON con el o los PNRs afectados.
Estructura del archivo
El nombre del archivo json generado tiene el contiene como prefijo PNRPNRS_ y el timestamp en UTC, quedando el siguiente patrón PNRPNRS_YYYYMMDDTHHMMSSFFFZ.json
, por ejemplo PNRS_20230512T105030923Z.json
Internamente, el archivo contiene un objeto “event_details” que da detalles sobre el evento que generó el cambio y una lista de PNR, donde cada [1..n] afectados por el mismo. Cada objeto del array representa un PNR modificado y la estructura del mismo está representada en el schema de la api get_booking_information (con la excepción del evento de purga).
Ejemplo :de archivo
Code Block |
---|
{ "pnr“event_list"details”: [ {objetos json de PNR según schema api get_booking_information} ] } |
Al schema de la api mencionada solo se le agrega un nuevo elemento “event_details” que da detalles sobre el evento que generó la modificación. quedando la estructura de la siguiente manera
Code Block |
---|
{{...}, "pnr_list": [ { “event_details”: {}, "record_locator_version_information": {}, "record_locator_information": {}, "passengers_information": {}, "flights_segment_information": {}, "flights_origin_destination_information": {}, "contacts_list": [], ... "pricing_information": {} }, {...} ] } |
Estructura event_details
El objeto event_details tiene la sieguiente estrucura:
Key | Tipo Dato | Valores posibles | Descripción | Ejemplo | Observaciones |
---|---|---|---|---|---|
system_from | string(2:3) | C1 o código operador de aerolinea, depende si es terminal de PSS o de Kiu GDS | Z8 | ||
company | string(4) | Código único de la empresa, aerolinea o agencia, dentro de Kiu | 00Z8 | ||
channel | string | HOST, GDS | HOST | ||
subchannel | string | En el caso de GDS es el código de gds (C1, 1A, etc). En el caso de HOST, es el valor que se configuró en la tabla de oficinas, comando DNO / BI STAT.SUB-CHANNEL | SALES OFFICE | ||
device | string(0:10) | Dispositivo de Kiu que generó la transacción | LPB00Z8205 | ||
agent | string(0:9) | Dispositivo de Kiu que generó la transacción. | HDQ00Z8SM | ||
pnr_action | string | CREATE, MODIFY, SPLIT, DELETE | Identifica si el evento es de creación o modificación o división | CREATE | El SPLIT se aplicará a los 2 PNR (el creado y el modificado en ese proceso). |
transaction_type | string | DIRECT, INDIRECT | Identifica si la modificación sobre el pnr se da por una intervención directa de un usuario/api o si la modificación es indirecta relacionada a otro proceso. | ||
origin | string |
| Identifica el origen que desencadena la modificación relacionado al transaction_type. Si es DIRECT, este campo podrá ser: AGENT → cambio desde KiuCommand/algunos escenarios de click) WEBSERVICES → cambio desde WS/APIS/ algunos escenarios de click FROM_EXTERNAL_MESSAGE → procesamiento de mensajeria TTY Type B/Type A Si es INDIRECT, este campo podrá ser: INTERNAL_PROCESS → cambio que afecta la reserva por un proceso interno del sistema, por ejemplo ajustes del robot time limit, cancelación de servicios, etc FROM_EXTERNAL_APPLICATION → MESSAGE → procesamiento de mensajeria TTY Type B | ||
application | string |
| Detallado en “Origen y Aplicaciones” | ||
timestamp | datetime | 2023-04-20T22:02:32.750Z |
Origen y Aplicaciones
Al existir distintos escenarios en los cuales un PNR puede ser modificado, se optó por clasificación en base al tipo de transacción, directa o indirecta, el origen de la modifiación modificaión y la aplicación que la desencadenó.
...
Plantumlcloud | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
origin | application | agent | descripción | interno |
---|---|---|---|---|
AGENT/WEBSERVICES | KIU_COMMAND / OTHER | el que genera la transacción | Proceso Grabar PNR (comando E), emisión y void Proceso Procesos de Creación de Reservas, Modificación de Reservas y División de Reservas por apissi output = 0 → AGENT + KIU_COMMAND si output <> 0 → WEBSERVICES + OTHER , División, Guardardao, Emisión, Void por comandos o Apis | |
WEBSERVICES | OTHER | el que genera la transacción | Proceso de Creación de Reservas, Modificación de Reservas y División de Reservas por webservices (v1 y v2) | |
FROM_EXTERNAL_MESSAGE | MESSAGE_PROCESS | KIUSYSTEM | Proceso de Creación, Modificación de Reservas y División de Reservas por mensajería TTY Type B/Type A. En este caso el device será el de la oficina configurada para el host con terminal address 00 | |
FROM_EXTERNAL_MESSAGE | PFS_PROCESS | KIUSYSTEM | Ajustes por los mensajes post-departure (PFS, PRL) | |
FROM_EXTERNAL_MESSAGE | PRL_PROCESS | KIUSYSTEM | Ajustes por los mensajes post-departure (PFS, PRL) | |
INTERNAL_PROCESS | KAM | el que genera la acción en el KAM | Proceso de gestión de cupos KAM (PNRs de inventario) | |
INTERNAL_PROCESS | ROBOT_TIME_LIMIT | KIUSYSTEM | Ajustes del robot time limit | |
INTERNAL_PROCESS | VMOVE_PROCESS | KIUSYSTEM | Cambios de reservas por comando VMOVE (reacomodación) | |
INTERNAL_PROCESS | VMTM_PROCESS | KIUSYSTEM | Cambios de reservas por comando VMTM (cambio de horario), si el carrier tiene activada esa función. | |
INTERNAL_PROCESS | EXPIRED_ITINERARIES_PROCESS | KIUSYSTEM | Proceso de cancelación de itinerarios activos expirados (aquellos que pasaron mas de 40 horas desde su fecha de vuelo) | |
INTERNAL_PROCESS | CONFIRM_WAITLIST_PROCESS | KIUSYSTEM | Proceso de confirmación automática de lista de espera | |
INTERNAL_PROCESS | SCHEDULE_PROCESS | KIUSYSTEM | Cambios de reservas por schedule change (reacomodación) | |
INTERNAL_PROCESS | SERVICES_AUTOMATIC_CANCEL | KIUSYSTEM | Proceso de cancelación de itinerarios o ssr por vencimiento. | |
INTERNAL_PROCESS | SSR_INVENTORY_PROCESS | KIUSYSTEM | Proceso de confirmación/rechazo de SSR con inventario | |
INTERNAL_PROCESS | SSR_AUTOMATIC_PROCESS | KIUSYSTEM | Proceso interno creación/cancelación de SSR (este proceso es usado por el sistema cuando una acción/comando necesita agregar SSR en un PNR de manera automática, por ejemplo: cuando se hace wehcheckin en un vuelo que se gestiona en un DCS externo, y se debe agregar el SSR con la data del checkin) | |
INTERNAL_PROCESS | FOP_VALIDATION_PROCESS | KIUSYSTEM | Proceso de emisión post-validación forma de pago on-line (acá el proceso de validación puede agregar remarks con errores del proceso o por ejemplo un remark con una referencia de la transacción) | |
INTERNAL_PROCESS | SEAT_ASSIGN_PROCESS | KIUSYSTEM | Proceso interno de asignación de asientos (, esto pasa por ejemplo con la funcionalidad actual del webcheckin de 2W que elige un asiento por default y como es con PRS se modifica el PNR) | |
INTERNAL_PROCESS | RECORD_LOCATOR_PURGED | KIUSYSTEM | Proceso de purga de PNR. | |
FROMRECORD_EXTERNAL_APPLICATIONLOCATOR_SYNCHRONIZATION | Proceso de sincronización que genera imagenes de todos los PNR activos en el PSS. No existe modificación en la reserva |
Purga
El proceso de purga de PNRs podrá contener hasta 1000 pnrs en un mismo archivo. Bajo este escenario, solo se informará la key record_locator_version_information
y el evento con aplication y timestamp. El resto de los valores serán fijos"agent": "KIUSYSTEM", "transaction_type": "INDIRECT", "origin": "INTERNAL_PROCESS", "pnr_action": "DELETE"
de cada PNR y una copia de la historia del pnr al momento de la purga(equivalente al *H
)
Ejemplo de archivo
Code Block |
---|
{ "pnr_list": [ { "event_details": { "application": "RECORD_LOCATOR_PURGED", "timestamp": "2023-0508-12T1215T05:5502:4613.940Z540Z" }, "pnr_list": [ { "record_locator_version_information": { "record_locator": "CQAIKIAWCVUB", "record_locator_version": "2023-0508-10T1214T00:4000:5205.997Z360Z" } }, { "event_details": { }, "history_item_list": [ "ARM ITINERARY RECEIPT-» BAGGAGE ALLOWANCE 1 PIECES UP TO 10K FOR ADT", " /XX100 Y 12AUG AEPOYO", "application": "RECORD_LOCATOR_PURGED", "timestamp": "2023-05-12T12:55:46.940Z" }, "BUE.BUEXX-DA 1325/12JUL23", "XS XX100 Y 12AUG SA AEPOYO HK1 0800 0830", "SYS-EX 0000/14AUG23" ] }, { "record_locator_version_information": { "record_locator": "PGJQQGBFLNBT", "record_locator_version": "2023-0508-10T1214T00:4000:5205.997Z" } }, { "event_details": { "application": "RECORD_LOCATOR_PURGED", "timestamp": "2023-05-12T12:55:46.940Z" }, "record_locator_version_information": { "record_locator": "TGJFLE", "record_locator_version": "2023-05-10T12:40:52.997Z" } ] } 360Z" }, "history_item_list": [ "XTK OK", "AT FC WK*F/VIXXXXXXXXXXXX4242N/XXXX/V123/Z12466", "ATT OK * 10AUG23/AEPXX-FT", "ATK 9990210044640 * 10AUG23/AEPXX-FT - FERNAN/M.", "ATK 9990210044641 * 10AUG23/AEPXX-FT - FERNAN/M.", "AEP.AEPXX-FT 1524/10AUG23", "ASR ABAG XX HK1 AEPCOR2049Y12AUG-1FERNAN/MR.UPTO 23KG BAGGAGE", "ASR ABAG XX HK1 AEPCOR2049Y12AUG-1FERNAN/MRS.UPTO 23KG BAGGAGE", "AEP.AEPXX-FT 1525/10AUG23", "XSR ABAG XX HK1 AEPCOR2049Y12AUG-1FERNAN/MR.UPTO 23KG BAGGAGE", "XSR ABAG XX HK1 AEPCOR2049Y12AUG-1FERNAN/MRS.UPTO 23KG BAGGAGE", "SYS-TX 0730/11AUG23", "XS XX2049Y 12AUG SA AEPCOR HK2 0800 0900", "SYS-EX 0000/14AUG23" ] } ] } |
Recap
Al relizarse la implementación de este módulo, se ejecutará un proceso de RECAP que recorrerá la base de datos generando una imagen de cada PNR. Bajo este escenario no hay una modificación sobre el PNR, el event_datails
solo tendrá la key "application": "RECORD_LOCATOR_SYNCHRONIZATION"
.
Esta funcionalidad de RECAP está incluida en el costo de implementación. Cualquier solicitud adicional por parte de la aerolínea para la re ejecucion de este proceso deberá ser evaluado por el departamento comercial.