KIU SNAPSHOTS (PNR)
Introduction
KIU SNAPSHOTS (PNR) is a service for PNR sending that maintains the status of all PNRs synchronized with the PSS in real time. Every time a PNR is created, modified, divided, or purged, a JSON file will be sent with the affected PNR(s).
File structure
The name of the generated JSON file contains the document number referred to as a prefix by the PNRS_ prefix and the timestamp in UTC, leaving the following pattern PNRS_YYYYMMDDTHHMMSSFFFZ.json, for example, PNRS_20230512T105030923Z.json
Internally, the file contains an "event_details" object that gives details about the event that generated the change and a list of PNR[1..n] affected by it. Each object in the array represents a PNR and its structure is represented in the schema of the get_booking_information API (except the purge event).
Example:
{
“event_details”: {...},
"pnr_list": [
{
"record_locator_version_information": {},
"record_locator_information": {},
"passengers_information": {},
"flights_segment_information": {},
"flights_origin_destination_information": {},
"contacts_list": [],
...
},
{...}
]
}
event_details structure
The object event_details contains the following structure:
Key | Type | Possible Values | Description | Example | Comments |
---|---|---|---|---|---|
system_from | string(2:3) |
| C1 or carrier code, PSS terminal or KIU GDS | Z8 |
|
company | string(4) |
| Company code, carrier code or agency code within KIU | 00Z8 |
|
channel | string | HOST, GDS |
| HOST |
|
subchannel | string |
| In the case of GDS, it is the gds code (C1, 1A, etc). In case of HOST, it is the value configured in the office table with the command DNO / BI STAT.SUB-CHANNEL | SALES OFFICE |
|
device | string(0:10) |
| Kiu device that triggered the transaction | LPB00Z8205 |
|
agent | string(0:9) |
| Kiu device that triggered the transaction | HDQ00Z8SM |
|
pnr_action | string | CREATE, MODIFY, SPLIT, DELETE | Identifies whether the event is create, modify or split. | CREATE | SPLIT applies to both PNRs (the created and the modified one). |
transaction_type | string | DIRECT, INDIRECT | Identifies whether the modification on the pnr is given by a direct action of a user/api or if the modification is indirectly related to another process. |
|
|
origin | string |
| Identifies the origin that triggers the modification related to the transaction_type. If it is DIRECT, this field may be: AGENT → change from KiuCommand/some Click scenarios WEBSERVICES → change from WS/APIS/some Click scenarios FROM_EXTERNAL_MESSAGE → TTY Type B/Type A messaging processing If it is INDIRECT, this field may be: INTERNAL_PROCESS → change that affects the PNR during an internal process, for example, updates of the robot time limit, service cancellations, etc FROM_EXTERNAL_MESSAGE → TTY Type B/Type A messaging processing |
|
|
application | string |
| Explained under “Origin and applications” |
|
|
timestamp | datetime |
|
| 2023-04-20T22:02:32.750Z |
|
Origin and applications
As there are different scenarios in which a PNR can be modified, a classification was chosen based on the type of transaction, direct or indirect, the origin of the modification, and the application that triggered it.
Based on these variables, the following combinations are created:
origin | application | agent | description |
---|---|---|---|
AGENT/WEBSERVICES | KIU_COMMAND / OTHER | the one that triggers the transaction | Processes of PNR Creation, Modification, Split, Saved, Issuance, Void by commands or APIs |
WEBSERVICES | OTHER | the one that triggers the transaction | Process of Creation of PNRs, Modification of PNRs, and Split of Reservations by webservices (v1 and v2) |
FROM_EXTERNAL_MESSAGE | MESSAGE_PROCESS | KIUSYSTEM | Process of Creation, Modification of PNRs, and Split of Reservations by TTY Type B/Type A messaging. In this case, the device will be the one of the office configured for the host with terminal address 00 |
FROM_EXTERNAL_MESSAGE | PFS_PROCESS | KIUSYSTEM | Adjustments for post-departure messages (PFS, PRL) |
FROM_EXTERNAL_MESSAGE | PRL_PROCESS | KIUSYSTEM | Adjustments for post-departure messages (PFS, PRL) |
INTERNAL_PROCESS | KAM | the one that triggers the KAM transaction | KAM quota management process (inventory PNRs) |
INTERNAL_PROCESS | ROBOT_TIME_LIMIT | KIUSYSTEM | Robot time limit adjustments |
INTERNAL_PROCESS | VMOVE_PROCESS | KIUSYSTEM | PNR changes by VMOVE command (rearrangement) |
INTERNAL_PROCESS | VMTM_PROCESS | KIUSYSTEM | PNR changes by VMTM command (time change), if the carrier has activated this function. |
INTERNAL_PROCESS | EXPIRED_ITINERARIES_PROCESS | KIUSYSTEM | Cancellation process for expired active itineraries (those with more than 40 hours since flight date) |
INTERNAL_PROCESS | CONFIRM_WAITLIST_PROCESS | KIUSYSTEM | Automatic waitlist confirmation process |
INTERNAL_PROCESS | SCHEDULE_PROCESS | KIUSYSTEM | Reservation changes by schedule change (reaccommodation) |
INTERNAL_PROCESS | SERVICES_AUTOMATIC_CANCEL | KIUSYSTEM | Process of cancellation of itineraries or ssr due to expiration. |
INTERNAL_PROCESS | SSR_INVENTORY_PROCESS | KIUSYSTEM | Proceso de confirmación/rechazo de SSR con inventario |
INTERNAL_PROCESS | SSR_AUTOMATIC_PROCESS | KIUSYSTEM | Internal SSR creation/cancellation process (this process is used by the system when an action/command needs to automatically add an SSR to a PNR, for example: when the web check-in is done on a flight that is managed at an external DCS, and you must add the SSR with the check-in data) |
INTERNAL_PROCESS | FOP_VALIDATION_PROCESS | KIUSYSTEM | Post-validation issuance process with the online payment method (here the validation process can add remarks with process errors or, for example, a remark with a transaction reference) |
INTERNAL_PROCESS | SEAT_ASSIGN_PROCESS | KIUSYSTEM | Internal process of assigning seats, this happens for example with the current functionality of webcheckin that chooses a default seat and, as with PRS, the PNR is modified. |
INTERNAL_PROCESS | RECORD_LOCATOR_PURGED | KIUSYSTEM | PNR purge process. |
| RECORD_LOCATOR_SYNCHRONIZATION |
| Synchronization process that generates images of all active PNRs in the PSS. There is no change in the reservation. |
Purge
The PNR purge process may contain up to 1000 PNRs in the same file. Under this scenario, only the key record_locator_version_information of each PNR will be reported.
Example:
{
"event_details": {
"application": "RECORD_LOCATOR_PURGED",
"timestamp": "2023-05-12T12:55:46.940Z",
"agent": "KIUSYSTEM",
"transaction_type": "INDIRECT",
"origin": "INTERNAL_PROCESS",
"pnr_action": "DELETE"
},
"pnr_list": [
{
"record_locator_version_information": {
"record_locator": "CQAIKI",
"record_locator_version": "2023-05-10T12:40:52.997Z"
}
},
{
"record_locator_version_information": {
"record_locator": "PGJQQG",
"record_locator_version": "2023-05-10T12:40:52.997Z"
}
},
{
"record_locator_version_information": {
"record_locator": "TGJFLE",
"record_locator_version": "2023-05-10T12:40:52.997Z"
}
]
}
Recap
When this module is implemented, a RECAP process will be executed to go through the database generating an image of each PNR. Under this scenario there is no modification to the PNR, the event_datails will only have the key "application": "RECORD_LOCATOR_SYNCHRONIZATION".
This RECAP functionality is included in the implementation cost. Any additional request by the airline for the re-execution of this process must be evaluated by the commercial department.