Air Status EDI
From UG
Parent mantis
0002422: [Air Status EDI] ............. <proj parent>
Business Requirements
Descartes (Jaguar partner) is offering Automated Air Status Update Service
This service allows airfreight shipments booked directly by Jaguar with the airlines, to be fed automatic status updates (departure and arrival dates), removing our need to manually check and then update the status of Airfreight shipments.
It is our understanding that in order to send updates Descartes needs to receive only MAWB number.
Transshipment airports.
It is possible to have more than one transhipment airport.
We assume that Descartes can send meaningful updates to accommodate that case.
CT2 should be re-designed to support that.
Split case.
In this case airline might call and say that X plts/pcs/etc will be placed on Flight F1.
Later airline might call and say that Y plts/pcs/etc will be placed on Flight F2.
Later airline might call and say that remaining plts/pcs/etc will be placed on Flight F3.
It could be split 2,3,4, ... times.
We assume that Descartes can send meaningful updates to accommodate that case. CT2 should be re-designed to support that.
Design ideas
Accommodating any number of stops (trans shipments):
Accommodating any number of splits:
Detailed Technical Design and Architecture
Documentation
There are number of useful documents attached in various mantises under parent mantis:
- see 0002490: [Air Status EDI] ............. /project communication: emails from Descartes, etc/
- ci_fsu_12 (2).xml - XML schema attached to 2490
- WSAddressingForMyVan.pdf in 2379
- ci_fsu_12.xsd in 2379
When to send XML
CT2 system should send Ct#MAWB through EDI as soon as it gets assigned by operator.
Use Case Operator changed MAWB
TBD
One CT one direct flight Use Case UC1
One CT is traveling on one airplane from origin to destination.
We assume that Descartes will send back:
One CT multistop flight Use Case UC2
In this case there is one or more airport of transhipment.
Our system may accommodate one. We need to add flexibility if there are more than one.
We assume that Descartes will send back:
- Ct#Airport_Of_Departure_Actual_Date first
- Ct#Airport_Of_Destination_Actual_Date later
- Ct#Trans_Shipment_Actual_Date - first trans-shipment
- Ct#Trans_Shipment_Actual_Date2 - 2nd trans-shipment. New field!
- so on
Split Use Case UC3
Example from #Business Requirements
In this case airline might call and say that X plts/pcs/etc will be placed on Flight F1. Later airline might call and say that Y plts/pcs/etc will be placed on Flight F2. Later airline might call and say that remaining plts/pcs/etc will be placed on Flight F3. It could be split 2,3,4, ... times.
We need to modify our UI / DB to accommodate this case
CT profile and DB re-design to accommodate multiple trans shipment points and splits
TBD
General info about Messaging
CT2 and Descartes system (GLN) will exchange XML messages.
In a nutshell:
- CT2 sends MAWB (same as FWB) to Descartes(GLN) network/server
- GLN forwards to Airline nework
- when update becomes available info is passed back to CT2 through Descartes
Per Rusty (Descartes):
FSU messages are event driven meaning they will be sent per flight per event.
Common FSU Types
Freight Status Update (FSU) Messages - http://www.ccnhub.com.au/fsu/ [^]
Common FSU Types:
- BKD: Consignment booked on a specific flight - RCS: Consignment received from shipper or agent - MAN: Consignment manifested on a specific flight - DEP: Consignment departed on a specific flight - TFD: Consignment transferred to another airline - RCT: Consignment received from another airline - RCF: Consignment received from a given flight - NFD: Consignment arrived at destination and the consignee or agent has been informed - AWD: Consignment arrival documents delivered to the consignee or agent - TRM: Consignment to be transferred to another airline - CCD: Consignment cleared by Customs - DLV: Consignment delivered to the consignee or agent - DIS: Consignment with a discrepancy
IATA/CASS id for Valley Stream office
We can register the New York office with 9994939/0015 number. - Rusty
Outgoing message
Must be included:
- From (Jaguar id)
- To (Airline id)
- doctype
- FWB number
Example:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ns3:Envelope xmlns:ns2="http://www.myvan.descartes.com/ebi/2004/r1" [^] xmlns:ns3="http://www.w3.org/2003/05/soap-envelope" [^] xmlns:ns4="http://schemas.xmlsoap.org/ws/2004/03/addressing"> [^] <ns3:Header> <ns4:From> <ns4:Address>urn:duns:657589457</ns4:Address> </ns4:From> <!—THIS NEEDS TO BE THE AIRLINE ID.--> <ns4:To>urn:duns:657589457</ns4:To> <ns4:Action>urn:myvan:FWB</ns4:Action> <ns2:Sequence> <ns2:MessageNumber>351-5648-6541</ns2:MessageNumber> </ns2:Sequence> </ns3:Header> <ns3:Body> <JaguarFile> <Shipment> <FWB> 351-5648-6541 </FWB> </Shipment> </JaguarFile> </ns3:Body> </ns3:Envelope>
UC1 Incoming message
Example: (Total shipment delivered), sent by Rusty
UC2 Incoming message
TBD
UC3 Incoming message
Partial shipment: (per Rusty)
<?xml version="1.0" encoding="utf-8"?> ? <ns0:Status xmlns:ns0="http://FLogic.DescartesAir.Schemas" [^] > ? <Header> <Identifier>FSU</Identifier> <AirlinePrefix>016</AirlinePrefix> <AirWaybillNumber>58153406</AirWaybillNumber> <AirWaybillOriginCity>ORD</AirWaybillOriginCity> <AirWaybillDestinationCity>FMO</AirWaybillDestinationCity> ? <ShipmentInformation> <DescriptionCode>T</DescriptionCode> <NumberOfPieces>68</NumberOfPieces> <WeightCode>L</WeightCode> <Weight>31381</Weight> </ShipmentInformation> </Header> ? <FlightStatusInformation> <Identifier>DEP</Identifier> <StatusDescription>Consignment has departed</StatusDescription> <CarrierCode>UA</CarrierCode> <FlightNumber>940</FlightNumber> <Day>28</Day> <Month>10</Month> <AirportCode>ORD</AirportCode> <ArrivalAirportCode>FRA</ArrivalAirportCode> ? <ShipmentInformation> <DescriptionCode>P</DescriptionCode> <NumberOfPieces>7</NumberOfPieces> </ShipmentInformation> ? <TimeInformation> ? <Departure> <TypeOfTimeIndicator>A</TypeOfTimeIndicator> <Time>1828</Time> </Departure> ? <Arrival> <TypeOfTimeIndicator>E</TypeOfTimeIndicator> <Time>0921</Time> <DayChangeIndicator>N</DayChangeIndicator> </Arrival> </TimeInformation> </FlightStatusInformation> </ns0:Status>