Commit Graph

4612 Commits

Author SHA1 Message Date
Hagernesh
b4f2ec1c75 feat(train-scheduling): load returned empties onto an export train
Empties had no way onto a departure: the return record could name a train
but nothing seated it on a wagon. Export schedules now expose a loading
action that packs selected returns onto free wagons at one 40ft or two 20ft
each, enforced both in the picker and in the API (existing empties on the
schedule count against their wagon).

Adds container_size, train_schedule_id and wagon_sequence_no to
freight.empty_container_returns.
2026-08-14 09:57:50 +00:00
Hagernesh Tadesse
30c3567048 Merge pull request #1289 from Tria-plc/eims-integration
feat(warehouses): pick export train when allocating empty return to w…
2026-08-14 11:25:39 +03:00
Hagernesh
daee3eac0e feat(warehouses): pick export train when allocating empty return to wagon
Advancing an empty container return to WAGON_ALLOCATED opened no dialog,
so the wagon_allocation_reference column stayed null and nobody knew which
departure carried the empty. Now the action opens a picker of scheduled
EXPORT trains (DRAFT/SCHEDULED) and records the selection.
2026-08-14 08:17:35 +00:00
Hagernesh Tadesse
48762dccd1 Merge pull request #1288 from Tria-plc/eims-integration
feat(billing): add PNR row to freight invoice from booking payment re…
2026-08-14 10:28:06 +03:00
Hagernesh
41f480554c feat(billing): add PNR row to freight invoice from booking payment reference
PNR isn't a column on Invoice/Payment — it's written onto Booking.pnrCode
when a CBE_BILL payment initiates. toDocumentModel() now looks it up by
invoice.sourceId and adds it to the existing summary grid, shown only
when present.
2026-08-14 07:19:23 +00:00
Nathnael Wondisha
e56e1c3009 Merge pull request #1287 from Tria-plc/freight/nati-2
fix: ui
2026-08-14 10:08:08 +03:00
Nathnael
ab5a4117df fix: ui 2026-08-14 07:04:57 +00:00
robiman
a33494a3ae Fix price on voucher
Fix price on voucher
2026-08-14 08:25:12 +03:00
Roba Boru
f3ac818d58 Merge branch 'main' of https://github.com/Tria-plc/edr-platform into feature/report 2026-08-14 08:23:45 +03:00
Roba Boru
f41402422b Merge branch 'dev' of https://github.com/Tria-plc/edr-platform into feature/report 2026-08-14 08:23:17 +03:00
Roba Boru
aa850146dc Fix price on voucher 2026-08-14 08:22:50 +03:00
Abubeker Yasin
1a1e985d7f Merge pull request #1284 from Tria-plc/staging
Staging
2026-08-13 23:46:16 +03:00
Abubeker Yasin
ec52f15039 Merge pull request #1283 from Tria-plc/dev
merge dev to staging
2026-08-13 23:33:15 +03:00
Abubeker Yasin
62bb190752 Merge pull request #1282 from Tria-plc/alpha
feat: ( dashboard ) add booking charts
2026-08-13 23:32:25 +03:00
Abubeker Yasin
449dea78ab feat: ( dashboard ) add booking charts 2026-08-13 23:31:20 +03:00
robiman
cdc9db77ae Updated financial report and exclude fayda for Ethiopian when origin is outside of Ethiopia 2026-08-13 22:50:41 +03:00
Roba Boru
1f0d3d3a22 Merge branch 'dev' of https://github.com/Tria-plc/edr-platform into feature/report 2026-08-13 22:48:00 +03:00
Roba Boru
376c23a0ad Updated financial report and sms outside of Ethiopia 2026-08-13 22:47:22 +03:00
Nathnael Wondisha
553524ee56 Merge pull request #1280 from Tria-plc/freight/nati-2
Freight/nati 2
2026-08-13 22:16:04 +03:00
Nathnael
6cee9a2676 fix:contract page 2026-08-13 19:13:18 +00:00
marshal
e17df57a37 Merge pull request #1279 from Tria-plc/freight_feature/usermanagement
Freight feature/usermanagement
2026-08-13 21:58:33 +03:00
Marshal
b9ba830a09 shipping line 2026-08-13 18:56:52 +00:00
Nathnael
147887b7c5 feat: dashbaord overview 2026-08-13 18:13:42 +00:00
Marshal
0e00a98ef3 feat: implement shipping line booking completion functionality
- Added ShippingLineBookingCompletionController and associated service to handle the completion of shipping line bookings.
- Introduced a new module for booking completion to maintain module separation and avoid cyclic dependencies.
- Updated the train scheduling global rules to set default desk hours to 24 hours.
- Modified existing services and entities to accommodate the new booking completion logic.
- Enhanced the front-end components to support the new booking completion flow, including updates to the booking detail and bookings pages.
- Implemented validation and error handling for booking completion, ensuring that only approved bookings can be completed.
- Added migration to set default desk hours in the database.
2026-08-13 15:10:27 +00:00
Marshal
5837ac7b6e Merge branch 'dev' 2026-08-13 14:14:31 +00:00
Nathnael Wondisha
df2faa1ee9 Merge pull request #1278 from Tria-plc/freight/nati-2
Freight/nati 2
2026-08-13 16:50:04 +03:00
Nathnael
89cdc0ad06 style: ui fixes 2026-08-13 13:46:46 +00:00
Roba Boru
f5a19a705a Merge branch 'main' of https://github.com/Tria-plc/edr-platform into feature/report 2026-08-13 16:36:29 +03:00
Abubeker Yasin
be7ea17841 Merge pull request #1277 from Tria-plc/alpha
feat: ( reports ) add fleet passenger overview to passengers landing …
2026-08-13 16:21:47 +03:00
Abubeker Yasin
62b2080aaf feat: ( reports ) add fleet passenger overview to passengers landing page 2026-08-13 16:20:21 +03:00
marshalyordanos
9fff469ffa feat: implement shipping line bookings management
- Add ShippingLineBookingsPage for listing and managing shipping line bookings.
- Create ShippingLineDocumentsModal for document uploads related to bookings.
- Introduce ShippingLineInitiateModal for initiating new shipping line bookings.
- Implement booking document state management with booking-doc-state utility.
- Add shipping line bookings service for API interactions.
- Update index to export new components and services.
- Enhance types for freight to include shipping line credits.
2026-08-13 15:54:40 +03:00
Nathnael
0df4be1820 style: overview revamp 2026-08-13 12:44:06 +00:00
Abubeker Yasin
2bb8d96eeb Merge pull request #1276 from Tria-plc/alpha
feat: ( reports ) add fleet seat overview to seat status landing page
2026-08-13 15:34:25 +03:00
Abubeker Yasin
aabf58320a feat: ( reports ) add fleet seat overview to seat status landing page 2026-08-13 15:32:56 +03:00
Hagernesh Tadesse
c3c27d9fcf Merge pull request #1274 from Tria-plc/eims-integration
fix(warehouses): free warehouse/yard/zone capacity on export dispatch
2026-08-13 15:05:24 +03:00
Nathnael Wondisha
adf28bd47b Merge pull request #1273 from Tria-plc/freight/nati-2
Freight/nati 2
2026-08-13 14:41:41 +03:00
Nathnael
3190b9bd38 Merge branch 'dev' into freight/nati-2 2026-08-13 11:34:57 +00:00
Hagernesh
6c96b7ad94 fix(warehouses): free warehouse/yard/zone capacity on export dispatch
dispatch() (LOADED -> DISPATCHED) routed through the shared transition()
helper, which only flipped status/timestamp and never called
applyCapacityDelta. deliver() (import pickup) already decrements
correctly, so export cargo leaving by train inflated currentWeight/
currentVolume/currentContainers forever instead of freeing capacity.

Add optional freeCapacity hook to transition(), wire dispatch() to it,
mirroring the negative-delta pattern already used in deliver().
2026-08-13 11:27:56 +00:00
Nathnael
86d69a9577 chore: group invoices, payments and usd payments 2026-08-13 11:22:45 +00:00
Hagernesh Tadesse
1088b47029 Merge pull request #1272 from Tria-plc/eims-integration
feat(freight): add company logo setting applied to every generated do…
2026-08-13 13:56:45 +03:00
Hagernesh
c4bf3c9479 feat(freight): add company logo setting applied to every generated document
New logo-settings module (mirrors stamp-settings): single uploaded logo,
stored via FilesService/MinIO, injected as a data URL into invoice/receipt,
contract, warehouse, train-scheduling, and payment-receipt PDFs. Adds a
matching backoffice settings page and settings:logo:view/manage permissions.

>
2026-08-13 10:54:23 +00:00
Hagernesh Tadesse
63b40ea4f8 Merge pull request #1271 from Tria-plc/eims-integration
Eims integration

feat(lastmile): reference stored LM contract from booking detail
2026-08-13 13:18:16 +03:00
Hagernesh
e66e622ede eims cancellation 2026-08-13 09:58:04 +00:00
Hagernesh
89dba01cd7 feat(train-scheduling): notify customer of CAS on direct-to-train load
Direct truck-to-train export cargo skips the warehouse, so the existing
carriage acceptance sheet ready notice (fired on warehouse receive)
never reached these bookings. Their handover moment is the load itself.

Extract notifyCarriageAcceptanceReady into a shared notifications util
(was private to WarehouseInventoryService) and call it from
BookingJourneyService.loadBooking for EXPORT + DIRECT_TO_TRAIN bookings,
right after the GRN gate, before the load transaction proceeds.
2026-08-13 09:58:04 +00:00
Abubeker Yasin
f78a19befb Merge pull request #1270 from Tria-plc/dev
Merge dev to staging
2026-08-13 12:30:07 +03:00
Nathnael
4ae63d4e5c fix: report ordering 2026-08-13 09:29:09 +00:00
Abubeker Yasin
ae6797ea05 Merge pull request #1269 from Tria-plc/alpha
fix: ( notifications ) stop group-booking SMS greeting the wrong pass…
2026-08-13 12:23:49 +03:00
Abubeker Yasin
1e97f46813 fix: ( notifications ) stop group-booking SMS greeting the wrong passenger 2026-08-13 12:20:27 +03:00
Hagernesh Tadesse
2fa2cae476 Merge pull request #1268 from Tria-plc/eims-integration
Eims integration
2026-08-13 12:16:47 +03:00
Nathnael
cb27d82e8f test(freight-api): cover export field/limit/format resolution
Extracted the export route's format/cap/column-whitelist branching out
of the controller into pure functions (resolveExportFormat,
resolveExportCap, resolveExportColumns) and added a spec: unknown
format falls back to xlsx, limit clamps to the format cap and ignores
non-positive/NaN input, unknown field keys are dropped and an
all-unknown fields list falls back to every column instead of
shipping a blank sheet. Was untested branching logic before this.
2026-08-13 09:07:49 +00:00