namespace TradeManageNew.APIClients.FedexAPI.Models.Ship { /// /// The descriptive data of the requested shipment. /// [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.1.0.0 (NJsonSchema v11.0.2.0 (Newtonsoft.Json v13.0.0.0))")] public partial class RequestedShipment { /// /// This is the shipment date. Default value is current date in case the date is not provided or a past date is provided.<br>Format [YYYY-MM-DD].<br>Example: 2019-10-14 /// [Newtonsoft.Json.JsonProperty("shipDatestamp", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)] public string ShipDatestamp { get; set; } /// /// It is the sum of all declared values of all packages in a shipment. The amount of totalDeclaredValue must be equal to the sum of all the individual declaredValues in the shipment. The declaredValue and totalDeclaredValue must match in all currencies in one shipment. This value represents FedEx maximum liability associated with a shipment. This is including, but not limited to any loss, damage, delay, misdelivery, any failure to provide information, or misdelivery of information related to the Shipment.<br><i>Note: The totalDeclaredValue should not exceed customsValue.</i> /// [Newtonsoft.Json.JsonProperty("totalDeclaredValue", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)] public Money TotalDeclaredValue { get; set; } /// /// Indicate the Shipper contact details for this shipment. /// [Newtonsoft.Json.JsonProperty("shipper", Required = Newtonsoft.Json.Required.Always)] [System.ComponentModel.DataAnnotations.Required] public ShipperParty Shipper { get; set; } = new ShipperParty(); /// /// Will indicate the party responsible for purchasing the goods shipped from the shipper to the recipient. The sold to party is not necessarily the recipient or the importer of record. The sold to party is relevant when the purchaser, rather than the recipient determines when certain customs regulations apply. /// [Newtonsoft.Json.JsonProperty("soldTo", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)] public SoldToParty SoldTo { get; set; } /// /// Indicate the descriptive data for the recipient location to which the shipment is to be received. /// [Newtonsoft.Json.JsonProperty("recipients", Required = Newtonsoft.Json.Required.Always)] [System.ComponentModel.DataAnnotations.Required] public System.Collections.Generic.ICollection Recipients { get; set; } = new System.Collections.ObjectModel.Collection(); /// /// A unique identifier for a recipient location.<br>Example:1234567 /// [Newtonsoft.Json.JsonProperty("recipientLocationNumber", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)] public string RecipientLocationNumber { get; set; } /// /// Indicates if shipment is being dropped off at a FedEx location or being picked up by FedEx or if it's a regularly scheduled pickup for this shipment. Required for FedEx Express and Ground Shipment.<br>Example: USE_SCHEDULED_PICKUP /// [Newtonsoft.Json.JsonProperty("pickupType", Required = Newtonsoft.Json.Required.Always)] [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)] [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public RequestedShipmentPickupType PickupType { get; set; } /// /// Indicate the FedEx service type used for this shipment.<br>Example: STANDARD_OVERNIGHT<br><a onclick='loadDocReference("servicetypes")'>click here to see Service Types</a> /// [Newtonsoft.Json.JsonProperty("serviceType", Required = Newtonsoft.Json.Required.Always)] [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)] [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public RequestedShipmentServiceType ServiceType { get; set; } /// /// Specify the packaging used.<br>Note: For Express Freight shipments, the packaging will default to YOUR_PACKAGING irrespective of the user provided package type in the request.<br>Example: FEDEX_PAK<br><a onclick='loadDocReference("packagetypes")'>click here to see Package Types</a> /// [Newtonsoft.Json.JsonProperty("packagingType", Required = Newtonsoft.Json.Required.Always)] [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)] [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public RequestedShipmentPackageType PackagingType { get; set; } /// /// Indicate the shipment total weight in pounds.<br>Example: 10.6<br>Note: <ul><li>This only applies to International shipments and should be used on the first package of a multiple piece shipment.</li><li>This value contains 1 explicit decimal position.</li><li>For one Label at a time shipments, the unit of totalWeight is considered same as the unit of weight provided in requestedPackageLineItem field.</li></ul> /// [Newtonsoft.Json.JsonProperty("totalWeight", Required = Newtonsoft.Json.Required.Always)] public double TotalWeight { get; set; } /// /// Indicate shipment origin address information, if it is different from the shipper address. /// [Newtonsoft.Json.JsonProperty("origin", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)] public ContactAndAddress_1 Origin { get; set; } [Newtonsoft.Json.JsonProperty("shippingChargesPayment", Required = Newtonsoft.Json.Required.Always)] [System.ComponentModel.DataAnnotations.Required] public Payment ShippingChargesPayment { get; set; } = new Payment(); [Newtonsoft.Json.JsonProperty("shipmentSpecialServices", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)] public ShipmentSpecialServicesRequested ShipmentSpecialServices { get; set; } [Newtonsoft.Json.JsonProperty("emailNotificationDetail", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)] public ShipShipmentEMailNotificationDetail EmailNotificationDetail { get; set; } [Newtonsoft.Json.JsonProperty("expressFreightDetail", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)] public ExpressFreightDetail ExpressFreightDetail { get; set; } [Newtonsoft.Json.JsonProperty("variableHandlingChargeDetail", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)] public VariableHandlingChargeDetail VariableHandlingChargeDetail { get; set; } [Newtonsoft.Json.JsonProperty("customsClearanceDetail", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)] public CustomsClearanceDetail CustomsClearanceDetail { get; set; } [Newtonsoft.Json.JsonProperty("smartPostInfoDetail", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)] public SmartPostInfoDetail SmartPostInfoDetail { get; set; } /// /// If true, only the shipper/payer will have visibility of this shipment.<br>Valid Value : true, false.<br> Default:false<br>Example: true /// [Newtonsoft.Json.JsonProperty("blockInsightVisibility", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)] public bool? BlockInsightVisibility { get; set; } [Newtonsoft.Json.JsonProperty("labelSpecification", Required = Newtonsoft.Json.Required.Always)] [System.ComponentModel.DataAnnotations.Required] public LabelSpecification LabelSpecification { get; set; } = new LabelSpecification(); [Newtonsoft.Json.JsonProperty("shippingDocumentSpecification", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)] public ShippingDocumentSpecification ShippingDocumentSpecification { get; set; } /// /// Indicate the type of rates to be returned. The account specific rates are returned by default if the account number is specified in the request.<br>Following are values:<ul><li>LIST - Returns FedEx published list rates in addition to account-specific rates (if applicable).</li><li>INCENTIVE - This is one-time discount for incentivising the customer. For more information, contact your FedEx representative.</li><li>ACCOUNT - Returns account specific rates (Default).</li><li>PREFERRED - Returns rates in the preferred currency specified in the element preferredCurrency.</li><li>RETAIL - Returns customer rate from one of retail FedEx service centers.</li></ul>Examples: ["ACCOUNT", "PREFERRED"] /// [Newtonsoft.Json.JsonProperty("rateRequestType", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore, ItemConverterType = typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public System.Collections.Generic.ICollection RateRequestType { get; set; } /// /// Indicate the currency the caller requests to have used in all returned monetary values. Should be Used in conjunction with the element RateRequestType.<br>Example: USD<br><a onclick='loadDocReference("currencycodes")'>click here to see available Currency codes</a><br>Note: Incorrect currency codes should not be supplied. The system ignores the incorrect currency code. /// [Newtonsoft.Json.JsonProperty("preferredCurrency", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)] public string PreferredCurrency { get; set; } /// /// For an MPS, this is the total number of packages in the shipment.Applicable for parent shipment for one label at a time shipments. <br>Example: 25 /// [Newtonsoft.Json.JsonProperty("totalPackageCount", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)] public int? TotalPackageCount { get; set; } [Newtonsoft.Json.JsonProperty("masterTrackingId", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)] public MasterTrackingId MasterTrackingId { get; set; } /// /// These are one or more package-attribute descriptions, each of which describes an individual package, a group of identical packages, or (for the total-piece-total-weight case) common characteristics of all packages in the shipment.<ul><li>At least one instance containing the weight for at least one package is required for EXPRESS and GROUND shipments.</li><li>Single piece requests will have one RequestedPackageLineItem.</li><li>Multiple piece requests will have multiple RequestedPackageLineItems.</li><li>Maximum occurrences is 30.</li></ul> /// [Newtonsoft.Json.JsonProperty("requestedPackageLineItems", Required = Newtonsoft.Json.Required.Always)] [System.ComponentModel.DataAnnotations.Required] public System.Collections.Generic.ICollection RequestedPackageLineItems { get; set; } = new System.Collections.ObjectModel.Collection(); } }