--- openapi: 3.0.0 info: title: Receipt API version: v1 description: > Our Receipts API can be used to power receipt notifications and dynamic printed offers for In-Store transactions. The full integration guide that accompanies this RAML can be found in PDF form at: https://fr-public.s3.amazonaws.com/current-documents/flexEngage+Receipt+API+(REST+v1.x).pdf servers: - url: https://api.flexreceipts.com/ws/rest/v1 paths: "/merchants/{merchantId}/receipts/{receiptId}/email": post: responses: '202': description: 'Request was accepted and it will be processed. The receipt will be queued for delivery via email. ' '422': description: 'The request failed validation; review the response for details. ' content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" example: message: "Validation failed" code: "422" referenceId: "123e4567-e89b-12d3-a456-426655440000" errors: emailAddress: - code: "required" message: "Email Address is required" '500': description: 'An unexpected error occurred. Retry the request after some delay. Contact support@flexreceipts.com if the problem persists. ' content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" example: message: "Internal Server Error" code: "500" referenceId: "123e4567-e89b-12d3-a456-426655440000" description: 'Resends an email with the receipt. ' operationId: POST_merchants-merchantId-receipts-receiptId-email requestBody: content: application/json: schema: $ref: "#/components/schemas/ResendEmailData" required: true parameters: - name: merchantId in: path required: true schema: type: string description: Unique flexReceipts merchant Id example: MERCHANT-123 - name: receiptId in: path required: true schema: type: string description: Unique receipt id. This is the receipt that was previously created and you want to email again. example: 12345678-1234-1234-1234-123456789012 "/merchants/{merchantId}/receipts": get: responses: '200': description: '' headers: link: description: | The link header provides links for pagination. The header will contain links to the previous page and next page only if there is data on the previous or next pages. This makes it easy to traverse pages by repeatedly navigating to the next page until no next page is found. The value for this header follows the specification for the Link header (https://tools.ietf.org/html/rfc5988). Each header value has a property "rel" which defines whether the link is for the previous page (i.e. "prev") or next page (i.e. "next"). schema: type: string example: '; rel="prev",; rel="next"' content: application/json: schema: type: array items: type: object properties: id: description: | The unique id for the receipt. Use this id to retrieve the receipt via the endpoint /merchants/{merchantId}/receipts/{receiptId}. type: string example: 12345678-1234-1234-1234-123456789012 customerEmailAddress: description: The Customer Email Address. type: string example: jane.doe@email.com storeId: description: The Store Id for the receipt. type: string example: 123 storeName: description: The Store Name for the receipt. type: string example: Store 123 storeCity: description: The Store City for the receipt. type: string example: Orlando storeZipCode: description: The Store Zip Code for the receipt. type: string example: 12345 storeTerritory: description: The Store Territory for the receipt. type: string example: FL receiptDate: description: The Receipt Date. example: "2013-11-10T15:15:17-05:00" type: string format: date-time receiptNumber: description: The Receipt Number. type: string example: 123456 transactionNumber: description: The Transaction Number. type: string example: 123456 transactionAmount: description: The Transaction Amount. type: number example: 100.00 transactionType: description: The Transaction Type. type: string example: SaleTransaction paymentType: description: The Payment Type. type: string example: Cash items: description: The Items in the receipt. type: array items: type: object properties: itemName: description: The Item Name. type: string example: Item 1 itemPrice: description: The Item Price. type: number example: 100.00 itemSKUNumber: description: The SKU for the item. type: string example: 123456 required: - id - customerEmailAddress - storeId - storeName - receiptDate - receiptNumber - transactionNumber - transactionAmount - transactionType - paymentType '422': description: | The request was syntatically correct but, the request input failed validation (e.g. required field not provided). Inspect the response to determine which fields are missing. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" example: message: "Validation failed" code: "422" referenceId: "123e4567-e89b-12d3-a456-426655440000" errors: fromDate: - code: "required" message: "From Date is required" toDate: - code: "required" message: "To Date is required" '500': description: Internal Server Error. Retry the request later. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" example: message: "Internal Server Error" code: "500" referenceId: "123e4567-e89b-12d3-a456-426655440000" description: 'Provides the ability to query for receipts based on a number of fields. ' operationId: GET_merchants-merchantId-receipts parameters: - name: fromDate in: query required: true description: The minimum Receipt Date for all receipts queried. example: "2020-11-10" schema: type: string format: date-time - name: toDate in: query required: true description: The maximum Receipt Date for all receipts queried. example: "2020-12-10" schema: type: string format: date-time - name: storeId in: query description: Filters results by Store Id. example: 123 schema: type: string - name: storeName in: query description: Filters results by Store Name. example: Store 123 schema: type: string - name: transactionNumber in: query description: Filters results by Transaction Number. This is the same as the receipt number. example: 123456 schema: type: string - name: receiptNumber in: query description: Filters results by Receipt Number. This is the same as the transaction number. example: 123456 schema: type: string - name: pageSize in: query description: | The maximium number of results that can be returned in the query response. Pagination is required when the number of results returned by the query results is larger than the page size. example: 10 schema: default: 10 minimum: 1 maximum: 100 type: number - name: pageNumber in: query description: | Requests a specific page number from the query results based on page size. example: 1 schema: default: 0 minimum: 0 type: number post: responses: '200': description: | Request was processed successfully. The receipt will be queued for delivery via email. content: application/json: schema: $ref: "#/components/schemas/ReceiptResponse" '422': description: The request failed validation; review the response for details. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" example: message: "Validation failed" code: "422" referenceId: "123e4567-e89b-12d3-a456-426655440000" errors: emailAddress: - code: "required" message: "Email Address is required" '409': description: | The request was rejected because it duplicates a request which was already processed content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" example: message: "Duplicate Request" code: "409" referenceId: "123e4567-e89b-12d3-a456-426655440000" errors: requestId: - code: "duplicate" message: "Request already processed" '500': description: | An unexpected error occurred. Retry the request after some delay. Contact support@flexreceipts.com if the problem persists. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" example: message: "Internal Server Error" code: "500" referenceId: "123e4567-e89b-12d3-a456-426655440000" description: Creates and emails a receipt. operationId: POST_merchants-merchantId-receipts requestBody: content: application/json: schema: $ref: "#/components/schemas/ReceiptData" examples: saleTransaction: summary: Sale Transaction description: Example of a standard sale transaction value: requestId: "123e4567-e89b-12d3-a456-426655440000" customer: emailAddress: "jane.doe@email.com" telephone: areaCode: "123" localNumber: "4567890" workstation: id: "90" operator: "John" associate: "Sam" store: id: "123" name: "Store 123" address: typeCode: "RetailStore" addressLine1: "123 Main St" addressLine2: "Suite 100" city: "Orlando" territory: "FL" postalCode: "12345" country: value: "US" code: "US" postalCodeExtension: "6789" telephone: areaCode: "123" localNumber: "4567890" mode: "Production" receiptType: "DigitalOnly" barcodeType: "Code128" barcodeNumber: "1234567890" receiptDateTime: "2013-11-10T15:15:17-05:00" loyalty: number: "1234567890" customerName: "Jane Doe" expirationDateTime: "2013-11-10T15:15:17-05:00" balance: 100 misc: "100 points until next level" transactionType: "SaleTransaction" transactionNumber: "123456" items: - name: "LIVING ROOM SET" description: "3 piece set" sku: "20170112029" upc: "041789123456" brand: "MyBrand" category: "Furniture" industry: "Furniture" manufacturer: "MyManufacturer" price: 100.00 total: 190.00 quantity: value: 2 unitOfMeasureCode: "Each" discounts: - amount: -10.00 name: "Member Discount" miscInfo: "In-home delivery\n(Assembly required)\nUsually ships in 2-3 weeks" supportingDocuments: warranty: name: "Click for Warranty Information" url: "http://www.example.com/warranty.pdf" grossAmount: 200.00 discounts: - amount: -10.00 name: "Member Discount" netAmount: 190.00 taxes: - description: "Sales Tax" percent: 0.06 taxableAmount: 190.00 amount: 11.40 taxTypeCode: "Sales" grandAmount: 201.40 tenderApplied: 202.00 balanceDue: 0.00 changeDue: 0.60 tenders: - tenderTypeCode: "CreditCard" dateTime: "2013-11-10T15:15:17-05:00" amount: 202.00 creditDebit: first6Digits: "123456" last4Digits: "7890" typeCode: "Visa" name: firstName: "Jane" lastName: "Doe" expirationDate: "0125" authorizationCode: "123456" signature: base64Image: "iVBORw0KGgoAAAANSUhEUgAAAQ4AAABACAIAAABk9g5aAAAAA3NCSVQICAjb4U/gAAAFGklEQVR4nO2dW3akOgxFIevOf8r0Bze028ZCbwSc/ZWslGUjW08osm7btoDns67rsizYzTh+7l4AcGC3k/YH4A5MBQAWMJX3gOwrFJjK2/hUDraua9r1wlQAYPGfcTxt00gJgAJmNy85fiKqvIH9VKFfHIopqtB7s+eRXjuHc/ARytZaiCovAU4kGpjK2yjrlZ+O3lSQEZXludZSeeWBUQVWlAk8VzThCVhlP/FK2m4YcMRkKvBhRehCykOtRRQY869OaSqP24av8VBrOSjohWMTMN+bKk/nlqvIn3T9ZVE9o1V2r9EsTiXzHNzimPMPetplZphKWT/xDogU/8Y0bJ962zZR7VEw7zpAVAGAxQNM5XCKlV1OWZIDy/aLaNQRUirHlgeYCgAVgKmk4u4vOW746Y3jIlQ3FWzwRyiefS31TeU13GvzlQOLZVWZdlXaVIq7mSJAPzlYv1vPQbeX3WvgcCB8qdZXrL/LsVHFHvEr645P0DkQqbedvVom9ohdzk7AmA8F1fcxz6WgbgsuaURpKi45Ff2x4orjU+pySi3mWQTWKt2udOYxe5kL9lKEQlGldNuVTKMPrbNaUwLmnvK+z07ed0VxVKugOjI6YMugheN+0+mfcpb0dHTfAymrXlFHTmdUxqZflKm0G9Musb1IfrQtu8E00aeTL7mmw870knYNhEeV0U46jdAKumwAKPRb3L9y4PRFOjo/JZoius0tkq849J3j1h2be+6ruDi5mp7yoJRB6p6Kn/1qpEuEiqjoEn1U2b1UZ6AznRLFiQ61kHHgzAfr5CfA0aQ62I4SvOyEqFelQkRjT2sBBZ4JGH8d7tughoh7FmuJCCkK9aqFR3uKyp5ohpupzL7Idry54/iktBgdP28MKUc8nC3pdgNuSQh6ObniqZIVVYqimdG+IW08kDO6iXxqFWYmoPgqKUesUc4oyhisHU9eaG3dTvFEN09D1AI6CQ5RZcwFx+rFcSccqxR3ItL6mSVbZF5OQUsgPm9MXC9nd3z/y6WorhS3vgl/aRyzOj5KsWxGF+XUcka8IsBMjt3pnI7lCGSW0fzcJtRteXnnLrkQRBVOL989enhVEdLlnfb3LuWLpqBntwtpMeqN03fia8B4Y8QuXNd800eV7Re1hDSi03FfO1nO9ttyCb49ZXqKCCMnrt1ekNC0geUiqjB7iPRGEusObYC0o+IIOiVtQHOxE87tr9lYenaRhkVpKqFbopfFTwT4yee6rlRUCe21JzdkFUk/pw8WYScRLRB1lcKcQiqKWVIvZNeU6F5GcB5VFBVqdCZWsKcZl3Vc3vmRSmt/FTmpfSXMbEIR8LvIOc7OWaFo0mOUKLRu23YSVaQ7dDmlOvPmNPsU95L4HFPMLsEinDO1BRfnclnHK/K6UY7aTjLpo0oR5316E0BRKdnTPCInJpbkwvbvg3NedZ2o88uH0zOcWddd5415jfvy/okqinVfDhl9v6N2dC5N2rib5cQJG6yrxV00TKdVdve0j72xiSpOF41tFs4onT8+/BNzYdF9w9sRqZrzMYVmLpPz0Hz4Xv6PKqF9WHWbYpbFMmd5GZe1mah8UlfD9HBj/VkZmefuB0cmml79nzfxYp9dn3XTvoE8oSAr0mMoRcKtd3BK0htbdGDvR6CTu1DeHIC/B1+j9D+NAKAORasUAKqBqAIAC3GtgpACvoksqsBOwGf54T+fm/wNEwBK8fe+ivopFQC+wM8iOf2wE/BZ/gCTtsbwwukPxQAAAABJRU5ErkJggg==" imageMimeType: "image/png" dateTime: "2013-11-10T15:15:17-05:00" text: "I have read and accept the terms and conditions" currency: "USD" soldTo: address: typeCode: "Home" addressLine1: "123 Main St" addressLine2: "Suite 100" addressLine3: "Building 2" city: "Orlando" territory: "FL" postalCode: "12345" country: value: "US" code: "US" postalCodeExtension: "6789" customerName: "Jane Doe" customerNumber: "123456" telephone1: areaCode: "123" localNumber: "4567890" telephone2: areaCode: "123" localNumber: "4567890" terms: - signature: base64Image: "iVBORw0KGgoAAAANSUhEUgAAAQ4AAABACAIAAABk9g5aAAAAA3NCSVQICAjb4U/gAAAFGklEQVR4nO2dW3akOgxFIevOf8r0Bze028ZCbwSc/ZWslGUjW08osm7btoDns67rsizYzTh+7l4AcGC3k/YH4A5MBQAWMJX3gOwrFJjK2/hUDraua9r1wlQAYPGfcTxt00gJgAJmNy85fiKqvIH9VKFfHIopqtB7s+eRXjuHc/ARytZaiCovAU4kGpjK2yjrlZ+O3lSQEZXludZSeeWBUQVWlAk8VzThCVhlP/FK2m4YcMRkKvBhRehCykOtRRQY869OaSqP24av8VBrOSjohWMTMN+bKk/nlqvIn3T9ZVE9o1V2r9EsTiXzHNzimPMPetplZphKWT/xDogU/8Y0bJ962zZR7VEw7zpAVAGAxQNM5XCKlV1OWZIDy/aLaNQRUirHlgeYCgAVgKmk4u4vOW746Y3jIlQ3FWzwRyiefS31TeU13GvzlQOLZVWZdlXaVIq7mSJAPzlYv1vPQbeX3WvgcCB8qdZXrL/LsVHFHvEr645P0DkQqbedvVom9ohdzk7AmA8F1fcxz6WgbgsuaURpKi45Ff2x4orjU+pySi3mWQTWKt2udOYxe5kL9lKEQlGldNuVTKMPrbNaUwLmnvK+z07ed0VxVKugOjI6YMugheN+0+mfcpb0dHTfAymrXlFHTmdUxqZflKm0G9Musb1IfrQtu8E00aeTL7mmw870knYNhEeV0U46jdAKumwAKPRb3L9y4PRFOjo/JZoius0tkq849J3j1h2be+6ruDi5mp7yoJRB6p6Kn/1qpEuEiqjoEn1U2b1UZ6AznRLFiQ61kHHgzAfr5CfA0aQ62I4SvOyEqFelQkRjT2sBBZ4JGH8d7tughoh7FmuJCCkK9aqFR3uKyp5ohpupzL7Idry54/iktBgdP28MKUc8nC3pdgNuSQh6ObniqZIVVYqimdG+IW08kDO6iXxqFWYmoPgqKUesUc4oyhisHU9eaG3dTvFEN09D1AI6CQ5RZcwFx+rFcSccqxR3ItL6mSVbZF5OQUsgPm9MXC9nd3z/y6WorhS3vgl/aRyzOj5KsWxGF+XUcka8IsBMjt3pnI7lCGSW0fzcJtRteXnnLrkQRBVOL989enhVEdLlnfb3LuWLpqBntwtpMeqN03fia8B4Y8QuXNd800eV7Re1hDSi03FfO1nO9ttyCb49ZXqKCCMnrt1ekNC0geUiqjB7iPRGEusObYC0o+IIOiVtQHOxE87tr9lYenaRhkVpKqFbopfFTwT4yee6rlRUCe21JzdkFUk/pw8WYScRLRB1lcKcQiqKWVIvZNeU6F5GcB5VFBVqdCZWsKcZl3Vc3vmRSmt/FTmpfSXMbEIR8LvIOc7OWaFo0mOUKLRu23YSVaQ7dDmlOvPmNPsU95L4HFPMLsEinDO1BRfnclnHK/K6UY7aTjLpo0oR5316E0BRKdnTPCInJpbkwvbvg3NedZ2o88uH0zOcWddd5415jfvy/okqinVfDhl9v6N2dC5N2rib5cQJG6yrxV00TKdVdve0j72xiSpOF41tFs4onT8+/BNzYdF9w9sRqZrzMYVmLpPz0Hz4Xv6PKqF9WHWbYpbFMmd5GZe1mah8UlfD9HBj/VkZmefuB0cmml79nzfxYp9dn3XTvoE8oSAr0mMoRcKtd3BK0htbdGDvR6CTu1DeHIC/B1+j9D+NAKAORasUAKqBqAIAC3GtgpACvoksqsBOwGf54T+fm/wNEwBK8fe+ivopFQC+wM8iOf2wE/BZ/gCTtsbwwukPxQAAAABJRU5ErkJggg==" imageMimeType: "image/png" dateTime: "2013-11-10T15:15:17-05:00" text: "I have read and accept the terms and conditions" description: "I acknowledge that I am entering into a lease agreement described in the terms and conditions in the link below." supportingDocuments: warranty: name: "Terms and Conditions" url: "http://www.example.com/terms.pdf" additionalInfo1: "We Appreciate Your Business!" additionalInfo2: "*** You Saved $10.00 ***" additionalInfo3: "Customer loyalty member since 2020" additionalInfo4: "Next purchase earns double points!" additionalInfo5: "Return policy: 30 days with receipt" rawPosReceipt: " \n Store 123 \n 123 Main St, Suite 100 \n Orlando, FL 12345-6789 \n (123) 456-7890 \n\n SALE \n\n\nOperator: John Associate: Sam \n\n20170112029 LIVING ROOM SET $100.00 \n 3 piece set\n Quantity: 2 Each\n Member Discount ($10.00)\n Item Total: $190.00\n\nSubtotal $200.00\nMember Discount ($10.00)\nNet Amount $190.00\nSales Tax 6% $11.40\nTotal $201.40\n------------------------------------------------\n You Saved $10.00 \n------------------------------------------------\nVisa ****7890 $202.00\nChange Due $0.60\n\nLoyalty #: 1234567890 Points: 100\nCustomer: Jane Doe\n100 points until next level\n\nStore: 123 Reg: 90 Tran: 123456\nDate: 11/10/2013 03:15:17 PM \n\n Item(s) Sold: 2 \n Item(s) Returned: 0 \n\nIn-home delivery\n(Assembly required)\nUsually ships in 2-3 weeks\n\n Last Day for Return is: 12/10/2013 \n\n We Appreciate Your Business! \n *** You Saved $10.00 *** \n Customer loyalty member since 2020 \n Next purchase earns double points! \n Return policy: 30 days with receipt \n\n Tax ID 12345 6789 \n\n\n\n\n\n " currency: "USD" referenceId: "123e4567-e89b-12d3-a456-426655440000" returnTransaction: summary: Return Transaction description: Example of a return transaction value: requestId: "223e4567-e89b-12d3-a456-426655440000" customer: emailAddress: "jane.doe@email.com" telephone: areaCode: "123" localNumber: "4567890" workstation: id: "90" operator: "John" associate: "Sam" store: id: "123" name: "Store 123" address: typeCode: "RetailStore" addressLine1: "123 Main St" addressLine2: "Suite 100" city: "Orlando" territory: "FL" postalCode: "12345" country: value: "US" code: "US" postalCodeExtension: "6789" telephone: areaCode: "123" localNumber: "4567890" mode: "Production" receiptType: "DigitalAndPaper" barcodeType: "Code128" barcodeNumber: "1234567891" receiptDateTime: "2013-11-12T10:30:00-05:00" loyalty: number: "1234567890" customerName: "Jane Doe" expirationDateTime: "2013-11-10T15:15:17-05:00" balance: 110 misc: "90 points until next level" transactionType: "ReturnTransaction" transactionNumber: "123457" relatedTransactionReference: store: "123" register: "90" transactionNumber: "123456" reasonCode: "R001" reason: "Customer requested return" returns: - originalStoreNumber: "123" originalRegister: "90" originalTransactionNumber: "123456" items: - name: "LIVING ROOM SET" description: "3 piece set" sku: "20170112029" upc: "041789123456" brand: "MyBrand" category: "Furniture" industry: "Furniture" manufacturer: "MyManufacturer" price: -100.00 total: -100.00 quantity: value: 1 unitOfMeasureCode: "Each" miscText: "Return for store credit" grossAmount: -100.00 fees: - amount: 5.00 description: "Restocking Fee" netAmount: -95.00 taxes: - description: "Sales Tax Refund" percent: -0.06 taxableAmount: -95.00 amount: -5.70 taxTypeCode: "Sales" grandAmount: -100.70 tenderApplied: -100.70 soldTo: address: typeCode: "Home" addressLine1: "123 Main St" addressLine2: "Suite 100" addressLine3: "Building 2" city: "Orlando" territory: "FL" postalCode: "12345" country: value: "US" code: "US" postalCodeExtension: "6789" customerName: "Jane Doe" customerNumber: "123456" telephone1: areaCode: "123" localNumber: "4567890" telephone2: areaCode: "123" localNumber: "4567890" tenders: - tenderTypeCode: "StoreCredit" dateTime: "2013-11-12T10:30:00-05:00" amount: -100.70 additionalInfo1: "Thank you for your business!" additionalInfo2: "Store credit issued" additionalInfo3: "Credit valid for 1 year" additionalInfo4: "No cash refunds on returns over 14 days" additionalInfo5: "Return policy: 30 days with receipt" rawPosReceipt: " \n Store 123 \n 123 Main St, Suite 100 \n Orlando, FL 12345-6789 \n (123) 456-7890 \n\n RETURN \n\n\nOperator: John Associate: Sam \n\nOriginal Transaction: 123456\nOriginal Date: 11/10/2013\nReason: Customer requested return\n\n20170112029 LIVING ROOM SET ($100.00)\n 3 piece set\n Quantity: 1 Each RETURNED\n Item Total: ($100.00)\n\nSubtotal ($100.00)\nRestocking Fee $5.00\nNet Amount ($95.00)\nSales Tax Refund ($5.70)\nTotal Refund ($100.70)\n------------------------------------------------\n STORE CREDIT ISSUED \n------------------------------------------------\nStore Credit ($100.70)\n\nLoyalty #: 1234567890 Points: 110\nCustomer: Jane Doe\n90 points until next level\n\nStore: 123 Reg: 90 Tran: 123457\nDate: 11/12/2013 10:30:00 AM \n\n Item(s) Returned: 1 \n\nReturn for store credit\n\n Return processed successfully \n\n Thank you for your business! \n Store credit issued \n Credit valid for 1 year \n No cash refunds on returns over 14 days \n Return policy: 30 days with receipt \n\n Tax ID 12345 6789 \n\n\n\n\n\n " currency: "USD" referenceId: "223e4567-e89b-12d3-a456-426655440000" exchangeTransaction: summary: Exchange Transaction description: Example of an exchange transaction value: requestId: "323e4567-e89b-12d3-a456-426655440001" customer: emailAddress: "jane.doe@email.com" telephone: areaCode: "123" localNumber: "4567890" workstation: id: "90" operator: "John" associate: "Sam" store: id: "123" name: "Store 123" address: typeCode: "RetailStore" addressLine1: "123 Main St" addressLine2: "Suite 100" city: "Orlando" territory: "FL" postalCode: "12345" country: value: "US" code: "US" postalCodeExtension: "6789" telephone: areaCode: "123" localNumber: "4567890" mode: "Production" receiptType: "DigitalAndPaper" barcodeType: "Code128" barcodeNumber: "1234567893" receiptDateTime: "2013-11-14T11:00:00-05:00" loyalty: number: "1234567890" customerName: "Jane Doe" expirationDateTime: "2013-11-10T15:15:17-05:00" balance: 105 misc: "95 points until next level" transactionType: "ExchangeTransaction" transactionNumber: "123459" paymentLink: null relatedTransactionReference: store: "123" register: "90" transactionNumber: "123456" reasonCode: "E001" reason: "Size exchange requested" returns: - originalStoreNumber: "123" originalRegister: "90" originalTransactionNumber: "123456" items: - name: "LIVING ROOM SET" description: "3 piece set - Medium size" sku: "20170112029-M" upc: "041789123456" brand: "MyBrand" category: "Furniture" industry: "Furniture" manufacturer: "MyManufacturer" price: -190.00 total: -190.00 quantity: value: 1 unitOfMeasureCode: "Each" miscText: "Returned for size exchange" items: - name: "LIVING ROOM SET" description: "3 piece set - Large size" sku: "20170112029-L" upc: "041789123457" brand: "MyBrand" category: "Furniture" industry: "Furniture" manufacturer: "MyManufacturer" price: 220.00 total: 220.00 quantity: value: 1 unitOfMeasureCode: "Each" grossAmount: 30.00 netAmount: 30.00 taxes: - description: "Sales Tax" percent: 0.06 taxableAmount: 30.00 amount: 1.80 taxTypeCode: "Sales" grandAmount: 31.80 tenderApplied: 31.80 balanceDue: 0.00 soldTo: address: typeCode: "Home" addressLine1: "123 Main St" addressLine2: "Suite 100" addressLine3: "Building 2" city: "Orlando" territory: "FL" postalCode: "12345" country: value: "US" code: "US" postalCodeExtension: "6789" customerName: "Jane Doe" customerNumber: "123456" telephone1: areaCode: "123" localNumber: "4567890" telephone2: areaCode: "123" localNumber: "4567890" tenders: - tenderTypeCode: "CreditCard" dateTime: "2013-11-14T11:00:00-05:00" amount: 31.80 creditDebit: first6Digits: "123456" last4Digits: "7890" typeCode: "Visa" name: firstName: "Jane" lastName: "Doe" expirationDate: "0125" authorizationCode: "654321" additionalInfo1: "Thank you for your exchange!" additionalInfo2: "Size upgrade completed" additionalInfo3: "New item has same warranty terms" additionalInfo4: "Exchange policy: 30 days with receipt" additionalInfo5: "Customer satisfaction guaranteed" currency: "USD" referenceId: "323e4567-e89b-12d3-a456-426655440001" orderTransaction: summary: Order Transaction description: Example of an order transaction with layaway/deposit value: requestId: "323e4567-e89b-12d3-a456-426655440000" customer: emailAddress: "joe.customer@email.com" telephone: areaCode: "212" localNumber: "3334444" workstation: id: "90" operator: "John" associate: "Sam" store: id: "123" name: "Store 123" address: typeCode: "RetailStore" addressLine1: "123 Main St" addressLine2: "Suite 100" city: "Orlando" territory: "FL" postalCode: "12345" country: value: "US" code: "US" postalCodeExtension: "6789" telephone: areaCode: "123" localNumber: "4567890" mode: "Production" receiptType: "DigitalAndPaper" barcodeType: "Code128" barcodeNumber: "1234567892" receiptDateTime: "2013-11-15T14:00:00-05:00" loyalty: number: "1234567890" customerName: "Joe Customer" expirationDateTime: "2013-11-10T15:15:17-05:00" balance: 120 misc: "80 points until next level" transactionType: "OrderTransaction" transactionNumber: "123458" orders: - number: "298323" action: "Create" barcodeNumber: "2342342" barcodeType: "Code128" description: "Furniture order for home delivery" totalAmount: 500.00 soldTo: address: addressLine1: "14 Main Street" addressLine2: "Floor 2" city: "Orlando" territory: "FL" postalCode: "32054" country: value: "US" code: "US" postalCodeExtension: "0000" customerName: "Joe Customer" customerNumber: "123643" telephone1: areaCode: "212" localNumber: "3334444" telephone2: areaCode: "555" localNumber: "2224444" deliveryPickup: address: addressLine1: "555 South Street" city: "Somewhere" territory: "FL" postalCode: "34444" country: value: "US" code: "US" postalCodeExtension: "1234" instructions: "Call before delivery - use side entrance" dateTime: "2013-12-01" items: - name: "Premium Leather Sofa Set" description: "3-piece genuine leather sectional sofa" sku: "00000001" upc: "012345678905" price: 250.00 total: 500.00 priceNotation: "TP" quantity: value: 2 unitOfMeasureCode: "EACH" discounts: - amount: -50.00 name: "BOGO Free" miscInfo: "This is a premium furniture item - 6 week delivery" taxes: - description: "Sales Tax" percent: 0.06 taxableAmount: 450.00 amount: 27.00 taxTypeCode: "Sales" fees: - amount: 25.00 description: "Delivery Charge" deposits: - accountNumber: "DEP123456" amount: 150.00 balanceDue: 350.00 paymentSchedules: - description: "First Payment" amountDue: 200.00 dueDate: "2013-12-15" - description: "Final Payment" amountDue: 200.00 dueDate: "2013-12-30" grossAmount: 500.00 discounts: - amount: -50.00 name: "BOGO Free" netAmount: 450.00 fees: - amount: 25.00 description: "Delivery Charge" taxes: - description: "Sales Tax" percent: 0.06 taxableAmount: 475.00 amount: 28.50 taxTypeCode: "Sales" grandAmount: 503.50 deposit: accountNumber: "DEP123456" amount: 150.00 balanceDue: 353.50 tenderApplied: 150.00 balanceDue: 353.50 tenders: - tenderTypeCode: "Cash" dateTime: "2013-11-15T14:00:00-05:00" amount: 150.00 additionalInfo1: "Thank you for your order!" additionalInfo2: "Deposit received - balance due at delivery" additionalInfo3: "Estimated delivery: 6-8 weeks" additionalInfo4: "We'll call you to schedule delivery" additionalInfo5: "Order policy: deposits are non-refundable" currency: "USD" referenceId: "323e4567-e89b-12d3-a456-426655440000" paymentLinkTransaction: summary: Payment Link Transaction description: Example of a payment link transaction value: workstation: id: "90" store: id: "123" name: "Store 123" address: addressLine1: "123 Main St" city: "Orlando" territory: "FL" postalCode: "12345" receiptType: "DigitalOnly" transactionType: "PaymentLinkTransaction" transactionNumber: "123458" grandAmount: 150.00 paymentLink: "https://pay.example.com/link/abc123xyz789" customer: emailAddress: "customer@email.com" receiptDateTime: "2013-11-10T15:15:17-05:00" items: - name: "Wireless Bluetooth Headphones" description: "Premium noise-canceling over-ear headphones" sku: "WBH-2024-001" upc: "885909876543" brand: "AudioTech" category: "Electronics" industry: "Consumer Electronics" manufacturer: "AudioTech Corp" price: 150.00 total: 150.00 quantity: value: 1 unitOfMeasureCode: "Each" required: true parameters: - name: merchantId in: path required: true schema: type: string description: Unique flexReceipts merchant Id example: MERCHANT-123 "/merchants/{merchantId}/receipts/{receiptId}": get: responses: '200': description: | Receipt as stored in our data. JSON representation of the original API request is available in the apiRequest property. content: application/json: schema: $ref: "#/components/schemas/ReceiptDataResponse" '404': description: Receipt with requested id does not exist. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" example: message: "Receipt not found" code: "404" referenceId: "123e4567-e89b-12d3-a456-426655440000" '500': description: Internal Server Error. Retry the request later. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" example: message: "Internal Server Error" code: "500" referenceId: "123e4567-e89b-12d3-a456-426655440000" description: Provides the ability to retrieve an individual receipt by its unique id. operationId: GET_merchants-merchantId-receipts-id parameters: - name: receiptId in: path required: true schema: type: string description: The unique id for the receipt. example: 12345678-1234-1234-1234-123456789012 - name: merchantId in: path required: true schema: type: string description: Unique flexReceipts merchant Id example: MERCHANT-123 components: schemas: ErrorResponse: title: Error Response type: object additionalProperties: false properties: message: type: string code: type: string referenceId: type: string errors: type: object additionalProperties: type: array items: $ref: '#/components/schemas/ErrorEntry' ErrorEntry: type: object additionalProperties: false properties: code: type: string message: type: string ReceiptData: title: Receipt Data type: object additionalProperties: false properties: requestId: type: string description: | The requestId is an optional field that can be used to prevent duplicate requests. If multiple requests are sent with the same requestId, only the first request is accepted. Subsequent requests are considered to be duplicates and the API will return a 409 response code. Use this field if you cannot guarantee the same receipt won't be sent more than once. example: 123e4567-e89b-12d3-a456-426655440000 customer: $ref: "#/components/schemas/Customer" workstation: $ref: "#/components/schemas/WorkstationData" mode: type: string example: Production pattern: Production|Test|Training header: type: string description: | The header field allows multi-line text at the top of the receipt in a location determined by the receipt template. This is typically used for dynamic text that needs to appear for special cases, such as employee purchase information or “Customer Receipt Copy”. This field supports “\n” for a line break and “\t” for a tab. example: "Customer Receipt Copy\nEmployee Discount" revision: $ref: "#/components/schemas/RevisionData" receiptType: type: string enum: - DigitalOnly - PaperOnly - DigitalAndPaper - NoReceipt barcodeType: $ref: "#/components/schemas/BarcodeType" description: The type of barcode to print on the bottom of the receipt. This is not for the item SKU barcodeNumber: type: string maxLength: 50 description: The number used to generate the receipt barcode. This is not the transaction number. This must be compatible with the barcodeType. example: 1234567890 receiptDateTime: type: string example: "2013-11-10T15:15:17-05:00" loyalty: $ref: "#/components/schemas/LoyaltyData" transactionType: type: string minLength: 1 maxLength: 50 description: The type of transaction such as SaleTransaction, ReturnTransaction, OrderTransaction, or PaymentLinkTransaction example: SaleTransaction relatedTransactionReference: $ref: "#/components/schemas/RelatedTransactionReferenceData" transactionNumber: type: string minLength: 1 maxLength: 50 description: The unique number of the transaction example: 123456 items: type: array description: The most common section to use to list the line items in the sales transaction. Send as much of this information as possible. items: $ref: "#/components/schemas/ItemData" returns: type: array items: $ref: "#/components/schemas/ReturnData" orders: type: array items: $ref: "#/components/schemas/OrderData" grossAmount: type: number description: The total amount of the transaction before any discounts, fees or taxes example: 100.00 discounts: type: array items: $ref: "#/components/schemas/DiscountData" netAmount: type: number description: The total amount of the transaction after any discounts and fees but before taxes example: 90.00 taxes: type: array items: $ref: "#/components/schemas/TaxData" grandAmount: type: number description: The total amount of the transaction after all discounts, fees and taxes example: 96.00 tenderApplied: type: number description: The total amount of the tender applied to the transaction example: 100.00 balanceDue: type: number description: The total amount due after the tender is applied example: 0.00 changeDue: type: number description: The total amount of change due to the customer example: 4.00 tip: type: number description: The total amount of the tip if any example: 0.00 serviceCharge: type: number description: The total amount of the service charge if any example: 0.00 tenders: type: array minItems: 1 maxItems: 2147483647 items: $ref: "#/components/schemas/TenderData" tenderHistory: type: array items: $ref: "#/components/schemas/TenderHistoryData" paymentLink: type: string description: The payment link URL. Required when transactionType is "PaymentLinkTransaction" example: https://pay.example.com/link/abc123 deposit: $ref: "#/components/schemas/DepositData" soldTo: $ref: "#/components/schemas/SoldToData" fees: type: array items: $ref: "#/components/schemas/FeeData" roundingAdjustment: type: object description: The rounding adjustment applied to the transaction total (for instance when cash transactions are rounded to the nearest nickel) properties: value: type: number description: The amount of the rounding adjustment example: 0.02 deliveryPickup: $ref: "#/components/schemas/DeliveryPickupData" signature: $ref: "#/components/schemas/SignatureData" terms: type: array items: $ref: "#/components/schemas/TermData" trackingPixel: type: string maxLength: 2083 description: The URL of the tracking pixel example: http://www.example.com/tracking additionalInfo1: type: string description: The additional info fields are multi-line text fields to display at locations determined in the receipt template example: We Appreciate Your Business! additionalInfo2: type: string example: "*** You Saved $10.00 ***" additionalInfo3: type: string additionalInfo4: type: string additionalInfo5: type: string rawPosReceipt: type: string description: The raw POS receipt data example: " \n Generic Store \n 1234 Elm Street \n Springfield, USA 12345 \n (555) 123-4567 \n\n SALE \n\n\n\nSalesperson: John Doe \n\n00657603069684 Generic Item $132.00T\n Style: Generic Style, Size 6, Medium\n Size: 08500M Color: BROWN\n 10% off without coupon ($13.20)\n New Price: $118.80\n\nSubtotal $118.80\nTax 13 % $15.44\nTotal $134.24\n------------------------------------------------\n You Saved $13.20 \n------------------------------------------------\nCash $134.25\n\nStore: 12345 Reg: 41 Tran: 989\nDate: 04/22/2024 04:59:13 AM Assoc: 100400\n\n Item(s) Sold: 1 \n Item(s) Returned: 0 \n\n Last Day for Return is: 05/22/2024 \n\n Thank you for shopping at \n Generic Store \n\n ALL CLEARANCE ITEMS ARE FINAL SALE! \n\n Thank you for your purchase! \n To shop more visit genericstore.com \n\n Tax ID 12345 6789 \n\n\n\n\n\n " currency: type: string description: The currency code for the transaction example: USD enum: - ADP - AED - AFA - ALL - AMD - ANG - AOA - ARS - ATS - AUD - AWG - AZM - BAM - BBD - BDT - BEF - BGL - BGN - BHD - BIF - BMD - BND - BOB - BOV - BRL - BSD - BTN - BWP - BYR - BZD - CAD - CDF - CHF - CLF - CLP - CNY - COP - CRC - CUP - CVE - CYP - CZK - DEM - DJF - DKK - DOP - DZD - ECS - ECV - EEK - EGP - ERN - ESP - ETB - EUR - FIM - FJD - FKP - FRF - GBP - GEL - GHC - GIP - GMD - GNF - GRD - GTQ - GWP - GYD - HKD - HNL - HRK - HTG - HUF - IDR - IEP - ILS - INR - IQD - IRR - ISK - ITL - JMD - JOD - JPY - KES - KGS - KHR - KMF - KPW - KRW - KWD - KYD - KZT - LAK - LBP - LKR - LRD - LSL - LTL - LUF - LVL - LYD - MAD - MDL - MGF - MKD - MMK - MNT - MOP - MRO - MTL - MUR - MVR - MWK - MXN - MXV - MYR - MZM - NAD - NGN - NIO - NLG - NOK - NPR - NZD - OMR - PAB - PEN - PGK - PHP - PKR - PLN - PTE - PYG - QAR - ROL - RUB - RUR - RWF - SAR - SBD - SCR - SDD - SEK - SGD - SHP - SIT - SKK - SLL - SOS - SRG - STD - SVC - SYP - SZL - THB - TJS - TMM - TND - TOP - TPE - TRL - TTD - TWD - TZS - UAH - UGX - USD - USN - USS - UYU - UZS - VEB - VND - VUV - WST - XAF - XAG - XAU - XBA - XBB - XBC - XCD - XDR - XFO - XFU - XOF - XPD - XPF - XPT - XTS - YER - YUM - ZAR - ZMK - ZWD referenceId: type: string maxLength: 36 example: 123e4567-e89b-12d3-a456-426655440000 supportingDocuments: type: object additionalProperties: $ref: "#/components/schemas/SupportingDocumentData" example: warranty: name: Click for Warranty Information url: http://www.example.com/warranty.pdf required: - workstation - receiptType - transactionType - transactionNumber - grandAmount if: properties: transactionType: const: PaymentLinkTransaction then: required: - paymentLink Customer: type: object additionalProperties: false properties: emailAddress: type: string maxLength: 151 description: Only required if receiptType = DigitalOnly or receiptType = DigitalAndPaper example: jane.doe@email.com telephone: $ref: "#/components/schemas/TelephoneCommonData" TelephoneCommonData: type: object additionalProperties: false description: If a telephone number is available, it should be sent. US phone numbers should use both areaCode and localNumber and send only numeric values. properties: areaCode: type: string maxLength: 3 example: 123 localNumber: type: string minLength: 1 maxLength: 15 example: 4567890 required: - localNumber WorkstationData: type: object additionalProperties: false properties: id: type: string minLength: 1 maxLength: 20 description: This is the ID assigned to the register used for the transaction. example: 90 operator: type: string maxLength: 50 description: This can be either an associate ID or associate name. This field contains the ID or name of the associate who rang up the transaction. example: John associate: type: string maxLength: 50 description: | This can be either an associate ID or associate name. This field contains the ID or name of the associate who made the sale. The operator and associate can be the same person if the person who made the sale is also ringing up the transaction on the register. However, if the salesperson is different than the person ringing the transaction, the operator and associate should be different values. example: Sam store: $ref: "#/components/schemas/StoreData" required: - id - store StoreData: type: object additionalProperties: false properties: id: type: string minLength: 1 maxLength: 75 description: The ID assigned to the store example: 123 name: type: string minLength: 1 maxLength: 100 description: The name of the store example: Store 123 address: $ref: "#/components/schemas/AddressCommonData" telephone: $ref: "#/components/schemas/TelephoneCommonData" required: - id - name - address AddressCommonData: type: object additionalProperties: false properties: typeCode: type: string enum: - Home - Work - Delivery - Pickup - Billing - RetailStore - Warehouse - Administration - ExportSale addressLine1: type: string maxLength: 100 example: 123 Main St addressLine2: type: string maxLength: 100 example: Suite 100 addressLine3: type: string maxLength: 100 example: Building 2 city: type: string maxLength: 50 example: Orlando territory: type: string maxLength: 50 example: FL postalCode: type: string maxLength: 25 example: 12345 country: $ref: "#/components/schemas/Country" postalCodeExtension: type: string maxLength: 25 example: 6789 Country: type: object additionalProperties: false properties: value: type: string example: US code: type: string example: US enum: - AF - AL - DZ - AS - AD - AO - AI - AQ - AG - AR - AM - AW - AU - AT - AZ - BS - BH - BD - BB - BY - BE - BZ - BJ - BM - BT - BO - BA - BW - BV - BR - IO - BN - BG - BF - BI - KH - CM - CA - CV - KY - CF - TD - CL - CN - CX - CC - CO - KM - CG - CD - CK - CR - CI - HR - CU - CY - CZ - DK - DJ - DM - DO - TP - EC - EG - SV - GQ - ER - EE - ET - FK - FO - FJ - FI - FR - GF - PF - TF - GA - GM - GE - DE - GH - GI - GR - GL - GD - GG - GP - GU - GT - GN - GW - GY - HT - HM - VA - HN - HK - HU - IS - IN - ID - IR - IQ - IE - IL - IM - IT - JE - JM - JP - JO - KZ - KE - KI - KP - KR - KW - KG - LA - LV - LB - LS - LR - LY - LI - LT - LU - MO - MK - MG - MW - MY - MV - ML - MT - MH - MQ - MR - MU - YT - MX - FM - MD - MC - MN - MS - MA - MZ - MM - NA - NR - NP - NL - AN - NC - NZ - NI - NE - NG - NU - NF - MP - 'NO' - OM - PK - PW - PS - PA - PG - PY - PE - PH - PN - PL - PT - PR - QA - RE - RO - RU - RW - SH - KN - LC - PM - VC - WS - SM - ST - SA - SN - SC - SL - SG - SK - SI - SB - SO - ZA - GS - ES - LK - SD - SR - SJ - SZ - SE - CH - SY - TW - TJ - TZ - TH - TG - TK - TO - TT - TN - TR - TM - TC - TV - UG - UA - AE - GB - US - UM - UY - UZ - VU - VE - VN - VG - VI - WF - EH - YE - YU - ZM - ZW RevisionData: type: object additionalProperties: false description: This is for providing a revision number and date for the receipt properties: number: type: string maxLength: 255 description: The revision number example: 999 dateTime: type: string description: The date and time of the revision example: "2016-05-13T11:40:16-07:00" LoyaltyData: type: object additionalProperties: false properties: number: type: string minLength: 1 maxLength: 155 description: This field is only required if adding loyalty information example: 1234567890 customerName: type: string maxLength: 50 description: The loyalty customer name example: Jane Doe expirationDateTime: type: string description: If there is an expiration date/time for the loyalty membership, this field would contain the expiration date example: "2013-11-10T15:15:17-05:00" balance: type: number description: The loyalty customer's point balance example: 100 misc: type: string description: This field is used for anything else that pertains to loyalty such as points used, special messages, and how many points until the next membership level example: 100 points until next level required: - number RelatedTransactionReferenceData: type: object additionalProperties: false description: | This section is used for transactions such as layaway payments. This section typically contains information about the original sales transaction. For example, the receipt information from the original layaway sale. properties: store: type: string example: 111 register: type: string example: 20 transactionNumber: type: string example: 98765 reasonCode: type: string example: R555 reason: type: string example: Detailed Reason Here ItemData: type: object additionalProperties: false properties: name: type: string minLength: 1 maxLength: 100 description: The name of the item example: LIVING ROOM SET description: type: string description: A description of the item example: 3 piece set classCode: type: string maxLength: 20 description: The class code of the item example: 12345 sku: type: string maxLength: 50 description: The SKU of the item example: 20170112029 upc: type: string maxLength: 50 description: The UPC of the item example: 20170112029 serialNumber: type: string maxLength: 50 description: The serial number of the item example: 1234567890 modelNumber: type: string maxLength: 50 description: The model number of the item example: 1241 brand: type: string maxLength: 25 description: The brand of the item example: MyBrand industry: type: string maxLength: 15 description: The industry of the item example: Furniture manufacturer: type: string maxLength: 20 description: The manufacturer of the item example: MyManufacturer price: type: number description: The unit price of the item example: 100.00 total: type: number description: | The total price of the item which should be the (Unit Price * Quantity) - Discount. Calculations need to happen before sending the value through the payload example: 190.00 priceNotation: type: string maxLength: 255 description: Use the priceNotation element for any codes added to the final price on the printed receipt (e.g., “N” for non-taxable) example: N quantity: $ref: "#/components/schemas/QuantityCommonData" discounts: type: array description: Multiple item level discounts are allowed and custom labels can be used for each discount items: $ref: "#/components/schemas/DiscountData" miscInfo: type: string description: This field is used for any additional information about the item example: "In-home delivery\n(Assembly required)\nUsually ships in 2-3 weeks" category: type: string maxLength: 100 description: | The category of the item. This field is used if grouping line items to be displayed on the digital receipt by a specific category. For example - grouping the items by grocery product types (“HBA”, “Dairy”, “Meat”, “Grocery”, etc) or by apparel types for department stores (“Womens”, “Mens”, “Kids”). Since the value in this field is literally displayed on the digital receipt, send the specific, literal category name (ex: “Dairy”) rather than a code or number (ex: “1”). example: Furniture customCategory1: type: string maxLength: 100 description: This field can be used to provide a custom category for the item example: CustomCategory1 customCategory2: type: string maxLength: 100 description: This field can be used to provide a second custom category for the item example: CustomCategory2 giftCard: $ref: "#/components/schemas/GiftCardData" supportingDocuments: type: object additionalProperties: $ref: "#/components/schemas/SupportingDocumentData" example: warranty: name: Click for Warranty Information url: http://www.example.com/warranty.pdf taxes: type: array description: The item-level taxes applied to this item items: $ref: "#/components/schemas/TaxData" required: - name QuantityCommonData: type: object additionalProperties: false properties: value: type: number description: The quantity of the item example: 2 units: type: number deprecated: true description: The number of units for the item. This field is deprecated and should not be used. example: 2 unitOfMeasureCode: type: string description: The unit of measure code for the item. e.g. Each, GAL, LB, etc. example: Each DiscountData: type: object additionalProperties: false properties: amount: type: number description: The amount of the discount example: -10.00 name: type: string maxLength: 75 description: The custom label for the discount example: Member Discount GiftCardData: type: object additionalProperties: false properties: accountNumber: type: string description: The account number of the gift card example: 1234567890 authNumber: type: string description: The authorization number of the gift card example: 123456 balance: type: number description: The balance of the gift card example: 100.00 SupportingDocumentData: type: object additionalProperties: false description: | This section is used for any supporting documents that need to be attached to the receipt. This could be a warranty, return policy, or any other document that needs to be attached to the receipt. properties: name: type: string description: The text to display for the document example: Click for Warranty Information url: type: string maxLength: 2083 description: The URL of the document example: http://www.example.com/warranty.pdf ReturnData: type: object additionalProperties: false description: This section is for items that were returned to the store properties: originalStoreNumber: type: string description: The store number where the item was originally purchased example: 123 originalRegister: type: string description: The register where the item was originally purchased example: 20 originalTransactionNumber: type: string description: The transaction number for the original purchase example: 98765 items: type: array items: $ref: "#/components/schemas/ItemData" miscText: type: string description: This field is used for any additional information about the return example: Return for store credit OrderData: type: object additionalProperties: false description: | Use this section for orders that are placed in the store, but they're either going to be delivered to the store for pickup, or they will be delivered to the person's home. For example, furniture is often a product where the person pays for it in advance, and the product is delivered to the person's home. This is also used for layaway transactions. properties: number: type: string description: The order number example: 123456 action: type: string example: Create pattern: Create|Cancel|Modify|Notify|Other|Payment|Pickup|Return|Shipment barcodeNumber: type: string description: The barcode number for the order. This must be compatible with the barcodeType. example: 1234567890 barcodeType: $ref: "#/components/schemas/BarcodeType" description: The type of barcode to use for the order grossAmount: type: number description: The total amount of the order before any discounts, fees or taxes example: 200.00 netAmount: type: number description: The total amount of the order after any discounts and fees but before taxes example: 190.00 totalAmount: type: number description: The total amount of the order example: 100.00 description: type: string description: The description of the order example: Description of order soldTo: $ref: "#/components/schemas/SoldToData" deliveryPickup: $ref: "#/components/schemas/DeliveryPickupData" taxes: type: array items: $ref: "#/components/schemas/TaxData" fees: type: array items: $ref: "#/components/schemas/FeeData" deposits: type: array items: $ref: "#/components/schemas/DepositData" tenderHistory: type: array items: $ref: "#/components/schemas/TenderHistoryData" paymentSchedules: type: array items: $ref: "#/components/schemas/PaymentScheduleData" items: type: array items: $ref: "#/components/schemas/ItemData" miscText: type: string SoldToData: type: object additionalProperties: false description: Information about the person who made the purchase properties: address: $ref: "#/components/schemas/AddressCommonData" customerName: type: string minLength: 1 maxLength: 180 description: The name of the customer example: Jane Doe customerNumber: type: string description: The customer number example: 123456 telephone1: $ref: "#/components/schemas/TelephoneCommonData" telephone2: $ref: "#/components/schemas/TelephoneCommonData" required: - customerName DeliveryPickupData: type: object additionalProperties: false description: This section is used for delivery or pickup information properties: address: $ref: "#/components/schemas/AddressCommonData" instructions: type: string description: Any special instructions for delivery or pickup example: Leave at front door dateTime: type: string description: The date for delivery or pickup example: "2013-11-10" phoneNumber1: $ref: "#/components/schemas/TelephoneCommonData" phoneNumber2: $ref: "#/components/schemas/TelephoneCommonData" TaxData: type: object additionalProperties: false description: This section is for tax data. Multiple taxes are supported properties: description: type: string maxLength: 100 description: The description of the tax. If this is not sent "Tax:" is printed on the receipt example: Sales Tax percent: type: number description: The percentage of the tax. This should be a decimal so 6% would be 0.06 example: 0.06 taxableAmount: type: number description: The amount that the tax is applied to example: 100.00 amount: type: number description: The amount of the tax example: 6.00 taxTypeCode: type: string description: The type of tax enum: - Sales - VAT - GST - PST - HST - Excise - UseTax FeeData: type: object additionalProperties: false description: This section is for fees. Multiple fees are supported properties: amount: type: number description: The amount of the fee example: 10.00 description: type: string maxLength: 75 description: The description of the fee example: Installation Fee DepositData: type: object additionalProperties: false description: This section is for deposit information properties: accountNumber: type: string maxLength: 45 description: The account number for the deposit example: 1234567890 amount: type: number description: The amount of the deposit example: 36.00 balanceDue: type: number description: The balance due example: 40.00 TenderHistoryData: type: object additionalProperties: false description: This section is for payment history information. Multiple tenders are supported properties: tenderTypeCode: type: string maxLength: 30 description: The type of tender example: GiftCard dateTime: type: string description: The date and time of the tender example: "2013-11-10T15:15:17-05:00" amount: type: number description: The amount of the tender example: 100.00 creditDebit: $ref: "#/components/schemas/CreditDebitData" CreditDebitData: type: object additionalProperties: false description: This section is used when the tender is a credit or debit card properties: first6Digits: type: string maxLength: 6 description: The first 6 digits of the card number example: 123456 last4Digits: type: string minLength: 1 maxLength: 4 description: The last 4 digits of the card number example: 7890 typeCode: type: string maxLength: 20 description: The type of card example: Visa name: $ref: "#/components/schemas/NameData" expirationDate: type: string description: The expiration date of the card. This should be in the format YYMM example: "0101" required: - last4Digits NameData: type: object additionalProperties: false description: First Name and Last Name should be sent from the card's track data properties: firstName: type: string maxLength: 50 example: Jane lastName: type: string maxLength: 50 example: Doe PaymentScheduleData: type: object additionalProperties: false description: This section is used when multiple payments are made on an order properties: description: type: string description: The description of the payment example: First Payment amountDue: type: number description: The amount due for the payment example: 50.00 dueDate: type: string description: The due date for the payment example: "2013-11-10" TenderData: type: object additionalProperties: false description: This section is for tender information properties: tenderTypeCode: type: string minLength: 1 maxLength: 30 description: The type of tender example: CreditCard dateTime: type: string description: The date and time of the tender example: "2013-11-10T15:15:17-05:00" amount: type: number description: The amount of the tender example: 100.00 creditDebit: $ref: "#/components/schemas/CreditDebitData" giftCard: $ref: "#/components/schemas/GiftCardData" authorizationCode: type: string maxLength: 45 description: The authorization code for the tender example: 123456 miscInfo: type: string signature: $ref: "#/components/schemas/SignatureData" emv: $ref: "#/components/schemas/TenderEmvData" currency: type: string description: The currency code for the tender example: USD enum: - ADP - AED - AFA - ALL - AMD - ANG - AOA - ARS - ATS - AUD - AWG - AZM - BAM - BBD - BDT - BEF - BGL - BGN - BHD - BIF - BMD - BND - BOB - BOV - BRL - BSD - BTN - BWP - BYR - BZD - CAD - CDF - CHF - CLF - CLP - CNY - COP - CRC - CUP - CVE - CYP - CZK - DEM - DJF - DKK - DOP - DZD - ECS - ECV - EEK - EGP - ERN - ESP - ETB - EUR - FIM - FJD - FKP - FRF - GBP - GEL - GHC - GIP - GMD - GNF - GRD - GTQ - GWP - GYD - HKD - HNL - HRK - HTG - HUF - IDR - IEP - ILS - INR - IQD - IRR - ISK - ITL - JMD - JOD - JPY - KES - KGS - KHR - KMF - KPW - KRW - KWD - KYD - KZT - LAK - LBP - LKR - LRD - LSL - LTL - LUF - LVL - LYD - MAD - MDL - MGF - MKD - MMK - MNT - MOP - MRO - MTL - MUR - MVR - MWK - MXN - MXV - MYR - MZM - NAD - NGN - NIO - NLG - NOK - NPR - NZD - OMR - PAB - PEN - PGK - PHP - PKR - PLN - PTE - PYG - QAR - ROL - RUB - RUR - RWF - SAR - SBD - SCR - SDD - SEK - SGD - SHP - SIT - SKK - SLL - SOS - SRG - STD - SVC - SYP - SZL - THB - TJS - TMM - TND - TOP - TPE - TRL - TTD - TWD - TZS - UAH - UGX - USD - USN - USS - UYU - UZS - VEB - VND - VUV - WST - XAF - XAG - XAU - XBA - XBB - XBC - XCD - XDR - XFO - XFU - XOF - XPD - XPF - XPT - XTS - YER - YUM - ZAR - ZMK - ZWD supportingDocuments: type: object additionalProperties: $ref: "#/components/schemas/SupportingDocumentData" example: warranty: name: Click for Warranty Information url: http://www.example.com/warranty.pdf required: - tenderTypeCode SignatureData: type: object additionalProperties: false description: Sending a base64binary signature image to display on the receipt is supported in this section. This can contain multi-line terms that are being signed properties: base64Image: type: string description: The base64binary code for the image file example: iVBORw0KGgoAAAANSUhEUgAAAQ4AAABACAIAAABk9g5aAAAAA3NCSVQICAjb4U/gAAAFGklEQVR4nO2dW3akOgxFIevOf8r0Bze028ZCbwSc/ZWslGUjW08osm7btoDns67rsizYzTh+7l4AcGC3k/YH4A5MBQAWMJX3gOwrFJjK2/hUDraua9r1wlQAYPGfcTxt00gJgAJmNy85fiKqvIH9VKFfHIopqtB7s+eRXjuHc/ARytZaiCovAU4kGpjK2yjrlZ+O3lSQEZXludZSeeWBUQVWlAk8VzThCVhlP/FK2m4YcMRkKvBhRehCykOtRRQY869OaSqP24av8VBrOSjohWMTMN+bKk/nlqvIn3T9ZVE9o1V2r9EsTiXzHNzimPMPetplZphKWT/xDogU/8Y0bJ962zZR7VEw7zpAVAGAxQNM5XCKlV1OWZIDy/aLaNQRUirHlgeYCgAVgKmk4u4vOW746Y3jIlQ3FWzwRyiefS31TeU13GvzlQOLZVWZdlXaVIq7mSJAPzlYv1vPQbeX3WvgcCB8qdZXrL/LsVHFHvEr645P0DkQqbedvVom9ohdzk7AmA8F1fcxz6WgbgsuaURpKi45Ff2x4orjU+pySi3mWQTWKt2udOYxe5kL9lKEQlGldNuVTKMPrbNaUwLmnvK+z07ed0VxVKugOjI6YMugheN+0+mfcpb0dHTfAymrXlFHTmdUxqZflKm0G9Musb1IfrQtu8E00aeTL7mmw870knYNhEeV0U46jdAKumwAKPRb3L9y4PRFOjo/JZoius0tkq849J3j1h2be+6ruDi5mp7yoJRB6p6Kn/1qpEuEiqjoEn1U2b1UZ6AznRLFiQ61kHHgzAfr5CfA0aQ62I4SvOyEqFelQkRjT2sBBZ4JGH8d7tughoh7FmuJCCkK9aqFR3uKyp5ohpupzL7Idry54/iktBgdP28MKUc8nC3pdgNuSQh6ObniqZIVVYqimdG+IW08kDO6iXxqFWYmoPgqKUesUc4oyhisHU9eaG3dTvFEN09D1AI6CQ5RZcwFx+rFcSccqxR3ItL6mSVbZF5OQUsgPm9MXC9nd3z/y6WorhS3vgl/aRyzOj5KsWxGF+XUcka8IsBMjt3pnI7lCGSW0fzcJtRteXnnLrkQRBVOL989enhVEdLlnfb3LuWLpqBntwtpMeqN03fia8B4Y8QuXNd800eV7Re1hDSi03FfO1nO9ttyCb49ZXqKCCMnrt1ekNC0geUiqjB7iPRGEusObYC0o+IIOiVtQHOxE87tr9lYenaRhkVpKqFbopfFTwT4yee6rlRUCe21JzdkFUk/pw8WYScRLRB1lcKcQiqKWVIvZNeU6F5GcB5VFBVqdCZWsKcZl3Vc3vmRSmt/FTmpfSXMbEIR8LvIOc7OWaFo0mOUKLRu23YSVaQ7dDmlOvPmNPsU95L4HFPMLsEinDO1BRfnclnHK/K6UY7aTjLpo0oR5316E0BRKdnTPCInJpbkwvbvg3NedZ2o88uH0zOcWddd5415jfvy/okqinVfDhl9v6N2dC5N2rib5cQJG6yrxV00TKdVdve0j72xiSpOF41tFs4onT8+/BNzYdF9w9sRqZrzMYVmLpPz0Hz4Xv6PKqF9WHWbYpbFMmd5GZe1mah8UlfD9HBj/VkZmefuB0cmml79nzfxYp9dn3XTvoE8oSAr0mMoRcKtd3BK0htbdGDvR6CTu1DeHIC/B1+j9D+NAKAORasUAKqBqAIAC3GtgpACvoksqsBOwGf54T+fm/wNEwBK8fe+ivopFQC+wM8iOf2wE/BZ/gCTtsbwwukPxQAAAABJRU5ErkJggg== imageMimeType: type: string minLength: 1 maxLength: 50 description: The mime type of the image. Required only if sending this information example: image/png dateTime: type: string description: The date and time of the signature example: "2013-11-10T15:15:17-05:00" text: type: string description: This can be used for terms being signed if a signature is required example: I have read and accept the terms and conditions required: - imageMimeType TenderEmvData: type: object additionalProperties: false properties: aid: type: string appLabel: type: string appPreferredName: type: string additionalAttributes: type: object additionalProperties: type: string TermData: type: object additionalProperties: false description: This section is for terms and conditions. The terms can be sent with or without a base64binary signature image. A link can also be added. properties: signature: $ref: "#/components/schemas/SignatureData" description: type: string description: This can be used for terms if no signature is required example: I acknowledge that I am entering into a lease agreement described in the terms and conditions in the link below. supportingDocuments: type: object additionalProperties: $ref: "#/components/schemas/SupportingDocumentData" example: warranty: name: Terms and Conditions url: http://www.example.com/terms.pdf ReceiptResponse: type: object properties: customerEmailAddress: description: The email address to which the receipt will be emailed. example: jane.doe@email.com type: string receiptId: description: | The unique id for the receipt. This id can be used to fetch the receipt via the GET /merchants/{merchantId}/receipts/{receiptId} method. NOTE: this is not the same as the requestId. type: string example: 12345678-1234-1234-1234-123456789012 offers: type: array items: type: object properties: offerContentType: enum: - image/png - image/bmp - image/jpg - image/gif - text/html - text/plain type: string content: description: | The offer content; serialization will depend on on the contentType. If the contentType matches image/\*, then this will be a base64-encoded string representing the image. If the contentType matches text/\*, then this will simply be text. type: string example: "http://www.example.com/offer.pdf" imageWidth: description: Provided only if contentType matches image/\*. type: number example: 100 required: - contentType - content required: - receiptId ReceiptDataResponse: title: Receipt V 1 type: object additionalProperties: false properties: apiRequest: $ref: "#/components/schemas/ApiRequest" associates: type: object additionalProperties: $ref: "#/components/schemas/Operator" barcode: $ref: "#/components/schemas/Barcode" buyer: $ref: "#/components/schemas/Buyer" changeDue: $ref: "#/components/schemas/MonetaryAmount" createDate: type: integer format: utc-millisec example: 1234567890123 customerRefId: type: string example: 123456 deliveryPickupInfo: $ref: "#/components/schemas/DeliveryPickupInfo" deposit: $ref: "#/components/schemas/Deposit" discounts: type: array items: $ref: "#/components/schemas/Discount" fees: type: array items: $ref: "#/components/schemas/Fee" formattedTextAreas: type: object additionalProperties: $ref: "#/components/schemas/FormattedText" id: type: string example: 12345678-1234-1234-1234-123456789012 items: type: array items: $ref: "#/components/schemas/Item" language: type: string enum: - aa - ab - ae - af - ak - am - an - ar - as - av - ay - az - ba - be - bg - bh - bi - bm - bn - bo - br - bs - ca - ce - ch - co - cr - cs - cu - cv - cy - da - de - dv - dz - ee - el - en - eo - es - et - eu - fa - ff - fi - fj - fo - fr - fy - ga - gd - gl - gn - gu - gv - ha - he - hi - ho - hr - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - io - is - it - iu - ja - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ku - kv - kw - ky - la - lb - lg - li - ln - lo - lt - lu - lv - mg - mh - mi - mk - ml - mn - mr - ms - mt - my - na - nb - nd - ne - ng - nl - nn - 'no' - nr - nv - ny - oc - oj - om - or - os - pa - pi - pl - ps - pt - qu - rm - rn - ro - ru - rw - sa - sc - sd - se - sg - si - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - tg - th - ti - tk - tl - tn - to - tr - ts - tt - tw - ty - ug - uk - ur - uz - ve - vi - vo - wa - wo - xh - yi - yo - za - zh - zu merchantRefId: type: string example: 123456-1234-1234-1234-123456789012 merchantTrackingPixelUrl: type: string example: http://www.example.com/pixel.gif mode: type: string enum: - Production - Test - Training orders: type: array items: $ref: "#/components/schemas/Order" posRefId: type: string example: 123456 rawReceipt: type: string receiptDate: type: integer format: utc-millisec example: 1234567890123 receiptType: type: string enum: - DIGITAL - PAPER - DIGITAL_PAPER - EMAIL - NO_RECEIPT referenceId: type: string example: 12345678-1234-1234-1234-123456789012 registerNumber: type: string example: 20 relatedTransaction: $ref: "#/components/schemas/TransactionReference" returns: type: array items: $ref: "#/components/schemas/Return" revision: $ref: "#/components/schemas/Revision" serviceCharge: $ref: "#/components/schemas/MonetaryAmount" storeRefId: type: string example: 123456 supportingDocuments: type: object additionalProperties: $ref: "#/components/schemas/SupportingDocument" taxes: type: array items: $ref: "#/components/schemas/Tax" tender: type: array items: $ref: "#/components/schemas/Tender" tenderHistory: type: array items: $ref: "#/components/schemas/TenderHistory" terms: type: array items: $ref: "#/components/schemas/Term" utcOffset: type: integer example: -5 tip: $ref: "#/components/schemas/MonetaryAmount" totalSalesAmount: $ref: "#/components/schemas/MonetaryAmount" transactionCurrency: type: string description: The currency code for the transaction example: USD enum: - OMR - BBD - PLN - SRG - SVC - ECV - BMD - TJS - TND - GNF - TMM - XBB - PKR - FKP - MUR - XAF - SAR - CAD - HKD - PYG - AUD - AMD - YER - AFA - MMK - SEK - XBC - XFO - KES - GEL - GTQ - TZS - CUP - ALL - ERN - BRL - USS - UGX - CYP - GIP - KRW - JOD - IQD - VUV - UZS - BOV - DEM - IEP - UAH - LVL - ZWD - PEN - KMF - DOP - BDT - LKR - FJD - LSL - ATS - BSD - GRD - XTS - SHP - LRD - LTL - QAR - MZM - BND - VEB - CDF - STD - USN - SZL - CZK - TRL - ECS - BGN - JMD - UYU - NPR - EGP - CLP - XPD - MOP - SCR - HTG - VND - LAK - BTN - GBP - TWD - DZD - RUR - MXN - YUM - XDR - AWG - AZM - THB - ISK - ITL - LBP - SGD - MWK - WST - DJF - KZT - CRC - LYD - NGN - BIF - CHF - RWF - AED - INR - CLF - ESP - SIT - ADP - XOF - MRO - EEK - MXV - PTE - PGK - CNY - PHP - MDL - SYP - KHR - XPT - GWP - COP - DKK - KYD - XPF - GMD - XFU - MVR - TTD - PAB - XAU - GHC - XAG - SKK - JPY - ROL - BEF - TOP - BWP - MKD - ARS - FIM - HUF - TPE - MYR - USD - SLL - MGF - MAD - RUB - MNT - BOB - GYD - SBD - XBA - BHD - LUF - HNL - XCD - NZD - KGS - AOA - BZD - IDR - SOS - NIO - BYR - ANG - NLG - SDD - FRF - ILS - NOK - KWD - NAD - ETB - MTL - KPW - BGL - EUR - CVE - ZAR - IRR - ZMK - HRK - BAM transactionBalanceDue: $ref: "#/components/schemas/MonetaryAmount" transactionGrandAmount: $ref: "#/components/schemas/MonetaryAmount" transactionGrossAmount: $ref: "#/components/schemas/MonetaryAmount" loyaltyInformation: $ref: "#/components/schemas/LoyaltyInformation" transactionNetAmount: $ref: "#/components/schemas/MonetaryAmount" transactionNumber: type: string example: 123456 transactionSignature: $ref: "#/components/schemas/Signature" transactionTenderApplied: $ref: "#/components/schemas/MonetaryAmount" transactionType: type: string example: SaleTransaction paymentLink: type: string description: The payment link URL. Present when transactionType is "PaymentLinkTransaction" example: https://pay.example.com/link/abc123 ApiRequest: type: object additionalProperties: false properties: apiVersion: type: string description: The version of the API that was used to create the request example: 1.0 data: {} Operator: type: object additionalProperties: false properties: name: type: string idNumber: type: string operatorType: type: string enum: - Cashier - Checker - Manager - OrderTaker - Server - Supervisor - Expediter - Bartender Barcode: type: object additionalProperties: false properties: type: $ref: "#/components/schemas/BarcodeType" description: The type of barcode to print on the bottom of the receipt. number: type: string description: The number used to generate the receipt barcode. This is not the transaction number. This must be compatible with the barcodeType. example: 1234567890 BarcodeType: type: string description: The type of barcode to print enum: - GTIN - EAN-128 - Code39 - Code128 - QRCode example: Code128 Buyer: type: object additionalProperties: false properties: name: type: string description: The name of the buyer example: Jane Doe customerNumber: type: string description: The customer number example: 123456 telephoneNumbers: type: object additionalProperties: $ref: "#/components/schemas/TelephoneNumber" address: $ref: "#/components/schemas/Address" TelephoneNumber: type: object additionalProperties: false properties: countryCode: type: string areaCode: type: string example: 123 localNumber: type: string example: 4567890 Address: type: object additionalProperties: false properties: address1: type: string example: 123 Main St address2: type: string example: Suite 100 address3: type: string example: Building 2 city: type: string example: Orlando state: type: string example: FL country: type: string example: USA countryCode: type: string example: US postalCode: type: string example: 32801 postalCodeExtension: type: string example: 1234 MonetaryAmount: type: object additionalProperties: false properties: amount: type: number example: 100.00 currencyCode: type: string description: The currency code for the transaction example: USD enum: - OMR - BBD - PLN - SRG - SVC - ECV - BMD - TJS - TND - GNF - TMM - XBB - PKR - FKP - MUR - XAF - SAR - CAD - HKD - PYG - AUD - AMD - YER - AFA - MMK - SEK - XBC - XFO - KES - GEL - GTQ - TZS - CUP - ALL - ERN - BRL - USS - UGX - CYP - GIP - KRW - JOD - IQD - VUV - UZS - BOV - DEM - IEP - UAH - LVL - ZWD - PEN - KMF - DOP - BDT - LKR - FJD - LSL - ATS - BSD - GRD - XTS - SHP - LRD - LTL - QAR - MZM - BND - VEB - CDF - STD - USN - SZL - CZK - TRL - ECS - BGN - JMD - UYU - NPR - EGP - CLP - XPD - MOP - SCR - HTG - VND - LAK - BTN - GBP - TWD - DZD - RUR - MXN - YUM - XDR - AWG - AZM - THB - ISK - ITL - LBP - SGD - MWK - WST - DJF - KZT - CRC - LYD - NGN - BIF - CHF - RWF - AED - INR - CLF - ESP - SIT - ADP - XOF - MRO - EEK - MXV - PTE - PGK - CNY - PHP - MDL - SYP - KHR - XPT - GWP - COP - DKK - KYD - XPF - GMD - XFU - MVR - TTD - PAB - XAU - GHC - XAG - SKK - JPY - ROL - BEF - TOP - BWP - MKD - ARS - FIM - HUF - TPE - MYR - USD - SLL - MGF - MAD - RUB - MNT - BOB - GYD - SBD - XBA - BHD - LUF - HNL - XCD - NZD - KGS - AOA - BZD - IDR - SOS - NIO - BYR - ANG - NLG - SDD - FRF - ILS - NOK - KWD - NAD - ETB - MTL - KPW - BGL - EUR - CVE - ZAR - IRR - ZMK - HRK - BAM DeliveryPickupInfo: type: object additionalProperties: false properties: instructions: $ref: "#/components/schemas/FormattedText" deliveryPickupDate: type: integer format: utc-millisec example: 1384104000000 telephoneNumbers: type: object additionalProperties: $ref: "#/components/schemas/TelephoneNumber" address: $ref: "#/components/schemas/Address" FormattedText: type: object additionalProperties: false properties: format: type: string enum: - TABS_NEWLINE - MARKDOWN - NONE text: type: string example: Example text Deposit: type: object additionalProperties: false properties: accountNumber: type: string example: 1234567890 amount: $ref: "#/components/schemas/MonetaryAmount" balanceDue: $ref: "#/components/schemas/MonetaryAmount" Discount: type: object additionalProperties: false properties: description: $ref: "#/components/schemas/FormattedText" amount: $ref: "#/components/schemas/MonetaryAmount" Fee: type: object additionalProperties: false properties: amount: $ref: "#/components/schemas/MonetaryAmount" description: $ref: "#/components/schemas/FormattedText" Item: type: object additionalProperties: false properties: amount: $ref: "#/components/schemas/MonetaryAmount" brand: type: string example: MyBrand category: type: string example: Category customCategory1: type: string example: Custom Category 1 customCategory2: type: string example: Custom Category 2 description: $ref: "#/components/schemas/FormattedText" discounts: type: array items: $ref: "#/components/schemas/Discount" giftcard: $ref: "#/components/schemas/Giftcard" industry: type: string description: The industry of the item example: Retail itemTotal: $ref: "#/components/schemas/MonetaryAmount" manufacturer: type: string example: MyManufacturer miscInfo: $ref: "#/components/schemas/FormattedText" modelNumber: type: string example: 123456 name: type: string example: MyItem price: $ref: "#/components/schemas/MonetaryAmount" priceNotation: type: string description: Use the priceNotation element for any codes added to the final price on the printed receipt (e.g., “N” for non-taxable) example: N quantity: $ref: "#/components/schemas/Quantity" serialNumber: type: string example: 1234567890 sku: type: string example: 123456 supportingDocuments: type: object additionalProperties: $ref: "#/components/schemas/SupportingDocument" upc: type: string example: 1234567890 classCode: type: string example: classCode Giftcard: type: object additionalProperties: false properties: accountNumber: type: string description: The account number of the gift card example: 1234567890 authNumber: type: string description: The authorization number of the gift card example: 123456 balance: $ref: "#/components/schemas/MonetaryAmount" Quantity: type: object additionalProperties: false properties: value: type: number example: 1 units: type: number example: 1 unitOfMeasureCode: type: string example: Each SupportingDocument: type: object additionalProperties: false properties: name: type: string example: Click for Warranty Information url: type: string example: http://www.example.com/warranty.pdf Order: type: object additionalProperties: false properties: orderNumber: type: string example: 123456 orderAction: type: string enum: - Return - Other - Modify - Shipment - Payment - Create - Notify - Pickup - Cancel barcode: $ref: "#/components/schemas/Barcode" totalAmount: $ref: "#/components/schemas/MonetaryAmount" description: $ref: "#/components/schemas/FormattedText" buyer: $ref: "#/components/schemas/Buyer" deliveryPickup: $ref: "#/components/schemas/DeliveryPickupInfo" miscText: $ref: "#/components/schemas/FormattedText" taxes: type: array items: $ref: "#/components/schemas/Tax" fees: type: array items: $ref: "#/components/schemas/Fee" deposits: type: array items: $ref: "#/components/schemas/Deposit" tenderHistory: type: array items: $ref: "#/components/schemas/TenderHistory" paymentSchedule: type: array items: $ref: "#/components/schemas/PaymentSchedule" items: type: array items: $ref: "#/components/schemas/Item" Tax: type: object additionalProperties: false properties: description: $ref: "#/components/schemas/FormattedText" percent: type: number example: 0.06 taxableAmount: $ref: "#/components/schemas/MonetaryAmount" amount: $ref: "#/components/schemas/MonetaryAmount" taxTypeCode: type: string enum: - SALES - VAT - GST - PST - HST - EXCISE - USE_TAX TenderHistory: type: object additionalProperties: false properties: tenderType: type: string example: Cash tenderDate: type: integer format: utc-millisec example: 1384104000000 amount: $ref: "#/components/schemas/MonetaryAmount" creditDebit: $ref: "#/components/schemas/CreditDebit" CreditDebit: type: object additionalProperties: false properties: Name: type: string description: The name of the cardholder example: Jane Doe expirationDate: type: string description: Expiration date of the card in YYMM format example: 1212 typeCode: type: string description: The type of card example: Visa first6Digits: type: string description: The first 6 digits of the card number example: XXXXXX last4Digits: type: string description: The last 4 digits of the card number example: 1234 emvData: $ref: "#/components/schemas/EmvData" EmvData: type: object additionalProperties: false properties: aid: type: string example: A0000000031010 appLabel: type: string example: VI appPreferredName: type: string example: appPreferredName additionalAttributes: type: object additionalProperties: type: string PaymentSchedule: type: object additionalProperties: false properties: description: $ref: "#/components/schemas/FormattedText" amountDue: $ref: "#/components/schemas/MonetaryAmount" dueDate: type: integer format: utc-millisec example: 1384104000000 TransactionReference: type: object additionalProperties: false properties: store: type: string example: 123456 register: type: string example: 20 transactionNumber: type: string example: 123456 reasonCode: type: string example: R555 reason: type: string example: Detailed Reason Here Return: type: object additionalProperties: false properties: originalStoreNumber: type: string example: 123456 originalRegister: type: string example: 20 originalTransactionNumber: type: string example: 123456 miscText: $ref: "#/components/schemas/FormattedText" items: type: array items: $ref: "#/components/schemas/Item" Revision: type: object additionalProperties: false properties: date: type: integer format: utc-millisec example: 1384104000000 number: type: string example: 999 Tender: type: object additionalProperties: false properties: tenderType: type: string example: CreditCard amount: $ref: "#/components/schemas/MonetaryAmount" miscInfo: $ref: "#/components/schemas/FormattedText" authCode: type: string example: 123456 signature: $ref: "#/components/schemas/Signature" creditDebit: $ref: "#/components/schemas/CreditDebit" giftcard: $ref: "#/components/schemas/Giftcard" supportingDocuments: type: object additionalProperties: $ref: "#/components/schemas/SupportingDocument" tenderDate: type: integer format: utc-millisec example: 1384104000000 currency: type: string description: The currency code for the transaction example: USD enum: - OMR - BBD - PLN - SRG - SVC - ECV - BMD - TJS - TND - GNF - TMM - XBB - PKR - FKP - MUR - XAF - SAR - CAD - HKD - PYG - AUD - AMD - YER - AFA - MMK - SEK - XBC - XFO - KES - GEL - GTQ - TZS - CUP - ALL - ERN - BRL - USS - UGX - CYP - GIP - KRW - JOD - IQD - VUV - UZS - BOV - DEM - IEP - UAH - LVL - ZWD - PEN - KMF - DOP - BDT - LKR - FJD - LSL - ATS - BSD - GRD - XTS - SHP - LRD - LTL - QAR - MZM - BND - VEB - CDF - STD - USN - SZL - CZK - TRL - ECS - BGN - JMD - UYU - NPR - EGP - CLP - XPD - MOP - SCR - HTG - VND - LAK - BTN - GBP - TWD - DZD - RUR - MXN - YUM - XDR - AWG - AZM - THB - ISK - ITL - LBP - SGD - MWK - WST - DJF - KZT - CRC - LYD - NGN - BIF - CHF - RWF - AED - INR - CLF - ESP - SIT - ADP - XOF - MRO - EEK - MXV - PTE - PGK - CNY - PHP - MDL - SYP - KHR - XPT - GWP - COP - DKK - KYD - XPF - GMD - XFU - MVR - TTD - PAB - XAU - GHC - XAG - SKK - JPY - ROL - BEF - TOP - BWP - MKD - ARS - FIM - HUF - TPE - MYR - USD - SLL - MGF - MAD - RUB - MNT - BOB - GYD - SBD - XBA - BHD - LUF - HNL - XCD - NZD - KGS - AOA - BZD - IDR - SOS - NIO - BYR - ANG - NLG - SDD - FRF - ILS - NOK - KWD - NAD - ETB - MTL - KPW - BGL - EUR - CVE - ZAR - IRR - ZMK - HRK - BAM Signature: type: object additionalProperties: false properties: imageUrl: type: string example: http://www.example.com/signature.png base64Image: type: string description: The base64binary code for the image file example: ...base64binary... imageMimeType: type: string description: The mime type of the image. Required only if sending this information example: image/png text: $ref: "#/components/schemas/FormattedText" signedDate: type: integer format: utc-millisec example: 1384104000000 Term: type: object additionalProperties: false properties: description: $ref: "#/components/schemas/FormattedText" signature: $ref: "#/components/schemas/Signature" supportingDocuments: type: object additionalProperties: $ref: "#/components/schemas/SupportingDocument" LoyaltyInformation: type: object additionalProperties: false properties: loyaltyNumber: type: string example: 123456 customerName: type: string example: Jane Doe expDate: type: integer format: utc-millisec example: 1384104000000 misc: $ref: "#/components/schemas/FormattedText" balance: type: number example: 100 ResendEmailData: title: Resend receipt Data type: object additionalProperties: false properties: customerEmailAddress: type: string maxLength: 151 example: jane.doe@email.com responses: {} parameters: {} examples: {} requestBodies: {} headers: {} securitySchemes: basic: description: | All requests are secured with basic authentication. Credentials are provided with your account information. type: http scheme: basic links: {} callbacks: {}