import {z} from 'zod' export type RelatedLoadItemIdentifierFilter = {operator?: ('EQUALS' | 'NOT_EQUALS' | 'CONTAINS') | undefined, types?: (Array<'SKU' | 'UPC'>) | undefined, values?: Array | undefined}; export type RelatedLoadItemDescriptionFilter = {operator?: ('EQUALS' | 'NOT_EQUALS' | 'CONTAINS') | undefined, values?: Array | undefined}; export type RelatedOrderIdentifierTypeFilter = {operator?: ('EQUALS' | 'NOT_EQUALS' | 'CONTAINS') | undefined, types?: (Array<'PURCHASE_ORDER' | 'SALES_ORDER' | 'WAREHOUSE_MOVEMENT_ORDER' | 'ADVANCED_SHIPMENT_NOTICE' | 'INVOICE' | 'DELIVERY'>) | undefined}; export type RelatedOrderIdentifierFilter = {operator?: ('EQUALS' | 'NOT_EQUALS' | 'CONTAINS') | undefined, type?: ('PURCHASE_ORDER' | 'SALES_ORDER' | 'WAREHOUSE_MOVEMENT_ORDER' | 'ADVANCED_SHIPMENT_NOTICE' | 'INVOICE' | 'DELIVERY') | undefined, values?: Array | undefined}; export type RelatedOrderInternalIdFilter = {operator?: ('EQUALS' | 'NOT_EQUALS' | 'CONTAINS') | undefined, values?: Array | undefined}; export type RelatedOrderSupplierIdFilter = {operator?: ('EQUALS' | 'NOT_EQUALS' | 'CONTAINS') | undefined, values?: Array | undefined}; export type LocalTime = {hour?: number | undefined, minute?: number | undefined, nano?: number | undefined, second?: number | undefined}; export type RelatedOrderDateFilter = {endDateTime?: string | undefined, offsetMinutes?: number | undefined, operator?: ('WITHIN' | 'ON_OR_BEFORE' | 'ON_OR_AFTER') | undefined, relativeDateTimeWindow?: ('YESTERDAY' | 'TODAY' | 'TOMORROW' | 'LAST_WEEK' | 'THIS_WEEK' | 'NEXT_WEEK' | 'THIS_MONTH' | 'LAST_MONTH' | 'NEXT_MONTH') | undefined, relativeWindowTimeZoneOffset?: ({totalSeconds?: number | undefined, id?: string | undefined, rules?: ({fixedOffset?: boolean | undefined, transitions?: (Array<{offsetBefore?: ({totalSeconds?: number | undefined, id?: string | undefined}) | undefined, offsetAfter?: ({totalSeconds?: number | undefined, id?: string | undefined}) | undefined, instant?: string | undefined, duration?: ({seconds?: number | undefined, zero?: boolean | undefined, nano?: number | undefined, negative?: boolean | undefined, units?: (Array<{durationEstimated?: boolean | undefined, timeBased?: boolean | undefined, dateBased?: boolean | undefined}>) | undefined}) | undefined, gap?: boolean | undefined, dateTimeAfter?: string | undefined, dateTimeBefore?: string | undefined, overlap?: boolean | undefined}>) | undefined, transitionRules?: (Array<{month?: ('JANUARY' | 'FEBRUARY' | 'MARCH' | 'APRIL' | 'MAY' | 'JUNE' | 'JULY' | 'AUGUST' | 'SEPTEMBER' | 'OCTOBER' | 'NOVEMBER' | 'DECEMBER') | undefined, timeDefinition?: ('UTC' | 'WALL' | 'STANDARD') | undefined, standardOffset?: ({totalSeconds?: number | undefined, id?: string | undefined}) | undefined, offsetBefore?: ({totalSeconds?: number | undefined, id?: string | undefined}) | undefined, offsetAfter?: ({totalSeconds?: number | undefined, id?: string | undefined}) | undefined, dayOfWeek?: ('MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY') | undefined, dayOfMonthIndicator?: number | undefined, localTime?: LocalTime | undefined, midnightEndOfDay?: boolean | undefined}>) | undefined}) | undefined}) | undefined, startDateTime?: string | undefined, type?: ('SUPPLIER_READY_START_DATETIME' | 'SUPPLIER_READY_END_DATETIME' | 'ORIGINAL_DELIVERY_START_DATETIME' | 'ORIGINAL_DELIVERY_END_DATETIME' | 'LAUNCH_DATETIME' | 'ORIGINAL_DELIVERY_ESTIMATE_DATETIME') | undefined}; export type RelatedOrderDeltaFilter = {durationInMinutes?: number | undefined, operator?: ('MORE_THAN' | 'MORE_THAN_OR_EQUALS' | 'LESS_THAN' | 'LESS_THAN_OR_EQUALS' | 'EQUALS' | 'NOT_EQUALS' | 'EXISTS' | 'NOT_EXISTS') | undefined, type?: ('RUNNING_EARLY' | 'RUNNING_LATE') | undefined}; export type RelatedOrderTagFilter = {operator?: ('EQUALS' | 'NOT_EQUALS' | 'CONTAINS') | undefined, types?: (Array<'ANALYST' | 'CARRIER' | 'CATEGORY' | 'COMMODITY' | 'DEPARTMENT' | 'DIRECTOR' | 'FAMILY' | 'GROUP' | 'MANAGER' | 'SECTOR' | 'BATCH'>) | undefined, values?: Array | undefined}; export type RelatedOrderAdditionalIdentifierFilter = {operator?: ('EQUALS' | 'NOT_EQUALS' | 'CONTAINS') | undefined, types?: (Array<'CONTRACT' | 'LOAD' | 'MANUFACTURER' | 'PROMOTION' | 'SEASON' | 'VENDOR' | 'LAUNCH_CODE' | 'CUSTOMER_ORDER'>) | undefined, values?: Array | undefined}; export type ShipmentInternalIdFilter = {operator?: ('EQUALS' | 'NOT_EQUALS' | 'CONTAINS') | undefined, values?: Array | undefined}; export type LogisticsIdentifierTypeEnum = 'AIR_WAYBILL' | 'BILL_OF_LADING' | 'HOUSE_BILL_OF_LADING' | 'BOOKING_NUMBER' | 'CARRIER_IATA' | 'CARRIER_ICAO' | 'CARRIER_NAME' | 'CARRIER_SCAC' | 'FFW_SCAC' | 'NVOCC_SCAC' | 'NVOCC_NAME' | 'FFW_NAME' | 'FFW_MASTER_ID' | 'NVOCC_MASTER_ID' | 'CONTAINER_ID' | 'CUSTOMER_REFERENCE' | 'DELIVERY_NUMBER' | 'EXTERNAL' | 'FLIGHT_NUMBER' | 'ORDER' | 'PICKUP' | 'PRO' | 'PURCHASE_ORDER' | 'RAIL_CAR_ID' | 'RAIL_WAYBILL' | 'TRACKING_NUMBER' | 'TRAILER_ID' | 'UNKNOWN' | 'VESSEL_IMO' | 'VESSEL_NAME' | 'WAYBILL' | 'VESSEL_CALL_SIGN' | 'VESSEL_MMSI' | 'CARRIER_US_DOT_NUMBER' | 'CARRIER_MC_NUMBER' | 'SUBSCRIPTION_ID' | 'HOUSE_AIR_WAYBILL' | 'SALES_ORDER' | 'WAREHOUSE_MOVEMENT_ORDER' | 'ADVANCED_SHIPMENT_NOTICE' | 'DRIVER_MOBILE_PHONE_NUMBER' | 'VEHICLE_ID' | 'LICENSE_PLATE' | 'TRAILER_LICENSE_PLATE' | 'SENSITECH_DEVICE_ID' | 'EMERSON_DEVICE_ID' | 'TIVE_DEVICE_ID' | 'ZILLION_DEVICE_ID' | 'VOYAGE_NUMBER' | 'CARRIER_MASTER_ID' | 'CARRIER_NMC_ID' | 'CONTAINER_TYPE' | 'TRAIN_NUMBER' | 'WAGON_ID' | 'TRAIN_ID' | 'CAPACITY_PROVIDER_ACCOUNT_GROUP' | 'CAPACITY_PROVIDER_ACCOUNT_CODE' | 'SERIAL_NUMBER' | 'VEHICLE_IDENTIFICATION_NUMBER' | 'REFERENCE_NUMBER' | 'CONTAINER_PIN' | 'VESSEL_P44_ID' | 'EXPORT_CUSTOMS_BROKER' | 'IMPORT_CUSTOMS_BROKER' | 'POL_QUALITY_CONTROL_PROVIDER' | 'POD_QUALITY_CONTROL_PROVIDER' | 'AIRCRAFT_ICAO' | 'AIRLINE_NAME' | 'SEAL_NUMBER' | 'DRAYAGE_CARRIER_SCAC' | 'EXPORT_DRAYAGE_CARRIER_SCAC' | 'IMPORT_DRAYAGE_CARRIER_SCAC' | 'INBOUND_VOYAGE_NUMBER'; export type ShipmentIdentifierFilter = {operator?: ('EQUALS' | 'NOT_EQUALS' | 'CONTAINS') | undefined, scopes?: (Array<'SHIPMENT' | 'CURRENT_SEGMENT' | 'PRIMARY'>) | undefined, types?: Array | undefined, values?: Array | undefined}; export type ShipmentAttributeFilter = {name?: string | undefined, operator?: ('EQUALS' | 'NOT_EQUALS' | 'CONTAINS') | undefined, values?: Array | undefined}; export type ShipmentDateFilter = {endDateTime?: string | undefined, offsetMinutes?: number | undefined, operator?: ('WITHIN' | 'ON_OR_BEFORE' | 'ON_OR_AFTER') | undefined, relativeDateTimeWindow?: ('YESTERDAY' | 'TODAY' | 'TOMORROW' | 'LAST_WEEK' | 'THIS_WEEK' | 'NEXT_WEEK' | 'THIS_MONTH' | 'LAST_MONTH' | 'NEXT_MONTH') | undefined, relativeWindowTimeZoneOffset?: ({totalSeconds?: number | undefined, id?: string | undefined, rules?: ({fixedOffset?: boolean | undefined, transitions?: (Array<{offsetBefore?: ({totalSeconds?: number | undefined, id?: string | undefined}) | undefined, offsetAfter?: ({totalSeconds?: number | undefined, id?: string | undefined}) | undefined, instant?: string | undefined, duration?: ({seconds?: number | undefined, zero?: boolean | undefined, nano?: number | undefined, negative?: boolean | undefined, units?: (Array<{durationEstimated?: boolean | undefined, timeBased?: boolean | undefined, dateBased?: boolean | undefined}>) | undefined}) | undefined, gap?: boolean | undefined, dateTimeAfter?: string | undefined, dateTimeBefore?: string | undefined, overlap?: boolean | undefined}>) | undefined, transitionRules?: (Array<{month?: ('JANUARY' | 'FEBRUARY' | 'MARCH' | 'APRIL' | 'MAY' | 'JUNE' | 'JULY' | 'AUGUST' | 'SEPTEMBER' | 'OCTOBER' | 'NOVEMBER' | 'DECEMBER') | undefined, timeDefinition?: ('UTC' | 'WALL' | 'STANDARD') | undefined, standardOffset?: ({totalSeconds?: number | undefined, id?: string | undefined}) | undefined, offsetBefore?: ({totalSeconds?: number | undefined, id?: string | undefined}) | undefined, offsetAfter?: ({totalSeconds?: number | undefined, id?: string | undefined}) | undefined, dayOfWeek?: ('MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY') | undefined, dayOfMonthIndicator?: number | undefined, localTime?: LocalTime | undefined, midnightEndOfDay?: boolean | undefined}>) | undefined}) | undefined}) | undefined, startDateTime?: string | undefined, types?: (Array<'CREATED_DATE_TIME' | 'LAST_MODIFIED_DATE_TIME' | 'COMPLETED_DATE_TIME'>) | undefined}; export type ShipmentStateFilter = {operator?: ('EQUALS' | 'NOT_EQUALS' | 'CONTAINS') | undefined, types?: (Array<'UNKNOWN' | 'AT_STOP' | 'IN_TRANSIT_AIRCRAFT' | 'IN_TRANSIT_VESSEL' | 'IN_TRANSIT_RAIL' | 'CUSTOMS_HOLD' | 'IN_TRANSIT' | 'COMPLETED' | 'SCHEDULED' | 'IDLE' | 'ACTION_REQUIRED'>) | undefined}; export type ShipmentEventDateCriterion = {endDateTime?: string | undefined, offsetMinutes?: number | undefined, operator?: ('WITHIN' | 'ON_OR_BEFORE' | 'ON_OR_AFTER') | undefined, relativeDateTimeWindow?: ('YESTERDAY' | 'TODAY' | 'TOMORROW' | 'LAST_WEEK' | 'THIS_WEEK' | 'NEXT_WEEK' | 'THIS_MONTH' | 'LAST_MONTH' | 'NEXT_MONTH') | undefined, relativeWindowTimeZoneOffset?: ({totalSeconds?: number | undefined, id?: string | undefined, rules?: ({fixedOffset?: boolean | undefined, transitions?: (Array<{offsetBefore?: ({totalSeconds?: number | undefined, id?: string | undefined}) | undefined, offsetAfter?: ({totalSeconds?: number | undefined, id?: string | undefined}) | undefined, instant?: string | undefined, duration?: ({seconds?: number | undefined, zero?: boolean | undefined, nano?: number | undefined, negative?: boolean | undefined, units?: (Array<{durationEstimated?: boolean | undefined, timeBased?: boolean | undefined, dateBased?: boolean | undefined}>) | undefined}) | undefined, gap?: boolean | undefined, dateTimeAfter?: string | undefined, dateTimeBefore?: string | undefined, overlap?: boolean | undefined}>) | undefined, transitionRules?: (Array<{month?: ('JANUARY' | 'FEBRUARY' | 'MARCH' | 'APRIL' | 'MAY' | 'JUNE' | 'JULY' | 'AUGUST' | 'SEPTEMBER' | 'OCTOBER' | 'NOVEMBER' | 'DECEMBER') | undefined, timeDefinition?: ('UTC' | 'WALL' | 'STANDARD') | undefined, standardOffset?: ({totalSeconds?: number | undefined, id?: string | undefined}) | undefined, offsetBefore?: ({totalSeconds?: number | undefined, id?: string | undefined}) | undefined, offsetAfter?: ({totalSeconds?: number | undefined, id?: string | undefined}) | undefined, dayOfWeek?: ('MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY') | undefined, dayOfMonthIndicator?: number | undefined, localTime?: LocalTime | undefined, midnightEndOfDay?: boolean | undefined}>) | undefined}) | undefined}) | undefined, startDateTime?: string | undefined, type?: ('PLANNED_DATETIME' | 'PLANNED_END_DATETIME' | 'INITIAL_PLANNED_DATETIME' | 'INITIAL_PLANNED_END_DATETIME' | 'CARRIER_INITIAL_PLANNED_DATETIME' | 'CARRIER_INITIAL_PLANNED_END_DATETIME' | 'CARRIER_LATEST_PLANNED_DATETIME' | 'CARRIER_LATEST_PLANNED_END_DATETIME' | 'CUSTOMER_INITIAL_PLANNED_DATETIME' | 'CUSTOMER_INITIAL_PLANNED_END_DATETIME' | 'CUSTOMER_LATEST_PLANNED_DATETIME' | 'CUSTOMER_LATEST_PLANNED_END_DATETIME' | 'ESTIMATED_DATETIME' | 'ACTUAL_DATETIME' | 'ACTUAL_OR_ESTIMATED_DATETIME') | undefined}; export type ShipmentEventDeltaCriterion = {operator?: ('MORE_THAN' | 'MORE_THAN_OR_EQUALS' | 'LESS_THAN' | 'LESS_THAN_OR_EQUALS' | 'EQUALS' | 'NOT_EQUALS' | 'EXISTS' | 'NOT_EXISTS') | undefined, type?: ('RUNNING_EARLY' | 'RUNNING_LATE' | 'OCCURRED_EARLY' | 'OCCURRED_LATE' | 'OCCURRED_EARLY_OR_RUNNING_EARLY' | 'OCCURRED_LATE_OR_RUNNING_LATE') | undefined, value?: number | undefined}; export type ShipmentEventDescriptionCriterion = {operator?: ('EQUALS' | 'NOT_EQUALS' | 'CONTAINS') | undefined, values?: Array | undefined}; export type LocationCriterion = {operator?: ('EQUALS' | 'NOT_EQUALS' | 'CONTAINS') | undefined, propertyName?: ('LOCATION_NAME' | 'LOCATION_ADDRESS' | 'LOCATION_CITY' | 'LOCATION_STATE' | 'LOCATION_COUNTRY' | 'LOCATION_ZIP') | undefined, propertyNames?: (Array<'LOCATION_NAME' | 'LOCATION_ADDRESS' | 'LOCATION_CITY' | 'LOCATION_STATE' | 'LOCATION_COUNTRY' | 'LOCATION_ZIP'>) | undefined, values?: Array | undefined}; export type LocationIdentifierCriterion = {operator?: ('EQUALS' | 'NOT_EQUALS' | 'CONTAINS') | undefined, types?: (Array<'AIRPORT_IATA' | 'AIRPORT_ICAO' | 'EXTERNAL' | 'LOCODE' | 'NAME' | 'PORT_UN_LOCODE' | 'FACILITY_ID' | 'RAIL_SPLC' | 'RAIL_UIC' | 'RAIL_EU_PLC' | 'UNKNOWN'>) | undefined, values?: Array | undefined}; export type StopTypeCriterion = {operator?: ('EQUALS' | 'NOT_EQUALS' | 'CONTAINS') | undefined, types?: (Array<'UNKNOWN' | 'ORIGIN' | 'DESTINATION' | 'TRANSFER' | 'OTHER' | 'PORT_OF_LOADING' | 'TRANSSHIPMENT_PORT' | 'PORT_OF_DISCHARGE' | 'PICKUP' | 'DELIVERY' | 'RETURN' | 'WAREHOUSE' | 'HUB' | 'AIRPORT' | 'ORIGIN_CFS' | 'DESTINATION_CFS'>) | undefined}; export type ShipmentEventFilter = {dateRanges?: Array | undefined, deltas?: Array | undefined, descriptions?: Array | undefined, stopProperties?: Array | undefined, stopIdentifiers?: Array | undefined, stopType?: StopTypeCriterion | undefined, scopes?: (Array<'LATEST_ACTUAL_EVENT' | 'ANY_EVENT'>) | undefined, type?: ('UNKNOWN' | 'TRACKING_INITIATE' | 'TRACKING_START' | 'ARRIVAL_AT_STOP' | 'DEPARTURE_FROM_STOP' | 'LOAD_ONTO_VEHICLE' | 'UNLOAD_FROM_VEHICLE' | 'TRACKING_END_DUE_TO_TIMEOUT' | 'TRACKING_END_BY_USER' | 'TRACKING_COMPLETE' | 'GATE_IN' | 'GATE_OUT' | 'FLIGHT_BOOKING' | 'MANIFEST' | 'RECEIVE_FROM_SHIPPER' | 'CONSIGNEE_NOTIFY' | 'DELIVERY' | 'WARNING' | 'EXCEPTION' | 'TRACKING_STOP' | 'EXCEPTION_LATE_DEPARTURE' | 'EXCEPTION_MISSED_CONNECTION' | 'GATE_IN_FULL' | 'GATE_IN_EMPTY' | 'GATE_OUT_EMPTY' | 'GATE_OUT_FULL' | 'LOAD' | 'DISCHARGE' | 'EXCEPTION_DELAYED' | 'EXCEPTION_DELIVERY_MISSED' | 'EXCEPTION_HELD' | 'EXCEPTION_PICKUP_MISSED' | 'AVAILABLE' | 'ENTERED_GEOFENCE' | 'EXITED_GEOFENCE' | 'INFO' | 'OUT_FOR_DELIVERY' | 'PICKED_UP' | 'RETURN_TO_SENDER' | 'TRACKING_FAILED' | 'UNAUTHORIZED' | 'PICKUP_MISSED' | 'SURVEY' | 'HELD' | 'RELEASE' | 'DELAYED' | 'DELIVERY_MISSED' | 'ENTERED_INNER_GEOFENCE' | 'EXITED_INNER_GEOFENCE' | 'ENTERED_OUTER_GEOFENCE' | 'EXITED_OUTER_GEOFENCE' | 'ENTERED_FINAL_GEOFENCE' | 'EXITED_FINAL_GEOFENCE' | 'IDLE' | 'DRIVER_DENY_TRACKING' | 'UNKNOWN_EQUIPMENT_IDENTIFIER' | 'MISSING_EQUIPMENT_IDENTIFIER' | 'DISPATCH' | 'CUSTOMS_HOLD' | 'CUSTOMS_CLEARANCE' | 'CUSTOMS_DOCS_FILING' | 'CUSTOMS_TRANSIT_DOCS_ISSUED' | 'CUSTOMS_TRANSIT_DOCS_CLOSED' | 'CARRIER_HOLD' | 'RECEIVE_FROM_CARRIER' | 'ISSUE_FREIGHT_BILL' | 'FREIGHT_ON_HAND' | 'READY_FOR_CARRIAGE' | 'LAST_FREE_DAY' | 'MISSING_CARRIER' | 'STUFF' | 'STRIP' | 'SEAL_INSPECTION' | 'SEAL_REMOVAL' | 'SEAL_RESEAL' | 'HANDOVER' | 'DOCUMENT_ADD' | 'DOCUMENT_REMOVE' | 'REMOVE_FROM_BOOKING' | 'COST_UPDATE' | 'SHARING_STOPPED' | 'ROLLED_OVER' | 'BAD_ORDER' | 'BAD_ORDER_RELEASE') | undefined}; export type ShipmentTrackingStatusEventFilter = {operator?: ('EQUALS' | 'NOT_EQUALS' | 'CONTAINS') | undefined, scopes?: Array<'LATEST'> | undefined, types?: (Array<'TRACKING_INITIATE' | 'TRACKING_START' | 'TRACKING_END_BY_USER' | 'TRACKING_END_DUE_TO_TIMEOUT' | 'TRACKING_FAILED' | 'TRACKING_COMPLETE' | 'TRACKING_STOP' | 'DRIVER_DENY_TRACKING' | 'UNKNOWN_EQUIPMENT_IDENTIFIER' | 'MISSING_EQUIPMENT_IDENTIFIER' | 'REMOVE_FROM_BOOKING' | 'SHARING_STOPPED' | 'UNKNOWN'>) | undefined}; export type ShipmentStopFilter = {identifiers?: Array | undefined, properties?: Array | undefined, stopType?: StopTypeCriterion | undefined, scopes?: (Array<'ANY_INBOUND' | 'ANY_OUTBOUND' | 'CURRENT' | 'ANY_STOP' | 'EVERY_STOP' | 'ORIGIN' | 'DESTINATION' | 'EVENTS' | 'LATEST_ACTUAL_EVENT'>) | undefined}; export type TimeUnit = 'UNKNOWN' | 'MILLISECONDS' | 'SECONDS' | 'MINUTES' | 'HOURS' | 'DAYS' | 'WEEKS' | 'MONTHS' | 'YEARS'; export type TimeDuration = {amount?: number | undefined, unit?: TimeUnit | undefined}; export type TimeDurationCriterion = {operator?: ('MORE_THAN' | 'MORE_THAN_OR_EQUALS' | 'LESS_THAN' | 'LESS_THAN_OR_EQUALS' | 'EQUALS' | 'NOT_EQUALS' | 'EXISTS' | 'NOT_EXISTS') | undefined, value?: TimeDuration | undefined}; export type ShipmentDurationFilter = {durationCriteria?: Array | undefined, types?: (Array<'ACTUAL_TRANSIT_TIME' | 'ESTIMATED_TRANSIT_TIME' | 'ACTUAL_OR_ESTIMATED_TRANSIT_TIME'>) | undefined}; export type ShipmentSharingTenantFilter = {names?: Array | undefined, operator?: ('EQUALS' | 'NOT_EQUALS' | 'CONTAINS') | undefined, scopes?: (Array<'RECIPIENT' | 'ORIGINATOR'>) | undefined}; export type ShipmentModeFilter = {operator?: ('EQUALS' | 'NOT_EQUALS' | 'CONTAINS') | undefined, scopes?: Array<'CURRENT'> | undefined, types?: (Array<'AIR' | 'OCEAN' | 'RAIL' | 'UNKNOWN' | 'TRUCKLOAD' | 'PARCEL' | 'LTL' | 'BARGE'>) | undefined}; export type ShipmentSearchCriteria = {loadItemIdentifiers?: Array | undefined, loadItemDescriptions?: Array | undefined, orderIdentifierTypes?: Array | undefined, orderIdentifiers?: Array | undefined, orderIds?: Array | undefined, orderSupplierIds?: Array | undefined, orderDateRanges?: Array | undefined, orderDeltas?: Array | undefined, orderTags?: Array | undefined, orderAdditionalIdentifiers?: Array | undefined, searchText?: string | undefined, shipmentIds?: Array | undefined, shipmentIdentifiers?: Array | undefined, shipmentAttributes?: Array | undefined, shipmentDates?: Array | undefined, shipmentStates?: Array | undefined, shipmentEvents?: Array | undefined, shipmentTrackingStatusEvents?: Array | undefined, shipmentStops?: Array | undefined, shipmentDurations?: Array | undefined, sharingContextTenants?: Array | undefined, transportationModes?: Array | undefined}; export type CreateApiServicesUnifiedSearchV1ShipmentsCountArgs = {body: ShipmentSearchCriteria}; export type CreateApiServicesUnifiedSearchV1ShipmentsCountOptions = {baseUrl?: string | undefined, oAuth2?: string | undefined, fetch?: typeof fetch | undefined}; export const shipmentCount = z.object({total: z.number().int().optional()}); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * Count shipments which match a set of criteria * * POST /services/unified-search/v1/shipments/count */ export const createApiServicesUnifiedSearchV1ShipmentsCount = async (args: CreateApiServicesUnifiedSearchV1ShipmentsCountArgs, options?: CreateApiServicesUnifiedSearchV1ShipmentsCountOptions) => { const {baseUrl = "https://na12.api.project44.com", fetch: fetchFn = fetch, oAuth2} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") headers.set('accept', "application/json") if (oAuth2 !== undefined) headers.set('authorization', `Bearer ${oAuth2}`) const url = `${baseUrl.replace(/\/+$/, '')}/services/unified-search/v1/shipments/count${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(shipmentCount, await res.json()) };