Integrated Bar Tabs

The Integrated Bar Tabs feature allows POS vendors to create a bar tabs feature that is more convenient and secure for both the merchant and card holder than the traditional 'card behind the bar' approach.

The bar tabs feature allows the POS to open a tab and specify a limit amount for the tab. The terminal does a pre-auth for the amount and the card holder gets a receipt for the tab with appropriate wording. The POS then keeps track of the tab amount and once the tab has been exhausted or (or the event has finished), the POS sends a close tab message with the final amount (which must be less than the limit amount used when opening the tab) and the funds are captured.

The main benefits here are:

  1. No more leaving the card behind the bar where it is open to theft or loss or skimming.
  2. The card holder does not have to wait until the end of the event to get their card back.
  3. No risk for the card holder having the amount exceed their desired limit for the tab.
  4. No risk for the merchant not getting the funds approved at the end of the event.

Note:

Tab functions only available with credit cards (including scheme debit cards).

Methods

Open Tab

The Open Tab function is available via an asynchronous interface.

The name for the interface is "Tyro.Integ.ITerminalAdapter".

  • boolean OpenTab(int tabLimitInCents): To commence an open tab transaction. Pass in the tab limit amount in cents. The method will return false if this instance of the Tyro Terminal Adapter is busy performing another transaction, or the amounts are invalid.
  • boolean OpenTab(string merchantID, string terminalID, int tabLimitInCents): To commence an open tab transaction using the specified mid and tid. Pass in the tab limit amount in cents. The method will return false if this instance of the Tyro Terminal Adapter is busy performing another transaction, or the amounts are invalid.

The asynchronous method raises events during the transaction that the POS needs to listen for. These events are described earlier in the document.

Close Tab

The name for the Close Tab function is Tyro.Integ.ITerminalAdapterTabCompletion.

  • ITabCompletionResult CloseTab(string tabCompletionRef, int tabAmount) To close an open tab. Pass in the completion reference returned in the OpenTab transaction as well as the final tab amount in cents (which cannot be greater than the tab amount it was opened with).
  • ITabCompletionResult CloseTab(string merchantID, string terminalID, string tabCompletionRef, int tabAmount) To close an open tab using the specified mid and tid. Pass in the completion reference returned in the OpenTab transaction as well as the final tab amount in cents (which cannot be greater than the tab amount it was opened with).

Void Tab

The name for the Close Tab function is Tyro.Integ.ITerminalAdapterTabCompletion.

  • ITabCompletionResult VoidTab(string tabCompletionRef) To void an open tab. Pass in the completion reference returned in the OpenTab transaction as well as the final tab amount (which cannot be greater than the tab amount it was opened with).
  • ITabCompletionResult VoidTab(string merchantID, string terminalID, string tabCompletionRef) To void an open tab using the specified mid and tid. Pass in the completion reference returned in the OpenTab transaction.

Return Value

The ITabCompletionResult interface contains the following methods:

  • boolean ErrorOccurred() : This method returns true if a configuration or network error occurred. In this case the caller should call the GetError() method to determine what the cause of the error was so that corrective action can be take. A return value of false indicates that the call executed successfully.
  • Error GetError() : This method returns an Error object that allows the caller to determine things like the HttpStatusCode, the ErrorMessage and other useful pieces of information.
  • string GetResult() : A machine readable result code. The value is either OK, AlreadyCompleted, AlreadyVoided, UnknownTransaction or SystemError.
Copyright © Tyro Payments 2019-2022. All right reserved.