When it fires
Way sendsfinancialReport.updated on a recurring background sync whenever new financial transactions - bookings, refunds, transfers, and similar activity - have been recorded since the webhook’s last successful delivery. Each delivery batches all new transaction rows for the covered brands; if there are no new rows, no event is sent. For organization-level webhooks, transactions from brands added to the organization after the webhook was created are included in the next delivery.
Events arrive at your endpoint as a POST request with the body { "event": "financialReport.updated", "payload": { ... } }. When a webhook secret is set, the X-Way-Signature header carries an HMAC of the request body - see Verify signatures.
Payload
| Field | Type | Description |
|---|---|---|
coveredBrandIds | string[] (UUID) | Identifiers of the brands covered by this delivery. |
transactions | array | New transaction rows since the last delivery. |
transactions[].externalReferenceId | string | null | External reference identifier of the brand. |
transactions[].brandName | string | Display name of the brand. |
transactions[].brandId | string | Unique identifier of the brand. |
transactions[].experienceId | string | Unique identifier of the experience. |
transactions[].bookingId | string | null | Unique identifier of the booking. |
transactions[].bookingSourceUrl | string | null | URL of the page where the booking originated. |
transactions[].loyaltyMemberId | string | null | Loyalty member identifier associated with the booking, if any. |
transactions[].loyaltyPoints | number | null | Loyalty points involved in the transaction, if any. |
transactions[].externalAnalyticsUserId | string | null | External analytics user identifier, if any. |
transactions[].loyaltyTransactionId | string | null | Identifier of the associated loyalty transaction, if any. |
transactions[].currency | string | Currency code of the transaction. |
transactions[].experienceDate | string (date) | Date of the booked session. |
transactions[].transactionDate | string (ISO 8601) | Timestamp of the transaction, in UTC. |
transactions[].transactionMonth | string | Month of the transaction (for example, July 2025). |
transactions[].firstName | string | null | First name of the purchaser. |
transactions[].lastName | string | null | Last name of the purchaser. |
transactions[].confirmationCode | string | null | Confirmation code of the booking. |
transactions[].paymentType | string | Type of transaction (for example, Payment or Refund). |
transactions[].paymentMethod | string | Payment method used: credit-card, room-charge, member-number, loyalty, kicc, cash, pay-later, or pay-upon-arrival. |
transactions[].accountNumber | string | null | Account number associated with the payment, if any. |
transactions[].description | string | Description of the transaction. |
transactions[].duration | string | Duration of the booked session. |
transactions[].hostName | string | null | Name of the host. |
transactions[].total | number | null | Total amount of the transaction. |
transactions[].discountAmount | number | null | Discount amount applied. |
transactions[].subtotal | number | null | Subtotal of the transaction. |
transactions[].grossRevenue | number | null | Gross revenue of the transaction. |
transactions[].netRevenue | number | null | Net revenue of the transaction. |
transactions[].taxes | object | Map of tax names to amounts. |
transactions[].totalPaid | number | null | Total amount paid. |
transactions[].hostPayout | number | null | Payout amount for the host. |
transactions[].promoterPayout | number | null | Payout amount for the promoter, when applicable. |
transactions[].creditCardFee | number | null | Credit card fee for the transaction. |
transactions[].wayFee | number | null | Way fee for the transaction, when applicable. |
transactions[].transactionRole | string | null | Role of the brand in the transaction: Own Experience, Selling Partner Experience, or Partner Selling My Experience, when applicable. |
transactions[].partnerName | string | null | Name of the partner involved in the transaction, when applicable. |
transactions[].partnerPayout | number | null | Payout amount for the partner, when applicable. |
transactions[].netDeposited | number | Net amount deposited. |
transactions[].quantity | number | null | Quantity of items in the transaction. |
transactions[].discountCode | string | null | Discount code applied, if any. |
transactions[].dateDeposited | string (date) | null | Date the funds were deposited, if deposited. |
transactions[].notes | string | null | Guest notes attached to the booking. |
transactions[].internalNotes | string | null | Internal notes attached to the booking. |
transactions[].reservationId | string | null | Reservation identifier associated with the payment, if any. |
transactions[].cartId | string | null | Confirmation code of the cart, if any. |
transactions[].createdBy | string | null | Name of the user who created the booking, if created manually. |
transactions[].category | string | null | Category of the experience. |
transactions[].listingStatus | string | null | Status of the listing at transaction time. |
transactions[].bookingUrl | string | null | URL of the booking in the Way dashboard, if available. |
transactions[].promoterSource | string | null | Promoter source of the booking, if any. |
transactions[].approvedPromoters | string | null | Approved promoters of the experience, if any. |
Sample
{
"event": "financialReport.updated",
"payload": {
"transactions": [
{
"notes": "Bunny Chow",
"taxes": {},
"total": 300,
"cartId": "J6yxcYpnI",
"brandId": "f2ce0a06-7997-4626-9532-65ac70f3a19c",
"category": "Art",
"currency": "USD",
"duration": "1 Hour",
"hostName": "Chris Jones",
"lastName": "Klocko",
"quantity": 3,
"subtotal": 300,
"bookingId": "4b5f71bc-c762-42e0-ad4c-b2fd41e26e30",
"brandName": "The Seaside Hotel",
"createdBy": null,
"firstName": "Emil",
"totalPaid": 300,
"bookingUrl": null,
"hostPayout": 0,
"netRevenue": 300,
"description": "No Commisison",
"paymentType": "Payment",
"discountCode": null,
"experienceId": "8a72720c-edcb-4329-abf5-8a0f54773ece",
"grossRevenue": 300,
"netDeposited": 290.7,
"accountNumber": null,
"creditCardFee": -9.3,
"dateDeposited": null,
"internalNotes": null,
"listingStatus": "listed",
"loyaltyPoints": null,
"paymentMethod": "credit-card",
"reservationId": null,
"discountAmount": 0,
"experienceDate": "2025-09-08",
"promoterSource": null,
"loyaltyMemberId": null,
"transactionDate": "2025-07-11T11:03:55.428Z",
"bookingSourceUrl": null,
"confirmationCode": "OW3rlG9ZJ",
"transactionMonth": "July 2025",
"approvedPromoters": null,
"externalReferenceId": "",
"externalAnalyticsUserId": null
}
],
"coveredBrandIds": [
"f2ce0a06-7997-4626-9532-65ac70f3a19c"
]
}
}