import { IPosInfoRawResponse } from '@/domains/pos/models';
import { CustomerType } from '@/shared/localEnum/constants/customerTypes';
import { IEnumTranslate } from '@/shared/models/enum_translate.type';
import { ICustomer, IUnknownCustomer } from './customer';
import { IPayment } from './payment';
import { IPosOrderItem } from './types';

export interface IPosOrderRequest {
  total_amount: number;
  invoice_date: string;
  payments: IPayment;
  items: IPosOrderItem[];
  notes?: string;
  customer_type?: CustomerType;
  customer_id?: string;
  customer?: ICustomer;
}

export interface IPosOrderRawResponse {
  id: string;
  code: string;
  invoice_number: number;
  invoice_date: string;
  created_at: string;
  total_amount: string;
  customer: ICustomer;
  unknown_customer: IUnknownCustomer;
  status: IEnumTranslate;
}
export interface IPosOrderResponse extends IPosOrderRawResponse {}

export interface IPosInfoResponse extends IPosInfoRawResponse {}

export interface IPosHeldOrderRawResponse extends IPosOrderResponse {}
export interface IPosHeldOrderResponse extends IPosHeldOrderRawResponse {}
