/* tslint:disable */
import { KeyValueDTOOfStringAndString } from './key-value-dtoof-string-and-string';
import { EnvironmentChannel } from './environment-channel';
import { CRUDA } from './cruda';
import { DateRangeDTO } from './date-range-dto';
import { Gender } from './gender';
import { LoyaltyDTO } from './loyalty-dto';
import { OrderType } from './order-type';
import { PaymentStatus } from './payment-status';
import { PaymentType } from './payment-type';
import { OrderItemProcessingStatusValue } from './order-item-processing-status-value';
import { ProductDTO } from './product-dto';
import { PriceDTO } from './price-dto';
import { VATType } from './vattype';

/**
 * Bestellposten
 */
export interface OrderItemListItemDTO {

  /**
   * Mögliche Aktionen
   */
  actions?: Array<KeyValueDTOOfStringAndString>;

  /**
   * Auftraggeber-Nr
   */
  buyerNumber?: string;

  /**
   * Bestellkanal
   */
  clientChannel?: EnvironmentChannel;

  /**
   * Abholfachnummer
   */
  compartmentCode?: string;

  /**
   * Abholfach-Zusatz
   */
  compartmentInfo?: string;

  /**
   * Can Create, Read, Update, Delete, Archive
   */
  cruda?: CRUDA;

  /**
   * Währung
   */
  currency?: string;

  /**
   * Abteilung
   */
  department?: string;

  /**
   * Voraussichtlicher Zustellzeitraum
   */
  estimatedDelivery?: DateRangeDTO;

  /**
   * Voraussichtliches Lieferdatum
   */
  estimatedShippingDate?: string;

  /**
   * Zusätzliche Markierungen (z.B. Abo, ...)
   */
  features?: {[key: string]: string};

  /**
   * Vorname
   */
  firstName?: string;

  /**
   * Anrede
   */
  gender?: Gender;

  /**
   * Bestellunposten wurde vorgemerkt
   */
  isPrebooked?: boolean;

  /**
   * Label
   */
  label?: string;

  /**
   * Label PK
   */
  labelId?: number;

  /**
   * Nachname
   */
  lastName?: string;

  /**
   * Loylty
   */
  loyalty?: LoyaltyDTO;

  /**
   * Bestellfiliale
   */
  orderBranchId?: number;

  /**
   * Bestelldatum
   */
  orderDate?: string;

  /**
   * Bestellung ID
   */
  orderId?: number;

  /**
   * Bestellposten ID
   */
  orderItemId?: number;

  /**
   * Bestellpostennummer
   */
  orderItemNumber?: string;

  /**
   * Bestellposten PId
   */
  orderItemPId?: string;

  /**
   * Bestellposten Teilmenge ID
   */
  orderItemSubsetId?: number;

  /**
   * Bestellposten Teilmenge PId
   */
  orderItemSubsetPId?: string;

  /**
   * Bestellposten Teilmenge UId
   */
  orderItemSubsetUId?: string;

  /**
   * Bestellposten UId
   */
  orderItemUId?: string;

  /**
   * Bestellnummer
   */
  orderNumber?: string;

  /**
   * Bestellung PId
   */
  orderPId?: string;

  /**
   * Art der Bestellung
   */
  orderType?: OrderType;

  /**
   * Bestellung UId
   */
  orderUId?: string;

  /**
   * Firma / Organisation
   */
  organisation?: string;

  /**
   * Menge gesamt
   */
  overallQuantity?: number;

  /**
   * Zahungsabwicklung
   */
  paymentProcessing?: string;

  /**
   * Zahlungsstatus
   */
  paymentStatus?: PaymentStatus;

  /**
   * Zahlungsart
   */
  paymentType?: PaymentType;

  /**
   * Abholfrist
   */
  pickUpDeadline?: string;

  /**
   * Preis
   */
  price?: number;

  /**
   * Bearbeitungsstatus
   */
  processingStatus?: OrderItemProcessingStatusValue;

  /**
   * Bearbeitungsstatus wurde gesetzt am
   */
  processingStatusDate?: string;

  /**
   * Artikel-/Produktdaten
   */
  product?: ProductDTO;

  /**
   * Menge
   */
  quantity?: number;

  /**
   * Im Abholfach seit
   */
  readyForPickUp?: string;

  /**
   * VK
   */
  retailPrice?: PriceDTO;

  /**
   * Bestellfiliale
   */
  shopName?: string;

  /**
   * Bemerkung zum Bestellposten
   */
  specialComment?: string;

  /**
   * Verfügbarkeitsstatus-Code
   */
  ssc?: string;

  /**
   * Verfügbarkeitsstatus-Beschreibung
   */
  sscText?: string;

  /**
   * Lieferant
   */
  supplier?: string;

  /**
   * Lieferant PK
   */
  supplierId?: number;

  /**
   * Zielfiliale
   */
  targetBranch?: string;

  /**
   * Zielfiliale PK
   */
  targetBranchId?: number;

  /**
   * Titel
   */
  title?: string;

  /**
   * Preis
   */
  vatType?: VATType;
}
