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

import { array, lazy, object, optional, Schema, string } from '../schema';
import { Label1, label1Schema } from './label1';
import { Warnings1, warnings1Schema } from './warnings1';

export interface ResponseShipment1 {
  /** The product code of the shipment */
  productCodeDelivery?: string;
  /** All labels belonging to the selected product */
  labels?: Label1[];
  /** The barcode used on the label */
  barcode?: string;
  /** Possible warnings. See the [Error Codes](#tag/Error-codes) for possible values */
  warnings?: Warnings1[];
}

export const responseShipment1Schema: Schema<ResponseShipment1> = object({
  productCodeDelivery: ['ProductCodeDelivery', optional(string())],
  labels: ['Labels', optional(array(lazy(() => label1Schema)))],
  barcode: ['Barcode', optional(string())],
  warnings: ['Warnings', optional(array(lazy(() => warnings1Schema)))],
});
