Commit Graph

913 Commits

Author SHA1 Message Date
Marshal
8ef7641048 feat(bookings): add contract validity window and customs clearing features
- Introduced contract validity days, valid from and valid until fields in the booking model.
- Updated booking acceptance logic to enforce validity window constraints.
- Added customs clearing agent and first/last mile pickup/delivery coordinates to the booking model.
- Implemented LocationPicker component for address selection with map integration using Leaflet.
- Enhanced booking review step to display customs clearing agent details.
- Updated API and DTOs to accommodate new booking fields.
- Added migration scripts for database schema changes.
- Implemented tests for booking acceptance and DTO transformations.
2026-06-24 00:21:01 +00:00
Marshal
07cd7dc111 feat: enhance booking operations to support freight forwarder variants and improve consolidation handling 2026-06-23 23:48:45 +00:00
Marshal
9d81a2e1ee integrate global logistics staff user into seeder
refactor pricing data seeder to fold surcharge types into rates
update route meta subtitle to remove surcharge types
enhance RuleEngineFormDialog to support conditional field visibility
 remove surcharge types from URL constants and related services
add cargo leaf options query for bulk cargo type selection
update RuleEngineResourcePage to utilize cargo leaf options
modify resources configuration to remove surcharge types
implement migration to fold surcharge types into rates
create utility to derive legacy rate types from new rate structure
2026-06-23 23:15:32 +00:00
Marshal
2b4dfc6490 feat: implement staff price adjustment feature for bookings 2026-06-23 22:54:32 +00:00
Marshal
196e296275 feat: update terminology for shipment date to estimated shipment date in booking forms 2026-06-23 22:21:12 +00:00
Marshal
733bfd1e5e feat: reorder cargo and route steps in booking form; update related logic and UI components 2026-06-23 22:15:29 +00:00
Marshal
6485cbdd71 feat: implement document clearance workflow for bookings
- Added ClearanceCard component to display and manage clearance documents in ReadonlyBookingView.
- Introduced new API endpoints for clearance operations: getClearance, submitClearanceDocuments, and proceedToOperation.
- Created BookingDocumentReview entity and migration for document review status tracking.
- Developed GlClearancePage for Global Logistics to review and manage document submissions.
- Implemented utility functions for determining clearance setting codes based on trade direction and freight type.
- Added tests for booking transition clearance logic and clearance utility functions.
2026-06-23 21:33:34 +00:00
Marshal
29f6928059 feat: add unit of measure selection for cargo types and update related calculations in booking forms 2026-06-23 21:00:51 +00:00
Marshal
080a08229d feat: enhance booking flow with multi-route support and onboarding document integration
- Introduced multi-route functionality in the booking process, allowing users to add additional routes for general contracts.
- Updated the StepDocuments component to display onboarding documents automatically attached to bookings.
- Refactored Step4Route to manage extra routes and quantities dynamically.
- Improved Step8Review to reflect the new onboarding document handling and updated submission readiness checks.
- Added new API endpoints and services for managing contract route lines and rejecting bookings.
- Removed the allowConsolidation field from the booking model as it is now managed by the system.
- Created migrations for the new contract route lines table and updated related entities.
2026-06-23 20:40:48 +00:00
Marshal
eb85f8d32d refactor booking priority logic and constants; adjust scoring thresholds and remove unused service types 2026-06-23 14:25:54 +00:00
Marshal
6a63ae2fa6 refactor login page to simplify identifier normalization and remove unused login methods 2026-06-23 11:33:04 +00:00
Marshal
6fd1b68389 enhance company approval workflow and TIN validation; add pending approval handling in booking and onboarding forms 2026-06-23 08:37:15 +00:00
Marshal
1d77f377f3 enhance service filtering and dashboard functionality with company profile support 2026-06-23 07:54:36 +00:00
ghost2023
fab05569d4 fix 2026-06-23 10:03:54 +03:00
Nathnael Wondisha
56968e0709 Merge branch 'freight/develop' into freight/style/ui-sync 2026-06-23 09:51:24 +03:00
Nathnael
a6f3fd5643 feat: finish company profile in the backoffice 2026-06-23 06:45:29 +00:00
Nathnael
f7cbb6af6f fix: query key 2026-06-22 13:52:34 +00:00
Nathnael
2700a3edec refactor: migrate from most of the custom hooks into the api.ts 2026-06-22 13:46:38 +00:00
marshal
02427f72f1 Merge pull request #243 from Tria-plc/freight_feature/profile
Freight feature/profile
2026-06-22 15:49:25 +03:00
Marshal
39f2c99395 feat: add phone number normalization to Ethiopian E.164 format in CompanyProfileForm 2026-06-22 12:35:01 +00:00
Nathnael
c6bc636495 feat(customers): implement customer management page with mock data
- Created CustomersPage component to display a list of companies with search and pagination features.
- Added mock data for companies, including various statuses and profiles.
- Implemented a service layer to simulate API calls for fetching company data, bookings, documents, and payments.
- Defined TypeScript types for company and related entities to ensure type safety.
- Integrated Mantine components for UI consistency and improved user experience.
2026-06-22 12:32:52 +00:00
Marshal
30b022356c feat: update onboarding and company role handling to support multiple service types 2026-06-22 12:30:44 +00:00
Nathnael
d66ccc5363 refactor: migrated of the customer hooks for warehouse data fetching 2026-06-22 12:25:20 +00:00
Marshal
ad0043b580 feat: enhance service profile handling for customer companies 2026-06-22 12:11:10 +00:00
Marshal
3e45d694da changes 2026-06-22 11:54:10 +00:00
Nathnael
74e03f2067 refactor: migrate to use the central api obj 2026-06-22 11:52:59 +00:00
Marshal
b031ddb204 Merge branch 'freight/develop' of github.com:Tria-plc/edr-platform into freight_feature/priority 2026-06-22 11:43:38 +00:00
Marshal
ff039bd440 feat(bookings): update payment eligibility logic for general contracts and one-time bookings 2026-06-22 11:40:35 +00:00
yaschalew
78692c6b59 Merge branch 'freight/develop' of github.com:Tria-plc/edr-platform into freight/feature/vehicle_2 2026-06-22 14:23:59 +03:00
yaschalew
7f51f24a77 fix conflict 2026-06-22 14:23:43 +03:00
ghost2023
992ba8f55f fix: migration issue 2026-06-22 14:20:17 +03:00
ghost2023
b1318a6ef5 fix: pruge the js blob 2026-06-22 14:13:15 +03:00
Dagimassefa
b3bfa899f5 update 2026-06-22 12:29:48 +03:00
Nathnael Wondisha
fff679369d Merge branch 'freight/develop' into freight/style/ui-sync 2026-06-22 11:58:18 +03:00
Muluhabt
41c51b7986 Adding local packages 2026-06-22 11:53:17 +03:00
Nathnael
8fb432e30f style: finalize the style of the dashboard 2026-06-22 08:52:45 +00:00
Nathnael
feddce8a0c style: use the proper primary color 2026-06-22 08:11:11 +00:00
Nathnael
ec708d85b3 style: update the overview style 2026-06-22 08:05:04 +00:00
natib21
6b1bbd8e59 last mile 2026-06-22 07:58:56 +00:00
natib21
bee47b231a add column 2026-06-22 07:54:07 +00:00
natib21
00d722fa4f last mile 2026-06-22 07:49:47 +00:00
Nathnael
9a224e9baf style: WIP ui updates 2026-06-22 07:44:03 +00:00
marshal
b777da4bd7 remove defect 2026-06-22 10:01:07 +03:00
natib21
f2d0a90065 :Merge branch 'freight/feature/vehicle' of github.com:Tria-plc/edr-platform into freight/feature/vehicle 2026-06-22 06:55:03 +00:00
Nathnael
e6101c5514 style: WIP BatchBoard and train schedule 2026-06-22 06:38:05 +00:00
Hagernesh
0939202c8f Merge freight/develop into Warehouse_updates 2026-06-21 15:41:32 +00:00
Hagernesh
14b6219c9d chore(warehouse): comprehensive demo seeder — populate every queue coherently
WarehouseDemoSeeder creates one coherent WH-DEMO-* dataset so every tab shows data:
- Export Receive (3 PAID export bookings, no inventory)
- Export Ready To Load (3 READY_FOR_LOADING + PASSED)
- Export Loaded/Dispatch (2 LOADED)
- Import Arrive (1 ARRIVED Djibouti→Ethiopia train, 3 IN_TRANSIT bookings)
- Import Unloaded (3 UNLOADED)
- Import Dispatch (3 READY_FOR_PICKUP + PASSED)

Idempotent (sentinel WH-DEMO-RCV-1); dedicated refs so it never collides with SEED-* data.
Verified: all queues populated, dashboard shows 19 items across all 7 statuses.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-21 15:06:50 +00:00
Hagernesh
41d21edae5 feat(warehouse): Batch 10 — import post-inspection actions (pickup / last-mile / store / dispatch)
- READY_FOR_PICKUP transitions now → DELIVERED (customer pickup) OR DISPATCHED (dispatch out) OR
  STORED (operator-chosen storage) — pickup and dispatch kept separate. No auto-storage.
- GET /warehouse-inventory/import/pickup-ready-queue: READY_FOR_PICKUP import items (shared query
  with the unloaded queue, route-derived import filter)
- WarehouseInventoryTable: PICKUP_READY rows now show explicit Store + Dispatch buttons alongside
  the customer-pickup (release/deliver) next action; reuses the existing advance() dispatcher
- Import → Dispatch Queue tab renders pickup-ready items via InventoryWorkbench (all existing
  actions + modals intact) with Last Mile shown only when door delivery was requested
- Verified: pickup-ready item → Store → STORED; → Dispatch → DISPATCHED

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-21 14:38:23 +00:00
Hagernesh
040ba6d495 feat(warehouse): Batch 9 — Import Unloaded Queue + bulk destination inspection
- bulkMarkInspected: UNLOADED added to eligible statuses; IMPORT passed items now advance to
  READY_FOR_PICKUP (pickup ready) instead of READY_FOR_LOADING (export unchanged)
- GET /warehouse-inventory/import/unloaded-queue: UNLOADED import items with the inspection-screen
  columns (booking, customer, arrival, container, cargo type, weight, train schedule, inspection
  status, pickup option, last-mile, current status); route-derived import filter
- Dedicated ImportUnloadedQueueTab replaces the Batch 8 workbench reuse: full spec columns,
  Select All / Unselect All / selected count / Mark Selected as Inspected, plus per-row
  Inspect / Report (InspectionReportModal) for damage / image / weight-loss detail
- Verified: import item UNLOADED → bulk inspect → READY_FOR_PICKUP (PASSED), drops out of queue

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-21 14:15:22 +00:00
Hagernesh
8b28a7c430 feat(warehouse): Batch 8 — Import Auto Unload Arrived Bookings (→ UNLOADED)
- New UNLOADED inventory status (train-arrival landing state) + transitions + unloaded_at column
  (idempotent migration 1791000000003) + INVENTORY_UNLOADED activity type
- POST /warehouse-inventory/import/auto-unload-arrived-bookings { scheduleId }: validates ARRIVED
  IMPORT train, unloads all eligible assigned bookings (IN_TRANSIT/ARRIVED_AT_*) into UNLOADED,
  records unloadedAt + activity. Does NOT store and does NOT inspect. Reuses allocation + inventory
  plumbing. Returns { unloadedCount, skippedCount, failedCount, results }.
- Arrive Queue "Auto Unload Arrived Bookings" button now calls the new endpoint (was per-booking loop)
- Import → Unloaded Queue tab: lists UNLOADED items via InventoryWorkbench (existing actions preserved:
  Inspect/Store/Move/History) + a Last Mile action shown ONLY when booking requested door delivery
- Batch8TestDataSeeder: sets seed import train bookings to IN_TRANSIT (unload-eligible)
- Verified: auto-unload → 1 UNLOADED (unloadedAt set, not stored, not inspected); ineligible skipped;
  idempotent re-run skips already-unloaded

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-21 12:57:29 +00:00