3659 Commits

Author SHA1 Message Date
Stephanos A
1be2cadf0e Merge branch 'alpha' of github.com:Tria-plc/edr-platform into alpha 2026-08-22 11:18:30 +03:00
Stephanos A
81f7c0f0cd feat: coach utilization report with schedule filtering and export functionality 2026-08-22 11:17:58 +03:00
Abubeker Yasin
3d741ab928 fix: ( passenger-portal ) fix payment amount on booking confirmation 2026-08-22 10:48:34 +03:00
Stephanos A
6ce4e13b4a fix: change schedule listing order from ascending to descending by departure time 2026-08-22 10:22:32 +03:00
Stephanos A
e84c2edae9 Merge branch 'alpha' of github.com:Tria-plc/edr-platform into alpha 2026-08-21 18:26:54 +03:00
Stephanos A
d2a942ffbf feat: add contact phone overrides for payment links in excess baggage and supplementary charges 2026-08-21 18:26:38 +03:00
Abubeker Yasin
e174efb8e0 fix: ( passenger ) read permissions from position types and all positions 2026-08-20 12:33:39 +03:00
marshal
d04f35539a Merge pull request #1354 from Tria-plc/freight_feature/usermanagement
Freight feature/usermanagement
2026-08-20 08:28:12 +03:00
Marshal
c138da6137 feat(bookings): two-level clearance charges (port + misc) billed to customer with invoices 2026-08-20 05:24:57 +00:00
Stephanos A.
c52b9229c4 Merge pull request #1353 from Tria-plc/alpha
Alpha
2026-08-20 07:57:24 +03:00
Stephanos A
5d6a21b6be Merge branch 'alpha' of github.com:Tria-plc/edr-platform into alpha 2026-08-20 07:46:33 +03:00
Stephanos A
f93b3cd993 feat: add seat conflict assertion for route bookings 2026-08-20 07:46:15 +03:00
Marshal
4adb53b486 fix issue 2026-08-20 04:27:16 +00:00
marshal
e2d32defc0 Merge pull request #1352 from Tria-plc/freight_feature/usermanagement
Freight feature/usermanagement
2026-08-20 07:04:21 +03:00
Marshal
a58157a7ee feat(bookings): show per-document upload/review audit and download icon on clearance detail 2026-08-20 04:03:27 +00:00
Marshal
8a2b9306dc feat(bookings): show per-document upload/review audit and download icon on clearance detail 2026-08-20 03:59:14 +00:00
Marshal
174bc1a7bd Implement new feature for user authentication and improve error handling 2026-08-19 17:07:48 +00:00
Abubeker Yasin
4fcb8d02f4 Merge pull request #1350 from Tria-plc/alpha
fix: ( fayda ) reject a second booking for the same identity on one d…
2026-08-19 15:33:42 +03:00
Abubeker Yasin
014b1a6d47 fix: ( fayda ) reject a second booking for the same identity on one departure 2026-08-19 15:28:10 +03:00
Nathnael Wondisha
8e11b3a168 Merge pull request #1349 from Tria-plc/freight/nati-2
Freight/nati 2
2026-08-19 13:17:07 +03:00
Nathnael
e964a9b8f4 chore: more reporting 2026-08-19 10:14:46 +00:00
Nathnael
54f52f077c fix(page-header): cap title/subtitle width
Title and subtitle grew unbounded, relying only on flex-squeeze from action
buttons to ever truncate. Caps the container at 640px and gives the
subtitle the same truncate treatment the title already had, so a long
page title or description (report descriptions in particular) always
ellipses instead of stretching the header.
2026-08-19 10:12:16 +00:00
Nathnael
6687def4af feat(reports): use the shared FilterBar instead of ReportFilters
Swaps ReportView's bespoke ReportFilters for the same FilterBar/useFilters
combo BookingRequestsPage uses — pills, saved-view-ready state, URL sync.
toFilterDefs() maps the report catalog's own filter vocabulary
(daterange/date/select/multiselect/text) onto FilterDef, matched against
every report definition's backend param handling. The search box only
shows for reports that actually implement `search` server-side, so it's
not a dead control on the rest. ReportFilters.tsx is now dead, removed.
2026-08-19 10:12:03 +00:00
Nathnael
7c56607582 fix(filters): honor a date filter's own operator, not always "between"
DateBody always initialized its op state to DEFAULT_OP.date ("between"),
ignoring a def's `operators` restriction. A single-operator exact-date
filter (e.g. `operators: ["before"]`) opened on the range UI with no way
off it, since OperatorSelect hides itself when there's only one choice.
Default to the def's first allowed operator instead.
2026-08-19 10:11:48 +00:00
Marshal
ad479bdcf2 issue fix 2026-08-19 10:10:04 +00:00
Marshal
13f66dfb66 changes 2026-08-19 08:41:51 +00:00
Marshal
f4a654f273 Merge branch 'dev' of github.com:Tria-plc/edr-platform into freight_feature/usermanagement 2026-08-19 06:42:36 +00:00
Marshal
cd1e9c38a7 feat: add new audit endpoints for consolidation approvals and invoice management 2026-08-19 06:42:19 +00:00
Abubeker Yasin
fbba4add73 Merge pull request #1344 from Tria-plc/alpha
fix: ( fayda ) block one Fayda identity from verifying multiple passe…
2026-08-19 09:26:34 +03:00
Abubeker Yasin
1f38b5a3c6 fix: ( fayda ) block one Fayda identity from verifying multiple passengers 2026-08-19 09:25:51 +03:00
marshal
2942ad8d75 Merge pull request #1342 from Tria-plc/freight_feature/usermanagement
feat: implement parity checks for 20ft container bookings to ensure e…
2026-08-19 09:21:43 +03:00
Marshal
e6e4c07077 feat: implement parity checks for 20ft container bookings to ensure even numbers 2026-08-19 06:20:47 +00:00
marshal
c80d9c5abc Merge pull request #1339 from Tria-plc/freight_feature/usermanagement
feat: implement consolidation approval process for shared-wagon bookings
2026-08-18 17:12:28 +03:00
Marshal
db64a1878b feat: implement consolidation approval process for shared-wagon bookings
- Add migration for consolidation approvals table and status enum
- Create ConsolidationApprovalService to handle approval logic
- Implement repository for managing consolidation approvals
- Add entity for consolidation approval with necessary fields
- Develop frontend components for displaying and managing consolidation approvals
- Create tests for consolidation approval service to ensure correct behavior
2026-08-18 13:59:15 +00:00
marshal
c1150f8af2 Merge pull request #1337 from Tria-plc/freight_feature/usermanagement
Freight feature/usermanagement
2026-08-18 16:19:34 +03:00
Abubeker Yasin
861900dc1b Merge pull request #1338 from Tria-plc/alpha
feat: ( audit ) resolve the actor from the session and audit all back…
2026-08-18 16:19:15 +03:00
Marshal
40904049cf feat: implement consolidation approval process for shared-wagon bookings
- Add migration for consolidation approvals table and status enum
- Create ConsolidationApprovalService to handle approval logic
- Implement repository for managing consolidation approvals
- Add entity for consolidation approval with necessary fields
- Develop frontend components for displaying and managing consolidation approvals
- Create tests for consolidation approval service to ensure correct behavior
2026-08-18 13:17:55 +00:00
Nathnael Wondisha
5e96394450 Merge pull request #1336 from Tria-plc/freight/nati-2
lifecycle
2026-08-18 16:14:38 +03:00
Nathnael
dd6df306f2 lifecycle 2026-08-18 13:11:48 +00:00
Nathnael Wondisha
065f34aa67 Merge pull request #1335 from Tria-plc/freight/feat/yard-loc-ac
feat: yard scoping to position
2026-08-18 15:57:03 +03:00
Nathnael
6823a32fee feat: yard scoping to position 2026-08-18 12:55:11 +00:00
Nathnael Wondisha
bd5d6d72b5 Merge pull request #1334 from Tria-plc/freight/feat/foreign-investors
fix: approval window
2026-08-18 15:51:45 +03:00
Marshal
22a3fb98ee feat: Implement consolidated booking functionality
- Added support for viewing and managing consolidated bookings in BookingRequestDetailPage.
- Enhanced BookingRequestsPage to display paired bookings in a single row.
- Introduced pairedDecision method in bookings service to handle decisions for both halves of a consolidated pair.
- Updated contracts service to include methods for manual consolidation of odd-20ft bookings.
- Created new components for selecting and editing consolidation partners.
- Added tests for paired decision logic and manual consolidation scenarios.
- Updated UI to reflect changes in booking handling and provide user feedback for odd container counts.
2026-08-18 12:50:35 +00:00
Nathnael
cbcc9a02e6 fix: approval window 2026-08-18 12:44:02 +00:00
Abubeker Yasin
0eb64ad9a1 feat: ( audit ) resolve the actor from the session and audit all backoffice mutations 2026-08-18 15:13:22 +03:00
Hagernesh
f7be33eaaf feat(eims): alias bare Addis Ababa sub-city names to the CSV's woreda codes
Confirmed live 2026-08-17: buyer profiles store just the sub-city name
("Bole", "Arada") as their woreda, never the source CSV's specific
example-woreda name ("Bole Woreda 01") — hit for three different
buyers in a row (Bole, Arada, Lemi Kura) before any got past this
check. Since the CSV lists exactly one representative woreda per
Addis sub-city, alias the bare name to that same code instead of
waiting on a fuller table — use what's already been supplied first.

Lemi Kura itself isn't in the source CSV at all (one of Addis
Ababa's newer sub-cities) — still needs its real code from MoR.
2026-08-18 11:51:03 +00:00
Nathnael Wondisha
b95952d67a Merge pull request #1332 from Tria-plc/freight/feat/foreign-investors
Freight/feat/foreign investors
2026-08-18 14:49:28 +03:00
Nathnael
f62054d4a4 fix(portal): accept a business licence the server already holds
A resumed onboarding asked for the per-role business licence again and refused
to submit until it was uploaded a second time, however many were already on
file. `getInfo` never populates `companyProfiles[].licenseFiles`, and the
wizard validates against exactly that — so every profile looked empty, while
`markOnboardingComplete` would have accepted the application as it stood.

Validation now reads `licenseProfiles[].uploaded` from the onboarding
requirements: the server's own verdict, already fetched by the step, and the
same source the API enforces on submit.

Reachable today by anyone who resumes onboarding after a licence upload, and by
every company that switches back to eTrade registration — which is where the
e2e suite hit it.
2026-08-18 11:47:18 +00:00
Nathnael Wondisha
d3f6e03749 Merge pull request #1331 from Tria-plc/freight/nati-2
feat: add service type fitler
2026-08-18 14:38:43 +03:00
Nathnael
03b16b4ee8 feat: add service type fitler 2026-08-18 11:38:07 +00:00