Commit Graph

5181 Commits

Author SHA1 Message Date
Nathnael
7a2383f02c fix: revenue by customer 2026-08-21 10:57:42 +00:00
marshal
88762203e7 Merge pull request #1377 from Tria-plc/staging
Staging
2026-08-21 13:27:44 +03:00
marshal
f49adf66fc Merge pull request #1376 from Tria-plc/dev
dev
2026-08-21 13:26:33 +03:00
Nathnael
25d13baa6f chore: reporting and filtering 2026-08-21 09:25:21 +00:00
marshal
bf5e5d8cfd Merge pull request #1375 from Tria-plc/freight_feature/usermanagement
feat(train-scheduling): add showWagonStat prop to control wagon stats…
2026-08-21 12:01:00 +03:00
Marshal
a339ea620e feat(train-scheduling): add showWagonStat prop to control wagon stats visibility 2026-08-21 08:59:44 +00:00
Hagernesh
ca751b50f9 yser guide 2026-08-21 08:59:06 +00:00
Hagernesh
8181834037 Ticket
Empty container returns now generate a downloadable Equipment Interchange Receipt: container number & size, exact return timestamp, depot/location, condition, and the carrier/booking reference. Customers can download it from their booking's Documents tab (own-booking returns only); staff can pull any via the same endpoint.
2026-08-21 08:59:06 +00:00
Marshal
fbb169469f feat(clearance): preview charge documents before and after upload 2026-08-21 08:59:06 +00:00
Marshal
a9c6b85c08 feat(clearance): preview charge documents before and after upload 2026-08-21 08:59:06 +00:00
Marshal
b17a06052b fix issue 2026-08-21 08:59:06 +00:00
Marshal
b3823a4f32 fix issue 2026-08-21 08:59:06 +00:00
Marshal
2f894ba51b changes 2026-08-21 08:58:27 +00:00
Marshal
76bfbe1b17 feat: enhance GlDjiboutiClearanceListPage with tab navigation and improved filtering
- Added tab navigation for All, Import, Export, and On hold shipments.
- Implemented a new LivePill component to show real-time updates.
- Refactored shipment filtering logic to accommodate new tab functionality.
- Improved UI elements including buttons and text inputs for better user experience.
- Updated styles for table cells to allow text wrapping for long company names.
- Adjusted theme to use Space Grotesk font for headings.
2026-08-21 08:58:27 +00:00
Marshal
3a4eeee61b feat: enhance ClearanceChargesSection with file viewing and downloading capabilities 2026-08-21 08:47:47 +00:00
Marshal
c5909b8ec7 [200~feat: add CustomsPaymentsCard and PaymentsTab components for handling customs payments and payment summaries 2026-08-21 08:47:47 +00:00
Abubeker
80a7a2f702 feat: ( reschedule ) implement booking reschedule 2026-08-21 08:18:03 +00:00
marshal
8f7d67cbef Merge pull request #1374 from Tria-plc/freight_feature/usermanagement
feat(clearance): preview charge documents before and after upload
2026-08-21 10:11:23 +03:00
Marshal
24f5d94709 feat(clearance): preview charge documents before and after upload 2026-08-21 07:10:50 +00:00
marshal
fd8fb8f172 Merge pull request #1373 from Tria-plc/freight_feature/usermanagement
feat(clearance): preview charge documents before and after upload
2026-08-21 10:05:58 +03:00
Marshal
4c549029fe feat(clearance): preview charge documents before and after upload 2026-08-21 07:04:22 +00:00
marshal
b06e309fa2 Merge pull request #1372 from Tria-plc/freight_feature/usermanagement
fix issue
2026-08-20 21:31:03 +03:00
Marshal
ce3fde676e fix issue 2026-08-20 18:30:28 +00:00
marshal
ff7c054b7d Merge pull request #1371 from Tria-plc/freight_feature/usermanagement
fix issue
2026-08-20 21:29:28 +03:00
Marshal
0e8e6acb04 fix issue 2026-08-20 18:28:40 +00:00
marshal
8edde1ca76 Merge pull request #1370 from Tria-plc/freight_feature/usermanagement
fix issue
2026-08-20 21:16:37 +03:00
Marshal
a5e6cab248 fix issue 2026-08-20 18:16:03 +00:00
marshal
93373cbe5e Merge pull request #1369 from Tria-plc/freight_feature/usermanagement
Freight feature/usermanagement
2026-08-20 21:11:10 +03:00
Marshal
d99b294c21 fix issue 2026-08-20 18:10:29 +00:00
Marshal
b72cbab535 changes 2026-08-20 18:06:13 +00:00
Marshal
934ed43ccb feat: enhance GlDjiboutiClearanceListPage with tab navigation and improved filtering
- Added tab navigation for All, Import, Export, and On hold shipments.
- Implemented a new LivePill component to show real-time updates.
- Refactored shipment filtering logic to accommodate new tab functionality.
- Improved UI elements including buttons and text inputs for better user experience.
- Updated styles for table cells to allow text wrapping for long company names.
- Adjusted theme to use Space Grotesk font for headings.
2026-08-20 17:44:52 +00:00
Marshal
0d34b9f5e3 feat: enhance ClearanceChargesSection with file viewing and downloading capabilities 2026-08-20 16:07:16 +00:00
Marshal
9e1d5ee9f2 [200~feat: add CustomsPaymentsCard and PaymentsTab components for handling customs payments and payment summaries 2026-08-20 15:45:42 +00:00
Hagernesh
2e28b10610 dashboard UI 2026-08-20 13:48:02 +00:00
Hagernesh Tadesse
82c795999e Merge pull request #1367 from Tria-plc/eims-bulk-register
feat(warehouses): make dashboard date range + warehouse filter real
2026-08-20 16:33:11 +03:00
Hagernesh
7f772efcb3 feat(warehouses): make dashboard date range + warehouse filter real
Backs the previously-dead header date-picker and Filters button with
an actual scoped query. getDashboard() takes optional dateFrom/dateTo/
warehouseId: received (renamed from receivedToday) is the only
activity counter and respects the date range, defaulting to today when
omitted; the 10 status-backlog counters respect warehouseId only;
totalWarehouses/emptyContainers/importTrains/exportTrains stay global
since nothing ties them to a specific warehouse in the schema. Adds a
warehouse Select + date-range picker to the dashboard header, with a
caption spelling out what is and isn't scoped.
2026-08-20 13:30:28 +00:00
Hagernesh Tadesse
572b42343f Merge pull request #1366 from Tria-plc/eims-bulk-register
Additional Charges
2026-08-20 16:14:55 +03:00
Hagernesh
d4c19d7e40 finance only permission for Additional charges 2026-08-20 12:59:33 +00:00
Hagernesh
6e6d6329b6 feat(bookings): add Additional Payments tab, add-charge modal, portal pay
Backoffice: new tab on the booking detail page (?tab=additional-charges,
already linked from the row menu) with an Add Charge modal — Save draft or
Send to customer.

Portal: charges panel on the booking detail page, Pay now per charge via
the existing OTP/CBE-bill payment flow.

Also fixes: GET /bookings/:id/additional-charges was returning DRAFT
charges to the customer (hidden client-side only) — now filtered
server-side per caller.
2026-08-20 12:59:33 +00:00
Hagernesh
0ceb595714 feat(bookings): add ad-hoc additional-charge module
New freight.additional_charge table, independent of BookingClearanceCharge
(unbounded per booking, free-text reason). Draft -> send issues an invoice
and notifies the customer in-app/SMS/email; settles via the standard
.invoice.paid event. Adds the Additional charges row-menu entry
next to Cancel booking, permission-gated.

Not included: the Additional Payments tab UI, add-charge modal, portal pay
flow.
2026-08-20 12:59:33 +00:00
Hagernesh Tadesse
8e2bab27cf Merge pull request #1365 from Tria-plc/eims-bulk-register
fix
2026-08-20 15:07:49 +03:00
Marshal
80b7141f30 fix(portal): surface document upload on cleared bookings until payment 2026-08-20 11:58:05 +00:00
Marshal
a1feb21e4f View manual (offline) payment channel settings
Confirm offline (bank transfer) invoice payment
2026-08-20 11:57:58 +00:00
Marshal
e97e874bd1 fix issue 2026-08-20 11:49:57 +00:00
marshal
3604e78fbe Merge pull request #1364 from Tria-plc/freight_feature/usermanagement
Freight feature/usermanagement
2026-08-20 14:49:27 +03:00
Marshal
8466aff33d feat(bookings): show per-document upload/review audit and download icon on clearance detail 2026-08-20 11:42:41 +00:00
Nathnael Wondisha
5b4da9a9ab Merge pull request #1351 from Tria-plc/freight/nati-2
feat(WIP): filtering, exporting and more reports
2026-08-20 14:38:39 +03:00
Nathnael
f55645fea9 chore(scripts): add the OCC July 2026 seed, drop the throwaway ops scripts
seed-occ-july-2026 loads the OCC plan and operated figures the operations
reports were built against, so the plan-versus-actual tables have real
numbers to check.

tmp-ops-plan, tmp-ops-verify, tmp-mkdb and tmp-ops-reconcile were
scratch: written to reconcile those figures while the reports were being
built, and superseded by the seed above.
2026-08-20 11:37:12 +00:00
Nathnael
1b08666527 refactor(train-scheduling): move the schedule list onto the shared FilterBar
The list was the last major board still on ad-hoc filtering: usePagination
plus FleetToolbar's hand-rolled Selects, a debounced search and a manual
sort Select, assembled into a filters object by hand. It now uses
useFilters/FilterBar like every other list, so pagination, search, sort
and filters all travel as URL params and a link reproduces the view.

Origin and destination ride the shared Route filter, which no longer
requires both ends — filtering by origin alone stays possible, and each
end now takes several stations.

The card/table view toggle moves into FilterBar's children slot, and the
row tinting for shipping-line and direction is untouched.
2026-08-20 11:37:02 +00:00
Nathnael
d6f1c5fb43 fix(rule-engine): use a real date picker, and stop the label wrapping
Date fields rendered as a native <input type="date">, which ignores the
form's styling and varies by browser. They now use Mantine's DateInput,
kept on the `YYYY-MM-DD` string the API's date columns take — no Date
round-trip, so none of the UTC-parsing shift that new Date("2026-01-01")
introduces east of Greenwich.

Labels were passed as an element, which put a flex box inside the
<label>: a line of dead space above every input, and Mantine's own
required asterisk pushed onto its own line. Passing the plain string and
withAsterisk lets Mantine render both.
2026-08-20 11:37:02 +00:00