@shipengine/connect-carrier-api
Version:
This is the typescript/javascript definitions for carrier api
30 lines (28 loc) • 1.6 kB
text/typescript
import { StandardizedStatusCodesSchema } from './standardized-status-codes-schema';
import { StandardizedStatusDetailCodesSchema } from './standardized-status-detail-codes-schema';
import { DimensionsSchema } from '../units/dimensions-schema';
import { ServiceSchema } from './service-schema';
import { TrackEventSchema } from './track-event-schema';
import Joi from 'joi';
export const TrackingInfoSchema = Joi.object({
carrier_name: Joi.string().optional().empty(),
tracking_number: Joi.string().optional().empty(),
standardized_status_code: StandardizedStatusCodesSchema,
standardized_status_detail_code: StandardizedStatusDetailCodesSchema,
carrier_status_code: Joi.string().optional().empty(),
carrier_detail_code: Joi.string().optional().empty(),
carrier_status_description: Joi.string().optional().empty(),
shipped_datetime: Joi.string().optional().empty().isoDate(),
estimated_delivery_datetime: Joi.string().optional().empty(),
actual_delivery_datetime: Joi.string().optional().empty().isoDate(),
shipping_problem_description: Joi.string().optional().empty(),
weight: Joi.number().optional().empty(),
dimensions: DimensionsSchema.optional(),
service: ServiceSchema.optional(),
packaging: Joi.string().optional().empty(),
package_count: Joi.number().optional().empty(),
events: Joi.array().optional().items(TrackEventSchema),
shipping_problem: Joi.boolean().optional().empty(),
shipping_problem_code: Joi.string().optional().empty(),
error_description: Joi.string().optional().empty(),
}).or('standardized_status_code', 'standardized_status_detail_code');