TerminalSettings

public class TerminalSettings : 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 terminal settings loading the configuration from the global section in the configuration file.

    Declaration

    Swift

    public init() throws
  • Create terminal settings loading the configuration from the device specific section in the configuration file. If not found the global section is loaded instead.

    Declaration

    Swift

    public init(deviceId: String) throws
  • 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 var logDir: String
  • Terminal ID to be broadcasted in case of ConnectionMode Broadcast.

    Declaration

    Swift

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

    Declaration

    Swift

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

    Declaration

    Swift

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

    Declaration

    Swift

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

    Declaration

    Swift

    public var broadcastInterface: String
  • Protocol type.

    Declaration

    Swift

    public var protocolType: CProtocolType
  • Integrator identifier.

    Declaration

    Swift

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

    Declaration

    Swift

    public var guides: Set<CGuides>
  • Manufacturer flags.

    Declaration

    Swift

    public var manufacturerFlags: Int
  • Automatically retrieves application information during logging in.

    Declaration

    Swift

    public var fetchBrands: Bool
  • After executing the Transaction- function the API commits the transaction automatically.

    Declaration

    Swift

    public var autoCommit: Bool
  • Shift management is handled automatically. Required if device does not support Activate and Deactivate functions.

    Declaration

    Swift

    public var autoShiftManagement: Bool
  • Shutter management is handled automatically.

    Declaration

    Swift

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

    Declaration

    Swift

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

    Declaration

    Swift

    public 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 var commitTimeout: Int
  • dcc

    Indicates if Dcc shall be supported.

    Declaration

    Swift

    public var dcc: Bool
  • Indicates if partial approval shall be supported.

    Declaration

    Swift

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

    Declaration

    Swift

    public var proceedTimeout: Int
  • Allow insert card before activation.

    Declaration

    Swift

    public 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 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 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 var lateCheckinTimeout: Int
  • Number of send request repetitions or 0 to disable. Default is 0. Affects these functions:

    • Commit
    • Rollback

    Declaration

    Swift

    public var requestRepetition: Int
  • Enable Keep-Alive handling. Default is true.

    Declaration

    Swift

    public var enableKeepAlive: Bool
  • Saferpay: Terminal Id.

    Declaration

    Swift

    public var saferpayTerminalId: String?
  • Saferpay: Base64 encoded user name + password.

    Declaration

    Swift

    public var saferpayCredentials: String?
  • Saferpay: Customer ID.

    Declaration

    Swift

    public var saferpayCustomerId: String?
  • Saferpay: Base URL.

    Declaration

    Swift

    public var saferpayBaseUrl: String
  • Enabled hacks. For internal use only.

    Declaration

    Swift

    public var enabledHacks: Set<Int>
  • Textual representation.

    Declaration

    Swift

    public var description: String { get }