/*
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
*/
import * as z from "zod/v4-mini";
import { remap as remap$ } from "../../lib/primitives.js";
import { safeParse } from "../../lib/schemas.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import {
ServiceLevelWithParent,
ServiceLevelWithParent$inboundSchema,
ServiceLevelWithParent$Outbound,
ServiceLevelWithParent$outboundSchema,
} from "./servicelevelwithparent.js";
import {
TrackingStatus,
TrackingStatus$inboundSchema,
TrackingStatus$Outbound,
TrackingStatus$outboundSchema,
} from "./trackingstatus.js";
import {
TrackingStatusLocationBase,
TrackingStatusLocationBase$inboundSchema,
TrackingStatusLocationBase$Outbound,
TrackingStatusLocationBase$outboundSchema,
} from "./trackingstatuslocationbase.js";
export type Track = {
/**
* The sender address with city, state, zip and country information.
*/
addressFrom?: TrackingStatusLocationBase | undefined;
/**
* The recipient address with city, state, zip and country information.
*/
addressTo?: TrackingStatusLocationBase | undefined;
/**
* Name of the carrier of the shipment to track. See Carriers.
*/
carrier: string;
/**
* The estimated time of arrival according to the carrier, this might be updated by carriers during the life of the shipment.
*/
eta?: Date | undefined;
messages: Array;
/**
* A string of up to 100 characters that can be filled with any additional information you want to attach to the object.
*/
metadata?: string | undefined;
/**
* The estimated time of arrival according to the carrier at the time the shipment first entered the system.
*/
originalEta?: Date | undefined;
servicelevel?: ServiceLevelWithParent | undefined;
/**
* A list of tracking events, following the same structure as tracking_status.
*
* @remarks
* It contains a full history of all tracking statuses, starting with the earlier tracking event first.
*/
trackingHistory: Array;
/**
* Tracking number to track.
*/
trackingNumber: string;
/**
* The latest tracking information of this shipment.
*/
trackingStatus?: TrackingStatus | undefined;
/**
* The object_id of the transaction associated with this tracking object.
*
* @remarks
* This field is visible only to the object owner of the transaction.
*/
transaction?: string | undefined;
};
/** @internal */
export const Track$inboundSchema: z.ZodMiniType