# Tyro Terminal Adapter (TTA) This is the TTA library that supports newer .net and means to deprecate old TTA which is for .net framework up to 3.5. ## Existing Interfaces Covered This library provides the same transacting functionalities via the same set of interfaces from old TTA as listed below: - **ITerminalAdapter** - **ITerminalAdapterHeadless** - **ITerminalAdapterReports** - **ITerminalAdapterSettlement** - **ITerminalAdapterTipping** - **ITerminalAdapterEasyclaim** - **ITerminalAdapterTabCompletion** - **ITerminalAdapterPreAuthCompletion** - **ITerminalAdapterHealthpoint** ## New Interfaces Introduced These are the new features added via the new feature interfaces: - **IUtilityLauncher** This is used to launch utility apps like Configurator. ## Components Removed This new library streamlines TTA solution by making following components deprecated: - The registry usage The per user settings are moved to user config file in `%UserProfile%\AppData\Local\Tyro\config.json`. The global settings are moved to online `settings.json` file to be hosted by TYRO. - Installer This is no longer needed as no installation is required to use TTA functionality on client machine. - Filewatcher This is no longer supported. - RMS COM This is no longer supported. - Updater & Telemetry This is no longer required. - Compact Framework The support for compact framework is removed as it no longer exists. ## How To Use Before initiating any transactions (purchase, refund etc.), please make sure Tyro terminal is paired with POS using the configurator. Examples of launching configurator and initiating a transaction can be found below. ### To use this library without dependency injection - Configure the client with a valid API key granted by TYRO ```csharp TtaClient.ConfigureClient("your api key"); ``` - Use class `Tyro.Terminal.Adapter.ThinClient.TtaClient` to obtain the instance of the desired TTA feature interface and invoke TTA functionalities ```csharp // launch configurator for pairing var utilityLauncher = TtaClient.GetRequiredTtaFeature(); await utilityLauncher.LaunchConfiguratorAsync(); // initiate a refund transaction var terminalAdapter = TtaClient.GetRequiredTtaFeature(); terminalAdapter.Refund(111); ``` ### To use with MS dependency injection - Register TTA features in `IServiceCollection` with a valid API key granted by TYRO ```csharp services.AddTtaFeatures("your api key"); ``` - Inject desired TTA feature interface to your business class and invoke TTA functionalities ```csharp public class SomeBusinessClass { private readonly IUtilityLauncher _utilityLauncher; private readonly ITerminalAdapter _terminalAdapter; public SomeBusinessClass(IUtilityLauncher utilityLauncher, ITerminalAdapter terminalAdapter) { _utilityLauncher = utilityLauncher; _terminalAdapter = terminalAdapter; } public async Task SomePairMethod() { await utilityLauncher.LaunchConfiguratorAsync(); } public void SomeRefundMethod() { terminalAdapter.Refund(111); } } ``` ## Demo App There is an example POS app available to showcase how to integrate the TTA library and use its features. For further assistance, please reach out to the Integration Support team at [email](mailto:integrationsupport@tyro.com)