/** Per docs/backend/PHASE-6-CART-CHECKOUT-CONTRACT.md §2. */
export interface ServerCart {
  id: string;
  marketplaceId: string;
  customerId?: string;
  sessionToken?: string;
  createdAt: string;
  expiresAt: string;
}

export interface ServerCartLine {
  id: string;
  cartId: string;
  offerId: string;
  qty: number;
  addedAt: string;
  priceChanged?: boolean;
}

export interface DeliveryOption {
  id: string;
  marketplaceId: string;
  label: string;
  type: 'pickup' | 'courier' | 'digital';
}

export interface CheckoutSession {
  id: string;
  cartId: string;
  customerContact: { email?: string; phone?: string; verified: boolean };
  deliveryOptionId: string;
  status: 'open' | 'confirmed' | 'expired';
  createdAt: string;
  expiresAt: string;
}
