Search folio transactions

Search and retrieve both posted and pending transactions for a source (reservation, group profile, or house account), merged into a single response. This endpoint uses POST (instead of GET) to support complex filter and grouping criteria in the request body. Results can be grouped by date, transaction type, folio, or other fields.

Results are always wrapped in groups. When groupBy is specified, transactions are grouped by that field. When omitted, all transactions are placed in a single group with key "default". Pagination is applied first (cursor-based on flat transactions), then grouping is applied to the page results. Groups at page boundaries may be partial.

When includeTotal is true, totals and foreign currency totals are computed on the first page and cached in Redis. Subsequent pages return cached totals. When no filters are applied, the total amount is read from the pre-computed source balance for optimal performance.

Supported filter fields: folioId, posted, descriptionFilters, transactionDate range, serviceDate range, subSourceIds, searchQuery.

Supported sort fields: transaction_datetime, service_date, id, internal_code.

Supported groupBy fields: transaction_date, service_date, internal_code_group, description, sub_source_identifier, folio_id, user_id.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
int64
required

Source ID (reservation ID, group profile ID, house account ID)

string
enum
required

The type of financial source that owns transactions and balances. RESERVATION is an individual guest booking, HOUSE_ACCOUNT is a property-level account for miscellaneous charges, GROUP_PROFILE is a group booking that can aggregate charges from multiple reservations, and ACCOUNTS_RECEIVABLE_LEDGER tracks balances transferred for later collection.

Allowed:
int64

Filter by specific folio

boolean

Filter by posted status. Omit to include both posted and pending.

descriptionFilters
array of strings

Filter by transaction description identifiers. Accepts composite identifiers in the format: "{type}_{originId}" for item-level filtering (e.g. "product_123", "tax_456", "addon_789", "fee_101", "custom_item_202", "bookable_resource_303"), literal group names for room revenue ("rate", "roomRevenue_manual", "roomRevenue_cancellation", "roomRevenue_no_show", "accountsReceivable"), or payment method codes ("cash", "ebanking", "cards_visa", "cards_master", "pay_pal"). Server translates these to internalTransactionCode group + originId query conditions.

descriptionFilters
date-time

Filter transactions from this datetime (UTC, inclusive)

date-time

Filter transactions to this datetime (UTC, inclusive)

date

Filter by service date from (inclusive)

date

Filter by service date to (inclusive)

subSourceIds
array of int64s

Filter by sub-source IDs (booking room IDs for reservations)

subSourceIds
string

Free text search on transaction description

string
enum

Field to group transactions by. When omitted, all transactions are placed in a single group with key "default".

sort
array of objects
sort
string
int32
Defaults to 100

Page size. Default 100, max 1100.

boolean
Defaults to true

Include voided transactions. When false, both void transactions and the original transactions they voided are excluded (full chain removal via rootId matching).

boolean
Defaults to false

Include totals in response. On first page, totals are computed and cached in Redis. Subsequent pages return cached totals. When no filters are applied, total amount is read from the pre-computed source balance.

Headers
int64
required

Unique identifier of the property. Required for all requests to scope data to a specific property.

Responses

Language
Credentials
OAuth2
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json