openapi: 3.2.0 info: version: '3.1' title: Connect REST PAT Reports API servers: - url: https://your-host-here.test.connect.paymentsense.cloud/ security: - connectBasicAuth: [] tags: - name: PAT Reports paths: /pat/reports: get: description: Get a list of all reports from the last 3 days tags: - PAT Reports operationId: PATReports parameters: - $ref: '#/components/parameters/tpiParam' responses: '200': description: List of reports has been successfully returned. content: application/connect.v1+json: schema: $ref: '#/components/schemas/reportListResponse' '401': description: Authorization credentials must be provided in the request headers. '401 ': description: The provided authorization credentials were not correct. '500 ': description: An internal Connect error has occurred. /pat/reports/{reportId}: get: description: Gets details for a specific report tags: - PAT Reports operationId: PATReport parameters: - name: reportId in: path required: true schema: type: string responses: '200': description: Report details have been successfully returned. content: application/connect.v1+json: schema: $ref: '#/components/schemas/reportResponsePAT' '401': description: Authorization credentials must be provided in the request headers. '401 ': description: The provided authorization credentials were not correct. '404 ': description: Report could not be found. '500 ': description: An internal Connect error has occurred. components: schemas: totalsBreakdown: type: object required: - currency - totalAmount - totalRefundsAmount - totalRefundsCount - totalSalesAmount - totalSalesCount properties: currency: $ref: '#/components/schemas/currency' totalAmount: description: Total amount that has been taken in the current session. type: integer totalRefundsAmount: description: Total amount of refunds (in pence) that have been taken in the current session. type: integer totalRefundsCount: description: Total number of refunds that have taken place in the current session. type: integer totalSalesAmount: description: Total amount of sales (in pence) that have been taken in the current session. type: integer totalSalesCount: description: Total number of sales that have taken place in the current session. type: integer receiptLine: type: object required: - value properties: format: description: Defines any special formatting applied to this line. type: array items: $ref: '#/components/schemas/format' example: - BOLD type: description: The type of the content contained in the value field. type: string enum: - TEXT - BOX_DECLINE - BOX_VOID - CARRIAGE_RETURN - LINE_SEPARATOR_SINGLE - LINE_SEPARATOR_DOUBLE - TICKET_FEED example: TEXT value: description: Raw content of the line. type: string example: John's Shop currency: description: Currency of the request. The textual representation from ISO 4217 is used. type: string enum: - GBP - EUR example: GBP reportBalances: description: Local totals for the current terminal session. Only contained in X_BALANCE, Z_BALANCE and END_OF_DAY. type: object required: - currency - issuerTotals - totalAmount - totalCashbackAmount - totalCashbackCount - totalGratuityAmount - totalGratuityCount - totalRefundsAmount - totalRefundsCount - totalSalesAmount - totalSalesCount - totalsSince - waiterTotals properties: currency: $ref: '#/components/schemas/currency' issuerTotals: $ref: '#/components/schemas/issuerTotals' totalAmount: description: Total amount that has been taken in the current session. type: integer example: '1000' totalCashbackAmount: description: Total amount of cashback (in pence) that has been taken in the current session. type: integer example: '100' totalCashbackCount: description: Total number of transactions with cashback that have taken place in the current session. type: integer example: '2' totalGratuityAmount: description: Total amount of gratuity (in pence) that has been taken in the current session. type: integer example: '100' totalGratuityCount: description: Total number of transactions with gratuity that have taken place in the current session. type: integer example: '3' totalRefundsAmount: description: Total amount of refunds (in pence) that have been taken in the current session. type: integer example: '400' totalRefundsCount: description: Total number of refunds that have taken place in the current session. type: integer example: '9' totalSalesAmount: description: Total amount of sales (in pence) that have been taken in the current session. type: integer example: '1200' totalSalesCount: description: Total number of sales that have taken place in the current session. type: integer example: '14' totalsSince: description: Time at which the terminal totals were last reset. type: string example: INSTALLATION waiterTotals: $ref: '#/components/schemas/waiterTotals' reportBanking: type: object required: - currency - currentSessionIssuerTotals - previousSessionIssuerTotals - currentSessionTotals - previousSessionTotals - currentSessionTransactionNumbers - previousSessionTransactionNumbers properties: currency: $ref: '#/components/schemas/currency' currentSessionIssuerTotals: $ref: '#/components/schemas/issuerTotals' previousSessionIssuerTotals: $ref: '#/components/schemas/issuerTotals' currentSessionTotals: $ref: '#/components/schemas/totalsBreakdown' previousSessionTotals: $ref: '#/components/schemas/totalsBreakdown' currentSessionTransactionNumbers: description: Range of transaction numbers within the current terminal session. type: array items: type: string example: - '0076' - '0123' previousSessionTransactionNumbers: description: Range of transaction numbers within the previous terminal session. type: array items: type: string example: - '0000' - '0075' reportList: type: array items: $ref: '#/components/schemas/reportResponsePAT' reportResultsPAT: type: string enum: - COMPLETE reportsBanking: type: object description: Banking totals for the current terminal session (these are reset in line with the banking window). Only contained in BANKING and END_OF_DAY. Consists of a dictionary of reports keyed by acquirer name. '{acquirerName}' is an example key properties: '{acquirerName}': $ref: '#/components/schemas/reportBanking' receiptLineList: type: array items: $ref: '#/components/schemas/receiptLine' waiterTotals: type: object description: A dictionary of totals split by waiter. {waiterId} is an example key. properties: '{waiterId}': $ref: '#/components/schemas/totalsBreakdown' reportResponsePAT: type: object required: - balances - banking - reportLines - reportTime - reportType - reportResult - tpi - requestId - location properties: balances: $ref: '#/components/schemas/reportBalances' banking: $ref: '#/components/schemas/reportsBanking' reportLines: $ref: '#/components/schemas/receiptLineList' reportTime: type: string format: date-time reportType: $ref: '#/components/schemas/reportType' reportResult: type: string $ref: '#/components/schemas/reportResultsPAT' tpi: type: string reportId: type: string location: type: string description: The URI where the information about this particular report can be found. reportListResponse: type: object properties: reports: $ref: '#/components/schemas/reportList' reportType: description: Type of the report. type: string enum: - END_OF_DAY - BANKING - X_BALANCE - Z_BALANCE example: END_OF_DAY format: type: string enum: - BOLD - DOUBLE_HEIGHT - DOUBLE_WIDTH issuerTotals: type: object description: A dictionary of totals split by issuer. {issuerName} is an example key. properties: '{issuerName}': $ref: '#/components/schemas/totalsBreakdown' parameters: tpiParam: name: tpi description: Terminal Public Identifier (unique identifier assigned to a terminal) of the terminal to use in this request. in: path required: true schema: type: string securitySchemes: connectBasicAuth: type: http scheme: basic