Task #17535
closedTask #18451: Ocean Sprint Planning for 16/06/2025 - 30/06/2025
User Story: CHCL Storage Handling - Track and Manage Storage for Containers at CHCL
Description
A Freight Forwarder (FFWD) should be able to input the information about the Terminal Storage for containers stored at CHCL Yard. He/she can monitor the deadline for Terminal storage, input the Storage charges if incurred, and notify consignees to avoid unnecessary costs in FFS.
Actors:
- Freight Forwarder (FFWD) / Co-Loader
- Consignee (Importer)
- Customs Authorities (Mauritius Revenue Authority - MRA Customs)
- CHCL (Cargo Handling Corporation Ltd) System
Refer to Epic https://gitlab.maccs.mu/rnd/ffa/documentation/-/issues/390 for more information.
Pre-requisites:
- A File Reference must have already been created and approved in the system for the shipment.
- In order to begin the Terminal storage countdown, the Container Status must be updated to "At CHCL Yard", and the CHCL Deadline for storage has been recorded.
Acceptance Criteria:
1. Automatic Tracking of Containers at CHCL
- When a container is discharged at CHCL, the user should be able to record the container status in FFS as “At CHCL Yard".
- The system should include a "Terminal Storage" section within the container-level section of the Shipment Cost screen.
- This subsection will store and track key container movement details, including:
- Discharge Date & Time (when the container is offloaded at CHCL).
- CHCL Deadline (the deadline date before storage charges apply).
- CFS Name (the CFS where the container will be unstuffed)
- Gate-In CFS Date & Time (when the container enters the Container Freight Station).
- Gate-Out CFS Date & Time (when the container exits the CFS after clearance).
- Unstuffing Date & Time (when cargo is removed from the container for delivery).
- Data from the above sub-subsection should be displayed as information in the File Reference screen within the container-level section as "Terminal Storage".
2. Terminal Storage Alerts
- Automated notifications should be sent:
- 2 days before the deadline → Reminder email/SMS/WhatsApp message to the consignee & FFWD.
- On deadline Day → Final reminder before Storage starts.
- After the deadline → Notification that Storage is being applied.
3. Terminal Storage Charges
- The system should allow the user to record the Terminal Storage charges as an Additional Cost for the particular container at the MBL level.
- The system should allow the user to issue a Payment Request to CHCL.
- The system should allow the user to then record the Storage charges as Sales charges to bill back the client (additional invoice) at the MBL level.
4. Payment Tracking & Container Release
- In most cases, the FFWD pays the Storage charges on behalf of the client/consignee and then bill the latter back.
- This is followed by a Payment Request sent to the accounting department to pay the CHCL and then issue an invoice to the client/consignee.
- Once payment has been done at CHCL, the system should allow the user to update the container status to "Released".
Note: In some cases, the client pays CHCL directly, then FFS should allow the user to change the state of the container to "Released".
5. Dashboard & Status Updates
- The system should provide a dashboard to monitor the deadlines.
- A "Terminal Storage Dashboard" should show the following fields:
- Masterfile Ref., Sub File Ref., Container Ref., MBL, HBL
- Pending Containers (still within the deadline).
- Overdue Containers (Storage fees being applied).
- Released Containers (ready for delivery).
- Masterfile Ref., Sub File Ref., Container Ref., MBL, HBL
- The FFWD should be able to filter by Client, Vessel, or Date.
6. Container Delivery
- Once a container is delivered, the FFWD can:
- Update the container status to "Delivered".
GitLab Sync Log
[{"id": "24911", "author": "Ra-ees Peeroo", "hours": 4.0, "created": "2025-06-13T10:24:34.121Z", "log_date": "2025-06-13", "comment": "Imported from GitLab by @Ra-ees Peeroo on 2025-06-13T10:24:34.121Z: 4h-(4.0)h spend at: 2025-06-13", "status": "active", "deleted_by": "", "redmine_entry_id": 9632}, {"id": "24908", "author": "Ra-ees Peeroo", "hours": 6.0, "created": "2025-06-13T10:24:16.171Z", "log_date": "2025-06-13", "comment": "Imported from GitLab by @Ra-ees Peeroo on 2025-06-13T10:24:16.171Z: 6h-(6.0)h spend at: 2025-06-13", "status": "deleted", "deleted_by": "24910", "redmine_entry_id": 9633}, {"id": "25342", "author": "Ra-ees Peeroo", "hours": 4.0, "created": "2025-06-19T09:33:29.217Z", "log_date": "2025-06-19", "comment": "Imported from GitLab by @Ra-ees Peeroo on 2025-06-19T09:33:29.217Z: 4h-(4.0)h spend at: 2025-06-19", "status": "active", "deleted_by": "", "redmine_entry_id": 9696}, {"id": "25600", "author": "Ra-ees Peeroo", "hours": 8.0, "created": "2025-06-24T05:35:40.867Z", "log_date": "2025-06-22", "comment": "Imported from GitLab by @Ra-ees Peeroo on 2025-06-24T05:35:40.867Z: 1d-(8.0)h spend at: 2025-06-22", "status": "active", "deleted_by": "", "redmine_entry_id": 9728}, {"id": "32022", "author": "Yashvee Seetul", "hours": 2.0, "created": "2025-10-15T07:38:34.072Z", "log_date": "2025-10-12", "comment": "Imported from GitLab by @Yashvee Seetul on 2025-10-15T07:38:34.072Z: 2h-(2.0)h spend at: 2025-10-12", "status": "active", "deleted_by": "", "redmine_entry_id": 10797}]