Commit Graph

1511 Commits

Author SHA1 Message Date
ghost2023
42e227569b Merge remote-tracking branch 'origin/staging' into freight/fix/pay
# Conflicts:
#	apps/edr-freight-api/src/modules/billing/billing.service.ts
#	apps/edr-freight-web/portal/src/pages/billing/InvoiceDetailPage.tsx
#	apps/edr-freight-web/portal/src/pages/bookings/BookingDetailPage/components/PaymentMethodModal.tsx
#	pnpm-lock.yaml
2026-08-01 13:09:14 +03:00
marshal
71464c6da5 Merge pull request #1055 from Tria-plc/freight_feature/usermanagement
enhance contract and train scheduling features
2026-08-01 08:38:52 +03: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
a084a98e84 Merge pull request #1052 from Tria-plc/freight_feature/usermanagement
fix issue
2026-07-31 20:55:41 +03:00
Marshal
6a4067ec42 fix issue 2026-07-31 17:54:10 +00:00
marshal
2605184b74 Merge pull request #1050 from Tria-plc/freight_feature/usermanagement
fix issue
2026-07-31 16:29:19 +03:00
Marshal
b74b51dcc1 fix issue 2026-07-31 13:27:44 +00:00
Hagernesh
d229808fd8 Fix 2 — lastmile should only be yes if EDR last mile. 2026-07-31 13:07:18 +00:00
marshal
be75a9e867 Merge pull request #1048 from Tria-plc/freight_feature/usermanagement
fix issue
2026-07-31 16:06:43 +03:00
Marshal
66062ac1a2 fix issue 2026-07-31 13:05:04 +00:00
marshal
f03ed7ca53 Merge pull request #1046 from Tria-plc/freight_feature/usermanagement
Freight feature/usermanagement
2026-07-31 15:30:39 +03: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
5169558c07 Merge pull request #1045 from Tria-plc/freight_feature/usermanagement
Freight feature/usermanagement
2026-07-31 15:14:40 +03: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
Nathnael Wondisha
7a30fd6aee Merge pull request #1042 from Tria-plc/freight/chore/payment-test
CAC Integration to the freight api, tests fix
2026-07-31 14:10:04 +03:00
Nathnael
93163ac575 Merge branch 'dev' into freight/chore/payment-test 2026-07-31 10:57:07 +00:00
Hagernesh
90fef6856b Container return and Price per KM for Vehcles 2026-07-31 10:52:52 +00:00
marshal
7f87e2d8ca Merge pull request #1040 from Tria-plc/freight_feature/usermanagement
intercity fix
2026-07-31 13:50:50 +03:00
Marshal
a64af98205 intercity fix 2026-07-31 10:50:16 +00:00
marshal
b65a1d8146 Merge pull request #1039 from Tria-plc/freight_feature/usermanagement
intercity fix
2026-07-31 13:27:25 +03:00
Marshal
74b7ee81fc intercity fix 2026-07-31 10:26:17 +00:00
Nathnael
97bfe95ec3 feat(payment): integrate CAC Bank OTP payments into freight flows
CAC Bank is an OTP debit with no redirect and no webhook: initiate SMSes a
code to the payer's mobile, and the charge only settles when that code is
confirmed. The payment service already spoke it (passenger uses it); the
freight side had the enum values but none of the flow.

API:
- PaymentClientService.confirmOtp forwards the code to
  POST /payments/intents/:id/confirm, mapping 400/404 to BadRequest so a
  mistyped code stays retryable instead of surfacing as a gateway failure.
- PaymentService.confirmOtp is keyed by the LOCAL intent id (the invoice's
  paymentId) rather than the domain reference, so the right invoice settles
  when several share a booking. On success billing settles the invoice.
- payInvoice rejects CAC_BANK without payerAccount before calling the
  gateway, and no longer runs the demo auto-settle for a COLLECT_OTP intent
  (it is not paid until the payer confirms).
- POST /billing/my-invoices/:id/confirm — ownership-checked, and since
  warehouse fee invoices are central invoices it covers those too.

Portal:
- useInvoicePayment owns the whole flow (initiate, redirect-or-OTP, confirm)
  and replaces the five near-identical pay mutations at the call sites.
- PaymentMethodModal gains the CAC Bank option, the payer mobile field, and
  the OTP step. Click-outside is disabled there so a stray click cannot drop
  the payer out of a live OTP window.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-31 08:11:23 +00:00
Abubeker
37855b0a83 feat: ( payment ) implement cbe payment 2026-07-31 07:50:10 +00:00
Nathnael
5a02da91d2 refactor(api): extract self-service attributes for immediate application and poa verification improvement 2026-07-31 07:38:49 +00:00
Hagernesh
9afc3d4059 Empty container enhancement 2026-07-31 07:34:02 +00:00
Hagernesh
08e0fe2db2 feat: auto-populate yard and zone from selected warehouse
When warehouse is selected in standalone return modal, yard and zone
fields are automatically populated from warehouse data (yard from
warehouse.yard or warehouse.code, zone from warehouse.zone). Fields are
read-only/disabled to prevent manual editing.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-07-31 06:57:15 +00:00
Hagernesh
1bae13aec4 feat: add yard/zone fields and returned containers table 2026-07-31 06:46:03 +00:00
Hagernesh
74cf80106e feat: add yard/zone fields and returned containers table
Add Yard and Zone input fields to standalone return modal. Add table
showing all returned containers with: container number, booking ref,
returned date, facility, yard, condition, status. Table appears at top
of Container Returns page when returns exist.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-07-31 06:45:03 +00:00
marshal
378b9b6b21 Merge pull request #1035 from Tria-plc/freight_feature/usermanagement
add goverment booking
2026-07-31 04:26:31 +03:00
Marshal
d07a2e239e add goverment booking 2026-07-31 01:25:47 +00:00
marshal
a7f44c1d16 Merge pull request #1034 from Tria-plc/freight_feature/usermanagement
add goverment booking
2026-07-31 04:08:39 +03:00
Marshal
7a72245229 add goverment booking 2026-07-31 01:07:48 +00:00
marshal
5564819b28 Merge pull request #1033 from Tria-plc/freight_feature/usermanagement
add goverment booking
2026-07-31 03:43:36 +03:00
Marshal
65f18b4796 add goverment booking 2026-07-31 00:41:51 +00:00
marshal
e6b16feb25 Merge pull request #1032 from Tria-plc/freight_feature/usermanagement
leg-aware capacity and wagon sharing
2026-07-31 01:07:55 +03:00
Marshal
34e4a7d13f leg-aware capacity and wagon sharing 2026-07-30 22:07:23 +00:00
marshal
143cbebb18 Merge pull request #1031 from Tria-plc/freight_feature/usermanagement
leg-aware capacity and wagon sharing
2026-07-30 22:08:50 +03:00
Marshal
f891f6abe2 leg-aware capacity and wagon sharing 2026-07-30 19:08:06 +00:00
marshal
52eda90642 Merge pull request #1030 from Tria-plc/freight_feature/usermanagement
leg-aware capacity and wagon sharing
2026-07-30 20:22:44 +03:00
Marshal
acef6870e9 leg-aware capacity and wagon sharing 2026-07-30 17:21:44 +00:00
Hagernesh
c74b9320a2 feat: add standalone container return modal
Add "Record Return" button at top of Container Returns page for
standalone/unboooked returns. Modal accepts container number, return
date, warehouse, condition, handover notes. No booking association
required — supports returns that arrive without clear booking context.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-07-30 14:35:59 +00:00
Hagernesh
63aa2c7920 docs: clarify container returns are last-mile only (not first-mile)
Update labels and comments to reflect that container returns are for
last-mile trucks only: either EDR last-mile or customer self-haul. Same
truck that delivered will return with empty containers. Changed labels
from "EDR Returns" → "EDR Last Mile" and "Customer Returns" →
"Customer Self-Haul".

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-07-30 14:35:59 +00:00
Hagernesh
c0d6b1a1c5 feat: add Container Returns page with EDR/Customer filter
Separate page for tracking empty container returns by type: EDR returns
(empty containers from EDR first-mile) or Customer returns (customer
self-haul). Segmented control filter, expandable booking rows showing
containers, modal to record return with warehouse selection. Accessible
via sidebar menu under Import Operations.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-07-30 14:07:09 +00:00
Hagernesh
154b7d11d5 feat: add warehouse selection to empty container returns form
Replace manual facility/yard input with warehouse dropdown. Form fetches
available warehouses and auto-populates facility (warehouse name) and yard
(warehouse code) from selection, eliminating manual entry.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-07-30 14:07:09 +00:00
Hagernesh
c9300ab4cd feat: add EDR Last Mile Returns page with bulk/single form
New page for empty container returns: tables show EDR trucks with company
names and return containers. Modal form for processing single or bulk
returns, with fields for facility, yard, condition, return date, and
handover notes. Accessible via sidebar menu under Import Operations.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-07-30 14:07:09 +00:00
marshal
ceaf0ba7eb Merge pull request #1025 from Tria-plc/freight_feature/usermanagement
Freight feature/usermanagement
2026-07-30 16:16:52 +03:00
Marshal
e80aac877f export flow and fix intercity issue 2026-07-30 13:11:35 +00:00
Nathnael Wondisha
349ff436d8 Merge pull request #1024 from Tria-plc/freight/chore/payment-test
fix: support widget peak and onboarding wizard responsivness
2026-07-30 16:10:05 +03:00