{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-docs/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition","tabs","tab"]},"type":"markdown"},"seo":{"title":"Bar tabs","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"bar-tabs","__idx":0},"children":["Bar tabs"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Bar tabs let a POS pre-authorise funds and keep a tab running on the terminal, without holding a"," ","customer's card or ID document behind the bar. Staff open a tab on the POS with a chosen maximum"," ","amount; the cardholder secures it by tapping, swiping, or inserting their card on the terminal."," ","The POS keeps adding items to the tab, then closes it off for the final amount used — which must"," ","not exceed the limit the tab was opened with — capturing the funds. A tab can also be voided,"," ","releasing the hold entirely."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This avoids the traditional \"card behind the bar\" approach: there's no risk of the card or ID"," ","being lost, stolen, or skimmed while out of the cardholder's sight, no need for the cardholder to"," ","wait until the end of the event to get their card back, no risk of the tab exceeding the limit"," ","they agreed to, and no risk of the merchant not being settled the funds approved at the end of the"," ","event."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A bar tab is automatically voided/reversed if it isn't closed within ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["15 days"]},"."]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Closing or voiding a tab doesn't involve the terminal — it can be processed with the terminal"," ","disconnected or even powered off."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Bar tabs are only available with credit cards (including scheme debit cards)."]}]}]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"label":"JS library","disable":false},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Before you begin, check the certification criteria:"," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/assets/certification_criteria_iclient_retail_hospitality.7bf0b2b5462961db882fcba1f1e9ddbec0d942cc7ee96278907994599bebf62a.d564e73d.pdf"},"children":["Certification Criteria Document"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"making-the-request","__idx":1},"children":["Making the request"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"opening-a-tab","__idx":2},"children":["Opening a tab"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Function definition"},"children":["Function definition"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Purpose"},"children":["Purpose"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parameters"},"children":["Parameters"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Boolean initiateOpenTab(requestParams, transactionCallbacks)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Initiates a request to open a bar tab on the terminal."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["requestParams"]}," (Object); ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transactionCallbacks"]}," (Object) — see Handling the response, below"]}]}]}]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parameter"},"children":["Parameter"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Required"},"children":["Required"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The tab limit (maximum amount to charge the customer) in cents."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["integratedReceipt"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Boolean"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Indicate whether receipts will be printed on the POS (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]},") or on the terminal (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]},")."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["mid"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Integer"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Override the configured mid for multi-merchant terminals, or if your browser does not support local storage, or if you have developed headless pairing as a feature."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Conditional"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tid"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Integer"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Override the configured tid for multi-merchant terminals or if your browser does not support local storage or if you have implemented headless pairing as a feature."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Conditional"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["integrationKey"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Supply the integration key if your browser does not support local storage or if you have developed headless pairing or multi-merchant as a feature."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Conditional"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transactionId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Supply a transaction ID to be used for the transaction."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["mid"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tid"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["integrationKey"]}," are required for headless pairing, for multi-merchant, or if your browser does not support local storage."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The POS sets the parameters that comprise the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["requestParams"]}," object as per the requirements of"," ","the request: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount"]}," is mandatory — declare it in cents, as a String — and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["integratedReceipt"]}," ","indicates whether the POS (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]},") or the terminal (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]},") is responsible for printing receipts;"," ","receipt data isn't returned to the POS if this is set to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]},". The POS then calls"," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["initiateOpenTab(requestParams, transactionCallbacks)"]},", referencing the callback functions that"," ","handle the response — covered in Handling the response, below."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A $100.00 bar tab request, with the POS printing the integrated receipts:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"var amount = '10000';\n\nfunction doBarTab(amount) {\n    iclient.initiateOpenTab({\n        amount: amount,\n        integratedReceipt: true\n    }, {\n        receiptCallback: receiptCallbackImpl,\n        transactionCompleteCallback: transactionCompleteCallbackImpl\n    });\n\n}\n","lang":"javascript"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"closing-a-tab","__idx":3},"children":["Closing a tab"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Function definition"},"children":["Function definition"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Purpose"},"children":["Purpose"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parameters"},"children":["Parameters"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Boolean closeTab(completionReference, amount, responseReceivedCallback)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Closes a previously opened bar tab with a final amount — the customer is charged."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responseReceivedCallback"]}," (Function) — invoked to indicate success or failure"]}]}]}]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parameter"},"children":["Parameter"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Required"},"children":["Required"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["completionReference"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Transaction identifier from the original open tab request."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The amount the tab is being closed for. Cannot exceed the tab limit set in the open tab request, in cents."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The POS sets ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["completionReference"]}," — the transaction identifier returned by the open tab request"," ","— and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount"]},", the final amount in cents to charge, which cannot exceed the tab limit. The POS"," ","then calls ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["closeTab(completionReference, amount, responseReceivedCallback)"]},", referencing the"," ","callback that handles the response — covered in Handling the response, below."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"var amount = '10000';\nvar completionReference = '12001';\n\nfunction doCloseBarTab(amount,completionReference) {\n    iclient.closeTab(amount,completionReference, responseReceivedCallbackImpl);\n}\n","lang":"javascript"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"voiding-a-tab","__idx":4},"children":["Voiding a tab"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Function definition"},"children":["Function definition"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Purpose"},"children":["Purpose"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parameters"},"children":["Parameters"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Boolean voidTab(completionReference, responseReceivedCallback)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Voids a previously opened bar tab — discards the hold on funds in the customer's account."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responseReceivedCallback"]}," (Function) — invoked to indicate success or failure"]}]}]}]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parameter"},"children":["Parameter"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Required"},"children":["Required"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["completionReference"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Transaction identifier from the original open tab request."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The POS sets ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["completionReference"]}," — the transaction identifier returned by the open tab request"," ","— then calls ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["voidTab(completionReference, responseReceivedCallback)"]},", referencing the callback"," ","that handles the response — covered in Handling the response, below."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"var completionReference = '12001';\n\nfunction doVoidBarTab(completionReference) {\n    iclient.voidTab(completionReference, responseReceivedCallbackImpl);\n}\n","lang":"javascript"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://jsfiddle.net/IntegrationSupport/L0of3avb/5/"},"children":["JS Fiddle demo"]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Don't click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Save"]}," if you make changes in the JS Fiddle — click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Run"]}," instead. Clicking Save"," ","may break the fiddle's functionality."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"handling-the-response","__idx":5},"children":["Handling the response"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Handling the response of the integrated bar tab functions in the JS library involves the use of"," ","the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transactionCompleteCallback"]}," and the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responseReceivedCallback"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"open-tab-response","__idx":6},"children":["Open tab response"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Function"},"children":["Function"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Usage required"},"children":["Usage required"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transactionCompleteCallback"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Invoked when the transaction has been completed on the terminal. Called with a subset of the following parameters as part of the transactionData object."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]}]}]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Usage required"},"children":["Usage required"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["result"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["One of the following values: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["APPROVED"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CANCELLED"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["REVERSED"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DECLINED"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SYSTEM ERROR"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["NOT STARTED"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["UNKNOWN"]},". The merchant will only receive money if this value is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["APPROVED"]},". ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["UNKNOWN"]}," means the merchant should look at the terminal to determine what happened — typically this indicates a network error."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cardType"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The scheme displayed on the card (Visa, Mastercard, etc)."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transactionReference"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Also known as a STAN, this is Tyro's reference to this transaction. Quote this to Tyro Customer Support if you run into any issues with a transaction."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["authorisationCode"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The scheme's reference to the transaction. Quote this number to Visa/Mastercard/etc if the issue is on their end."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["issuerActionCode"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The raw result code returned by the card issuer."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["elidedPan"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The (elided) credit card number used for this transaction."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["rrn"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The Retrieval Reference Number is a unique number generated by the Payment Service for a specific merchant. Guaranteed to be unique for a 7-day period."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tabCompletionReference"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tyro's reference to a Tab Completion."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customerReceipt"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Text representation of the Tyro receipt intended for the customer. Only included if integrated receipt printing is enabled. Formatted to be printed in a monospaced font."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Conditional"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customerReceipt"]}," is required if integrated receipt printing has been developed as a feature."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The response to the open tab request is returned to the POS by iClient using"," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transactionCompleteCallback"]}," at the completion of the request."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If the request is successful, the POS is given the result and the tab completion reference in"," ","the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["result"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tabCompletionReference"]}," fields — display the result for the user's reference"," ","and store the tab completion reference on the tab/sale invoice, to allow the tab to be closed off"," ","or voided later."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If the request is unsuccessful, the POS is given the result in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["result"]}," field — display it"," ","for the user's reference."]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"var transactionCompleteCallbackImpl = function (response) {\n    console.log(JSON.stringify(response));\n    if (response.tabCompletionReference) {\n   toggleClrResult();\n        completionRef = response.tabCompletionReference;\n        $(\"#tabRef\").html(messageString + completionRef + \"<br>\" + \"Tab Limit: \" + parseFloat(amount/100));\n        $(\"#closeTabBtn\").removeClass(\"disabled\");\n        $(\"#voidTabBtn\").removeClass(\"disabled\");\n    }\n    if (response.customerReceipt) {\n        $(\"#customerReceipt\").html(formatReceipt(response.customerReceipt));\n    }\n    if (response.result!= \"APPROVED\"){\n    var element = document.getElementById(\"tabRef\");\n        element.style.backgroundColor = \"#ff3333\";\n    $(\"#tabRef\").html(\"Open Tab Request not approved - please try again using the correct magic number\");\n    \n    }\n    $(\"#result\").html(formatResult(response));\n};\n\n","lang":"javascript"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":5,"id":"example-response","__idx":7},"children":["Example response"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"result\": \"APPROVED\",\n  \"transactionId\": \"e378fb4c327daa4474d86aea89c9aabfe7c2\",\n  \"cardType\": \"Visa\",\n  \"transactionReference\": \"298143\",\n  \"authorisationCode\": \"695585\",\n  \"issuerActionCode\": \"00\",\n  \"elidedPan\": \"XXXXXXXXXXXXXX8641\",\n  \"rrn\": \"2981431109\",\n  \"tabCompletionReference\": \"431721\",\n  \"baseAmount\": \"102.00\",\n  \"transactionAmount\": \"102.00\",\n  \"customerReceipt\": \" CUSTOMER COPY \\n\\n Merchant 8811 \\n Address line 1 \\n Address line 2 \\n\\n Tyro EFTPOS \\n\\nVisa\\nCard: XXXXXXXXXXXXXX8641(s)\\n\\nTab AUD $102.00\\n\\nAPPROVED 00\\n\\nA hold has been placed on\\nyour account in the amount\\nof $102.00. When the tab is\\nclosed, up to $102.00 will\\nbe debited from your\\naccount.\\n\\nCompletion Ref: 431721\\n\\nTerminal ID: 123\\nTransaction Ref: 298143\\nAuthorisation No: 695585\\n09 Nov 2021 at 08:59 PM\\n\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"close-tab-response","__idx":8},"children":["Close tab response"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Function"},"children":["Function"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Usage required"},"children":["Usage required"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responseReceivedCallback"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Invoked when the request has been completed on the terminal. Called with a single object containing the following fields."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]}]}]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Usage required"},"children":["Usage required"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["result"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The result of the request, either ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["success"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["failure"]},"."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["message"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A message to display to the merchant."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]}]}]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The response to the close tab request is returned to the POS by iClient using"," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responseReceivedCallback"]}," at the completion of the request."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Whether successful or not, the POS is given the result and a message in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["result"]}," and"," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["message"]}," fields — display them for the user's reference, and mark the tab as closed off if"," ","successful."]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"var responseReceivedCallbackImpl = function (response) {\n    console.log(JSON.stringify(response));\n    $(\"#result\").html(formatResult(response));\n    \n    //Displaying the result in the div//\n    if(response.message.includes(\"Close tab\") && response.result==\"success\"){\n    \n      toggleClrResult(\"black\");\n     var element = document.getElementById(\"tabRef\");\n        element.style.backgroundColor = \"#0A8D4F\";\n        element.style.color = \"white\";\n    $(\"#tabRef\").html(\"Tab reference \"+ completionRef + \" successfully closed for $\" + tabCompletionAmount/100);\n\n    }\n    \n    else if(response.message.includes(\"Void tab\") && response.result==\"success\"){\n        console.log(\"tab success\")\n         toggleClrResult(\"black\");\n        var element = document.getElementById(\"tabRef\");\n        element.style.backgroundColor = \"#0A8D4F\";\n        element.style.color = \"white\";\n    $(\"#tabRef\").html(\"Tab reference \"+ completionRef + \" successfully voided\");\n\n    }\n    \n    else{\n    toggleClrResult(\"red\");\n    }\n    };\n\n","lang":"javascript"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":5,"id":"example-response-1","__idx":9},"children":["Example response"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"result\": \"success\",\n  \"message\": \"Close tab request accepted\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"void-tab-response","__idx":10},"children":["Void tab response"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Function"},"children":["Function"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Usage required"},"children":["Usage required"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responseReceivedCallback"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Invoked when the request has been completed on the terminal. Called with a single object containing the following fields."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]}]}]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Usage required"},"children":["Usage required"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["result"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The result of the request, either ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["success"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["failure"]},"."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["message"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A message to display to the merchant."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]}]}]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The response to the void tab request is returned to the POS by iClient using"," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responseReceivedCallback"]}," at the completion of the request."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Whether successful or not, the POS is given the result and a message in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["result"]}," and"," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["message"]}," fields — display them for the user's reference."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Void tab uses the same ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responseReceivedCallback"]}," handler shown above for Close tab — it branches"," ","on whether ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["response.message"]}," contains \"Close tab\" or \"Void tab\" to tell the two apart."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":5,"id":"example-response-2","__idx":11},"children":["Example response"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"result\": \"failure\",\n  \"message\": \"Tab already closed\"\n}\n","lang":"json"},"children":[]}]},{"$$mdtype":"Tag","name":"div","attributes":{"label":".NET library","disable":false},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Bar tabs are accessed through the TTA via two .NET interfaces: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Tyro.Integ.ITerminalAdapter"]}," for"," ","opening a tab, and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Tyro.Integ.ITerminalAdapterTabCompletion"]}," for closing or voiding one."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"opening-a-tab-1","__idx":12},"children":["Opening a tab"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Method"},"children":["Method"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["boolean OpenTab(int tabLimitInCents)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Commences an open tab transaction for the tab limit specified, in cents. Returns ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]}," if this instance of the Tyro Terminal Adapter is busy performing another transaction, or the amount is invalid."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["boolean OpenTab(string merchantID, string terminalID, int tabLimitInCents)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["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."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This is an asynchronous method — it raises the same events described under"," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/in-person-payments/pay-in-person/features/payment-cashout-refund"},"children":["Payment, cashout and refund"]},", including ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TransactionCompleted"]},", whose"," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GetCompletionReference()"]}," returns the tab completion reference to store for closing or voiding"," ","the tab later."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"closing-a-tab-1","__idx":13},"children":["Closing a tab"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Method"},"children":["Method"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ITabCompletionResult CloseTab(string tabCompletionRef, int tabAmount)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Closes an open tab. Pass the completion reference returned by ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["OpenTab"]},", and the final tab amount in cents — cannot be greater than the amount the tab was opened with."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ITabCompletionResult CloseTab(string merchantID, string terminalID, string tabCompletionRef, int tabAmount)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["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)."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"voiding-a-tab-1","__idx":14},"children":["Voiding a tab"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Method"},"children":["Method"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ITabCompletionResult VoidTab(string tabCompletionRef)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Voids an open tab. Pass the completion reference returned by ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["OpenTab"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ITabCompletionResult VoidTab(string merchantID, string terminalID, string tabCompletionRef)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["To void an open tab using the specified mid and tid. Pass in the completion reference returned in the OpenTab transaction"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"itabcompletionresult-return-value","__idx":15},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ITabCompletionResult"]}," return value"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Method"},"children":["Method"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ErrorOccurred()"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Returns ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]}," if a configuration or network error occurred — call ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GetError()"]}," to determine the cause. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]}," indicates the call executed successfully."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GetError()"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["An ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Error"]}," object with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["HttpStatusCode"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ErrorMessage"]},", and other useful information."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GetResult()"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A machine-readable result code: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["OK"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AlreadyCompleted"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AlreadyVoided"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["UnknownTransaction"]},", or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SystemError"]},"."]}]}]}]}]}]}]}]},"headings":[{"value":"Bar tabs","id":"bar-tabs","depth":1},{"value":"Making the request","id":"making-the-request","depth":3},{"value":"Opening a tab","id":"opening-a-tab","depth":4},{"value":"Closing a tab","id":"closing-a-tab","depth":4},{"value":"Voiding a tab","id":"voiding-a-tab","depth":4},{"value":"Handling the response","id":"handling-the-response","depth":3},{"value":"Open tab response","id":"open-tab-response","depth":4},{"value":"Example response","id":"example-response","depth":5},{"value":"Close tab response","id":"close-tab-response","depth":4},{"value":"Example response","id":"example-response-1","depth":5},{"value":"Void tab response","id":"void-tab-response","depth":4},{"value":"Example response","id":"example-response-2","depth":5},{"value":"Opening a tab","id":"opening-a-tab-1","depth":3},{"value":"Closing a tab","id":"closing-a-tab-1","depth":3},{"value":"Voiding a tab","id":"voiding-a-tab-1","depth":3},{"value":"ITabCompletionResult return value","id":"itabcompletionresult-return-value","depth":4}],"frontmatter":{"title":"Bar tabs","seo":{"title":"Bar tabs"}},"lastModified":"2026-10-18T02:32:40.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/in-person-payments/pay-in-person/features/bar-tabs","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}