/** @description Contains detailed information about the parameters used in Native Rating implementations to generate rate lookup keys. */
export interface NativeRatingDetails {
  /** @description The complete key used to extract the rate value from the JSON configuration file. */
  key: string;
  /** @description Contains the source and destination zones for the shipment. */
  zones: Zones;
  /** @description The name of the shipping service used for the shipment. */
  service_name: string;
  /** @description The weight classification of the shipment, indicating the weight range bracket. */
  weight_class: WeightClass;
  /** @description The type of package used for the shipment. */
  package_type: string;
  /** @description The effective date key used in certain Native Rating implementations. */
  date_key: string;
  /** @description Identifies the platform from which the shipment originated (e.g., ShipStation or ShipEngine). */
  platform: string;
}

/** @description Contains the source and destination zones for the shipment. */
export interface Zones {
  /** @description The complete zone string. */
  key: string;
  /** @description The source zone identifier. */
  from_zone: string;
  /** @description The destination zone identifier. */
  to_zone: string;
}

/** @description The weight classification of the shipment, indicating the weight range bracket. */
export interface WeightClass {
  /** @description The complete weight class string. */
  key: string;
  /** @description The minimum weight value of the weight range. */
  min_weight: string;
  /** @description The maximum weight value of the weight range. */
  max_weight: string;
}
