/**
 * PostNL Ecommerce APIsLib
 *
 * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
 */

import { lazy, object, optional, Schema, string } from '../schema';
import { Status2, status2Schema } from './status2';

export interface ShippingstatusResponseUpdatedShipment {
  /** The barcode belonging to the status update */
  barcode?: string;
  /** The date of the update */
  creationDate?: string;
  /** The customer number */
  customerNumber?: string;
  /** The customer code */
  customerCode?: string;
  /** The status update. See [Status codes](#tag/TandT-status-codes/Status-codes) for possible values. */
  status?: Status2;
}

export const shippingstatusResponseUpdatedShipmentSchema: Schema<ShippingstatusResponseUpdatedShipment> = object(
  {
    barcode: ['Barcode', optional(string())],
    creationDate: ['CreationDate', optional(string())],
    customerNumber: ['CustomerNumber', optional(string())],
    customerCode: ['CustomerCode', optional(string())],
    status: ['Status', optional(lazy(() => status2Schema))],
  }
);
