Airport Resource API

ARIS/SmartBus® Communication Middleware for Toronto’s Lester B. Pearson International Airport Greater Toronto Airport Authority

15-Nov-2018 Jonathan Bliss Initial document – Reference data (jgb@ascent.com) 29-Nov-2018 REF corrections, Added Operational data Reference documents:

GTAA document: GTAA-Integration-Data-Service_Davey-Sep18.docx

GTAA document: REST Service Query-20180523.pdf

1 General considerations Generally, there is a split between Reference data and Operational data. The Reference and Operational services each have a dedicated underlying cache table. These store the pre-formatted XML messages, and indexed values for querying. The application/controller ARIS/REF and ARIS/OPS respectively. The arguments for each function take two forms /key ?arg1=v1?arg2=v2 … Result sets XML returned by REST service are the same messages posted to ESB. Results are returned in the form of sets such as…… CONFIDENTIAL THIS DOCUMENT CONTAINS TRADE SECRETS THAT ARE THE PROPERTY OF ASCENT TECHNOLOGY, INC. THE CONTENTS MAY NOT BE USED OR DISCLOSED WITHOUT THE EXPRESS WRITTEN PERMISSION OF ASCENT TECHNOLOGY, INC. This document is the property of Ascent Technology, Inc. Copyright © 2018. Ascent Technology, Inc. All rights reserved. For the various message types, the count and average length are as follows APT 10000 550 AL 5000 700 ACT 500 450 ACR 25000 350 RSC 5000 350 FL 2000/day 500 RA 2000/day 500 In order to accommodate large result sets, “reply chunking” is provided. First GET returns first chunk Remaining chunks available using ?MORE=Y Client can receive “all” records by using ?ALL=Y then looping with ?MORE=Y until all records have been sent from the cache. Chunking is enabled for all queries, but impacts only those that return a large number of records. Chunk size currently set to 2000 (to accommodate an operational day) As of this release, there is one cache per web session. So, the sequence ALL airports followed by ALL airlines followed by /APT?MORE=Y, in the same session, will give the next chunk of Airlines. However, two separate sessions will not step on each other’s cache It would be straightforward to create one cache per message-type if the need arises, or if the benefit is clear. At this time the goal is to support an easy way for client to suck over a lot of records, not long-lived caching. Result set sortation 1. By Key when using ?ALL or ?MORE 2. By Update Seq# otherwise (required by Wipro, reason unclear) CONFIDENTIAL THIS DOCUMENT CONTAINS TRADE SECRETS THAT ARE THE PROPERTY OF ASCENT TECHNOLOGY, INC. THE CONTENTS MAY NOT BE USED OR DISCLOSED WITHOUT THE EXPRESS WRITTEN PERMISSION OF ASCENT TECHNOLOGY, INC. This document is the property of Ascent Technology, Inc. Copyright © 2018. Ascent Technology, Inc. All rights reserved. Common arguments ?UpdSeqGt= Update sequence number greater than ?UpdTmGt= Update time greater than The Update Seq originates with sequence that is used when the underlying record is modified, rather than a sequence which is dedicated to the message generation. This facilitates tracking mods end-to-end. The Update Time originates with sysdate when the underlying record is modified, or in the case of sync/initialization that sysdate of that operation. This facilitates tracking mods end-to-end. For reference data, a requirement was given to combine arguments with UpdTm. The use-case may not be obvious, but does allow one to say: given me message for this object if it has changed since some time T. There is no explicit UpdTm=ALL, but providing no UpdTmGt is equivalent. Datetime arguments Flexibility is provided for specifying “datetime” arguments. Formats include: ISO-8601 YYYYMMDDHHMISS YYYYMMDDHHMI YYYYMMDDHH YYYYMMDD YYYYMM YYYY D+n/D-n where D= today, n=hours H+n/H-n where H=now, n=hours CONFIDENTIAL THIS DOCUMENT CONTAINS TRADE SECRETS THAT ARE THE PROPERTY OF ASCENT TECHNOLOGY, INC. THE CONTENTS MAY NOT BE USED OR DISCLOSED WITHOUT THE EXPRESS WRITTEN PERMISSION OF ASCENT TECHNOLOGY, INC. This document is the property of Ascent Technology, Inc. Copyright © 2018. Ascent Technology, Inc. All rights reserved. 2 Reference Data 2. 1 Airport ARIS/REF/APT/ Key: primary code in ARIS, exact match. (e.g. YYZ) ?Name= ARIS full_name, start-match (e.g. Tor matches Toronto) ?AltCode= alternate code in ARIS (typically ICAO) Combination: UpdTmGt + Key Samples: REF/APT/YYZ REF/APT?Name=Tor REF/APT?AltCode=CYYZ REF/APT?UpdSegGt=1000 REF/APT?UpdTmGt=20181101 REF/APT/YYZ?UpdTmGt=20181101 2.2 Airline ARIS/REF/AL/ Key: primary code in ARIS, exact match. (e.g. ACA) ?AltCode= alternate code in ARIS (typically 2-char) ?PrefTerm= ARIS airline_type_extra Combination: UpdTmGt + Key, AltCode, PrefTerm Samples: REF/AL/ACA REF/AL?PrefTerm=3 REF/AL?AltCode=AC REF/AL?UpdSegGt=1000 REF/AL?UpdTmGt=20181101 REF/AL/ACA?UpdTmGt=20181101 REF/AL?PrefTerm=3&UpdTmGt=20181101 CONFIDENTIAL THIS DOCUMENT CONTAINS TRADE SECRETS THAT ARE THE PROPERTY OF ASCENT TECHNOLOGY, INC. THE CONTENTS MAY NOT BE USED OR DISCLOSED WITHOUT THE EXPRESS WRITTEN PERMISSION OF ASCENT TECHNOLOGY, INC. This document is the property of Ascent Technology, Inc. Copyright © 2018. Ascent Technology, Inc. All rights reserved. 2.3 Aircraft (Fleet) ARIS/REF/ACR/ Key: primary code in ARIS, exact match. (e.g. C-ABCDE) ?Owner= ARIS aircraft. owner (typically 3-char) ?Tail= ARIS aircraft. Tail_number ?UpdSeqGt= Update sequence number greater than: ?UpdTmGt= Update time greater than Combination: UpdTmGt + Owner Sample REF/ACR/C-ABCDE REF/ACR?Owner=ACA REF/ACR?Tail=BCDE REF/ACR?UpdSegGt=1000 REF/ACR?UpdTmGt=20181101 REF/ACR?Owner=ACA&UpdTmGt=20181101 2.4 Aircraft Type ARIS/REF/ACT/ Key: primary code in ARIS, exact match. (e.g. 788) ?AltCode= ARIS aircraft_subtype .alt_code (typically 4-char) ?Config= ARIS aircraft_subtype .config (not used) ?UpdSeqGt= Update sequence number greater than: ?UpdTmGt= Update time greater than Combination: UpdTmGt + Key, AltCode Sample REF/ACT/788 REF/ACT?AltCode=B788 REF/ACT/788?UpdTmGt=20181101 CONFIDENTIAL THIS DOCUMENT CONTAINS TRADE SECRETS THAT ARE THE PROPERTY OF ASCENT TECHNOLOGY, INC. THE CONTENTS MAY NOT BE USED OR DISCLOSED WITHOUT THE EXPRESS WRITTEN PERMISSION OF ASCENT TECHNOLOGY, INC. This document is the property of Ascent Technology, Inc. Copyright © 2018. Ascent Technology, Inc. All rights reserved. 2.5 Airport Resources ARIS/REF/RSC/ ?Type= STAND, GATE, BELT_RC, BELT_MU, DESK ?Term= ?Name= ?Area= Pier for Stand/Gate, Area for Desk ?UpdSeqGt= Update sequence number greater than: ?UpdTmGt= Update time greater than Combination: UpdTmGt + Term Sample REF/RSC?Name= REF/RSC?Type=STAND REF/RSC?Term=3&UpdTmGt=20181101 CONFIDENTIAL

THIS DOCUMENT CONTAINS TRADE SECRETS THAT ARE THE PROPERTY OF ASCENT TECHNOLOGY, INC. THE CONTENTS MAY NOT BE USED OR DISCLOSED WITHOUT THE EXPRESS WRITTEN PERMISSION OF ASCENT TECHNOLOGY, INC.

This document is the property of Ascent Technology, Inc. Copyright © 2018. Ascent Technology, Inc. All rights reserved.

3 Operational Data 3.1 Flight Leg

Queries are based on FlightDate or STx at YYZ These are expressed as intervals with a start and window length

Aside from FlightDate/STX, args can be combined as you will.

ARIS/OPS/FL

OPS/FL?FlDate=x&Days=n # default 1 day

OPS/FL?StxS= # Start, default H-1 OPS/FL?StxW= # Window, hours, default 26

OPS/FL?Fid= OPS/FL?Al= OPS/FL?AlAlt= OPS/FL?Sect= OPS/FL?Term= OPS/FL?Stat=

# flight ID, e.g. ACA100 # e.g. ACA # e.g. AC # D/I/T/t # Tn or just n # the pub-code 3-char set OPS/FL?Rte= OPS/FL?AD= OPS/FL?Orig= OPS/FL?Dest= # Route (includes VIA) # A or D # equivalent Rte+ AD=A # equivalent Rte+ AD=D For these arguments, omission=ALL. For example, omit ?Term same as Term=ALL Sample /OPS/FL?StxS=x1&StxW=x2&AD=A&Term=3&Sect=I&Al=WJA /OPS/FL?FlDate=x1&Days=1&AD=A&Term=3&Sect=I&Al=WJA 3.2 Resource Allocation ARIS/OPS/RA Same arguments as FL, “Type” argument in testing at the moment CONFIDENTIAL THIS DOCUMENT CONTAINS TRADE SECRETS THAT ARE THE PROPERTY OF ASCENT TECHNOLOGY, INC. THE CONTENTS MAY NOT BE USED OR DISCLOSED WITHOUT THE EXPRESS WRITTEN PERMISSION OF ASCENT TECHNOLOGY, INC. This document is the property of Ascent Technology, Inc. Copyright © 2018. Ascent Technology, Inc. All rights reserved.

CONFIDENTIAL

THIS DOCUMENT CONTAINS TRADE SECRETS THAT ARE THE PROPERTY OF ASCENT TECHNOLOGY, INC. THE CONTENTS MAY NOT BE USED OR DISCLOSED WITHOUT THE EXPRESS WRITTEN PERMISSION OF ASCENT TECHNOLOGY, INC.

This document is the property of Ascent Technology, Inc. Copyright © 2018. Ascent Technology, Inc. All rights reserved.