Air Status EDI
From UG
Parent mantis
0002422: [Air Status EDI] ............. <proj parent>
Glossary
- FSU-message - Freight Status Update message - Incoming message from Descartes to CT2
- Consignment - same as shipment
- 1) Divided Consignment
- 2) Multi-Shipments
- 3) Part Consignment
- 4) Split Consignment
- 5) Total Consignment
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.
One CT one direct flight
For shipments that are complete and are booked on a direct flight the incoming messages should update the following fields in CT.
Fields to be updated:
- CT#Airport Of Departure Actual Date -
- shipment should confirm the airport of departure is correct, by comparing the destination airport listed on the incoming message to the CT#Airport Of Departure
- CT#Airport Of Destination Actual Date-
- shipment should confirm the airport of departure is correct, by comparing the destination airport listed on the incoming message to the CT#Airport Of Destination
Transshipment airports
It is possible to have more than one transhipment airport.
We assume that Descartes can send meaningful updates to accommodate that case.
In the event of more than one trans shipment airport, the system should only update the CT#Trans Shipment port listed in the CT record. Once the incoming message received showing the indicated or matching trans ship port arrival, the the CT#Trans Shipment Actual Date should be updated.
Any departure or destination airports indicated in incoming messages that do not exist or match the CT record should be ignored. This will be addressed in Phase 2.
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. - Keeping a record of this updates will be TBD for Phase 2
We assume that Descartes can send meaningful updates to accommodate that case. CT2 should be re-designed to support that.
The CT should update the CT#Airport Of Departure Actual Date when the first piece has departed and update when the last piece departs and the CT#Airport Of Destination Actual Date when the first piece arrives and updated when the last piece updates.
A comment should be posted showing the following updates as a notification on the above.
- SPLIT SHIPMENT - First part has departed
- SPLIT SHIPMENT - Last part has departed
- SPLIT SHIPMENT - First part has arrived
- SPLIT SHIPMENT - Last part has arrived
The system will need to keep a count after the first departure, until the CT#Grand Total: Loose Pkgs or CT#Grand Total: Pkgs On Plts total matches, to accurately update the first and last parts. All other departures or arrivals should be ignored. This will be addressed in Phase 2
Delays
In the event that a shipment is removed from the original flight or the original flight is delayed.
Airport Of Departure Estimated Date field should be updated to reflect the corrected information.
Airport Of Destination Estimated Date field should be updated to reflect the corrected information.
Phase Two Business Requirements For UC2 & 3
Additional requirements TBD
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
SA Notes
Documentation and Communication
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
Per Tracie this rarely happens.
In this case simply re-send MAWB to Descartes.
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
Implementation Phase 1
The system should update the CT#Trans Shipment airport and its CT#Trans Shipment Actual Date after receving of Descartes status message.
- All updates can be viewed in CT Update Log.
Implementation Phase 2
CT2 should be re-designed to support more than one transhipment airport. Each time when status message is coming we should receive and keep departure or destination Trans-shipment Airport value along with Dates.
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
Implementation Phase 1
The system should update the next CT fields:
-
- 1) when the first piece has departed.
- 2) when the last piece departs.
- 1) when the first piece arrives.
- 2) when the last piece arrives.
The system will need to keep a count of departed and arrived Grand Total: Loose Pkgs and Grand Total: Pkgs On Plts.
- These values should be updated each time when Descartes sends the meaningful updates until the total matches.
Implementation Phase 2
We need to modify our UI / DB to keeping a record of all this updates.
Delays UC4
See #Delays
CT profile and DB re-design to accommodate multiple trans shipment points and splits
To satisfy requirements #Transshipment airports and #Split case we could:
- option A) create additional fields in DB so that all related info can be a part of report/search
- option B) add Transshipment/Split Comment textarea and post all info there
BA favors option A but if the cost (in man-hours) is too high she might go with option B. Please provide this cost.
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
Expanded Consignment Status description
BKDStatusDetails - Consignment booked on a specific flight. FOHStatusDetails - Consignment is on hand pending "ready for carriage" determination. RCSStatusDetails - Consignment physically received from a shipper or an agent. RCTStatusDetails - Consignment received from another airline. PREStatusDetails - Consignment prepared for loading. MANStatusDetails - Consignment manifested on a specific flight. DEPStatusDetails - Consignment departed on a specific flight. RCFStatusDetails - Consignment physically received from a given flight or surface transport of the given airline. CRCStatusDetails - Consignment information has been reported to Customs. CCDStatusDetails - Consignment cleared by Customs. TGCStatusDetails - Consignment has been transferred to Customs/Government control. AWDStatusDetails - Consignment where arrival documents have been delivered to the consignee or his agent. TRMStatusDetails - Consignment to be transferred to another airline. TFDStatusDetails - Consignment transferred to another airline. AWRStatusDetails - Consignment documents arrived on a given flight or surface transport of the given airline. ARRStatusDetails - Consignment arrived on a given flight or surface transport of the given airline. DISStatusDetails - Consignment with a discrepancy. NFDStatusDetails - Consignment where consignee or his agent has been informed of ints arrival at destination. DLVStatusDetails - Consignment delivered to the consignee or his agent. DDLStatusDetails - Consignment delivered to consignee door.
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
This is multistop case.
No example available.
UC3 Incoming message
This is split case.
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>