When it fires
Way sendsfinancialReportV2.updated on the same recurring background sync as financialReport.updated, whenever new financial transactions have been recorded since the webhook’s last successful delivery. The V2 report breaks transactions down per line item - price tiers and add-ons appear as separate rows - and adds fields such as experienceName, email, pricingLabel, itemType, and startTime. If there are no new rows, no event is sent.
Events arrive at your endpoint as a POST request with the body { "event": "financialReportV2.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, one per line item. |
transactions[].externalReferenceId | string | null | External reference identifier of the brand, when applicable. |
transactions[].brandName | string | Display name of the brand, when applicable. |
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, when applicable. |
transactions[].firstName | string | null | First name of the purchaser. |
transactions[].lastName | string | null | Last name of the purchaser. |
transactions[].email | string | null | Email address 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 for the transaction. |
transactions[].accountNumber | string | null | Account number associated with the payment, if any. |
transactions[].experienceName | string | Title of the experience. |
transactions[].pricingLabel | string | null | Label of the line item, such as the price tier or add-on name. |
transactions[].itemType | string | null | Type of line item: Price tier or Add-on. |
transactions[].quantity | number | null | Quantity of the line item. |
transactions[].startTime | string | null | Start time of the booked session. |
transactions[].duration | string | Duration of the booked session. |
transactions[].hostName | string | null | Name of the host. |
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[].total | number | null | Total amount of the line item. |
transactions[].discountAmount | number | null | Discount amount applied. |
transactions[].subtotal | number | null | Subtotal of the line item. |
transactions[].grossRevenue | number | null | Gross revenue of the line item, when applicable. |
transactions[].netRevenue | number | null | Net revenue of the line item, when applicable. |
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[].partnerPayout | number | null | Payout amount for the partner, when applicable. |
transactions[].netDeposited | number | null | Net amount deposited. |
transactions[].discountCode | string | null | Discount code applied, if any. |
transactions[].dateDeposited | string | 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[].taxes | object | Map of tax names to amounts. |
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. |
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[].loyaltyPoints | number | null | Loyalty points involved in the transaction, if any. |
transactions[].loyaltyMemberId | string | null | Loyalty member identifier associated with the booking, if any. |
transactions[].externalAnalyticsUserId | string | null | External analytics user identifier, if any. |
transactions[].loyaltyTransactionId | string | null | Identifier of the associated loyalty transaction, if any. |
Sample
Illustrative payload derived from the event schema.
{
"event": "financialReportV2.updated",
"payload": {
"transactions": [
{
"notes": "Bunny Chow",
"taxes": {},
"total": 300,
"email": "alice@example.com",
"cartId": "J6yxcYpnI",
"brandId": "f2ce0a06-7997-4626-9532-65ac70f3a19c",
"category": "Art",
"currency": "USD",
"duration": "1 Hour",
"hostName": "Chris Jones",
"itemType": "Price tier",
"lastName": "Klocko",
"quantity": 3,
"subtotal": 300,
"bookingId": "4b5f71bc-c762-42e0-ad4c-b2fd41e26e30",
"brandName": "The Seaside Hotel",
"createdBy": null,
"firstName": "Emil",
"startTime": "10:00 AM",
"totalPaid": 300,
"bookingUrl": null,
"hostPayout": 0,
"netRevenue": 300,
"paymentType": "Payment",
"discountCode": null,
"experienceId": "8a72720c-edcb-4329-abf5-8a0f54773ece",
"grossRevenue": 300,
"netDeposited": 290.7,
"pricingLabel": "Adult",
"accountNumber": null,
"creditCardFee": -9.3,
"dateDeposited": null,
"internalNotes": null,
"listingStatus": "listed",
"loyaltyPoints": null,
"paymentMethod": "credit-card",
"reservationId": null,
"discountAmount": 0,
"experienceDate": "2025-09-08",
"experienceName": "Pottery Painting Class",
"promoterSource": null,
"loyaltyMemberId": null,
"transactionDate": "2025-07-11T11:03:55.428Z",
"bookingSourceUrl": null,
"confirmationCode": "OW3rlG9ZJ",
"transactionMonth": "July 2025",
"approvedPromoters": null,
"externalReferenceId": "",
"loyaltyTransactionId": null,
"externalAnalyticsUserId": null
}
],
"coveredBrandIds": [
"f2ce0a06-7997-4626-9532-65ac70f3a19c"
]
}
}