/**
 * Generated by orval v8.8.0 🍺
 * Do not edit manually.
 * OpenAPI spec version: 0.0.0
 */
import type { DeutschePostOrderStateEnum } from "./deutschePostOrderStateEnum";
import type { LabelSizeEnum } from "./labelSizeEnum";

export interface DeutschePostOrder {
  readonly id: number;
  readonly created_at: Date;
  state?: DeutschePostOrderStateEnum;
  readonly state_display: string;
  /**
   * Deutsche Post order ID from API
   * @nullable
   */
  readonly order_id: string | null;
  /**
   * @maxLength 20
   * @nullable
   */
  customer_ekp?: string | null;
  /** @maxLength 200 */
  recipient_name: string;
  /** @maxLength 20 */
  recipient_phone?: string;
  /** @maxLength 254 */
  recipient_email?: string;
  /** @maxLength 255 */
  address_line1: string;
  /** @maxLength 255 */
  address_line2?: string;
  /** @maxLength 255 */
  address_line3?: string;
  /** @maxLength 100 */
  city: string;
  /**
   * State/Province for shipping address
   * @maxLength 100
   */
  address_state?: string;
  /** @maxLength 20 */
  postal_code: string;
  /**
   * ISO 2-letter country code
   * @maxLength 2
   */
  destination_country: string;
  /**
   * Deutsche Post product type (GPT, GMP, etc.)
   * @maxLength 10
   */
  product_type?: string;
  /**
   * PRIORITY, STANDARD
   * @maxLength 20
   */
  service_level?: string;
  /**
   * Weight in grams
   * @minimum 0
   * @maximum 2147483647
   */
  shipment_gross_weight: number;
  /** @pattern ^-?\d{0,8}(?:\.\d{0,2})?$ */
  shipment_amount?: string;
  /** @maxLength 3 */
  shipment_currency?: string;
  /**
   * IOSS number or sender tax ID
   * @maxLength 50
   */
  sender_tax_id?: string;
  /**
   * IOSS number or importer tax ID
   * @maxLength 50
   */
  importer_tax_id?: string;
  return_item_wanted?: boolean;
  /**
   * Customer reference
   * @maxLength 100
   */
  cust_ref?: string;
  /**
   * Air Waybill number
   * @nullable
   */
  readonly awb_number: string | null;
  /**
   * Item barcode
   * @nullable
   */
  readonly barcode: string | null;
  readonly tracking_url: string;
  /**
   * Shipping label PDF
   * @nullable
   */
  readonly label_pdf: string | null;
  label_size?: LabelSizeEnum;
  readonly label_size_display: string;
  /** Raw API response data */
  readonly metadata: unknown;
  /** Last API error message */
  readonly last_error: string;
  readonly estimated_delivery_days: string;
  readonly shipping_cost_estimate: string;
  readonly can_be_finalized: string;
  readonly can_be_cancelled: string;
  readonly is_trackable: string;
}
