24 lines
1.1 KiB
Markdown
24 lines
1.1 KiB
Markdown
---
|
|
trigger: always_on
|
|
---
|
|
|
|
# Agent Rule: Building the Shipment Module
|
|
|
|
When implementing the Shipment Module, adhere to the following planning specifications:
|
|
|
|
## 🏗️ Data Architecture
|
|
- **Primary Model**: `Shipment` (Target File: `app/Models/Market/Shipment.php`)
|
|
- **Key Fields**: `hashkey`, `transaction_id`, `store_id`, `customer_id`, `courier_id`, `tracking_number`, `status`.
|
|
- **Status Enums**: `PENDING`, `PICKED_UP`, `IN_TRANSIT`, `DELIVERED`, `FAILED`, `RETURNED`.
|
|
- **Reference**: Detailed plan at `ai-docs/modules/shipment_module.md`.
|
|
|
|
## 🛠️ Implementation Requirements
|
|
1. **Core Logic**: Implement in `app/Http/Controllers/Market/ShipmentController.php`.
|
|
2. **Standard Fields**: Ensure every new table includes `created_by`, `updated_by`, `is_active`, and `hashkey` (300, unique) as per the Project Dictionary.
|
|
3. **Frontend**: Use Vue 3 Composition API in `resources/js/Pages/Market/`.
|
|
- `ShipmentList.vue` for tracking.
|
|
- `ShipmentDetail.vue` for timeline and management.
|
|
|
|
## 📦 Database Standards
|
|
Use migrations to create the `shipments` and `couriers` tables, ensuring foreign key constraints to `global_transactions`, `stores`, and `cst`.
|