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 { get }
-
Terminal ID to be broadcasted in case of ConnectionMode Broadcast.
Declaration
Swift
public private(set) var terminalId: String { get }
-
Broadcast (default) or OnFixIP.
Declaration
Swift
public private(set) var connectionMode: CConnectionMode { get }
-
IP address of the EFT terminal in case of ConnectionMode OnFixIP.
Declaration
Swift
public private(set) var connectionIPString: String { get }
-
Listening Port of the EFT terminal in case of ConnectionMode OnFixIP.
Declaration
Swift
public private(set) var connectionIPPort: Int { get }
-
IP address of the ECR if listening.
Declaration
Swift
public private(set) var connectionListenIPString: String { get }
-
Listening Port of the ECR if listening.
Declaration
Swift
public private(set) var connectionListenIPPort: Int { get }
-
Interface to use for broadcasting or empty string to broadcast on all available interfaces.
Declaration
Swift
public private(set) var broadcastInterface: String { get }
-
Protocol type.
Declaration
Swift
public private(set) var protocolType: CProtocolType { get }
-
EFT connects to ECR instead of ECR connecting to EFT, which is the default way to connect.
Declaration
Swift
public private(set) var connectionListen: Bool { get }
-
Integrator identifier.
Declaration
Swift
public private(set) var integratorId: String { get }
-
Required guides. Login succeeds only if the terminal is able to provide all requested guides.
Declaration
Swift
public private(set) var guides: Set<CGuides> { get }
-
Manufacturer flags.
Declaration
Swift
public private(set) var manufacturerFlags: Int { get }
-
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 { get }
-
Automatically logs in after connected to the EFT.
Declaration
Swift
public private(set) var autoLogin: Bool { get }
-
Automatically retrieves application information during logging in.
Declaration
Swift
public private(set) var fetchBrands: Bool { get }
-
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 { get }
-
After executing the Transaction- function the API commits the transaction automatically.
Declaration
Swift
public private(set) var autoCommit: Bool { get }
-
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 { get }
-
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 { get }
-
Automatically disconnect after {@link Terminal#logout} has been called or an Auto-Logout has been performed.
Declaration
Swift
public private(set) var autoDisconnect: Bool { get }
-
Shift management is handled automatically. Required if device does not support Activate and Deactivate functions.
Declaration
Swift
public private(set) var autoShiftManagement: Bool { get }
-
Shutter management is handled automatically.
Declaration
Swift
public private(set) var autoShutterManagement: Bool { get }
-
Allow partial commit.
Declaration
Swift
public private(set) var partialCommit: Bool { get }
-
Automatically retrieves system information during logging in.
Declaration
Swift
public private(set) var autoSysInfo: Bool { get }
-
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 { get }
-
Timeout in seconds the terminal waits for a card to be removed before requesting attendant interaction.
Declaration
Swift
public private(set) var cardRemovalTimeout: Int { get }
-
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 { get }
-
Indicates if Dcc shall be supported.
Declaration
Swift
public private(set) var dcc: Bool { get }
-
Indicates if partial approval shall be supported.
Declaration
Swift
public private(set) var partialApproval: Bool { get }
-
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 { get }
-
Allow insert card before activation.
Declaration
Swift
public private(set) var allowClosedCardInsert: Bool { get }
-
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 { get }
-
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 { get }
-
Timeout in seconds the terminal displays the loyalty QR code after a “StartCheckout” call before returning to its “Idle” screen. Numeric number that specifies the QRCTimeout in seconds.
Declaration
Swift
public private(set) var qrcTimeout: Int { get }
-
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 { get }
-
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 { get }
-
Enable Keep-Alive handling. Default is true.
Declaration
Swift
public private(set) var enableKeepAlive: Bool { get }
-
Enable persistent state. Default is false.
Declaration
Swift
public private(set) var persistentState: Bool { get }
-
Returns the timeout for terminal wake-up operations.
Declaration
Swift
public private(set) var wakeupTimeout: Int { get }
-
Saferpay: Terminal Id.
Declaration
Swift
public private(set) var saferpayTerminalId: String? { get }
-
Saferpay: Base64 encoded user name + password.
Declaration
Swift
public private(set) var saferpayCredentials: String? { get }
-
Saferpay: Customer ID.
Declaration
Swift
public private(set) var saferpayCustomerId: String? { get }
-
Saferpay: Base URL.
Declaration
Swift
public private(set) var saferpayBaseUrl: String { get }
-
Prefer saferpay for transaction types.
Declaration
Swift
public private(set) var preferOmniChannel: Set<CTransactionType> { get }
-
Omnichannel: Key for API access.
Declaration
Swift
public private(set) var omnichannelAPIKey: String? { get }
-
Omnichannel: Secret key for API access.
Declaration
Swift
public private(set) var omnichannelAPISecret: String? { get }
-
Omnichannel: Host-URL (for example Ogone’s Direct API URL).
Declaration
Swift
public private(set) var omnichannelHostURL: String? { get }
-
Omnichannel: Timeout of Omnichannel host communication (in seconds).
Declaration
Swift
public private(set) var omnichannelHostTimeout: Int { get }
-
Timeout in seconds for SIXml requests. Default is 5 minutes.
Declaration
Swift
public private(set) var sixmlRequestTimeout: Int { get }
-
How long TIM API shall wait on the terminal in case it is busy to again become idle, in seconds. Round down to the next 2-divisable number (e.g. 11s > 10s).
Declaration
Swift
public private(set) var maxWaitForIdleAfterBusy: Int { get }
-
How long TIM API shall wait listening/connecting in seconds.
Declaration
Swift
public private(set) var connectTimeout: Int { get }
-
Enabled hacks. For internal use only.
Declaration
Swift
public private(set) var enabledHacks: Set<Int> { get }
-
Custom URLSessionDelegate for validating server certificates.
Declaration
Swift
public var urlSessionDelegate: URLSessionDelegate?
-
Textual representation.
Declaration
Swift
public var description: String { get }