Project

General

Profile

Actions

Task #19324

open

Task #19374: Sprint Planning for 02/02/2026 - 16/02/2026

Air Import – MAWB & HAWB Management

Added by Redmine Admin about 1 month ago. Updated about 3 hours ago.

Status:
New
Priority:
Normal
Assignee:
-
Start date:
01/22/2026
Due date:
01/22/2026 (40 days late)
% Done:

82%

Estimated time:
120:00 h
Spent time:
GitLab ID:
3730
GitLab Milestone:
GitLab Ticket Number:
1150
GitLab Time Logged:
358200
Lock Timeline Date:
No
gitlab project trace:
Sprint Planning for 02/02/2026 - 16/02/2026

Description

The system shall allow users to create a Master Air Waybill (MAWB) file linked to a Flight Schedule, and then select, link, or create multiple House AWBs (HAWBs) from the House AWB Repository, including support for Split Shipments and Partial Shipments.

 

1️ Flight & Master Creation (MAWB)

Create MAWB from Flight Schedule

Create a Master File (MAWB) by selecting an existing flight schedule and manage the House AWBs under the same flight under one parent record.

Acceptance Criteria

  • User can search and select a flight from the Flight Schedule module
  • Selected flight auto-populates:
    • Flight No.
    • Flight Date
    • Origin & Destination
    • ETD & ETA
    • Airline
    • GHA
  • System generates a unique File Ref No. (e.g. MACCS25IMP000123) at this time or on Save (open to development team)
  • File Ref status defaults to “In Progress”

 

Validations

  • Only active flights selectable
  • Flight change after HAWB linking requires confirmation

 

Link Existing MAWBs from FWB functionality

User should be able to search and add an existing MAWB from the FWB functionality - https://gitlab.maccs.mu/rnd/ffa/documentation/-/issues/990

Select MAWB from list of MAWBs

Fields to display for selected MAWB

  • MAWB No.
  • Carrier / Airline
  • Consignee
  • Agent
  • Importer / Forwarder / Shipper
  • Freight Terms (Prepaid / Collect)
  • Total Weight, Volume, Pieces
  • Status lifecycle:
    • In Progress → Completed → Closed
  • Closed files are read-only

Rules

  • A File Ref cannot be Closed if any linked HAWB is not “DO Issued”

Acceptance Criteria

  • When setting the status to “Completed”, total pieces and weight of the master should tally against the all HAWBs pieces and weight.

 

Document Management at MAWB Level

The system shall allow uploading and managing MAWB-level documents.  All master-level documents should be centrally available.

Documents

  • Notice of Arrival
  • Airline Delivery Order
  • FWB
  • Airline Invoices
  • Other PDFs / Scan copy

Document should be stored with:

·         Document type

·         Uploaded by

·         Timestamp, etc.

Acceptance Criteria

  • User clicks Upload Document
  • Selects document type: Airline NOA / DO / Other
  • Uploads PDF or scan
  • Multiple files allowed
  • View / Download permissions controlled by role

 

2. Add & Manage House AWBs (HAWB Repository Integration)

Link Existing HAWBs from repository to MAWB

User should be able to search and link existing HAWBs from the House AWB Repository (https://gitlab.maccs.mu/rnd/ffa/documentation/-/issues/928 ).

HAWB Status Lifecycle & Rules

Each House Air Waybill (HAWB) shall follow a defined lifecycle to ensure proper operational control and alignment with the MAWB status.

HAWB Status Lifecycle

  • In Progress – HAWB created but not yet manifested

  • Manifested – Included in MAWB manifest / FHL generated

  • Linked – HAWB has been used in a File Ref

  • Closed – HAWB completed and locked

  • DO Issued – Delivery Order issued
    Business Rules

  • A HAWB may only be linked to a MAWB when its status is In Progress or Manifested.

  • A HAWB marked as “DO Issued” or Closed shall not be unlinked.

  • A File Ref cannot be set to Closed if at least one linked HAWB is not in “DO Issued” status, unless override permission is granted.

 

Acceptance Criteria

  • Search by:
    • MAWB No.
    • HAWB No.
    • Consignee
    • Shipper
    • Status
    • Date Range
  • Multi-select (bulk linking) enabled
  • Once linked:
    • HAWB status updates to “Linked”
  • HAWBs marked as part shipment should be available in the list if all pieces have not been received.

 

Import HAWBs

Supported import formats:

  • FHL IATA CIMP/CXML message

 

Part Shipment Handling

The user should be able to manage Partial shipments (MAWB totals include only legs linked to that MAWB) to avoid discrepancies

Part Shipment

  • One HAWB partially arrived
  • Remaining balance tracked
  • Delivered quantity ≠ Manifested quantity

 

4. Retrieve File Reference (Search & Access)

The user should be able to retrieve existing File Reference records using flexible search criteria.

A dedicated Retrieve File Reference screen shall be available under:

  • Air Export → File Reference
  • Air Import → File Reference

Search Criteria

Users may search using one or more of the following:

Identifiers

  • File Reference
  • MAWB Number (prefix + serial)
  • HAWB Number
  • Airline / Carrier Code

Shipment

  • Origin / Destination airport
  • Flight number
  • Flight date (from / to)

Parties

  • Shipper
  • Consignee
  • Agent

Operational

  • File Status (In Progress / Completed / Closed)
  • Created date/Last Update date

Acceptance Criteria

  • At least one criterion required
  • Partial matches supported
  • Results pageable & sortable
  • Tenant-based data isolation enforced

 

Results Grid Columns

  • File Reference
  • MAWB Number
  • Airline
  • Origin → Destination
  • Pieces / Weight
  • File Status
  • Last Updated
  • Action buttons (View/Edit, Downloads, Clone) – Refer to action buttons from Ocean File Reference

Nested Grid (HAWB Details)

  • HAWB Number
  • Shipper/Consignee
  • Origin → Destination
  • Pieces / Weight
  • File Status
  • Last Updated
  • Action buttons (View/Edit, Downloads, Clone) – Refer to action buttons from Ocean File Reference

 

Delivery Order & Closure (to be developed since currently it is not present in CCS)

A user should be able to issue House DO.

Rules

  • House Delivery Orders (HAWB DO) are the operational documents used for cargo release.
  • Issuing a HAWB DO automatically updates the corresponding HAWB status to DO Issued.

 

Acceptance Criteria

  • HBL Status updates to “DO Issued”
  • File becomes read-only

 

No rules to check for full invoice payment for the time being unless we get new requirements from clients

Generate House DO

  • User clicks Generate HAWB DO
  • System validates:
    • HAWB status is complete

If valid

  • DO generated
  • DO timestamp recorded
  • DO locked

 

 

 

3️ FWB & FHL Messaging (IATA Messaging)

Generate FWB - Export

The system should allow to generate the FWB upon MAWB creation as per IATA – CIMP & CXML format.

Acceptance Criteria

  • Mandatory IATA fields validated
  • Block sending on errors
  • Generated in Cargo-IMP / Cargo-XML format
  • Editable only before transmission

 

Generate FHL per HAWB - Export

The system should allow to generate FHL messages per linked HAWB

Acceptance Criteria

  • One FHL per HAWB
  • Validates consignee, pieces, weight, HS Codes
  • Cannot send FHL if HAWB not “Completed”

 

Transmit & Track Messages

The user should be able to send and track FWB/FHL messages, monitor airline acceptance.

Message Status

  • In Progress
  • Sent
  • Acknowledged (FMA)
  • Rejected (FNA)

Acceptance Criteria

  • Transmission via SMTP / SFTP / API
  • Re-send option available
  • Acknowledgment stored & linked to file

GitLab Sync Log

[{"id": "38038", "author": "Fatimah Schaik Hossen", "hours": 7.0, "created": "2026-02-02T10:22:36.186Z", "log_date": "2026-02-02", "comment": "Imported from GitLab by @Fatimah Schaik Hossen on 2026-02-02T10:22:36.186Z: 7h-(7.0)h spend at: 2026-02-02", "status": "active", "deleted_by": "", "redmine_entry_id": 12129}, {"id": "38143", "author": "Fatimah Schaik Hossen", "hours": 7.0, "created": "2026-02-04T12:00:06.902Z", "log_date": "2026-02-04", "comment": "Imported from GitLab by @Fatimah Schaik Hossen on 2026-02-04T12:00:06.902Z: 7h-(7.0)h spend at: 2026-02-04", "status": "active", "deleted_by": "", "redmine_entry_id": 12155}, {"id": "38230", "author": "Fatimah Schaik Hossen", "hours": 7.0, "created": "2026-02-06T05:01:49.803Z", "log_date": "2026-02-04", "comment": "Imported from GitLab by @Fatimah Schaik Hossen on 2026-02-06T05:01:49.803Z: 7h-(7.0)h spend at: 2026-02-04", "status": "active", "deleted_by": "", "redmine_entry_id": 12171}, {"id": "38361", "author": "Fatimah Schaik Hossen", "hours": 4.0, "created": "2026-02-06T12:02:45.527Z", "log_date": "2026-02-06", "comment": "Imported from GitLab by @Fatimah Schaik Hossen on 2026-02-06T12:02:45.527Z: 4h-(4.0)h spend at: 2026-02-06", "status": "active", "deleted_by": "", "redmine_entry_id": 12199}, {"id": "38450", "author": "Fatimah Schaik Hossen", "hours": 5.0, "created": "2026-02-09T11:36:42.496Z", "log_date": "2026-02-09", "comment": "Imported from GitLab by @Fatimah Schaik Hossen on 2026-02-09T11:36:42.496Z: 5h-(5.0)h spend at: 2026-02-09", "status": "active", "deleted_by": "", "redmine_entry_id": 12222}, {"id": "38444", "author": "Fatimah Schaik Hossen", "hours": 6.0, "created": "2026-02-09T11:33:54.035Z", "log_date": "2026-02-09", "comment": "Imported from GitLab by @Fatimah Schaik Hossen on 2026-02-09T11:33:54.035Z: 6h-(6.0)h spend at: 2026-02-09", "status": "deleted", "deleted_by": "38449", "redmine_entry_id": 12223}, {"id": "38633", "author": "Fatimah Schaik Hossen", "hours": 1.0, "created": "2026-02-11T11:29:53.079Z", "log_date": "2026-02-11", "comment": "Imported from GitLab by @Fatimah Schaik Hossen on 2026-02-11T11:29:53.079Z: 1h-(1.0)h spend at: 2026-02-11", "status": "active", "deleted_by": "", "redmine_entry_id": 12255}, {"id": "38727", "author": "Fatimah Schaik Hossen", "hours": 5.25, "created": "2026-02-12T12:08:20.022Z", "log_date": "2026-02-12", "comment": "Imported from GitLab by @Fatimah Schaik Hossen on 2026-02-12T12:08:20.022Z: 5h 15m-(5.25)h spend at: 2026-02-12", "status": "active", "deleted_by": "", "redmine_entry_id": 12283}, {"id": "38765", "author": "Fatimah Schaik Hossen", "hours": 6.5, "created": "2026-02-13T12:03:36.867Z", "log_date": "2026-02-13", "comment": "Imported from GitLab by @Fatimah Schaik Hossen on 2026-02-13T12:03:36.867Z: 6h 30m-(6.5)h spend at: 2026-02-13", "status": "active", "deleted_by": "", "redmine_entry_id": 12298}, {"id": "38805", "author": "Fatimah Schaik Hossen", "hours": 7.0, "created": "2026-02-16T12:01:51.534Z", "log_date": "2026-02-16", "comment": "Imported from GitLab by @Fatimah Schaik Hossen on 2026-02-16T12:01:51.534Z: 7h-(7.0)h spend at: 2026-02-16", "status": "active", "deleted_by": "", "redmine_entry_id": 12308}, {"id": "38820", "author": "Fatimah Schaik Hossen", "hours": 7.0, "created": "2026-02-17T10:19:26.817Z", "log_date": "2026-02-17", "comment": "Imported from GitLab by @Fatimah Schaik Hossen on 2026-02-17T10:19:26.817Z: 7h-(7.0)h spend at: 2026-02-17", "status": "active", "deleted_by": "", "redmine_entry_id": 12311}, {"id": "38916", "author": "Fatimah Schaik Hossen", "hours": 7.0, "created": "2026-02-18T11:54:41.212Z", "log_date": "2026-02-18", "comment": "Imported from GitLab by @Fatimah Schaik Hossen on 2026-02-18T11:54:41.212Z: 7h-(7.0)h spend at: 2026-02-18", "status": "active", "deleted_by": "", "redmine_entry_id": 12327}, {"id": "38982", "author": "Fatimah Schaik Hossen", "hours": 7.0, "created": "2026-02-19T11:58:29.977Z", "log_date": "2026-02-19", "comment": "Imported from GitLab by @Fatimah Schaik Hossen on 2026-02-19T11:58:29.977Z: 7h-(7.0)h spend at: 2026-02-19", "status": "active", "deleted_by": "", "redmine_entry_id": 12351}, {"id": "39058", "author": "Fatimah Schaik Hossen", "hours": 7.0, "created": "2026-02-20T11:47:55.092Z", "log_date": "2026-02-20", "comment": "Imported from GitLab by @Fatimah Schaik Hossen on 2026-02-20T11:47:55.092Z: 7h-(7.0)h spend at: 2026-02-20", "status": "active", "deleted_by": "", "redmine_entry_id": 12366}, {"id": "39136", "author": "Fatimah Schaik Hossen", "hours": 1.0, "created": "2026-02-23T11:50:20.088Z", "log_date": "2026-02-23", "comment": "Imported from GitLab by @Fatimah Schaik Hossen on 2026-02-23T11:50:20.088Z: 1h-(1.0)h spend at: 2026-02-23", "status": "active", "deleted_by": "", "redmine_entry_id": 12380}, {"id": "39363", "author": "Fatimah Schaik Hossen", "hours": 6.25, "created": "2026-02-26T09:55:56.907Z", "log_date": "2026-02-26", "comment": "Imported from GitLab by @Fatimah Schaik Hossen on 2026-02-26T09:55:56.907Z: 6h 15m-(6.25)h spend at: 2026-02-26", "status": "active", "deleted_by": "", "redmine_entry_id": 12432}, {"id": "39362", "author": "Fatimah Schaik Hossen", "hours": 6.25, "created": "2026-02-26T09:55:47.400Z", "log_date": "2026-02-24", "comment": "Imported from GitLab by @Fatimah Schaik Hossen on 2026-02-26T09:55:47.400Z: 6h 15m-(6.25)h spend at: 2026-02-24", "status": "active", "deleted_by": "", "redmine_entry_id": 12433}, {"id": "39566", "author": "Fatimah Schaik Hossen", "hours": 2.0, "created": "2026-03-02T11:08:30.199Z", "log_date": "2026-03-02", "comment": "Imported from GitLab by @Fatimah Schaik Hossen on 2026-03-02T11:08:30.199Z: 2h-(2.0)h spend at: 2026-03-02", "status": "active", "deleted_by": "", "redmine_entry_id": 12465}, {"id": "39621", "author": "Fatimah Schaik Hossen", "hours": 6.25, "created": "2026-03-03T10:17:57.783Z", "log_date": "2026-03-03", "comment": "Imported from GitLab by @Fatimah Schaik Hossen on 2026-03-03T10:17:57.783Z: 6h 15m-(6.25)h spend at: 2026-03-03", "status": "active", "deleted_by": "", "redmine_entry_id": 12474}]

Actions

Also available in: Atom PDF