import Joi from 'joi';
import { BillingLineItemSchema } from '../billing/billing-line-item-schema';
import { TimeWindowSchema } from '../time-window-schema';

export const RateSchema = Joi.object({
  service_code: Joi.string().optional().empty(),
  ship_datetime: Joi.string().optional().empty().isoDate(),
  estimated_delivery_datetime: Joi.string().optional().empty().isoDate(),
  billing_line_items: Joi.array().optional().items(BillingLineItemSchema),
  error_messages: Joi.array().optional().items(Joi.string()),
  warning_messages: Joi.array().optional().items(Joi.string()),
  negotiated_rate: Joi.boolean().optional(),
  carrier_pickup_window: TimeWindowSchema.optional(),
  delivery_window: TimeWindowSchema.optional(),
  carrier_rate_id: Joi.string().optional().empty(),
  expiration_datetime: Joi.string().optional().empty().isoDate(),
  estimated_delivery_text: Joi.string().optional().empty(),
  package_type: Joi.string().optional().empty(),
  zone: Joi.string().optional().empty(),
  guaranteed_delivery_days: Joi.number().optional().empty(),
});
