amazon_spapi/models/vendor_shipments/
stop.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct Stop {
17 #[serde(rename = "functionCode")]
19 pub function_code: FunctionCode,
20 #[serde(rename = "locationIdentification", skip_serializing_if = "Option::is_none")]
21 pub location_identification: Option<Box<models::vendor_shipments::Location>>,
22 #[serde(rename = "arrivalTime", skip_serializing_if = "Option::is_none")]
24 pub arrival_time: Option<String>,
25 #[serde(rename = "departureTime", skip_serializing_if = "Option::is_none")]
27 pub departure_time: Option<String>,
28}
29
30impl Stop {
31 pub fn new(function_code: FunctionCode) -> Stop {
33 Stop {
34 function_code,
35 location_identification: None,
36 arrival_time: None,
37 departure_time: None,
38 }
39 }
40}
41#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
43pub enum FunctionCode {
44 #[serde(rename = "PortOfDischarge")]
45 PortOfDischarge,
46 #[serde(rename = "FreightPayableAt")]
47 FreightPayableAt,
48 #[serde(rename = "PortOfLoading")]
49 PortOfLoading,
50}
51
52impl Default for FunctionCode {
53 fn default() -> FunctionCode {
54 Self::PortOfDischarge
55 }
56}
57