content: /*
   * Selling Partner API for Fulfillment Inbound
   * The Selling Partner API for Fulfillment Inbound lets you create applications that create and update inbound shipments of inventory to Amazon's fulfillment network.
   *
   * OpenAPI spec version: v0
   * 
   *
   * NOTE: This class is auto generated by the swagger code generator program.
   * https://github.com/swagger-api/swagger-codegen.git
   * Do not edit the class manually.
   */
  
  
  package io.swagger.client.model.fbav0;
  
  import java.util.Objects;
  
  import com.google.gson.annotations.SerializedName;
  import io.swagger.annotations.ApiModel;
  import io.swagger.annotations.ApiModelProperty;
  
  /**
   * The request schema for the createInboundShipmentPlan operation.
   */
  @ApiModel(description = "The request schema for the createInboundShipmentPlan operation.")
  @javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2024-05-06T15:45:02.096-05:00")
  public class CreateInboundShipmentPlanRequest {
    @SerializedName("ShipFromAddress")
    private Address shipFromAddress = null;
  
    @SerializedName("LabelPrepPreference")
    private LabelPrepPreference labelPrepPreference = null;
  
    @SerializedName("ShipToCountryCode")
    private String shipToCountryCode = null;
  
    @SerializedName("ShipToCountrySubdivisionCode")
    private String shipToCountrySubdivisionCode = null;
  
    @SerializedName("InboundShipmentPlanRequestItems")
    private InboundShipmentPlanRequestItemList inboundShipmentPlanRequestItems = null;
  
    public CreateInboundShipmentPlanRequest shipFromAddress(Address shipFromAddress) {
      this.shipFromAddress = shipFromAddress;
      return this;
    }
  
     /**
     * The address from which the inbound shipment will be sent.
     * @return shipFromAddress
    **/
    @ApiModelProperty(required = true, value = "The address from which the inbound shipment will be sent.")
    public Address getShipFromAddress() {
      return shipFromAddress;
    }
  
    public void setShipFromAddress(Address shipFromAddress) {
      this.shipFromAddress = shipFromAddress;
    }
  
    public CreateInboundShipmentPlanRequest labelPrepPreference(LabelPrepPreference labelPrepPreference) {
      this.labelPrepPreference = labelPrepPreference;
      return this;
    }
  
     /**
     * The seller&#39;s preference for label preparation for an inbound shipment.
     * @return labelPrepPreference
    **/
    @ApiModelProperty(required = true, value = "The seller's preference for label preparation for an inbound shipment.")
    public LabelPrepPreference getLabelPrepPreference() {
      return labelPrepPreference;
    }
  
    public void setLabelPrepPreference(LabelPrepPreference labelPrepPreference) {
      this.labelPrepPreference = labelPrepPreference;
    }
  
    public CreateInboundShipmentPlanRequest shipToCountryCode(String shipToCountryCode) {
      this.shipToCountryCode = shipToCountryCode;
      return this;
    }
  
     /**
     * The two-character country code for the country where the inbound shipment is to be sent.  Note: Not required. Specifying both ShipToCountryCode and ShipToCountrySubdivisionCode returns an error.   Values:   ShipToCountryCode values for North America:  * CA – Canada  * MX - Mexico  * US - United States  ShipToCountryCode values for MCI sellers in Europe:  * DE – Germany  * ES – Spain  * FR – France  * GB – United Kingdom  * IT – Italy  Default: The country code for the seller&#39;s home marketplace.
     * @return shipToCountryCode
    **/
    @ApiModelProperty(value = "The two-character country code for the country where the inbound shipment is to be sent.  Note: Not required. Specifying both ShipToCountryCode and ShipToCountrySubdivisionCode returns an error.   Values:   ShipToCountryCode values for North America:  * CA – Canada  * MX - Mexico  * US - United States  ShipToCountryCode values for MCI sellers in Europe:  * DE – Germany  * ES – Spain  * FR – France  * GB – United Kingdom  * IT – Italy  Default: The country code for the seller's home marketplace.")
    public String getShipToCountryCode() {
      return shipToCountryCode;
    }
  
    public void setShipToCountryCode(String shipToCountryCode) {
      this.shipToCountryCode = shipToCountryCode;
    }
  
    public CreateInboundShipmentPlanRequest shipToCountrySubdivisionCode(String shipToCountrySubdivisionCode) {
      this.shipToCountrySubdivisionCode = shipToCountrySubdivisionCode;
      return this;
    }
  
     /**
     * The two-character country code, followed by a dash and then up to three characters that represent the subdivision of the country where the inbound shipment is to be sent. For example, \&quot;IN-MH\&quot;. In full ISO 3166-2 format.  Note: Not required. Specifying both ShipToCountryCode and ShipToCountrySubdivisionCode returns an error.
     * @return shipToCountrySubdivisionCode
    **/
    @ApiModelProperty(value = "The two-character country code, followed by a dash and then up to three characters that represent the subdivision of the country where the inbound shipment is to be sent. For example, \"IN-MH\". In full ISO 3166-2 format.  Note: Not required. Specifying both ShipToCountryCode and ShipToCountrySubdivisionCode returns an error.")
    public String getShipToCountrySubdivisionCode() {
      return shipToCountrySubdivisionCode;
    }
  
    public void setShipToCountrySubdivisionCode(String shipToCountrySubdivisionCode) {
      this.shipToCountrySubdivisionCode = shipToCountrySubdivisionCode;
    }
  
    public CreateInboundShipmentPlanRequest inboundShipmentPlanRequestItems(InboundShipmentPlanRequestItemList inboundShipmentPlanRequestItems) {
      this.inboundShipmentPlanRequestItems = inboundShipmentPlanRequestItems;
      return this;
    }
  
     /**
     * Get inboundShipmentPlanRequestItems
     * @return inboundShipmentPlanRequestItems
    **/
    @ApiModelProperty(required = true, value = "")
    public InboundShipmentPlanRequestItemList getInboundShipmentPlanRequestItems() {
      return inboundShipmentPlanRequestItems;
    }
  
    public void setInboundShipmentPlanRequestItems(InboundShipmentPlanRequestItemList inboundShipmentPlanRequestItems) {
      this.inboundShipmentPlanRequestItems = inboundShipmentPlanRequestItems;
    }
  
  
    @Override
    public boolean equals(Object o) {
      if (this == o) {
        return true;
      }
      if (o == null || getClass() != o.getClass()) {
        return false;
      }
      CreateInboundShipmentPlanRequest createInboundShipmentPlanRequest = (CreateInboundShipmentPlanRequest) o;
      return Objects.equals(this.shipFromAddress, createInboundShipmentPlanRequest.shipFromAddress) &&
          Objects.equals(this.labelPrepPreference, createInboundShipmentPlanRequest.labelPrepPreference) &&
          Objects.equals(this.shipToCountryCode, createInboundShipmentPlanRequest.shipToCountryCode) &&
          Objects.equals(this.shipToCountrySubdivisionCode, createInboundShipmentPlanRequest.shipToCountrySubdivisionCode) &&
          Objects.equals(this.inboundShipmentPlanRequestItems, createInboundShipmentPlanRequest.inboundShipmentPlanRequestItems);
    }
  
    @Override
    public int hashCode() {
      return Objects.hash(shipFromAddress, labelPrepPreference, shipToCountryCode, shipToCountrySubdivisionCode, inboundShipmentPlanRequestItems);
    }
  
  
    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder();
      sb.append("class CreateInboundShipmentPlanRequest {\n");
      
      sb.append("    shipFromAddress: ").append(toIndentedString(shipFromAddress)).append("\n");
      sb.append("    labelPrepPreference: ").append(toIndentedString(labelPrepPreference)).append("\n");
      sb.append("    shipToCountryCode: ").append(toIndentedString(shipToCountryCode)).append("\n");
      sb.append("    shipToCountrySubdivisionCode: ").append(toIndentedString(shipToCountrySubdivisionCode)).append("\n");
      sb.append("    inboundShipmentPlanRequestItems: ").append(toIndentedString(inboundShipmentPlanRequestItems)).append("\n");
      sb.append("}");
      return sb.toString();
    }
  
    /**
     * Convert the given object to string with each line indented by 4 spaces
     * (except the first line).
     */
    private String toIndentedString(Object o) {
      if (o == null) {
        return "null";
      }
      return o.toString().replace("\n", "\n    ");
    }
  
  }
  
  