Task #17538
closedTask #16612: Ocean Sprint Planning for 06/05/2025 - 16/05/2025
User Story: Generate XML Message for House Manifest
Description
User Story:
Title: Generate XML Message for House Manifest
As a user of the Freight Forwarding software, I want to generate an XML file with shipment details to send to CCS
Narrative:
As a user of the Freight Forwarding software,
I want to generate an XML message containing all relevant shipment details (e.g., container information, cargo details, taxes, and parties involved),
so that the file can be extracted and sent to CCS and from CCS sent to Customs.
Acceptance Criteria:
-
XML Header and Metadata:
- The software must generate an XML message with the correct version (1.0) and encoding (utf-8).
- The message must include:
- Interchange ID (e.g., SIF/24/2011).
- Sender – FFWD code (e.g., FEDLL) and recipient (e.g., APPLU) details.
-
Message Set Details:
- The software must include:
- Message Set ID (e.g., 1).
- Interchange ID (e.g., SIF/24/2011).
- Date and time of message generation (e.g., 18/03/2025 11:15:12).
- The software must include:
-
Sender and Recipient Information:
- The software must capture:
- Sender details (e.g., FEDLL).
- Recipient details (e.g., APPLU).
- The software must capture:
-
Shipment Request Details:
- The software must include:
- Request ID (e.g., MEDUFI244353A).
- Request type (e.g., SMA, LPD).
- The software must include:
-
Shipment Details:
- The software must provide:
- Reference details (e.g., MEDUFI244353A_1).
- Arrival date (e.g., 25/03/2025).
- Shipment status (e.g., PRO).
- The software must provide:
-
Voyage Details:
- The software must include:
- ATP number (e.g., ATP25006906).
- Port of loading of Master BL (drop down list) (e.g., ZADUR).
- The software must include:
-
Location Details:
- The software must specify:
- Zone – landing zone (code from CCS, (drop down list)) (e.g., PLU).
- Location – unloading zone (Code from CCS, (drop down list)) (e.g., TMCT).
- The software must specify:
-
Parties Involved:
- The software must capture:
- Creator (e.g., FEDLL).
- Proprietor (e.g., FEDLL).
- The software must capture:
-
Equipment (Container) and Bulk Details:
- The software must include:
- Container ID (e.g., CRSU6091473). / Bulk Cargo ID (e.g., 83206738)
- Tare weight (e.g., 0).
- Gross weight (e.g., 22256.60).
- The software must include:
-
Cargo Details:
- The software must provide:
- Document reference HBL (e.g., SHI100325).
- Document type (e.g., BL).
- Origin (e.g., ZADUR).
- Goods Reference (e.g., CRSU6091473) / Bulk Cargo Reference (S00128668)
- Number of packages (e.g., 5585).
- Package type (e.g., PK).
- Weight (e.g., 12524.15).
- Volume (e.g., 28130).
- Net weight (e.g., 0.00).
- Pollutant indicator Yes or NO (e.g., N).
- Dangerous goods indicator Yes or No (e.g., N).
- Refrigerated cargo indicator Yes or No (e.g., N).
- Transshipment indicator Yes or No (e.g., N).
- The software must provide:
-
Cargo Description:
- The software must include:
- Description of goods (e.g., ASSORTED CHOCOLATES).
- Marks and numbers (e.g., AS ADD OR NM).
- The software must include:
-
Shipper and Consignee Details:
- The software must capture:
- Shipper details: name and address (e.g., Mondelez CR Biscuits Prod S R O).
- Consignee details: name and address (e.g., IBL Ltd Brandactiv).
- The software must capture:
-
Tax and Charge Details:
- The software must include all applicable taxes and charges, such as
- Type of Fee: FRT and OTH
- Reefer Admin Fee (e.g., 34.00 USD).
- Communication Fee (e.g., 300.00 MUR).
- Shipping Line Handling Fee (e.g., 540.00 USD).
- Ocean Freight Charges (e.g., 7100.00 USD).
- Terminal Handling Charge (e.g., 12205.60 MUR).
-
Seal Details:
- The software must provide:
- Seal number (e.g., FX31770216).
- The software must provide:
Test Scenario 1: Successful Generation of XML Message
Given:
- The freight forwarder has all the required shipment details (e.g., container information, cargo details, taxes, and parties involved).
When:
- The freight forwarder generates the XML message using the freight forwarding software.
Then:
- The software generates a valid XML message with all mandatory fields populated.
- The message is structured according to the provided XML schema.
- The message is ready to be sent to CCS
Test Scenario 2: Missing Mandatory Fields
Given:
- The freight forwarder is preparing an XML message but misses some mandatory fields (e.g., container ID or shipper details).
When:
- The freight forwarder attempts to generate the XML message.
Then:
- The software validates the message and identifies missing fields.
- The software displays an error message prompting the user to provide the missing information.
- The message is not generated until all mandatory fields are completed.
Test Scenario 3: Incorrect Data Format
Given:
- The freight forwarder enters data in an incorrect format (e.g., invalid date format or incorrect currency code).
When:
- The freight forwarder attempts to generate the XML message.
Then:
- The software validates the data format and identifies errors.
- The software displays an error message with details about the incorrect format.
- The message is not generated until the data is corrected.
Scenario 4: Sending XML Message to CCS
Given:
- The XML message has been successfully generated.
When:
- The freight forwarder sends the XML message to CCS.
Then:
- The message is transmitted securely to the CCS through SFTP or API
- CCS receive the message and process the integration of the House Manifest.
- The FFS can expect an acknowledgement (positive or negative) from CCS
Notes:
- The user story provides the freight forwarding software with all the requirements to generate valid XML messages to be send to CCS for integration.
- The software should provide clear feedback to the user in case of errors or missing information.
- All other information is found in the Message Specs.
Sample message for FCL
{width="700" height="298"}
<?xml version="1.0" encoding="utf-8"?>
<Interchanges id="SIF/24/2011" from="FEDLL" to="APPLU">
<MessageSet id="1" icid="SIF/24/2011" date="18/03/2025 11:15:12">
<Destinataire tiersProf="APPLU" user="APPLU"></Destinataire>
<Emetteur tiersProf="FEDLL" user="INTFEDLL"></Emetteur>
<Messages>
<Request id="MEDUFI244353A" type="SMA">
<liste-depotage>
<reference-dep ext-prop="MEDUFI244353A_1" date-arr="25/03/2025" statut="PRO"></reference-dep>
<voyage-dep atp="ATP25006906" pch="ZADUR"></voyage-dep>
<lieux-dep zone="PLU" lieu="TMCT"></lieux-dep>
<tiers-dep creat="FEDLL" prop="FEDLL"></tiers-dep>
<equipement-dep id="CRSU6091473" tare="0" poids="22256.60">
<marchandise-dep ext-doc="SHI100325" type-doc="BL" ori="ZADUR" ref="CRSU6091473" nb="5585" code="PK" poids="12524.15" vol="28130" poids-net="0.00" polluant="N" dgx="N" frigo="N" ind-transbordement="N">
<description-dep>ASSORTED CHOCOLATES</description-dep>
<marques-dep>AS ADD OR NM</marques-dep>
<shipper-dep type="SE" nameaddress1="Mondelez CR Biscuits Prod S R O" nameaddress2="" nameaddress3="K Cenici 27" nameaddress4="Opavia-Vavrovice 74773" nameaddress5="Czech Republic"></shipper-dep>
<consignee-dep code="" type="CN" nameaddress1="IBL Ltd Brandactiv" nameaddress2="" nameaddress3="IBL Complex No 2 " nameaddress4="Riche Terre" nameaddress5=""></consignee-dep>
<tax-dep typeTaxation="OTH" typeTaxationText="Reefer Admin Fee" amount="34.00" currencyCode="USD" status="COL"></tax-dep>
<tax-dep typeTaxation="OTH" typeTaxationText="Communication Fee" amount="300.00" currencyCode="MUR" status="COL"></tax-dep>
<tax-dep typeTaxation="OTH" typeTaxationText="Shipping Line Handling Fee" amount="540.00" currencyCode="USD" status="COL"></tax-dep>
<tax-dep typeTaxation="OTH" typeTaxationText="Bank Charges" amount="176.44" currencyCode="USD" status="COL"></tax-dep>
<tax-dep typeTaxation="OTH" typeTaxationText="Bunker Recovery Charge" amount="1700.00" currencyCode="USD" status="COL"></tax-dep>
<tax-dep typeTaxation="OTH" typeTaxationText="Freight Collection Fee" amount="661.64" currencyCode="USD" status="COL"></tax-dep>
<tax-dep typeTaxation="OTH" typeTaxationText="Equipment Management Fee" amount="30.00" currencyCode="USD" status="COL"></tax-dep>
<tax-dep typeTaxation="OTH" typeTaxationText="Port Authority Charges" amount="220.00" currencyCode="USD" status="COL"></tax-dep>
<tax-dep typeTaxation="OTH" typeTaxationText="Carrier Security Fee" amount="22.00" currencyCode="USD" status="COL"></tax-dep>
<tax-dep typeTaxation="OTH" typeTaxationText="Transmission Fee" amount="400.00" currencyCode="MUR" status="COL"></tax-dep>
<tax-dep typeTaxation="OTH" typeTaxationText="Terminal Handling Charge" amount="12205.60" currencyCode="MUR" status="COL"></tax-dep>
<tax-dep typeTaxation="OTH" typeTaxationText="Maccs fee" amount="325.00" currencyCode="MUR" status="COL"></tax-dep>
<tax-dep typeTaxation="OTH" typeTaxationText="Agency Fee" amount="1600.00" currencyCode="MUR" status="COL"></tax-dep>
<tax-dep typeTaxation="OTH" typeTaxationText="Documentation Charges" amount="1600.00" currencyCode="MUR" status="COL"></tax-dep>
<tax-dep typeTaxation="FRT" typeTaxationText="Ocean Freight Charges" amount="7100.00" currencyCode="USD" status="COL"></tax-dep>
<tax-dep typeTaxation="OTH" typeTaxationText="Seaway Bill Charge" amount="50.00" currencyCode="USD" status="COL"></tax-dep>
<tax-dep typeTaxation="OTH" typeTaxationText="Shipping Line Doc Fee" amount="78.00" currencyCode="USD" status="COL"></tax-dep>
</marchandise-dep>
<scelle-dep num=" FX31770216"></scelle-dep>
</equipement-dep>
</liste-depotage>
</Request>
</Messages>
</MessageSet>
</Interchanges>
Sample message for LCL
{width="700" height="238"}
<?xml version="1.0" encoding="utf-8"?>
<Interchanges id="SHFOI032500307" from="FSPFR" to="APPLU">
<MessageSet id="1" icid="SHFOI032500307" date="14/03/2025 10:21:52">
<Destinataire tiersProf="APPLU" user="APPLU"></Destinataire>
<Emetteur tiersProf="FSPFR" user="INTFSPFR"></Emetteur>
<Messages>
<Request id="83206738" type="LPD">
<liste-depotage>
<reference-dep ext-prop="S00128668" date-arr="14/03/2025" statut="PRO"></reference-dep>
<voyage-dep atp="ATP25006894"></voyage-dep>
<lieux-dep zone="PLU" lieu="DFOM"></lieux-dep>
<tiers-dep creat="FSPFR" prop="FSPFR"></tiers-dep>
<conventionnel-dep id="83206738">
<marchandise-dep ext-doc="S00128668" type-doc="BL" ori="USLBW" ref="S00128668" nb="6" code="PK" poids="1163.48" vol="5757" poids-net="0.00" polluant="N" dgx="N" frigo="N" ind-transbordement="N">
<description-dep>FIRE FIGHTING QUIPMENT</description-dep>
<marques-dep>ALARM PLUS CO LTD MAURITIUS PO TC-033 REV 2 DELIVERY# 85027140 SO 2983500 AS ADD OR N/M</marques-dep>
<shipper-dep type="SE" nameaddress1="TYCO FIRE PRODUCTS LP" nameaddress2="" nameaddress3="ONE STANTON STREE MARINETTE UNITED " nameaddress4="" nameaddress5=""></shipper-dep>
<consignee-dep code="C08051153" type="CN" nameaddress1="ALARM PLUS CO LTD" nameaddress2="" nameaddress3="AVENUE SOOBIAH, REDUIT" nameaddress4="" nameaddress5=""></consignee-dep>
<tax-dep typeTaxation="OTH" typeTaxationText="CCS Fee - Liner" amount="325.00" currencyCode="MUR" status="COL"></tax-dep>
<tax-dep typeTaxation="OTH" typeTaxationText="Processing Fee (Vatable)" amount="350.00" currencyCode="MUR" status="COL"></tax-dep>
<tax-dep typeTaxation="OTH" typeTaxationText="CFS Charges" amount="9600.00" currencyCode="MUR" status="COL"></tax-dep>
<tax-dep typeTaxation="OTH" typeTaxationText="THC Fee" amount="57.60" currencyCode="USD" status="COL"></tax-dep>
<tax-dep typeTaxation="OTH" typeTaxationText="CCS Fee - MACCS" amount="325.00" currencyCode="MUR" status="COL"></tax-dep>
<tax-dep typeTaxation="OTH" typeTaxationText="Agency Fee" amount="1700.00" currencyCode="MUR" status="COL"></tax-dep>
<tax-dep typeTaxation="OTH" typeTaxationText="Documentation Fee" amount="1850.00" currencyCode="MUR" status="COL"></tax-dep>
</marchandise-dep>
</conventionnel-dep>
</liste-depotage>
</Request>
</Messages>
</MessageSet>
</Interchanges>
GitLab Sync Log
[{"id": "23372", "author": "Al-Shad Isaac", "hours": 16.0, "created": "2025-05-19T10:49:59.555Z", "log_date": "2025-05-19", "comment": "Imported from GitLab by @Al-Shad Isaac on 2025-05-19T10:49:59.555Z: 2d-(16.0)h spend at: 2025-05-19", "status": "active", "deleted_by": "", "redmine_entry_id": 8890}, {"id": "23224", "author": "Al-Shad Isaac", "hours": 32.0, "created": "2025-05-16T08:15:56.946Z", "log_date": "2025-05-11", "comment": "Imported from GitLab by @Al-Shad Isaac on 2025-05-16T08:15:56.946Z: 4d-(32.0)h spend at: 2025-05-11", "status": "active", "deleted_by": "", "redmine_entry_id": 8891}, {"id": "23765", "author": "Al-Shad Isaac", "hours": 1.0, "created": "2025-05-26T07:32:28.091Z", "log_date": "2025-05-26", "comment": "Imported from GitLab by @Al-Shad Isaac on 2025-05-26T07:32:28.091Z: 1h-(1.0)h spend at: 2025-05-26", "status": "active", "deleted_by": "", "redmine_entry_id": 9229}, {"id": "24129", "author": "Al-Shad Isaac", "hours": 1.0, "created": "2025-05-30T06:36:39.803Z", "log_date": "2025-05-30", "comment": "Imported from GitLab by @Al-Shad Isaac on 2025-05-30T06:36:39.803Z: 1h-(1.0)h spend at: 2025-05-30", "status": "active", "deleted_by": "", "redmine_entry_id": 9348}, {"id": "32020", "author": "Yashvee Seetul", "hours": 2.0, "created": "2025-10-15T07:33:05.504Z", "log_date": "2025-10-12", "comment": "Imported from GitLab by @Yashvee Seetul on 2025-10-15T07:33:05.504Z: 2h-(2.0)h spend at: 2025-10-12", "status": "active", "deleted_by": "", "redmine_entry_id": 10798}]