All Downloads are FREE. Search and download functionalities are using the official Maven repository.

jp.co.freee.accounting.models.PaymentRequestResponsePaymentRequest Maven / Gradle / Ivy

There is a newer version: 2.29.0
Show newest version
/*
 * freee API
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: v1.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package jp.co.freee.accounting.models;

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 java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import jp.co.freee.accounting.models.ApprovalRequestResponseApprovalRequestApprovalFlowLogs;
import jp.co.freee.accounting.models.ApprovalRequestResponseApprovalRequestApprovers;
import jp.co.freee.accounting.models.ApprovalRequestResponseApprovalRequestComments;
import jp.co.freee.accounting.models.PaymentRequestResponsePaymentRequestPaymentRequestLines;
import org.openapitools.jackson.nullable.JsonNullable;

/**
 * PaymentRequestResponsePaymentRequest
 */
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class PaymentRequestResponsePaymentRequest {
  public static final String SERIALIZED_NAME_ACCOUNT_NAME = "account_name";
  @SerializedName(SERIALIZED_NAME_ACCOUNT_NAME)
  private String accountName;

  public static final String SERIALIZED_NAME_ACCOUNT_NUMBER = "account_number";
  @SerializedName(SERIALIZED_NAME_ACCOUNT_NUMBER)
  private String accountNumber;

  /**
   * 口座種別(ordinary:普通、checking:当座、earmarked:納税準備預金、savings:貯蓄、other:その他)
   */
  @JsonAdapter(AccountTypeEnum.Adapter.class)
  public enum AccountTypeEnum {
    ORDINARY("ordinary"),
    
    CHECKING("checking"),
    
    EARMARKED("earmarked"),
    
    SAVINGS("savings"),
    
    OTHER("other");

    private String value;

    AccountTypeEnum(String value) {
      this.value = value;
    }

    public String getValue() {
      return value;
    }

    @Override
    public String toString() {
      return String.valueOf(value);
    }

    public static AccountTypeEnum fromValue(String value) {
      for (AccountTypeEnum b : AccountTypeEnum.values()) {
        if (b.value.equals(value)) {
          return b;
        }
      }
      throw new IllegalArgumentException("Unexpected value '" + value + "'");
    }

    public static class Adapter extends TypeAdapter {
      @Override
      public void write(final JsonWriter jsonWriter, final AccountTypeEnum enumeration) throws IOException {
        jsonWriter.value(enumeration.getValue());
      }

      @Override
      public AccountTypeEnum read(final JsonReader jsonReader) throws IOException {
        String value =  jsonReader.nextString();
        return AccountTypeEnum.fromValue(value);
      }
    }
  }

  public static final String SERIALIZED_NAME_ACCOUNT_TYPE = "account_type";
  @SerializedName(SERIALIZED_NAME_ACCOUNT_TYPE)
  private AccountTypeEnum accountType;

  public static final String SERIALIZED_NAME_APPLICANT_ID = "applicant_id";
  @SerializedName(SERIALIZED_NAME_APPLICANT_ID)
  private Integer applicantId;

  public static final String SERIALIZED_NAME_APPLICATION_DATE = "application_date";
  @SerializedName(SERIALIZED_NAME_APPLICATION_DATE)
  private String applicationDate;

  public static final String SERIALIZED_NAME_APPLICATION_NUMBER = "application_number";
  @SerializedName(SERIALIZED_NAME_APPLICATION_NUMBER)
  private String applicationNumber;

  public static final String SERIALIZED_NAME_APPROVAL_FLOW_LOGS = "approval_flow_logs";
  @SerializedName(SERIALIZED_NAME_APPROVAL_FLOW_LOGS)
  private List approvalFlowLogs = new ArrayList<>();

  public static final String SERIALIZED_NAME_APPROVAL_FLOW_ROUTE_ID = "approval_flow_route_id";
  @SerializedName(SERIALIZED_NAME_APPROVAL_FLOW_ROUTE_ID)
  private Integer approvalFlowRouteId;

  public static final String SERIALIZED_NAME_APPROVERS = "approvers";
  @SerializedName(SERIALIZED_NAME_APPROVERS)
  private List approvers = new ArrayList<>();

  public static final String SERIALIZED_NAME_BANK_CODE = "bank_code";
  @SerializedName(SERIALIZED_NAME_BANK_CODE)
  private String bankCode;

  public static final String SERIALIZED_NAME_BANK_NAME = "bank_name";
  @SerializedName(SERIALIZED_NAME_BANK_NAME)
  private String bankName;

  public static final String SERIALIZED_NAME_BANK_NAME_KANA = "bank_name_kana";
  @SerializedName(SERIALIZED_NAME_BANK_NAME_KANA)
  private String bankNameKana;

  public static final String SERIALIZED_NAME_BRANCH_CODE = "branch_code";
  @SerializedName(SERIALIZED_NAME_BRANCH_CODE)
  private String branchCode;

  public static final String SERIALIZED_NAME_BRANCH_KANA = "branch_kana";
  @SerializedName(SERIALIZED_NAME_BRANCH_KANA)
  private String branchKana;

  public static final String SERIALIZED_NAME_BRANCH_NAME = "branch_name";
  @SerializedName(SERIALIZED_NAME_BRANCH_NAME)
  private String branchName;

  public static final String SERIALIZED_NAME_COMMENTS = "comments";
  @SerializedName(SERIALIZED_NAME_COMMENTS)
  private List comments = new ArrayList<>();

  public static final String SERIALIZED_NAME_COMPANY_ID = "company_id";
  @SerializedName(SERIALIZED_NAME_COMPANY_ID)
  private Integer companyId;

  public static final String SERIALIZED_NAME_CURRENT_ROUND = "current_round";
  @SerializedName(SERIALIZED_NAME_CURRENT_ROUND)
  private Integer currentRound;

  public static final String SERIALIZED_NAME_CURRENT_STEP_ID = "current_step_id";
  @SerializedName(SERIALIZED_NAME_CURRENT_STEP_ID)
  private Integer currentStepId;

  public static final String SERIALIZED_NAME_DEAL_ID = "deal_id";
  @SerializedName(SERIALIZED_NAME_DEAL_ID)
  private Integer dealId;

  /**
   * 取引ステータス (申請ステータス:statusがapprovedで、取引が存在する時のみdeal_statusが表示されます settled:支払済み, unsettled:支払待ち)
   */
  @JsonAdapter(DealStatusEnum.Adapter.class)
  public enum DealStatusEnum {
    SETTLED("settled"),
    
    UNSETTLED("unsettled");

    private String value;

    DealStatusEnum(String value) {
      this.value = value;
    }

    public String getValue() {
      return value;
    }

    @Override
    public String toString() {
      return String.valueOf(value);
    }

    public static DealStatusEnum fromValue(String value) {
      for (DealStatusEnum b : DealStatusEnum.values()) {
        if (b.value.equals(value)) {
          return b;
        }
      }
      return null;
    }

    public static class Adapter extends TypeAdapter {
      @Override
      public void write(final JsonWriter jsonWriter, final DealStatusEnum enumeration) throws IOException {
        jsonWriter.value(enumeration.getValue());
      }

      @Override
      public DealStatusEnum read(final JsonReader jsonReader) throws IOException {
        String value =  jsonReader.nextString();
        return DealStatusEnum.fromValue(value);
      }
    }
  }

  public static final String SERIALIZED_NAME_DEAL_STATUS = "deal_status";
  @SerializedName(SERIALIZED_NAME_DEAL_STATUS)
  private DealStatusEnum dealStatus;

  public static final String SERIALIZED_NAME_DESCRIPTION = "description";
  @SerializedName(SERIALIZED_NAME_DESCRIPTION)
  private String description;

  public static final String SERIALIZED_NAME_DOCUMENT_CODE = "document_code";
  @SerializedName(SERIALIZED_NAME_DOCUMENT_CODE)
  private String documentCode;

  public static final String SERIALIZED_NAME_ID = "id";
  @SerializedName(SERIALIZED_NAME_ID)
  private Integer id;

  public static final String SERIALIZED_NAME_ISSUE_DATE = "issue_date";
  @SerializedName(SERIALIZED_NAME_ISSUE_DATE)
  private String issueDate;

  public static final String SERIALIZED_NAME_PARTNER_CODE = "partner_code";
  @SerializedName(SERIALIZED_NAME_PARTNER_CODE)
  private String partnerCode;

  public static final String SERIALIZED_NAME_PARTNER_ID = "partner_id";
  @SerializedName(SERIALIZED_NAME_PARTNER_ID)
  private Integer partnerId;

  public static final String SERIALIZED_NAME_PARTNER_NAME = "partner_name";
  @SerializedName(SERIALIZED_NAME_PARTNER_NAME)
  private String partnerName;

  public static final String SERIALIZED_NAME_PAYMENT_DATE = "payment_date";
  @SerializedName(SERIALIZED_NAME_PAYMENT_DATE)
  private String paymentDate;

  /**
   * 支払方法(none: 指定なし, domestic_bank_transfer: 国内振込, abroad_bank_transfer: 国外振込, account_transfer: 口座振替, credit_card: クレジットカード)
   */
  @JsonAdapter(PaymentMethodEnum.Adapter.class)
  public enum PaymentMethodEnum {
    NONE("none"),
    
    DOMESTIC_BANK_TRANSFER("domestic_bank_transfer"),
    
    ABROAD_BANK_TRANSFER("abroad_bank_transfer"),
    
    ACCOUNT_TRANSFER("account_transfer"),
    
    CREDIT_CARD("credit_card");

    private String value;

    PaymentMethodEnum(String value) {
      this.value = value;
    }

    public String getValue() {
      return value;
    }

    @Override
    public String toString() {
      return String.valueOf(value);
    }

    public static PaymentMethodEnum fromValue(String value) {
      for (PaymentMethodEnum b : PaymentMethodEnum.values()) {
        if (b.value.equals(value)) {
          return b;
        }
      }
      throw new IllegalArgumentException("Unexpected value '" + value + "'");
    }

    public static class Adapter extends TypeAdapter {
      @Override
      public void write(final JsonWriter jsonWriter, final PaymentMethodEnum enumeration) throws IOException {
        jsonWriter.value(enumeration.getValue());
      }

      @Override
      public PaymentMethodEnum read(final JsonReader jsonReader) throws IOException {
        String value =  jsonReader.nextString();
        return PaymentMethodEnum.fromValue(value);
      }
    }
  }

  public static final String SERIALIZED_NAME_PAYMENT_METHOD = "payment_method";
  @SerializedName(SERIALIZED_NAME_PAYMENT_METHOD)
  private PaymentMethodEnum paymentMethod;

  public static final String SERIALIZED_NAME_PAYMENT_REQUEST_LINES = "payment_request_lines";
  @SerializedName(SERIALIZED_NAME_PAYMENT_REQUEST_LINES)
  private List paymentRequestLines = new ArrayList<>();

  public static final String SERIALIZED_NAME_RECEIPT_IDS = "receipt_ids";
  @SerializedName(SERIALIZED_NAME_RECEIPT_IDS)
  private List receiptIds = new ArrayList<>();

  /**
   * 申請ステータス(draft:下書き, in_progress:申請中, approved:承認済, rejected:却下, feedback:差戻し)
   */
  @JsonAdapter(StatusEnum.Adapter.class)
  public enum StatusEnum {
    DRAFT("draft"),
    
    IN_PROGRESS("in_progress"),
    
    APPROVED("approved"),
    
    REJECTED("rejected"),
    
    FEEDBACK("feedback");

    private String value;

    StatusEnum(String value) {
      this.value = value;
    }

    public String getValue() {
      return value;
    }

    @Override
    public String toString() {
      return String.valueOf(value);
    }

    public static StatusEnum fromValue(String value) {
      for (StatusEnum b : StatusEnum.values()) {
        if (b.value.equals(value)) {
          return b;
        }
      }
      throw new IllegalArgumentException("Unexpected value '" + value + "'");
    }

    public static class Adapter extends TypeAdapter {
      @Override
      public void write(final JsonWriter jsonWriter, final StatusEnum enumeration) throws IOException {
        jsonWriter.value(enumeration.getValue());
      }

      @Override
      public StatusEnum read(final JsonReader jsonReader) throws IOException {
        String value =  jsonReader.nextString();
        return StatusEnum.fromValue(value);
      }
    }
  }

  public static final String SERIALIZED_NAME_STATUS = "status";
  @SerializedName(SERIALIZED_NAME_STATUS)
  private StatusEnum status;

  public static final String SERIALIZED_NAME_TITLE = "title";
  @SerializedName(SERIALIZED_NAME_TITLE)
  private String title;

  public static final String SERIALIZED_NAME_TOTAL_AMOUNT = "total_amount";
  @SerializedName(SERIALIZED_NAME_TOTAL_AMOUNT)
  private Integer totalAmount;

  public PaymentRequestResponsePaymentRequest() { 
  }

  public PaymentRequestResponsePaymentRequest accountName(String accountName) {
    
    this.accountName = accountName;
    return this;
  }

   /**
   * 受取人名(カナ)
   * @return accountName
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(example = "フリータロウ", required = true, value = "受取人名(カナ)")

  public String getAccountName() {
    return accountName;
  }


  public void setAccountName(String accountName) {
    this.accountName = accountName;
  }


  public PaymentRequestResponsePaymentRequest accountNumber(String accountNumber) {
    
    this.accountNumber = accountNumber;
    return this;
  }

   /**
   * 口座番号
   * @return accountNumber
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(example = "1010101", required = true, value = "口座番号")

  public String getAccountNumber() {
    return accountNumber;
  }


  public void setAccountNumber(String accountNumber) {
    this.accountNumber = accountNumber;
  }


  public PaymentRequestResponsePaymentRequest accountType(AccountTypeEnum accountType) {
    
    this.accountType = accountType;
    return this;
  }

   /**
   * 口座種別(ordinary:普通、checking:当座、earmarked:納税準備預金、savings:貯蓄、other:その他)
   * @return accountType
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(example = "ordinary", required = true, value = "口座種別(ordinary:普通、checking:当座、earmarked:納税準備預金、savings:貯蓄、other:その他)")

  public AccountTypeEnum getAccountType() {
    return accountType;
  }


  public void setAccountType(AccountTypeEnum accountType) {
    this.accountType = accountType;
  }


  public PaymentRequestResponsePaymentRequest applicantId(Integer applicantId) {
    
    this.applicantId = applicantId;
    return this;
  }

   /**
   * 申請者のユーザーID
   * minimum: 1
   * maximum: 2147483647
   * @return applicantId
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(example = "1", required = true, value = "申請者のユーザーID")

  public Integer getApplicantId() {
    return applicantId;
  }


  public void setApplicantId(Integer applicantId) {
    this.applicantId = applicantId;
  }


  public PaymentRequestResponsePaymentRequest applicationDate(String applicationDate) {
    
    this.applicationDate = applicationDate;
    return this;
  }

   /**
   * 申請日 (yyyy-mm-dd)
   * @return applicationDate
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(example = "2019-12-17", required = true, value = "申請日 (yyyy-mm-dd)")

  public String getApplicationDate() {
    return applicationDate;
  }


  public void setApplicationDate(String applicationDate) {
    this.applicationDate = applicationDate;
  }


  public PaymentRequestResponsePaymentRequest applicationNumber(String applicationNumber) {
    
    this.applicationNumber = applicationNumber;
    return this;
  }

   /**
   * 申請No.
   * @return applicationNumber
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(example = "2", required = true, value = "申請No.")

  public String getApplicationNumber() {
    return applicationNumber;
  }


  public void setApplicationNumber(String applicationNumber) {
    this.applicationNumber = applicationNumber;
  }


  public PaymentRequestResponsePaymentRequest approvalFlowLogs(List approvalFlowLogs) {
    
    this.approvalFlowLogs = approvalFlowLogs;
    return this;
  }

  public PaymentRequestResponsePaymentRequest addApprovalFlowLogsItem(ApprovalRequestResponseApprovalRequestApprovalFlowLogs approvalFlowLogsItem) {
    this.approvalFlowLogs.add(approvalFlowLogsItem);
    return this;
  }

   /**
   * 支払依頼の承認履歴(配列)
   * @return approvalFlowLogs
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(required = true, value = "支払依頼の承認履歴(配列)")

  public List getApprovalFlowLogs() {
    return approvalFlowLogs;
  }


  public void setApprovalFlowLogs(List approvalFlowLogs) {
    this.approvalFlowLogs = approvalFlowLogs;
  }


  public PaymentRequestResponsePaymentRequest approvalFlowRouteId(Integer approvalFlowRouteId) {
    
    this.approvalFlowRouteId = approvalFlowRouteId;
    return this;
  }

   /**
   * 申請経路ID
   * minimum: 1
   * maximum: 2147483647
   * @return approvalFlowRouteId
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(example = "1", required = true, value = "申請経路ID")

  public Integer getApprovalFlowRouteId() {
    return approvalFlowRouteId;
  }


  public void setApprovalFlowRouteId(Integer approvalFlowRouteId) {
    this.approvalFlowRouteId = approvalFlowRouteId;
  }


  public PaymentRequestResponsePaymentRequest approvers(List approvers) {
    
    this.approvers = approvers;
    return this;
  }

  public PaymentRequestResponsePaymentRequest addApproversItem(ApprovalRequestResponseApprovalRequestApprovers approversItem) {
    this.approvers.add(approversItem);
    return this;
  }

   /**
   * 承認者(配列)   承認ステップのresource_typeがunspecified (指定なし)の場合はapproversはレスポンスに含まれません。   しかし、resource_typeがunspecifiedの承認ステップにおいて誰かが承認・却下・差し戻しのいずれかのアクションを取った後は、   approversはレスポンスに含まれるようになります。   その場合approversにはアクションを行ったステップのIDとアクションを行ったユーザーのIDが含まれます。
   * @return approvers
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(required = true, value = "承認者(配列)   承認ステップのresource_typeがunspecified (指定なし)の場合はapproversはレスポンスに含まれません。   しかし、resource_typeがunspecifiedの承認ステップにおいて誰かが承認・却下・差し戻しのいずれかのアクションを取った後は、   approversはレスポンスに含まれるようになります。   その場合approversにはアクションを行ったステップのIDとアクションを行ったユーザーのIDが含まれます。")

  public List getApprovers() {
    return approvers;
  }


  public void setApprovers(List approvers) {
    this.approvers = approvers;
  }


  public PaymentRequestResponsePaymentRequest bankCode(String bankCode) {
    
    this.bankCode = bankCode;
    return this;
  }

   /**
   * 銀行コード
   * @return bankCode
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(example = "0001", required = true, value = "銀行コード")

  public String getBankCode() {
    return bankCode;
  }


  public void setBankCode(String bankCode) {
    this.bankCode = bankCode;
  }


  public PaymentRequestResponsePaymentRequest bankName(String bankName) {
    
    this.bankName = bankName;
    return this;
  }

   /**
   * 銀行名
   * @return bankName
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(example = "freee銀行", required = true, value = "銀行名")

  public String getBankName() {
    return bankName;
  }


  public void setBankName(String bankName) {
    this.bankName = bankName;
  }


  public PaymentRequestResponsePaymentRequest bankNameKana(String bankNameKana) {
    
    this.bankNameKana = bankNameKana;
    return this;
  }

   /**
   * 銀行名(カナ)
   * @return bankNameKana
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(example = "フリーギンコウ", required = true, value = "銀行名(カナ)")

  public String getBankNameKana() {
    return bankNameKana;
  }


  public void setBankNameKana(String bankNameKana) {
    this.bankNameKana = bankNameKana;
  }


  public PaymentRequestResponsePaymentRequest branchCode(String branchCode) {
    
    this.branchCode = branchCode;
    return this;
  }

   /**
   * 支店番号
   * @return branchCode
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(example = "101", required = true, value = "支店番号")

  public String getBranchCode() {
    return branchCode;
  }


  public void setBranchCode(String branchCode) {
    this.branchCode = branchCode;
  }


  public PaymentRequestResponsePaymentRequest branchKana(String branchKana) {
    
    this.branchKana = branchKana;
    return this;
  }

   /**
   * 支店名(カナ)
   * @return branchKana
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(example = "ギンザシテン", required = true, value = "支店名(カナ)")

  public String getBranchKana() {
    return branchKana;
  }


  public void setBranchKana(String branchKana) {
    this.branchKana = branchKana;
  }


  public PaymentRequestResponsePaymentRequest branchName(String branchName) {
    
    this.branchName = branchName;
    return this;
  }

   /**
   * 支店名
   * @return branchName
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(example = "銀座支店", required = true, value = "支店名")

  public String getBranchName() {
    return branchName;
  }


  public void setBranchName(String branchName) {
    this.branchName = branchName;
  }


  public PaymentRequestResponsePaymentRequest comments(List comments) {
    
    this.comments = comments;
    return this;
  }

  public PaymentRequestResponsePaymentRequest addCommentsItem(ApprovalRequestResponseApprovalRequestComments commentsItem) {
    this.comments.add(commentsItem);
    return this;
  }

   /**
   * 支払依頼のコメント一覧(配列)
   * @return comments
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(required = true, value = "支払依頼のコメント一覧(配列)")

  public List getComments() {
    return comments;
  }


  public void setComments(List comments) {
    this.comments = comments;
  }


  public PaymentRequestResponsePaymentRequest companyId(Integer companyId) {
    
    this.companyId = companyId;
    return this;
  }

   /**
   * 事業所ID
   * minimum: 1
   * maximum: 2147483647
   * @return companyId
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(example = "1", required = true, value = "事業所ID")

  public Integer getCompanyId() {
    return companyId;
  }


  public void setCompanyId(Integer companyId) {
    this.companyId = companyId;
  }


  public PaymentRequestResponsePaymentRequest currentRound(Integer currentRound) {
    
    this.currentRound = currentRound;
    return this;
  }

   /**
   * 現在のround。差し戻し等により申請がstepの最初からやり直しになるとroundの値が増えます。
   * minimum: 0
   * maximum: 2147483647
   * @return currentRound
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(example = "1", required = true, value = "現在のround。差し戻し等により申請がstepの最初からやり直しになるとroundの値が増えます。")

  public Integer getCurrentRound() {
    return currentRound;
  }


  public void setCurrentRound(Integer currentRound) {
    this.currentRound = currentRound;
  }


  public PaymentRequestResponsePaymentRequest currentStepId(Integer currentStepId) {
    
    this.currentStepId = currentStepId;
    return this;
  }

   /**
   * 現在承認ステップID
   * minimum: 1
   * maximum: 2147483647
   * @return currentStepId
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "1", required = true, value = "現在承認ステップID")

  public Integer getCurrentStepId() {
    return currentStepId;
  }


  public void setCurrentStepId(Integer currentStepId) {
    this.currentStepId = currentStepId;
  }


  public PaymentRequestResponsePaymentRequest dealId(Integer dealId) {
    
    this.dealId = dealId;
    return this;
  }

   /**
   * 取引ID (申請ステータス:statusがapprovedで、取引が存在する時のみdeal_idが表示されます)
   * minimum: 1
   * maximum: 2147483647
   * @return dealId
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "1", required = true, value = "取引ID (申請ステータス:statusがapprovedで、取引が存在する時のみdeal_idが表示されます)")

  public Integer getDealId() {
    return dealId;
  }


  public void setDealId(Integer dealId) {
    this.dealId = dealId;
  }


  public PaymentRequestResponsePaymentRequest dealStatus(DealStatusEnum dealStatus) {
    
    this.dealStatus = dealStatus;
    return this;
  }

   /**
   * 取引ステータス (申請ステータス:statusがapprovedで、取引が存在する時のみdeal_statusが表示されます settled:支払済み, unsettled:支払待ち)
   * @return dealStatus
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "settled", required = true, value = "取引ステータス (申請ステータス:statusがapprovedで、取引が存在する時のみdeal_statusが表示されます settled:支払済み, unsettled:支払待ち)")

  public DealStatusEnum getDealStatus() {
    return dealStatus;
  }


  public void setDealStatus(DealStatusEnum dealStatus) {
    this.dealStatus = dealStatus;
  }


  public PaymentRequestResponsePaymentRequest description(String description) {
    
    this.description = description;
    return this;
  }

   /**
   * 備考
   * @return description
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(example = "◯◯連携先ID: cx12345", required = true, value = "備考")

  public String getDescription() {
    return description;
  }


  public void setDescription(String description) {
    this.description = description;
  }


  public PaymentRequestResponsePaymentRequest documentCode(String documentCode) {
    
    this.documentCode = documentCode;
    return this;
  }

   /**
   * 請求書番号
   * @return documentCode
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(example = "2", required = true, value = "請求書番号")

  public String getDocumentCode() {
    return documentCode;
  }


  public void setDocumentCode(String documentCode) {
    this.documentCode = documentCode;
  }


  public PaymentRequestResponsePaymentRequest id(Integer id) {
    
    this.id = id;
    return this;
  }

   /**
   * 支払依頼ID
   * minimum: 1
   * maximum: 2147483647
   * @return id
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(example = "1", required = true, value = "支払依頼ID")

  public Integer getId() {
    return id;
  }


  public void setId(Integer id) {
    this.id = id;
  }


  public PaymentRequestResponsePaymentRequest issueDate(String issueDate) {
    
    this.issueDate = issueDate;
    return this;
  }

   /**
   * 発生日 (yyyy-mm-dd)
   * @return issueDate
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(example = "2019-12-17", required = true, value = "発生日 (yyyy-mm-dd)")

  public String getIssueDate() {
    return issueDate;
  }


  public void setIssueDate(String issueDate) {
    this.issueDate = issueDate;
  }


  public PaymentRequestResponsePaymentRequest partnerCode(String partnerCode) {
    
    this.partnerCode = partnerCode;
    return this;
  }

   /**
   * 取引先コード
   * @return partnerCode
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "code001", value = "取引先コード")

  public String getPartnerCode() {
    return partnerCode;
  }


  public void setPartnerCode(String partnerCode) {
    this.partnerCode = partnerCode;
  }


  public PaymentRequestResponsePaymentRequest partnerId(Integer partnerId) {
    
    this.partnerId = partnerId;
    return this;
  }

   /**
   * 取引先ID
   * minimum: 1
   * maximum: 2147483647
   * @return partnerId
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "201", required = true, value = "取引先ID")

  public Integer getPartnerId() {
    return partnerId;
  }


  public void setPartnerId(Integer partnerId) {
    this.partnerId = partnerId;
  }


  public PaymentRequestResponsePaymentRequest partnerName(String partnerName) {
    
    this.partnerName = partnerName;
    return this;
  }

   /**
   * 取引先名
   * @return partnerName
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "freee", required = true, value = "取引先名")

  public String getPartnerName() {
    return partnerName;
  }


  public void setPartnerName(String partnerName) {
    this.partnerName = partnerName;
  }


  public PaymentRequestResponsePaymentRequest paymentDate(String paymentDate) {
    
    this.paymentDate = paymentDate;
    return this;
  }

   /**
   * 支払期限 (yyyy-mm-dd)
   * @return paymentDate
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "2019-12-17", required = true, value = "支払期限 (yyyy-mm-dd)")

  public String getPaymentDate() {
    return paymentDate;
  }


  public void setPaymentDate(String paymentDate) {
    this.paymentDate = paymentDate;
  }


  public PaymentRequestResponsePaymentRequest paymentMethod(PaymentMethodEnum paymentMethod) {
    
    this.paymentMethod = paymentMethod;
    return this;
  }

   /**
   * 支払方法(none: 指定なし, domestic_bank_transfer: 国内振込, abroad_bank_transfer: 国外振込, account_transfer: 口座振替, credit_card: クレジットカード)
   * @return paymentMethod
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(example = "none", required = true, value = "支払方法(none: 指定なし, domestic_bank_transfer: 国内振込, abroad_bank_transfer: 国外振込, account_transfer: 口座振替, credit_card: クレジットカード)")

  public PaymentMethodEnum getPaymentMethod() {
    return paymentMethod;
  }


  public void setPaymentMethod(PaymentMethodEnum paymentMethod) {
    this.paymentMethod = paymentMethod;
  }


  public PaymentRequestResponsePaymentRequest paymentRequestLines(List paymentRequestLines) {
    
    this.paymentRequestLines = paymentRequestLines;
    return this;
  }

  public PaymentRequestResponsePaymentRequest addPaymentRequestLinesItem(PaymentRequestResponsePaymentRequestPaymentRequestLines paymentRequestLinesItem) {
    this.paymentRequestLines.add(paymentRequestLinesItem);
    return this;
  }

   /**
   * 支払依頼の項目行一覧(配列)
   * @return paymentRequestLines
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(required = true, value = "支払依頼の項目行一覧(配列)")

  public List getPaymentRequestLines() {
    return paymentRequestLines;
  }


  public void setPaymentRequestLines(List paymentRequestLines) {
    this.paymentRequestLines = paymentRequestLines;
  }


  public PaymentRequestResponsePaymentRequest receiptIds(List receiptIds) {
    
    this.receiptIds = receiptIds;
    return this;
  }

  public PaymentRequestResponsePaymentRequest addReceiptIdsItem(Integer receiptIdsItem) {
    this.receiptIds.add(receiptIdsItem);
    return this;
  }

   /**
   * 証憑ファイルID(ファイルボックスのファイルID)
   * @return receiptIds
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(example = "[1,2,3]", required = true, value = "証憑ファイルID(ファイルボックスのファイルID)")

  public List getReceiptIds() {
    return receiptIds;
  }


  public void setReceiptIds(List receiptIds) {
    this.receiptIds = receiptIds;
  }


  public PaymentRequestResponsePaymentRequest status(StatusEnum status) {
    
    this.status = status;
    return this;
  }

   /**
   * 申請ステータス(draft:下書き, in_progress:申請中, approved:承認済, rejected:却下, feedback:差戻し)
   * @return status
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(example = "draft", required = true, value = "申請ステータス(draft:下書き, in_progress:申請中, approved:承認済, rejected:却下, feedback:差戻し)")

  public StatusEnum getStatus() {
    return status;
  }


  public void setStatus(StatusEnum status) {
    this.status = status;
  }


  public PaymentRequestResponsePaymentRequest title(String title) {
    
    this.title = title;
    return this;
  }

   /**
   * 申請タイトル
   * @return title
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(example = "仕入代金支払い", required = true, value = "申請タイトル")

  public String getTitle() {
    return title;
  }


  public void setTitle(String title) {
    this.title = title;
  }


  public PaymentRequestResponsePaymentRequest totalAmount(Integer totalAmount) {
    
    this.totalAmount = totalAmount;
    return this;
  }

   /**
   * 合計金額
   * @return totalAmount
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(example = "30000", required = true, value = "合計金額")

  public Integer getTotalAmount() {
    return totalAmount;
  }


  public void setTotalAmount(Integer totalAmount) {
    this.totalAmount = totalAmount;
  }


  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    PaymentRequestResponsePaymentRequest paymentRequestResponsePaymentRequest = (PaymentRequestResponsePaymentRequest) o;
    return Objects.equals(this.accountName, paymentRequestResponsePaymentRequest.accountName) &&
        Objects.equals(this.accountNumber, paymentRequestResponsePaymentRequest.accountNumber) &&
        Objects.equals(this.accountType, paymentRequestResponsePaymentRequest.accountType) &&
        Objects.equals(this.applicantId, paymentRequestResponsePaymentRequest.applicantId) &&
        Objects.equals(this.applicationDate, paymentRequestResponsePaymentRequest.applicationDate) &&
        Objects.equals(this.applicationNumber, paymentRequestResponsePaymentRequest.applicationNumber) &&
        Objects.equals(this.approvalFlowLogs, paymentRequestResponsePaymentRequest.approvalFlowLogs) &&
        Objects.equals(this.approvalFlowRouteId, paymentRequestResponsePaymentRequest.approvalFlowRouteId) &&
        Objects.equals(this.approvers, paymentRequestResponsePaymentRequest.approvers) &&
        Objects.equals(this.bankCode, paymentRequestResponsePaymentRequest.bankCode) &&
        Objects.equals(this.bankName, paymentRequestResponsePaymentRequest.bankName) &&
        Objects.equals(this.bankNameKana, paymentRequestResponsePaymentRequest.bankNameKana) &&
        Objects.equals(this.branchCode, paymentRequestResponsePaymentRequest.branchCode) &&
        Objects.equals(this.branchKana, paymentRequestResponsePaymentRequest.branchKana) &&
        Objects.equals(this.branchName, paymentRequestResponsePaymentRequest.branchName) &&
        Objects.equals(this.comments, paymentRequestResponsePaymentRequest.comments) &&
        Objects.equals(this.companyId, paymentRequestResponsePaymentRequest.companyId) &&
        Objects.equals(this.currentRound, paymentRequestResponsePaymentRequest.currentRound) &&
        Objects.equals(this.currentStepId, paymentRequestResponsePaymentRequest.currentStepId) &&
        Objects.equals(this.dealId, paymentRequestResponsePaymentRequest.dealId) &&
        Objects.equals(this.dealStatus, paymentRequestResponsePaymentRequest.dealStatus) &&
        Objects.equals(this.description, paymentRequestResponsePaymentRequest.description) &&
        Objects.equals(this.documentCode, paymentRequestResponsePaymentRequest.documentCode) &&
        Objects.equals(this.id, paymentRequestResponsePaymentRequest.id) &&
        Objects.equals(this.issueDate, paymentRequestResponsePaymentRequest.issueDate) &&
        Objects.equals(this.partnerCode, paymentRequestResponsePaymentRequest.partnerCode) &&
        Objects.equals(this.partnerId, paymentRequestResponsePaymentRequest.partnerId) &&
        Objects.equals(this.partnerName, paymentRequestResponsePaymentRequest.partnerName) &&
        Objects.equals(this.paymentDate, paymentRequestResponsePaymentRequest.paymentDate) &&
        Objects.equals(this.paymentMethod, paymentRequestResponsePaymentRequest.paymentMethod) &&
        Objects.equals(this.paymentRequestLines, paymentRequestResponsePaymentRequest.paymentRequestLines) &&
        Objects.equals(this.receiptIds, paymentRequestResponsePaymentRequest.receiptIds) &&
        Objects.equals(this.status, paymentRequestResponsePaymentRequest.status) &&
        Objects.equals(this.title, paymentRequestResponsePaymentRequest.title) &&
        Objects.equals(this.totalAmount, paymentRequestResponsePaymentRequest.totalAmount);
  }

  private static  boolean equalsNullable(JsonNullable a, JsonNullable b) {
    return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get()));
  }

  @Override
  public int hashCode() {
    return Objects.hash(accountName, accountNumber, accountType, applicantId, applicationDate, applicationNumber, approvalFlowLogs, approvalFlowRouteId, approvers, bankCode, bankName, bankNameKana, branchCode, branchKana, branchName, comments, companyId, currentRound, currentStepId, dealId, dealStatus, description, documentCode, id, issueDate, partnerCode, partnerId, partnerName, paymentDate, paymentMethod, paymentRequestLines, receiptIds, status, title, totalAmount);
  }

  private static  int hashCodeNullable(JsonNullable a) {
    if (a == null) {
      return 1;
    }
    return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31;
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class PaymentRequestResponsePaymentRequest {\n");
    sb.append("    accountName: ").append(toIndentedString(accountName)).append("\n");
    sb.append("    accountNumber: ").append(toIndentedString(accountNumber)).append("\n");
    sb.append("    accountType: ").append(toIndentedString(accountType)).append("\n");
    sb.append("    applicantId: ").append(toIndentedString(applicantId)).append("\n");
    sb.append("    applicationDate: ").append(toIndentedString(applicationDate)).append("\n");
    sb.append("    applicationNumber: ").append(toIndentedString(applicationNumber)).append("\n");
    sb.append("    approvalFlowLogs: ").append(toIndentedString(approvalFlowLogs)).append("\n");
    sb.append("    approvalFlowRouteId: ").append(toIndentedString(approvalFlowRouteId)).append("\n");
    sb.append("    approvers: ").append(toIndentedString(approvers)).append("\n");
    sb.append("    bankCode: ").append(toIndentedString(bankCode)).append("\n");
    sb.append("    bankName: ").append(toIndentedString(bankName)).append("\n");
    sb.append("    bankNameKana: ").append(toIndentedString(bankNameKana)).append("\n");
    sb.append("    branchCode: ").append(toIndentedString(branchCode)).append("\n");
    sb.append("    branchKana: ").append(toIndentedString(branchKana)).append("\n");
    sb.append("    branchName: ").append(toIndentedString(branchName)).append("\n");
    sb.append("    comments: ").append(toIndentedString(comments)).append("\n");
    sb.append("    companyId: ").append(toIndentedString(companyId)).append("\n");
    sb.append("    currentRound: ").append(toIndentedString(currentRound)).append("\n");
    sb.append("    currentStepId: ").append(toIndentedString(currentStepId)).append("\n");
    sb.append("    dealId: ").append(toIndentedString(dealId)).append("\n");
    sb.append("    dealStatus: ").append(toIndentedString(dealStatus)).append("\n");
    sb.append("    description: ").append(toIndentedString(description)).append("\n");
    sb.append("    documentCode: ").append(toIndentedString(documentCode)).append("\n");
    sb.append("    id: ").append(toIndentedString(id)).append("\n");
    sb.append("    issueDate: ").append(toIndentedString(issueDate)).append("\n");
    sb.append("    partnerCode: ").append(toIndentedString(partnerCode)).append("\n");
    sb.append("    partnerId: ").append(toIndentedString(partnerId)).append("\n");
    sb.append("    partnerName: ").append(toIndentedString(partnerName)).append("\n");
    sb.append("    paymentDate: ").append(toIndentedString(paymentDate)).append("\n");
    sb.append("    paymentMethod: ").append(toIndentedString(paymentMethod)).append("\n");
    sb.append("    paymentRequestLines: ").append(toIndentedString(paymentRequestLines)).append("\n");
    sb.append("    receiptIds: ").append(toIndentedString(receiptIds)).append("\n");
    sb.append("    status: ").append(toIndentedString(status)).append("\n");
    sb.append("    title: ").append(toIndentedString(title)).append("\n");
    sb.append("    totalAmount: ").append(toIndentedString(totalAmount)).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    ");
  }

}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy