namespace LittleShop.Enums;

public enum OrderStatus
{
    // Initial states
    PendingPayment = 0,
    PaymentReceived = 1,

    // Workflow states
    Accepted = 2,       // Order accepted by operator, ready for packing
    Packing = 3,        // Currently being packed
    Dispatched = 4,     // Shipped/dispatched to customer
    Delivered = 5,      // Delivered to customer (auto-calculated)

    // Side states
    OnHold = 10,        // Order held for problem resolution
    Cancelled = 11,     // Order cancelled
    Refunded = 12,      // Order refunded

    // Legacy states (for backward compatibility)
    Processing = 20,         // Legacy: mapped to Accepted
    PickingAndPacking = 21,  // Legacy: mapped to Packing
    Shipped = 22             // Legacy: mapped to Dispatched
}