# Phase Plan - Route and Store Management ## Scope Build the full vertical-slice stack for: **Region, Route, Vehicle, Store, Warehouse, Order, OrderItem**. Item model is sourced from ERP Core - excluded from this phase. Historical note: `SaleRoute` was marked TBD here. For now, rides stay single-route and route assignment remains simple until further clarification. --- ## Project Structure (target) ```text Distribution/ |-- Models/ | |-- Template.cs | |-- Region.cs | |-- Route.cs | |-- Vehicle.cs | |-- Store.cs | |-- Warehouse.cs | |-- SaleRoute.cs | |-- Order.cs | |-- OrderItem.cs | |-- DeliveryRun.cs | `-- Item.cs |-- Data/ | `-- AppDBContext.cs |-- Infra/ | |-- UoW/ | | |-- IUnitOfWork.cs | | `-- EFUnitOfWork.cs | `-- Repositories/ | |-- IGenericRepo.cs | `-- GenericRepo.cs `-- Features/ |-- Region/ |-- Route/ |-- Vehicle/ |-- Store/ |-- Warehouse/ `-- Order/ ``` --- ## Hard Rules - Only `uow.CommitAsync()` in services - never in repositories. - Use `DateTime.Now` - never `DateTime.UtcNow`. - Never build anything not explicitly requested. --- ## Deferred | Item | Reason | |---|---| | `SaleRoute` | Re-evaluate after ride/route design is clarified | | `Item` model | Sourced from ERP Core | | `DeliveryRun` | Not in scope for this phase | | Tests | No test project yet | --- ## Note This file is historical phase planning only. Current business definitions for ride, sale, order, and fulfillment are maintained in: - `docs/03_ride_lifecycle.md` - `docs/04_loading_event.md` - `docs/05_delivery_ride.md` - `docs/06_sale_ride.md`