import type { CouponType } from 'src/modules/coupons/interface/coupon';

export interface OrderUserAddress {
  address?: string;
  latitude?: number;
  longitude?: number;
  city: string;
  province: string;
  postalCode?: string;
  fullName: string;
  phone: string;
}

export interface OrderCarAddress {
  carModel: string;
  carColor: string;
  plateNumber: string;
  phone: string;
}

export enum OrderStatus {
  PENDING_PAYMENT = 'pendingPayment',
  PAID = 'paid',
  PREPARING = 'preparing',
  DELIVERED_TO_WAITER = 'deliveredToWaiter',
  DELIVERED_TO_RECEPTIONIST = 'deliveredToReceptionist',
  SHIPPED = 'shipped',
  COMPLETED = 'completed',
  CANCELED = 'canceled',
}

export interface OrderCouponDetail {
  couponId: string;
  couponName: string;
  couponCode: string;
  type: CouponType;
  value: number;

  maxDiscount?: number;
}

export type StatusTransitionRef = 'user' | 'admin';
