content: /*
   * The Selling Partner API for FBA inbound operations.
   * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface.
   *
   * OpenAPI spec version: 2024-03-20
   *
   *
   * 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.fbav2024;
  
  import java.util.Objects;
  import java.util.Arrays;
  
  import com.google.gson.TypeAdapter;
  import com.google.gson.annotations.JsonAdapter;
  import com.google.gson.annotations.SerializedName;
  import com.google.gson.stream.JsonReader;
  import com.google.gson.stream.JsonWriter;
  import io.swagger.annotations.ApiModel;
  import io.swagger.annotations.ApiModelProperty;
  import io.swagger.client.model.fbav2024.AddressInput;
  import io.swagger.client.model.fbav2024.ItemInput;
  
  import java.io.IOException;
  import java.util.ArrayList;
  import java.util.List;
  
  /**
   * The &#x60;createInboundPlan&#x60; request.
   */
  @ApiModel(description = "The `createInboundPlan` request.")
  @javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2024-06-05T21:26:38.822Z")
  public class CreateInboundPlanRequest {
      @SerializedName("destinationMarketplaces")
      private List<String> destinationMarketplaces = new ArrayList<String>();
  
      @SerializedName("items")
      private List<ItemInput> items = new ArrayList<ItemInput>();
  
      @SerializedName("name")
      private String name = null;
  
      @SerializedName("sourceAddress")
      private AddressInput sourceAddress = null;
  
      public CreateInboundPlanRequest destinationMarketplaces(List<String> destinationMarketplaces) {
          this.destinationMarketplaces = destinationMarketplaces;
          return this;
      }
  
      public CreateInboundPlanRequest addDestinationMarketplacesItem(String destinationMarketplacesItem) {
          this.destinationMarketplaces.add(destinationMarketplacesItem);
          return this;
      }
  
      /**
       * Marketplaces where the items need to be shipped to. Currently only one marketplace can be selected in this request.
       *
       * @return destinationMarketplaces
       **/
      @ApiModelProperty(required = true, value = "Marketplaces where the items need to be shipped to. Currently only one marketplace can be selected in this request.")
      public List<String> getDestinationMarketplaces() {
          return destinationMarketplaces;
      }
  
      public void setDestinationMarketplaces(List<String> destinationMarketplaces) {
          this.destinationMarketplaces = destinationMarketplaces;
      }
  
      public CreateInboundPlanRequest items(List<ItemInput> items) {
          this.items = items;
          return this;
      }
  
      public CreateInboundPlanRequest addItemsItem(ItemInput itemsItem) {
          this.items.add(itemsItem);
          return this;
      }
  
      /**
       * Items included in this plan.
       *
       * @return items
       **/
      @ApiModelProperty(required = true, value = "Items included in this plan.")
      public List<ItemInput> getItems() {
          return items;
      }
  
      public void setItems(List<ItemInput> items) {
          this.items = items;
      }
  
      public CreateInboundPlanRequest name(String name) {
          this.name = name;
          return this;
      }
  
      /**
       * Name for the Inbound Plan. If one isn&#39;t provided, a default name will be provided.
       *
       * @return name
       **/
      @ApiModelProperty(value = "Name for the Inbound Plan. If one isn't provided, a default name will be provided.")
      public String getName() {
          return name;
      }
  
      public void setName(String name) {
          this.name = name;
      }
  
      public CreateInboundPlanRequest sourceAddress(AddressInput sourceAddress) {
          this.sourceAddress = sourceAddress;
          return this;
      }
  
      /**
       * Get sourceAddress
       *
       * @return sourceAddress
       **/
      @ApiModelProperty(required = true, value = "")
      public AddressInput getSourceAddress() {
          return sourceAddress;
      }
  
      public void setSourceAddress(AddressInput sourceAddress) {
          this.sourceAddress = sourceAddress;
      }
  
  
      @Override
      public boolean equals(java.lang.Object o) {
          if (this == o) {
              return true;
          }
          if (o == null || getClass() != o.getClass()) {
              return false;
          }
          CreateInboundPlanRequest createInboundPlanRequest = (CreateInboundPlanRequest) o;
          return Objects.equals(this.destinationMarketplaces, createInboundPlanRequest.destinationMarketplaces) &&
                  Objects.equals(this.items, createInboundPlanRequest.items) &&
                  Objects.equals(this.name, createInboundPlanRequest.name) &&
                  Objects.equals(this.sourceAddress, createInboundPlanRequest.sourceAddress);
      }
  
      @Override
      public int hashCode() {
          return Objects.hash(destinationMarketplaces, items, name, sourceAddress);
      }
  
  
      @Override
      public String toString() {
          StringBuilder sb = new StringBuilder();
          sb.append("class CreateInboundPlanRequest {\n");
  
          sb.append("    destinationMarketplaces: ").append(toIndentedString(destinationMarketplaces)).append("\n");
          sb.append("    items: ").append(toIndentedString(items)).append("\n");
          sb.append("    name: ").append(toIndentedString(name)).append("\n");
          sb.append("    sourceAddress: ").append(toIndentedString(sourceAddress)).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(java.lang.Object o) {
          if (o == null) {
              return "null";
          }
          return o.toString().replace("\n", "\n    ");
      }
  
  }
  
  