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

com.adyen.model.management.TerminalSettings Maven / Gradle / Ivy

There is a newer version: 38.1.0
Show newest version
/*
 * Management API
 *
 * The version of the OpenAPI document: 3
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package com.adyen.model.management;

import java.util.Objects;
import java.util.Map;
import java.util.HashMap;
import com.adyen.model.management.CardholderReceipt;
import com.adyen.model.management.Connectivity;
import com.adyen.model.management.Gratuity;
import com.adyen.model.management.Hardware;
import com.adyen.model.management.Localization;
import com.adyen.model.management.Nexo;
import com.adyen.model.management.OfflineProcessing;
import com.adyen.model.management.Opi;
import com.adyen.model.management.Passcodes;
import com.adyen.model.management.PayAtTable;
import com.adyen.model.management.Payment;
import com.adyen.model.management.ReceiptOptions;
import com.adyen.model.management.ReceiptPrinting;
import com.adyen.model.management.Refunds;
import com.adyen.model.management.Signature;
import com.adyen.model.management.Standalone;
import com.adyen.model.management.StoreAndForward;
import com.adyen.model.management.Surcharge;
import com.adyen.model.management.TapToPay;
import com.adyen.model.management.TerminalInstructions;
import com.adyen.model.management.Timeouts;
import com.adyen.model.management.WifiProfiles;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonTypeName;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.core.JsonProcessingException;


/**
 * TerminalSettings
 */
@JsonPropertyOrder({
  TerminalSettings.JSON_PROPERTY_CARDHOLDER_RECEIPT,
  TerminalSettings.JSON_PROPERTY_CONNECTIVITY,
  TerminalSettings.JSON_PROPERTY_GRATUITIES,
  TerminalSettings.JSON_PROPERTY_HARDWARE,
  TerminalSettings.JSON_PROPERTY_LOCALIZATION,
  TerminalSettings.JSON_PROPERTY_NEXO,
  TerminalSettings.JSON_PROPERTY_OFFLINE_PROCESSING,
  TerminalSettings.JSON_PROPERTY_OPI,
  TerminalSettings.JSON_PROPERTY_PASSCODES,
  TerminalSettings.JSON_PROPERTY_PAY_AT_TABLE,
  TerminalSettings.JSON_PROPERTY_PAYMENT,
  TerminalSettings.JSON_PROPERTY_RECEIPT_OPTIONS,
  TerminalSettings.JSON_PROPERTY_RECEIPT_PRINTING,
  TerminalSettings.JSON_PROPERTY_REFUNDS,
  TerminalSettings.JSON_PROPERTY_SIGNATURE,
  TerminalSettings.JSON_PROPERTY_STANDALONE,
  TerminalSettings.JSON_PROPERTY_STORE_AND_FORWARD,
  TerminalSettings.JSON_PROPERTY_SURCHARGE,
  TerminalSettings.JSON_PROPERTY_TAP_TO_PAY,
  TerminalSettings.JSON_PROPERTY_TERMINAL_INSTRUCTIONS,
  TerminalSettings.JSON_PROPERTY_TIMEOUTS,
  TerminalSettings.JSON_PROPERTY_WIFI_PROFILES
})

public class TerminalSettings {
  public static final String JSON_PROPERTY_CARDHOLDER_RECEIPT = "cardholderReceipt";
  private CardholderReceipt cardholderReceipt;

  public static final String JSON_PROPERTY_CONNECTIVITY = "connectivity";
  private Connectivity connectivity;

  public static final String JSON_PROPERTY_GRATUITIES = "gratuities";
  private List gratuities;

  public static final String JSON_PROPERTY_HARDWARE = "hardware";
  private Hardware hardware;

  public static final String JSON_PROPERTY_LOCALIZATION = "localization";
  private Localization localization;

  public static final String JSON_PROPERTY_NEXO = "nexo";
  private Nexo nexo;

  public static final String JSON_PROPERTY_OFFLINE_PROCESSING = "offlineProcessing";
  private OfflineProcessing offlineProcessing;

  public static final String JSON_PROPERTY_OPI = "opi";
  private Opi opi;

  public static final String JSON_PROPERTY_PASSCODES = "passcodes";
  private Passcodes passcodes;

  public static final String JSON_PROPERTY_PAY_AT_TABLE = "payAtTable";
  private PayAtTable payAtTable;

  public static final String JSON_PROPERTY_PAYMENT = "payment";
  private Payment payment;

  public static final String JSON_PROPERTY_RECEIPT_OPTIONS = "receiptOptions";
  private ReceiptOptions receiptOptions;

  public static final String JSON_PROPERTY_RECEIPT_PRINTING = "receiptPrinting";
  private ReceiptPrinting receiptPrinting;

  public static final String JSON_PROPERTY_REFUNDS = "refunds";
  private Refunds refunds;

  public static final String JSON_PROPERTY_SIGNATURE = "signature";
  private Signature signature;

  public static final String JSON_PROPERTY_STANDALONE = "standalone";
  private Standalone standalone;

  public static final String JSON_PROPERTY_STORE_AND_FORWARD = "storeAndForward";
  private StoreAndForward storeAndForward;

  public static final String JSON_PROPERTY_SURCHARGE = "surcharge";
  private Surcharge surcharge;

  public static final String JSON_PROPERTY_TAP_TO_PAY = "tapToPay";
  private TapToPay tapToPay;

  public static final String JSON_PROPERTY_TERMINAL_INSTRUCTIONS = "terminalInstructions";
  private TerminalInstructions terminalInstructions;

  public static final String JSON_PROPERTY_TIMEOUTS = "timeouts";
  private Timeouts timeouts;

  public static final String JSON_PROPERTY_WIFI_PROFILES = "wifiProfiles";
  private WifiProfiles wifiProfiles;

  public TerminalSettings() { 
  }

  /**
   * cardholderReceipt
   *
   * @param cardholderReceipt 
   * @return the current {@code TerminalSettings} instance, allowing for method chaining
   */
  public TerminalSettings cardholderReceipt(CardholderReceipt cardholderReceipt) {
    this.cardholderReceipt = cardholderReceipt;
    return this;
  }

  /**
   * Get cardholderReceipt
   * @return cardholderReceipt 
   */
  @JsonProperty(JSON_PROPERTY_CARDHOLDER_RECEIPT)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public CardholderReceipt getCardholderReceipt() {
    return cardholderReceipt;
  }

  /**
   * cardholderReceipt
   *
   * @param cardholderReceipt 
   */
  @JsonProperty(JSON_PROPERTY_CARDHOLDER_RECEIPT)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setCardholderReceipt(CardholderReceipt cardholderReceipt) {
    this.cardholderReceipt = cardholderReceipt;
  }

  /**
   * connectivity
   *
   * @param connectivity 
   * @return the current {@code TerminalSettings} instance, allowing for method chaining
   */
  public TerminalSettings connectivity(Connectivity connectivity) {
    this.connectivity = connectivity;
    return this;
  }

  /**
   * Get connectivity
   * @return connectivity 
   */
  @JsonProperty(JSON_PROPERTY_CONNECTIVITY)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public Connectivity getConnectivity() {
    return connectivity;
  }

  /**
   * connectivity
   *
   * @param connectivity 
   */
  @JsonProperty(JSON_PROPERTY_CONNECTIVITY)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setConnectivity(Connectivity connectivity) {
    this.connectivity = connectivity;
  }

  /**
   * Settings for tipping with or without predefined options to choose from. The maximum number of predefined options is four, or three plus the option to enter a custom tip.
   *
   * @param gratuities Settings for tipping with or without predefined options to choose from. The maximum number of predefined options is four, or three plus the option to enter a custom tip.
   * @return the current {@code TerminalSettings} instance, allowing for method chaining
   */
  public TerminalSettings gratuities(List gratuities) {
    this.gratuities = gratuities;
    return this;
  }

  public TerminalSettings addGratuitiesItem(Gratuity gratuitiesItem) {
    if (this.gratuities == null) {
      this.gratuities = new ArrayList<>();
    }
    this.gratuities.add(gratuitiesItem);
    return this;
  }

  /**
   * Settings for tipping with or without predefined options to choose from. The maximum number of predefined options is four, or three plus the option to enter a custom tip.
   * @return gratuities Settings for tipping with or without predefined options to choose from. The maximum number of predefined options is four, or three plus the option to enter a custom tip.
   */
  @JsonProperty(JSON_PROPERTY_GRATUITIES)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public List getGratuities() {
    return gratuities;
  }

  /**
   * Settings for tipping with or without predefined options to choose from. The maximum number of predefined options is four, or three plus the option to enter a custom tip.
   *
   * @param gratuities Settings for tipping with or without predefined options to choose from. The maximum number of predefined options is four, or three plus the option to enter a custom tip.
   */
  @JsonProperty(JSON_PROPERTY_GRATUITIES)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setGratuities(List gratuities) {
    this.gratuities = gratuities;
  }

  /**
   * hardware
   *
   * @param hardware 
   * @return the current {@code TerminalSettings} instance, allowing for method chaining
   */
  public TerminalSettings hardware(Hardware hardware) {
    this.hardware = hardware;
    return this;
  }

  /**
   * Get hardware
   * @return hardware 
   */
  @JsonProperty(JSON_PROPERTY_HARDWARE)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public Hardware getHardware() {
    return hardware;
  }

  /**
   * hardware
   *
   * @param hardware 
   */
  @JsonProperty(JSON_PROPERTY_HARDWARE)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setHardware(Hardware hardware) {
    this.hardware = hardware;
  }

  /**
   * localization
   *
   * @param localization 
   * @return the current {@code TerminalSettings} instance, allowing for method chaining
   */
  public TerminalSettings localization(Localization localization) {
    this.localization = localization;
    return this;
  }

  /**
   * Get localization
   * @return localization 
   */
  @JsonProperty(JSON_PROPERTY_LOCALIZATION)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public Localization getLocalization() {
    return localization;
  }

  /**
   * localization
   *
   * @param localization 
   */
  @JsonProperty(JSON_PROPERTY_LOCALIZATION)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setLocalization(Localization localization) {
    this.localization = localization;
  }

  /**
   * nexo
   *
   * @param nexo 
   * @return the current {@code TerminalSettings} instance, allowing for method chaining
   */
  public TerminalSettings nexo(Nexo nexo) {
    this.nexo = nexo;
    return this;
  }

  /**
   * Get nexo
   * @return nexo 
   */
  @JsonProperty(JSON_PROPERTY_NEXO)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public Nexo getNexo() {
    return nexo;
  }

  /**
   * nexo
   *
   * @param nexo 
   */
  @JsonProperty(JSON_PROPERTY_NEXO)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setNexo(Nexo nexo) {
    this.nexo = nexo;
  }

  /**
   * offlineProcessing
   *
   * @param offlineProcessing 
   * @return the current {@code TerminalSettings} instance, allowing for method chaining
   */
  public TerminalSettings offlineProcessing(OfflineProcessing offlineProcessing) {
    this.offlineProcessing = offlineProcessing;
    return this;
  }

  /**
   * Get offlineProcessing
   * @return offlineProcessing 
   */
  @JsonProperty(JSON_PROPERTY_OFFLINE_PROCESSING)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public OfflineProcessing getOfflineProcessing() {
    return offlineProcessing;
  }

  /**
   * offlineProcessing
   *
   * @param offlineProcessing 
   */
  @JsonProperty(JSON_PROPERTY_OFFLINE_PROCESSING)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setOfflineProcessing(OfflineProcessing offlineProcessing) {
    this.offlineProcessing = offlineProcessing;
  }

  /**
   * opi
   *
   * @param opi 
   * @return the current {@code TerminalSettings} instance, allowing for method chaining
   */
  public TerminalSettings opi(Opi opi) {
    this.opi = opi;
    return this;
  }

  /**
   * Get opi
   * @return opi 
   */
  @JsonProperty(JSON_PROPERTY_OPI)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public Opi getOpi() {
    return opi;
  }

  /**
   * opi
   *
   * @param opi 
   */
  @JsonProperty(JSON_PROPERTY_OPI)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setOpi(Opi opi) {
    this.opi = opi;
  }

  /**
   * passcodes
   *
   * @param passcodes 
   * @return the current {@code TerminalSettings} instance, allowing for method chaining
   */
  public TerminalSettings passcodes(Passcodes passcodes) {
    this.passcodes = passcodes;
    return this;
  }

  /**
   * Get passcodes
   * @return passcodes 
   */
  @JsonProperty(JSON_PROPERTY_PASSCODES)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public Passcodes getPasscodes() {
    return passcodes;
  }

  /**
   * passcodes
   *
   * @param passcodes 
   */
  @JsonProperty(JSON_PROPERTY_PASSCODES)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setPasscodes(Passcodes passcodes) {
    this.passcodes = passcodes;
  }

  /**
   * payAtTable
   *
   * @param payAtTable 
   * @return the current {@code TerminalSettings} instance, allowing for method chaining
   */
  public TerminalSettings payAtTable(PayAtTable payAtTable) {
    this.payAtTable = payAtTable;
    return this;
  }

  /**
   * Get payAtTable
   * @return payAtTable 
   */
  @JsonProperty(JSON_PROPERTY_PAY_AT_TABLE)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public PayAtTable getPayAtTable() {
    return payAtTable;
  }

  /**
   * payAtTable
   *
   * @param payAtTable 
   */
  @JsonProperty(JSON_PROPERTY_PAY_AT_TABLE)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setPayAtTable(PayAtTable payAtTable) {
    this.payAtTable = payAtTable;
  }

  /**
   * payment
   *
   * @param payment 
   * @return the current {@code TerminalSettings} instance, allowing for method chaining
   */
  public TerminalSettings payment(Payment payment) {
    this.payment = payment;
    return this;
  }

  /**
   * Get payment
   * @return payment 
   */
  @JsonProperty(JSON_PROPERTY_PAYMENT)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public Payment getPayment() {
    return payment;
  }

  /**
   * payment
   *
   * @param payment 
   */
  @JsonProperty(JSON_PROPERTY_PAYMENT)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setPayment(Payment payment) {
    this.payment = payment;
  }

  /**
   * receiptOptions
   *
   * @param receiptOptions 
   * @return the current {@code TerminalSettings} instance, allowing for method chaining
   */
  public TerminalSettings receiptOptions(ReceiptOptions receiptOptions) {
    this.receiptOptions = receiptOptions;
    return this;
  }

  /**
   * Get receiptOptions
   * @return receiptOptions 
   */
  @JsonProperty(JSON_PROPERTY_RECEIPT_OPTIONS)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public ReceiptOptions getReceiptOptions() {
    return receiptOptions;
  }

  /**
   * receiptOptions
   *
   * @param receiptOptions 
   */
  @JsonProperty(JSON_PROPERTY_RECEIPT_OPTIONS)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setReceiptOptions(ReceiptOptions receiptOptions) {
    this.receiptOptions = receiptOptions;
  }

  /**
   * receiptPrinting
   *
   * @param receiptPrinting 
   * @return the current {@code TerminalSettings} instance, allowing for method chaining
   */
  public TerminalSettings receiptPrinting(ReceiptPrinting receiptPrinting) {
    this.receiptPrinting = receiptPrinting;
    return this;
  }

  /**
   * Get receiptPrinting
   * @return receiptPrinting 
   */
  @JsonProperty(JSON_PROPERTY_RECEIPT_PRINTING)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public ReceiptPrinting getReceiptPrinting() {
    return receiptPrinting;
  }

  /**
   * receiptPrinting
   *
   * @param receiptPrinting 
   */
  @JsonProperty(JSON_PROPERTY_RECEIPT_PRINTING)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setReceiptPrinting(ReceiptPrinting receiptPrinting) {
    this.receiptPrinting = receiptPrinting;
  }

  /**
   * refunds
   *
   * @param refunds 
   * @return the current {@code TerminalSettings} instance, allowing for method chaining
   */
  public TerminalSettings refunds(Refunds refunds) {
    this.refunds = refunds;
    return this;
  }

  /**
   * Get refunds
   * @return refunds 
   */
  @JsonProperty(JSON_PROPERTY_REFUNDS)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public Refunds getRefunds() {
    return refunds;
  }

  /**
   * refunds
   *
   * @param refunds 
   */
  @JsonProperty(JSON_PROPERTY_REFUNDS)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setRefunds(Refunds refunds) {
    this.refunds = refunds;
  }

  /**
   * signature
   *
   * @param signature 
   * @return the current {@code TerminalSettings} instance, allowing for method chaining
   */
  public TerminalSettings signature(Signature signature) {
    this.signature = signature;
    return this;
  }

  /**
   * Get signature
   * @return signature 
   */
  @JsonProperty(JSON_PROPERTY_SIGNATURE)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public Signature getSignature() {
    return signature;
  }

  /**
   * signature
   *
   * @param signature 
   */
  @JsonProperty(JSON_PROPERTY_SIGNATURE)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setSignature(Signature signature) {
    this.signature = signature;
  }

  /**
   * standalone
   *
   * @param standalone 
   * @return the current {@code TerminalSettings} instance, allowing for method chaining
   */
  public TerminalSettings standalone(Standalone standalone) {
    this.standalone = standalone;
    return this;
  }

  /**
   * Get standalone
   * @return standalone 
   */
  @JsonProperty(JSON_PROPERTY_STANDALONE)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public Standalone getStandalone() {
    return standalone;
  }

  /**
   * standalone
   *
   * @param standalone 
   */
  @JsonProperty(JSON_PROPERTY_STANDALONE)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setStandalone(Standalone standalone) {
    this.standalone = standalone;
  }

  /**
   * storeAndForward
   *
   * @param storeAndForward 
   * @return the current {@code TerminalSettings} instance, allowing for method chaining
   */
  public TerminalSettings storeAndForward(StoreAndForward storeAndForward) {
    this.storeAndForward = storeAndForward;
    return this;
  }

  /**
   * Get storeAndForward
   * @return storeAndForward 
   */
  @JsonProperty(JSON_PROPERTY_STORE_AND_FORWARD)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public StoreAndForward getStoreAndForward() {
    return storeAndForward;
  }

  /**
   * storeAndForward
   *
   * @param storeAndForward 
   */
  @JsonProperty(JSON_PROPERTY_STORE_AND_FORWARD)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setStoreAndForward(StoreAndForward storeAndForward) {
    this.storeAndForward = storeAndForward;
  }

  /**
   * surcharge
   *
   * @param surcharge 
   * @return the current {@code TerminalSettings} instance, allowing for method chaining
   */
  public TerminalSettings surcharge(Surcharge surcharge) {
    this.surcharge = surcharge;
    return this;
  }

  /**
   * Get surcharge
   * @return surcharge 
   */
  @JsonProperty(JSON_PROPERTY_SURCHARGE)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public Surcharge getSurcharge() {
    return surcharge;
  }

  /**
   * surcharge
   *
   * @param surcharge 
   */
  @JsonProperty(JSON_PROPERTY_SURCHARGE)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setSurcharge(Surcharge surcharge) {
    this.surcharge = surcharge;
  }

  /**
   * tapToPay
   *
   * @param tapToPay 
   * @return the current {@code TerminalSettings} instance, allowing for method chaining
   */
  public TerminalSettings tapToPay(TapToPay tapToPay) {
    this.tapToPay = tapToPay;
    return this;
  }

  /**
   * Get tapToPay
   * @return tapToPay 
   */
  @JsonProperty(JSON_PROPERTY_TAP_TO_PAY)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public TapToPay getTapToPay() {
    return tapToPay;
  }

  /**
   * tapToPay
   *
   * @param tapToPay 
   */
  @JsonProperty(JSON_PROPERTY_TAP_TO_PAY)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setTapToPay(TapToPay tapToPay) {
    this.tapToPay = tapToPay;
  }

  /**
   * terminalInstructions
   *
   * @param terminalInstructions 
   * @return the current {@code TerminalSettings} instance, allowing for method chaining
   */
  public TerminalSettings terminalInstructions(TerminalInstructions terminalInstructions) {
    this.terminalInstructions = terminalInstructions;
    return this;
  }

  /**
   * Get terminalInstructions
   * @return terminalInstructions 
   */
  @JsonProperty(JSON_PROPERTY_TERMINAL_INSTRUCTIONS)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public TerminalInstructions getTerminalInstructions() {
    return terminalInstructions;
  }

  /**
   * terminalInstructions
   *
   * @param terminalInstructions 
   */
  @JsonProperty(JSON_PROPERTY_TERMINAL_INSTRUCTIONS)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setTerminalInstructions(TerminalInstructions terminalInstructions) {
    this.terminalInstructions = terminalInstructions;
  }

  /**
   * timeouts
   *
   * @param timeouts 
   * @return the current {@code TerminalSettings} instance, allowing for method chaining
   */
  public TerminalSettings timeouts(Timeouts timeouts) {
    this.timeouts = timeouts;
    return this;
  }

  /**
   * Get timeouts
   * @return timeouts 
   */
  @JsonProperty(JSON_PROPERTY_TIMEOUTS)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public Timeouts getTimeouts() {
    return timeouts;
  }

  /**
   * timeouts
   *
   * @param timeouts 
   */
  @JsonProperty(JSON_PROPERTY_TIMEOUTS)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setTimeouts(Timeouts timeouts) {
    this.timeouts = timeouts;
  }

  /**
   * wifiProfiles
   *
   * @param wifiProfiles 
   * @return the current {@code TerminalSettings} instance, allowing for method chaining
   */
  public TerminalSettings wifiProfiles(WifiProfiles wifiProfiles) {
    this.wifiProfiles = wifiProfiles;
    return this;
  }

  /**
   * Get wifiProfiles
   * @return wifiProfiles 
   */
  @JsonProperty(JSON_PROPERTY_WIFI_PROFILES)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public WifiProfiles getWifiProfiles() {
    return wifiProfiles;
  }

  /**
   * wifiProfiles
   *
   * @param wifiProfiles 
   */
  @JsonProperty(JSON_PROPERTY_WIFI_PROFILES)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setWifiProfiles(WifiProfiles wifiProfiles) {
    this.wifiProfiles = wifiProfiles;
  }

  /**
   * Return true if this TerminalSettings object is equal to o.
   */
  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    TerminalSettings terminalSettings = (TerminalSettings) o;
    return Objects.equals(this.cardholderReceipt, terminalSettings.cardholderReceipt) &&
        Objects.equals(this.connectivity, terminalSettings.connectivity) &&
        Objects.equals(this.gratuities, terminalSettings.gratuities) &&
        Objects.equals(this.hardware, terminalSettings.hardware) &&
        Objects.equals(this.localization, terminalSettings.localization) &&
        Objects.equals(this.nexo, terminalSettings.nexo) &&
        Objects.equals(this.offlineProcessing, terminalSettings.offlineProcessing) &&
        Objects.equals(this.opi, terminalSettings.opi) &&
        Objects.equals(this.passcodes, terminalSettings.passcodes) &&
        Objects.equals(this.payAtTable, terminalSettings.payAtTable) &&
        Objects.equals(this.payment, terminalSettings.payment) &&
        Objects.equals(this.receiptOptions, terminalSettings.receiptOptions) &&
        Objects.equals(this.receiptPrinting, terminalSettings.receiptPrinting) &&
        Objects.equals(this.refunds, terminalSettings.refunds) &&
        Objects.equals(this.signature, terminalSettings.signature) &&
        Objects.equals(this.standalone, terminalSettings.standalone) &&
        Objects.equals(this.storeAndForward, terminalSettings.storeAndForward) &&
        Objects.equals(this.surcharge, terminalSettings.surcharge) &&
        Objects.equals(this.tapToPay, terminalSettings.tapToPay) &&
        Objects.equals(this.terminalInstructions, terminalSettings.terminalInstructions) &&
        Objects.equals(this.timeouts, terminalSettings.timeouts) &&
        Objects.equals(this.wifiProfiles, terminalSettings.wifiProfiles);
  }

  @Override
  public int hashCode() {
    return Objects.hash(cardholderReceipt, connectivity, gratuities, hardware, localization, nexo, offlineProcessing, opi, passcodes, payAtTable, payment, receiptOptions, receiptPrinting, refunds, signature, standalone, storeAndForward, surcharge, tapToPay, terminalInstructions, timeouts, wifiProfiles);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class TerminalSettings {\n");
    sb.append("    cardholderReceipt: ").append(toIndentedString(cardholderReceipt)).append("\n");
    sb.append("    connectivity: ").append(toIndentedString(connectivity)).append("\n");
    sb.append("    gratuities: ").append(toIndentedString(gratuities)).append("\n");
    sb.append("    hardware: ").append(toIndentedString(hardware)).append("\n");
    sb.append("    localization: ").append(toIndentedString(localization)).append("\n");
    sb.append("    nexo: ").append(toIndentedString(nexo)).append("\n");
    sb.append("    offlineProcessing: ").append(toIndentedString(offlineProcessing)).append("\n");
    sb.append("    opi: ").append(toIndentedString(opi)).append("\n");
    sb.append("    passcodes: ").append(toIndentedString(passcodes)).append("\n");
    sb.append("    payAtTable: ").append(toIndentedString(payAtTable)).append("\n");
    sb.append("    payment: ").append(toIndentedString(payment)).append("\n");
    sb.append("    receiptOptions: ").append(toIndentedString(receiptOptions)).append("\n");
    sb.append("    receiptPrinting: ").append(toIndentedString(receiptPrinting)).append("\n");
    sb.append("    refunds: ").append(toIndentedString(refunds)).append("\n");
    sb.append("    signature: ").append(toIndentedString(signature)).append("\n");
    sb.append("    standalone: ").append(toIndentedString(standalone)).append("\n");
    sb.append("    storeAndForward: ").append(toIndentedString(storeAndForward)).append("\n");
    sb.append("    surcharge: ").append(toIndentedString(surcharge)).append("\n");
    sb.append("    tapToPay: ").append(toIndentedString(tapToPay)).append("\n");
    sb.append("    terminalInstructions: ").append(toIndentedString(terminalInstructions)).append("\n");
    sb.append("    timeouts: ").append(toIndentedString(timeouts)).append("\n");
    sb.append("    wifiProfiles: ").append(toIndentedString(wifiProfiles)).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    ");
  }

/**
   * Create an instance of TerminalSettings given an JSON string
   *
   * @param jsonString JSON string
   * @return An instance of TerminalSettings
   * @throws JsonProcessingException if the JSON string is invalid with respect to TerminalSettings
   */
  public static TerminalSettings fromJson(String jsonString) throws JsonProcessingException {
    return JSON.getMapper().readValue(jsonString, TerminalSettings.class);
  }
/**
  * Convert an instance of TerminalSettings to an JSON string
  *
  * @return JSON string
  */
  public String toJson() throws JsonProcessingException {
    return JSON.getMapper().writeValueAsString(this);
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy