Commit Graph

3928 Commits

Author SHA1 Message Date
Marshal
123f925cc1 add Group 9 delivery scenarios for self-haul and last-mile paths
- Implemented G9·S38 tests for customer self-haul truck assignments, ensuring compliance with container limits and truck assignments.
- Added G9·S39 tests for last-mile delivery, self-haul, and yard pickup, verifying independent paths for multiple bookings on the same train.
- Created seed data for Group 1 and Group 2 scenarios, ensuring proper setup for weight and capacity tests.
- Updated booking interface to deprecate  in favor of  for better clarity in allocations.
2026-08-01 12:14:37 +00:00
Marshal
3424dacd5f fix issue 2026-08-01 10:03:56 +00:00
Marshal
0d8c63328a add items per wagon map to cargo types and sync bulk rate units
- Implemented  in the  to manage the physical item capacity for each wagon type.
- Added a new migration to create the  column in the  table.
- Introduced  method in  to update rate units when cargo type unit of measure changes.
- Updated booking calculations to consider items per wagon for break-bulk cargo.
- Refactored various components to utilize the new items fit logic and ensure consistent date formatting across the application.
- Added tests for the new display timezone functionality to ensure consistent date/time representation across different user settings.
2026-08-01 09:55:21 +00:00
Marshal
a8788eb549 enhance contract and train scheduling features
- Added pricing service integration to ContractsService for pre-persistence contract pricing.
- Updated LegCapacityPanel to display cargo weight instead of gross weight for better clarity on booked cargo.
- Enhanced train scheduling service to include cargo weight in booking details.
- Modified ClearanceDocumentsPage to include FULLY_EXECUTED status in booking status options.
- Refactored FileUploadSettingsPage to categorize file upload settings into tabs for better organization.
- Removed legacy onboarding fields and settings from file upload settings seeder.
- Improved type definitions for train scheduling to include cargo weight without wagon tare.
2026-08-01 05:37:46 +00:00
Marshal
6a4067ec42 fix issue 2026-07-31 17:54:10 +00:00
Marshal
b74b51dcc1 fix issue 2026-07-31 13:27:44 +00:00
Marshal
66062ac1a2 fix issue 2026-07-31 13:05:04 +00:00
Marshal
950d539e37 fix issue 2026-07-31 12:28:37 +00:00
Marshal
7e85c16141 fix issue 2026-07-31 12:23:41 +00:00
Marshal
8b9dd76710 fix issue 2026-07-31 12:11:47 +00:00
Marshal
091d655baa added ewti landing pae 2026-07-31 11:23:00 +00:00
Marshal
a64af98205 intercity fix 2026-07-31 10:50:16 +00:00
Marshal
74b7ee81fc intercity fix 2026-07-31 10:26:17 +00:00
Marshal
d07a2e239e add goverment booking 2026-07-31 01:25:47 +00:00
Marshal
7a72245229 add goverment booking 2026-07-31 01:07:48 +00:00
Marshal
65f18b4796 add goverment booking 2026-07-31 00:41:51 +00:00
Marshal
34e4a7d13f leg-aware capacity and wagon sharing 2026-07-30 22:07:23 +00:00
Marshal
f891f6abe2 leg-aware capacity and wagon sharing 2026-07-30 19:08:06 +00:00
Marshal
acef6870e9 leg-aware capacity and wagon sharing 2026-07-30 17:21:44 +00:00
Marshal
8f25fb3e8b fix issue 2026-07-30 13:33:07 +00:00
Marshal
2cdf8bd161 export flow and fix intercity issue 2026-07-30 13:15:56 +00:00
Marshal
e80aac877f export flow and fix intercity issue 2026-07-30 13:11:35 +00:00
Marshal
9208050cb5 fix rate issue 2026-07-30 12:18:50 +00:00
Marshal
acb6f286d4 fix(payments): reconcile with gateway before expiring unpaid holds
Replace the fixed 5-minute grace with a settlement check at expiry:
expire() calls the payment API's reconcile endpoint — paid intents are
kept and allocated via payment.succeeded, unverifiable results defer
expiry to the next tick, only verifiably unpaid holds expire.
2026-07-30 12:01:59 +00:00
Marshal
22de05fe8e Merge branch 'dev' of github.com:Tria-plc/edr-platform into freight_feature/usermanagement 2026-07-30 11:31:02 +00:00
Marshal
2ca04b8f98 changes export flow 2026-07-30 11:30:34 +00:00
Hagernesh Tadesse
6790450bf2 Merge pull request #1019 from Tria-plc/edrmiles
feat: add warehouse gate times editor modal for import trucks
2026-07-30 13:06:00 +03:00
Hagernesh
fe04d2edd6 feat: add warehouse gate times editor modal for import trucks
Enable per-truck editing of warehouse gate arrival/departure times
(arrivedAt/departedAt) via modal on Import Trucks page. Accessible via
row action menu for EDR-haulage trucks. Includes backend endpoint
POST /last-mile/:id/warehouse-gate-times and frontend modal with
DateTimePicker inputs.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-07-30 10:04:32 +00:00
Marshal
b671f07ce6 fix(rule-engine): merge duplicate Sebeta yards, block dupes
Two active Sebeta yards (LEGACY_DEST/'Sebeta' and SEBETA/'sebeta')
split rates and routes across different yard ids, so route-scoped rate
lookups missed. Migration repoints every yard reference to the survivor,
retires the duplicate, and adds partial unique indexes on active label
and code. Service now rejects case-insensitive duplicate labels on
create/update - the old guard only compared generated codes, which
missed labels whose existing code differs (LEGACY_DEST).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-30 09:25:02 +00:00
Marshal
9241ce01d2 fix(contracts): price base freight from contract lane only
Contract pricing matched base container/bulk rates by type+currency
with no origin/destination filter, so a lane with no configured rate
silently froze another lane's price into the contract snapshot
(CTR-2026-00065: DCT-Sebeta contract froze DCT-GMP rates) and bookings
then billed off it. Now scoped to the contract's first route and a
missing lane rate hard-blocks pricing with a 422, matching the
customs-clearance and booking-side behaviour.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-30 09:24:37 +00:00
Abubeker Yasin
68e3061619 Merge pull request #1018 from Tria-plc/alpha
Update payment-sync.service.ts
2026-07-30 11:00:29 +03:00
Abubeker Yasin
e4a2c61224 Update payment-sync.service.ts 2026-07-30 10:56:56 +03:00
Hagernesh Tadesse
fd407ba5b9 Merge pull request #1017 from Tria-plc/edrmiles
feat: add truck arrival/departure times to import trucks page
2026-07-30 10:30:08 +03:00
Hagernesh
4cb4d177d9 feat: add truck arrival/departure times to import trucks page
Show per-truck warehouse gate arrival (arrivedAt) and departure
(departedAt) timestamps on the Import Trucks page, enabling staff to see
when each truck entered and exited the warehouse. Times displayed in local
format; EDR and customer trucks both supported.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-07-30 07:26:58 +00:00
Abubeker Yasin
541f2a11c1 Merge pull request #1016 from Tria-plc/alpha
fix: ( payment ) resolve PaymentsService via ModuleRef in TasksService
2026-07-30 04:58:09 +03:00
Abubeker Yasin
920333bf2a fix: ( payment ) resolve PaymentsService via ModuleRef in TasksService 2026-07-30 04:57:25 +03:00
Abubeker Yasin
6108f0117f Merge pull request #1015 from Tria-plc/alpha
Alpha
2026-07-29 22:11:58 +03:00
Marshal
63604b0cf4 changes 2026-07-29 19:00:32 +00:00
Hagernesh Tadesse
e6c8b8225c Merge pull request #1014 from Tria-plc/edrmiles
implemented import truck page
2026-07-29 17:53:31 +03:00
Hagernesh
a6749df65f implemented import truck page 2026-07-29 14:46:41 +00:00
Nathnael Wondisha
b140a720db Merge pull request #1013 from Tria-plc/freight/fix/auth-separation
Freight/fix/auth separation
2026-07-29 17:37:41 +03:00
Nathnael Wondisha
49fce33832 Merge pull request #1012 from Tria-plc/freight/nati-1
fayda verification and validation
2026-07-29 17:36:43 +03:00
Nathnael
848c0d7768 fix: customer settings fix 2026-07-29 14:30:35 +00:00
Abubeker Yasin
ce878a3777 Merge branch 'alpha' of github.com:Tria-plc/edr-platform into alpha 2026-07-29 17:30:20 +03:00
Abubeker Yasin
d7168a8d77 feat: ( payment ): verify-before-cancel never cancel a paid booking 2026-07-29 17:29:59 +03:00
Hagernesh Tadesse
efae463b0a Merge pull request #1011 from Tria-plc/edrmiles
fix(train-scheduling): marshalling doc 40ft/20ft counts were always 0 no w counts exat numbers
2026-07-29 17:14:30 +03:00
Hagernesh
e2ad024da1 fix(train-scheduling): marshalling doc 40ft/20ft counts were always 0
findByIdWithFullGraph loaded containerItems but not
containerItems.bookingContainer, so item.bookingContainer was always
undefined and the 40ft/20ft/total tallies on the Import/Export
Marshalling Document silently read as 0. Load containerType on both the
item and its bookingContainer, and resolve size from whichever is set.
2026-07-29 14:13:09 +00:00
Abubeker Yasin
66bc0f461c Merge pull request #1010 from Tria-plc/dev
merge
2026-07-29 17:08:25 +03:00
Abubeker Yasin
0551d2dd57 Merge pull request #1009 from Tria-plc/main
Main
2026-07-29 17:05:55 +03:00
Abubeker Yasin
e6ad9008c2 Merge pull request #1008 from Tria-plc/guard-fix
fix : ( ticket ) change kickets.generate to tickets.manage
2026-07-29 16:51:42 +03:00