TerminalSettingsImmutable

public class TerminalSettingsImmutable : CustomStringConvertible

The per terminal configuration can be done on two ways:

  • In a configuration file “TimApi.cfg”
  • With the API TerminalSettings done from the application.

TIMApi reads the configuration file when the first Terminal instance is created.

The class TerminalSettings allows the setting from Application. Each instance of the Terminal class is initialized using an own instance of TerminalSettings containing the configuration relevant for this terminal. The Terminal instances read only the configuration file section with the matching terminal identifier. Multiple terminals can be configured as long as their terminal identifier are different.

All configuration has to be done before an instance of TerminalSettings is used to create a Terminal class instance.

Defines also automatic behavior for interacting with EFT terminals. By default all automatic behaviors are enabled.

  • Create copy of terminal settings. @param settings Settings to copy

    Declaration

    Swift

    public init(settings: TerminalSettings)
  • Defines where the Log File has to be generated. Overrides the LogDir defined in GlobalSettings.

    Declaration

    Swift

    public private(set) var logDir: String
  • Terminal ID to be broadcasted in case of ConnectionMode Broadcast.

    Declaration

    Swift

    public private(set) var terminalId: String
  • Broadcast (default) or OnFixIP.

    Declaration

    Swift

    public private(set) var connectionMode: CConnectionMode
  • IP address of the EFT terminal in case of ConnectionMode OnFixIP.

    Declaration

    Swift

    public private(set) var connectionIPString: String
  • Listening Port of the EFT terminal in case of ConnectionMode OnFixIP.

    Declaration

    Swift

    public private(set) var connectionIPPort: Int
  • Interface to use for broadcasting or empty string to broadcast on all available interfaces.

    Declaration

    Swift

    public private(set) var broadcastInterface: String
  • Protocol type.

    Declaration

    Swift

    public private(set) var protocolType: CProtocolType
  • Integrator identifier.

    Declaration

    Swift

    public private(set) var integratorId: String
  • Required guides. Login succeeds only if the terminal is able to provide all requested guides.

    Declaration

    Swift

    public private(set) var guides: Set<CGuides>
  • Manufacturer flags.

    Declaration

    Swift

    public private(set) var manufacturerFlags: Int
  • Automatically connects after a new instance of Terminal API is created or after the connection to the EFT has been lost. Does not automatically connect if the API user calls {@link Terminal#disconnect} manually.

    Declaration

    Swift

    public private(set) var autoConnect: Bool
  • Automatically logs in after connected to the EFT.

    Declaration

    Swift

    public private(set) var autoLogin: Bool
  • Automatically retrieves application information during logging in.

    Declaration

    Swift

    public private(set) var fetchBrands: Bool
  • Automatically activate EFT after every request finishes that is applicable in logged in state. This affects any situation such a request is issued. Also automatically activating after logging in. Does not affect calling {@link Terminal#deactivate} manually.

    Declaration

    Swift

    public private(set) var autoActivate: Bool
  • After executing the Transaction- function the API commits the transaction automatically.

    Declaration

    Swift

    public private(set) var autoCommit: Bool
  • Automatically deactivate EFT after every request finishes that is applicable in open state. This affects any situation such a request is issued.

    Declaration

    Swift

    public private(set) var autoDeactivate: Bool
  • Automatically logs out after {@link Terminal#deactivate} has been called or an Auto-Deactivate has been performed.

    Declaration

    Swift

    public private(set) var autoLogout: Bool
  • Automatically disconnect after {@link Terminal#logout} has been called or an Auto-Logout has been performed.

    Declaration

    Swift

    public private(set) var autoDisconnect: Bool
  • Shift management is handled automatically. Required if device does not support Activate and Deactivate functions.

    Declaration

    Swift

    public private(set) var autoShiftManagement: Bool
  • Shutter management is handled automatically.

    Declaration

    Swift

    public private(set) var autoShutterManagement: Bool
  • Timeout in seconds the terminal waits for a card to be inserted before canceling an open transaction request.

    Declaration

    Swift

    public private(set) var cardInsertionTimeout: Int
  • Timeout in seconds the terminal waits for a card to be removed before requesting attendant interaction.

    Declaration

    Swift

    public private(set) var cardRemovalTimeout: Int
  • Timeout in seconds the terminal waits until the technical auto-reversal is processed, if no commit received. Timer starts with response and is reset in case client enters information in the terminal.

    Declaration

    Swift

    public private(set) var commitTimeout: Int
  • dcc

    Indicates if Dcc shall be supported.

    Declaration

    Swift

    public private(set) var dcc: Bool
  • Indicates if partial approval shall be supported.

    Declaration

    Swift

    public private(set) var partialApproval: Bool
  • Timeout in seconds the terminal waits in WaitForProceed state for an additional function until an error is returned.

    Declaration

    Swift

    public private(set) var proceedTimeout: Int
  • Allow insert card before activation.

    Declaration

    Swift

    public private(set) var allowClosedCardInsert: Bool
  • Tip is allowed for purchase transactions.

    This parameter is only used if {@link com.six.timapi.constants.Guides#GASTRO} is enabled.

    Declaration

    Swift

    public private(set) var tipAllowed: Bool
  • Enable fast notification mode.

    This parameter is only used if {@link com.six.timapi.constants.Guides#AUSTRIAN_USE_CASES} is enabled.

    Declaration

    Swift

    public private(set) var fastNtfMode: Bool
  • This timeout indicates how long a terminal shall wait in seconds for an AmtAdjustment notification from the ECR in case of a late-checkin.

    Declaration

    Swift

    public private(set) var lateCheckinTimeout: Int
  • Number of send request repetitions or 0 to disable. Default is 0. Affects these functions:

    • Commit
    • Rollback

    Declaration

    Swift

    public private(set) var requestRepetition: Int
  • Enable Keep-Alive handling. Default is true.

    Declaration

    Swift

    public private(set) var enableKeepAlive: Bool
  • Saferpay: Terminal Id.

    Declaration

    Swift

    public private(set) var saferpayTerminalId: String?
  • Saferpay: Base64 encoded user name + password.

    Declaration

    Swift

    public private(set) var saferpayCredentials: String?
  • Saferpay: Customer ID.

    Declaration

    Swift

    public private(set) var saferpayCustomerId: String?
  • Saferpay: Base URL.

    Declaration

    Swift

    public private(set) var saferpayBaseUrl: String
  • Enabled hacks. For internal use only.

    Declaration

    Swift

    public private(set) var enabledHacks: Set<Int>
  • Textual representation.

    Declaration

    Swift

    public var description: String { get }