Skip to main content
The scooter orders module provides end-to-end tracking for electric scooter sales, from initial order through delivery, with customer communication tracking and multi-level progression monitoring.

Overview

Designed specifically for Minca Electric’s scooter sales business, this system tracks orders through defined progression levels while maintaining customer contact information and order status.

Order Tracking

Monitor orders from placement to delivery

Level Progression

Track through 3 fulfillment stages

Customer Contact

Manage communication and follow-ups

Order Structure

Order Follow

interface OrderFollow {
  // Order identification
  id: number;
  number: number;                  // Order number
  created_at: string;
  updated_at: string | null;
  
  // Scooter details
  id_scooter_type: string;         // Links to scooter catalog
  
  // Progress tracking
  level: number;                   // 1-3: progression stage
  is_finish: boolean;              // Delivery complete?
  status?: string;                 // Current status description
  
  // Customer contact
  phone?: string;
  email?: string;
  order_link?: string;             // Supplier order URL
  
  // Communication tracking
  call_count?: number;             // Number of follow-up calls
}

View with Scooter Details

interface ViewOrderFollow {
  // All OrderFollow fields plus:
  nombre_scooter: string;          // Scooter model name
  potencia: string;                // Power specification
}

Scooter Types

Orders reference the scooter catalog:
interface ScooterType {
  id: string;
  name: string;                    // e.g., "Dynamo Pro", "Dynamo Lite"
  power: string;                   // e.g., "3000W", "1500W"
  created_at: string;
}
The catalog maintains specifications for all scooter models offered.

Level Progression

Orders progress through three levels:

Level 1: Order Placed

1

Customer Orders

Order received from customer
2

Enter System

Create order record with customer details
3

Link Supplier Order

Add supplier order URL for tracking
4

Initial Contact

Confirm order details with customer
Status examples: “Pedido registrado”, “Esperando confirmación”

Level 2: Order Processing

1

Supplier Confirms

Manufacturer confirms order
2

Update Status

Move to level 2
3

Monitor Progress

Track manufacturing/shipping
4

Keep Customer Informed

Regular update calls
Status examples: “En producción”, “En tránsito”, “En bodega proveedor”

Level 3: Ready for Delivery

1

Scooter Arrives

Unit received at warehouse
2

Quality Check

Inspect for damage, test functions
3

Notify Customer

Schedule delivery
4

Arrange Logistics

Coordinate delivery or pickup
Status examples: “Listo para entrega”, “Agendado entrega”, “En ruta”

Completion

When delivered:
1

Deliver to Customer

Complete handover
2

Mark Finished

Set is_finish = true
3

Final Documentation

Record delivery date and notes
4

Close Order

Archive from active tracking
Orders marked as is_finish = true are considered complete but remain in the system for historical reference and warranty tracking.

Creating an Order

interface CreateOrderFollowPayload {
  number: number;              // Order number (unique)
  id_scooter_type: string;     // Which scooter model
  status: string;              // Initial status
  phone: string;               // Customer phone
  order_link: string;          // Supplier order URL
  email: string;               // Customer email
}
1

Receive Customer Order

Customer commits to purchase
2

Generate Order Number

Assign unique tracking number
3

Select Scooter Type

Choose from available models
4

Enter Customer Details

Phone and email for communication
5

Link Supplier Order

Add URL to supplier’s order page
6

Set Initial Status

Describe current state
7

Save Order

Create with level = 1

Customer Communication

Contact Information

Each order stores:
  • Phone: Primary contact number
  • Email: For written updates and confirmations
Both are required to ensure multiple ways to reach customers.

Call Tracking

The call_count field tracks follow-up calls:
interface CallHistory {
  id: number;
  order_id: number;
  call_date: string;
  answered: boolean;           // Did customer answer?
  comment?: string;            // Call notes
  created_at: string;
}
For each call, record:
  • Date and time: When the call was made
  • Answered: Whether customer picked up
  • Comment: What was discussed or outcome
  • Next action: What needs to happen next
This provides:
  • Communication audit trail
  • Reminder of previous conversations
  • Evidence of customer service
  • Identification of hard-to-reach customers

Call Detail Modal

interface CallDetailProps {
  order: ViewOrderFollow;
  open: boolean;
  onOpenChange: (open: boolean) => void;
}
The call detail modal shows:
  • Order and customer information
  • Complete call history
  • Interface to add new call record
  • Quick actions (call, email)

Order Status Management

Status Field

The status field is free-text, allowing descriptive updates: Good status descriptions:
  • “Pedido confirmado por proveedor - ETA 2 semanas”
  • “En tránsito desde China - llegada estimada 15/03”
  • “Recibido en bodega - agendando entrega con cliente”
  • “Entregado - cliente satisfecho”
Poor status descriptions:
  • “OK” (not descriptive)
  • “Pendiente” (too vague)
  • ”?” (no information)
Always update the status field when the situation changes. Stale statuses lead to confusion and poor customer service.

Updating Orders

1

Check Supplier Status

Review supplier order link for updates
2

Update System

Change level and/or status as appropriate
3

Contact Customer

Inform them of any changes
4

Record Call

Log the communication
5

Set Follow-up

Note next check date

Filter by Level

filter: { level: 1 }  // All orders in level 1

Filter by Completion

filter: { is_finish: false }  // Active orders only

Filter by Scooter Type

filter: { id_scooter_type: "uuid" }  // Specific model

Search by Number

search: { number: 1234 }  // Find order #1234

Search by Customer

search: { email: "[email protected]" }
search: { phone: "555-1234" }

Order Dashboard

Key metrics to track:

Active Orders

Count of is_finish = false

By Level

Distribution across levels 1-3

Average Time

Days from order to delivery

Communication Rate

Average calls per order

Performance Metrics

Order Velocity:
Average days per level:
- Level 1: Order to confirmation
- Level 2: Confirmation to arrival
- Level 3: Arrival to delivery
Customer Satisfaction:
  • Response rate (answered calls / total calls)
  • On-time delivery rate
  • Time from level 3 to delivery (should be minimal)
The order_link field stores the URL to the supplier’s order tracking: Best practices:
  • Use direct order page URL (not homepage)
  • Include order number in URL if possible
  • Test link when adding
  • Update if supplier changes systems
Benefits:
  • One-click status checking
  • Easy reference for customer questions
  • Verification of order details
  • Evidence for disputes
Some suppliers provide tracking APIs. Future enhancement could auto-update status by querying supplier systems.

Common Workflows

Week 1:
  1. Customer orders Dynamo Pro via phone
  2. Create order record (level 1)
  3. Place order with supplier
  4. Add supplier order link
  5. Call customer to confirm
Week 2-3:
  1. Supplier confirms production (move to level 2)
  2. Call customer with update and ETA
  3. Monitor supplier order page
Week 4:
  1. Scooter arrives at warehouse (move to level 3)
  2. Quality inspection
  3. Call customer to schedule delivery
  4. Coordinate logistics
Week 5:
  1. Deliver scooter
  2. Mark is_finish = true
  3. Add final call record
  4. File paperwork
Problem: Supplier delays shipment
  1. Learn about delay from supplier
  2. Update status with new ETA
  3. Call customer immediately
  4. Document conversation
  5. Offer alternatives if available
  6. Set reminder to check in weekly
  7. Continue monitoring supplier
Problem: Multiple calls not answered
  1. Try calling at different times of day
  2. Send email with request to call back
  3. Document all attempts in call history
  4. If scooter ready, note storage location
  5. Continue trying to contact
  6. Consider certified letter if extended delay
  7. Establish policy for abandoned orders

Permissions

ActionRequired Permission
View ordersview_orders
Create ordercreate_order
Update orderupdate_order
Delete orderdelete_order
View call historyview_call_history
Add call recordadd_call_record
Mark finishedcomplete_order

Best Practices

1

Proactive Communication

Contact customers before they need to ask for updates
2

Accurate ETAs

Only provide delivery estimates with buffer for delays
3

Document Everything

Record all customer interactions in call history
4

Quick Level 3

Minimize time between arrival and delivery
5

Follow Up Post-Delivery

Call after a week to ensure satisfaction
6

Learn from Delays

Track patterns to improve supplier selection

Integration with Other Features

With Inventory

  • Track accessory parts included with scooter
  • Manage spare parts for warranty repairs
  • Link related product sales

With Customer Database

  • Build customer history
  • Track repeat buyers
  • Manage warranty registrations

With Warranty Management

  • Link warranty claims to original order
  • Track which batches have issues
  • Manage post-sale support

Reporting

Generate insights:
  • Sales by Model: Which scooters sell most
  • Lead Time Analysis: Average time per level
  • Supplier Performance: Delays by supplier
  • Customer Communication: Call frequency patterns
  • Seasonal Trends: Order volume over time
  • Completion Rate: Percentage of finished orders

Build docs developers (and LLMs) love