export interface OrderListStatistics {
  title: string
  value: number
  icon: string

}
export interface OrderList {
  total: number
  statistics: OrderListStatistics[]
  orders: Order[]
}

interface meta {
  id: number
  model: string
}

interface statusData {
  code: string
  title: string
}

interface transaction {
  transactionTypeId: number
  transactionDate: Date
  transactionNo: string
  transactionTypeDescription: string
}

interface Common {
  orderId: string
  requestingLocationCd: string
  requestingSystemCd: string
  customerId: string
  status: string
  submitOrdMsg: string
  fdateCreation: Date
  consumed: boolean
  shipforpickupLocationCd: string
  shipforpickupSystemCd: string
  statusData: statusData
  transaction: transaction
}

interface Lines {
  lineOrderId: number
  lineItemNo: number
  orderId: string
  requestId: number
  lineItemOms: string
  itemId: string
  orderedLineQty: number
  status: string
  transactionDate: Date
  shippingAgent: string
  trackingNumber: string
  fulfillmentId: string
  cartonNumber: string
  fdateCreation: Date
  consumed: boolean
}

interface History {
  statusId: number
  Id: number
  status: string
  transactionDate: Date
  fdateCreation: Date
}

export interface PreparationLines {
  lineFulfillId: number
  lineOrderId: number
  prepIntId: number
  orderId: string
  requestId: number
  transactionDate: Date
  lineItemNo: number
  itemId: string
  lineItemOms: string
  fulfillQty: number
  validatedFulfillQty: number
  fulfillmentSystemCd: string
  fulfillmentLocationCd: string
  status: string
  numeroExpedition: string
  seasonCode: string
  finitionSpeciale: string
  carrier: string
  trackingCode: string
  trackingUrl: string
  fdateCreation: Date
  fdateModification: Date
  toOrlixConsumed: boolean
  restockingCode: string
}

export interface Preparation {
  prepIntId: number
  prepId: number
  orderId: string
  requestId: number
  transactionDate: Date
  fulfillmentSystemCd: string
  fulfillmentLocationCd: string
  status: string
  datePreparation: Date
  fdateCreation: Date
  lines: PreparationLines[]
}

export interface ReceptionLines {
  lineIntransitId: number
  intransitIntId: number
  lineFulfillId: number
  transactionDate: Date
  lineItemNo: number
  itemId: string
  intransitQty: number
  validatedIntransitQty: number
  intransitSystemCd: string
  intransitLocationCd: string
  status: string
  colisId: string
  fdateCreation: Date
  fdateReceipt: Date
  orderLineShipWeight: number
  trackingNumber: string
}

export interface Reception {
  intransitIntId: number
  intransitId: string
  prepIntId: number
  orderId: string
  requestId: number
  status: string
  transactionDate: Date
  intransitSystemCd: string
  intransitLocationCd: string
  fdateReceipt: Date
  fdateCreation: Date
  lines: ReceptionLines[]
}

export interface Order {
  meta: meta
  common: Common
  lines: Lines[]
  history: History[]
  preparations: Preparation[]
  receptions: Reception[]
}

export interface OrderOms {
  common: OrderOmsCommon
  oms: Proximis
}

export interface OrderOmsCommon {
  urlApp: string
}

export interface Proximis {
  item: ProximisItem
}

export interface ProximisItem {
  id: number
  modificationDate: Date
  code: string
  fulfillSystem: string
  creationDate: Date
  fulfillStoreCode: string
  status: string
}
