Events
| Action | Event name |
|---|---|
| payment completed | transaction.completed |
| changing an item (ticket, parcel, etc) | transaction.completed |
| refunding an item (ticket, parcel, etc) | transaction.completed |
| editing a transaction | transaction.updated |
| changing an item (ticket, parcel, etc) | transaction.updated |
| refunding an item (ticket, parcel, etc) | transaction.updated |
| moving a ticket | transaction.updated |
| purchase delivered via print, email, etc | transaction.delivered |
Transaction events include shiftLocation on the transaction and on each item (tickets, parcels, etc.). It is the station where the agent had an open shift. For the full list of fields (including timeZone, externalId, regionId, and regionName), see Shift location (shiftLocation) in the structure documentation.
The shiftLocation.regionId and shiftLocation.regionName fields are copied from the open shift's location at the moment the transaction is created, which in turn comes from the station the shift was opened against. Once the transaction is persisted, these values are immutable on the transaction (changing the station's region afterwards will not retroactively update existing transactions). They are emitted on transaction.completed, transaction.updated, and transaction.delivered. When the underlying station has no region assigned, both fields are emitted as empty strings.
Dynamic form fields
Each item in tickets, flexPasses, and soldItems that carries both peopleLookupId and dynamicFormId is augmented with a dynamicFormFields property containing the answers from the specific dynamic form filled in for that line item.
dynamicFormFields is omitted entirely when the item has no dynamicFormId — it is not set to null or {}. The keys inside it depend on the form definition configured for the account, so consumers should treat it as an open key/value map.
Example of an enriched ticket fragment:
{
"ticketNumber": "TDGA3P",
"peopleLookupId": "682613dfb6d6af05328a8b41",
"dynamicFormId": "66dbd0ea3254bc0526a4d49d",
"dynamicFormFields": {
"documentType": "66d8e07604406905213fd376",
"documentNumber": "38585746",
"dateOfBirth": "1994-10-18T03:00:00.000Z",
"firstName": "Jane",
"lastName": "Doe",
"email": "passenger@example.com",
"phone": "5551234567",
"nationality": "AR",
"gender": "F"
}
}
Payload example
{
"attemptId": "5c0233f3-382c-4494-8bec-c86e7641a18f",
"created": 1732561353,
"data": {
"feesDetails": [],
"flexPasses": [],
"giftCertificates": [],
"invoices": [],
"loans": [],
"manualTickets": [],
"parcels": [],
"redeemableItems": [],
"refunds": [],
"soldItems": [],
"taxesDetails": [],
"tickets": [
{
"productExpirationDate": {
"offset": 0,
"value": "2025-12-25T09:00:00.000Z"
},
"pricesIncludeTaxes": false,
"seatCol": "",
"fareClassName": "Flex",
"accountId": "58dc128bd2deb5bd7b0000b4",
"journeyTo": "Niagara",
"eventName": "One way",
"travelDate": { "offset": 0, "value": "2024-12-25T09:00:00.000Z" },
"comments": "",
"id": "6ec37193-25fb-4a29-a670-e05d49cf7a26",
"originalTicketNumber": "TDGA3P",
"displayTotal": 2000000,
"dynamicFormId": null,
"journeyToId": "62150756305c9a06f2674059",
"associatedSoldItemIds": [],
"subDomain": "",
"travellerCardId": "",
"departureDatetime": {
"offset": 0,
"value": "2024-12-25T11:00:00.000Z"
},
"journeyFromId": "5bd0e9aaa82a895958aef814",
"checkInInfo": { "passengerInfoId": "", "status": "" },
"createdBy": "619be3477e891e0816e76e4e",
"revenueOperatingCompany": { "id": null, "name": null },
"changedFromTicketId": null,
"status": "paid",
"deleted": false,
"taxExceptionReason": null,
"redemptionValue": 2000000,
"couponCode": "",
"fees": [],
"isExpirationDateCalculated": false,
"overridesChangeFees": [],
"nonTaxablePrice": 0,
"commission": 0,
"channel": "callcenter",
"departureTime": "11:00",
"expirationDate": { "offset": 0, "value": "2024-12-25T00:00:00.000Z" },
"departureTimestamp": "2024-12-25T16:00:00.000Z",
"scheduleDisplayName": "09:00 YYZ-NIA",
"accountCountry": "CA",
"displayTotalForTransaction": 2000000,
"routeId": "630e8afef1ee800683e7fa82",
"ratios": [
{
"acceptedCurrency": null,
"currencyCode": "USD",
"displayTotal": 1000000,
"extraInfo": null,
"total": 1000000,
"type": "cash"
},
{
"acceptedCurrency": null,
"currencyCode": "USD",
"displayTotal": 500000,
"extraInfo": null,
"total": 500000,
"type": "credit"
},
{
"acceptedCurrency": null,
"currencyCode": "USD",
"displayTotal": 500000,
"extraInfo": null,
"total": 500000,
"type": "debit"
}
],
"totalUses": 1,
"travellerCardNumber": "",
"toId": "62150756305c9a06f2674059",
"discounts": 0,
"journeyPriceId": "64f0e3f54c12bd0697961e4d",
"messages": [],
"displayPriceWithTaxes": 0,
"ticketNumber": "TDGA3P",
"sectionName": "Section A",
"redeemableItem": null,
"peopleLookupId": null,
"loyaltyPointsToAccumulate": 0,
"createdByUserEmail": "dashiell+new@betterez.com",
"ticketTypeName": "One way",
"movedByIROP": false,
"_id": "6744c8ca1a61f905028ec72c",
"schedule": "85ca2585-065b-4721-8635-6faac0756894",
"agencyId": "",
"displayTotalTaxes": 0,
"to": "Niagara",
"loyaltyPointsForRedemption": 2000,
"redemptions": [],
"seatClassName": null,
"paymentRates": [
{
"displayTotal": 2000000,
"itemDisplayId": "TDGA3P",
"itemId": "6744c8ca1a61f905028ec72c",
"rates": [
{
"acceptedCurrencyCode": null,
"ratio": "50.00",
"type": "cash"
},
{
"acceptedCurrencyCode": null,
"ratio": "25.00",
"type": "credit"
},
{
"acceptedCurrencyCode": null,
"ratio": "25.00",
"type": "debit"
}
],
"total": 2000000
}
],
"extraInput": "",
"operatingCompanyInfoOnPrintedTicket": null,
"crossBorderTaxation": true,
"language": "en-us",
"userComments": [],
"operatingCompanyId": null,
"redeemableItemId": null,
"fareClassTerms": "Can change and cancel",
"fare": "Adult",
"travelDistance": null,
"crossBorderTaxationBasic": false,
"totalTaxes": 0,
"seat": "2",
"documentNumber": null,
"taxableDiscounts": 0,
"seatId": "section-62f15d8e39c88e08e3b5f69d-row-4-seat-1",
"loyaltyPointsToPay": null,
"travellerCardName": "",
"updatedAt": { "offset": 0, "value": "2024-11-25T18:59:41.070Z" },
"totalForTransaction": 2000000,
"refundHistory": [],
"operatingCompanyName": null,
"rounding": { "decimals": "2", "policy": "default" },
"manifestDate": { "offset": 0, "value": "2024-12-25T00:00:00.000Z" },
"seatRow": "",
"fareClassId": "5bd14cbf934f7d305da36991",
"availableUses": 1,
"updatedBy": "619be3477e891e0816e76e4e",
"loyaltyPointsForRefund": 0,
"phone": "",
"lastName": "Doe",
"firstName": "John",
"userId": "619be3477e891e0816e76e4e",
"row": "5",
"trxId": "6744c8c91a61f905028ec72b",
"priceWithTaxes": 0,
"originShortCode": "",
"journeyFrom": "Toronto Union Station",
"price": 2000000,
"from": "Toronto Union Station",
"refundId": "",
"agentId": "",
"shiftId": "672b90b44c7a880509b22d56",
"customerNumber": "611-057-729",
"createdAt": { "offset": 0, "value": "2024-11-25T18:58:18.542Z" },
"extra": { "phone": "" },
"journeyPriceVersionId": "65aeab13bdd15c05695bffc5",
"journeyId": "e575b1c7-a8b8-4d1b-bca8-39d1382a1736",
"paxWeight": 0,
"changeable": true,
"brandName": null,
"isSelfServiceChangeable": true,
"qrCodeString": "https://sandbox.betterez.com/r/t/58dc128bd2deb5bd7b0000b4-6744c8ca1a61f905028ec72c",
"fareId": "5bc67152224bd3223519b301",
"synchEntry": "",
"loyaltyAmountToPay": null,
"journeyOrder": 0,
"arrivalDate": { "offset": 0, "value": "2024-12-25T12:01:00.000Z" },
"agentUserName": "",
"createdFromFlexpassId": null,
"numOfBags": 0,
"total": 2000000,
"lastRedeemed": {},
"amenityGroupId": null,
"productFamily": "reservation",
"redeemedOnBrand": "",
"documentTypeId": null,
"section": "62f15d8e39c88e08e3b5f69d",
"displayDiscounts": 0,
"gate": "",
"applyCrossBorderTaxesInAllCountries": true,
"productType": "new_jp",
"shiftLocation": {
"acceptedCurrencies": [],
"costCenter": "111",
"country": "CR",
"latitude": "10.015212",
"locationPurchaseLimits": {},
"longitude": "-84.2200528",
"name": "Alajuela",
"operatingCompanyId": "",
"operatingCompanyName": "",
"primaryCurrencyCode": "",
"province": "Alajuela",
"shortcode": "",
"stationId": "61a13583704621061aa8948d",
"externalId": "",
"timeZone": "America/Costa_Rica",
"regionId": "6516b9ac9e6f5a2c1ad7a9d1",
"regionName": "Pacific Coast"
},
"seatClassId": null,
"email": "johndoe@email.com",
"agencyName": "",
"shiftNumber": "S-RBWER4Z",
"associatedRoundtripTicket": {},
"transactionId": "SRFZ7Q8W",
"expire": 365,
"taxes": [],
"destinationShortCode": "",
"displayPrice": 2000000,
"promo": {},
"displayNonTaxablePrice": 0,
"regularPrice": 6500000,
"taxExempted": false,
"cancellable": true,
"taxablePrice": 2000000,
"refId": "",
"productId": "642de1960459e5068a213b8c",
"expireUnit": "days",
"date": "2024-12-25",
"generatedFromIROPTicketId": "",
"ssrs": [],
"taxablePercentage": 100000,
"seatMapId": "62f15d8e39c88e08e3b5f69c",
"defaultCountry": null,
"displayCurrency": null,
"brandId": null,
"arrivalTimestamp": "2024-12-25T19:01:00.000Z",
"openReturn": false,
"fromId": "5bd0e9aaa82a895958aef814",
"syncEntryId": null,
"promos": [],
"productLine": "",
"standing": false,
"cutOffDateTime": "",
"displayTaxablePrice": 2000000,
"ticketType": "oneway",
"movements": "",
"travellerCardExpirationDate": "",
"displayCommission": 0
}
],
"totalFees": "0.00",
"totalTaxes": "0.00",
"transaction": {
"transactionKey": "",
"accountId": "58dc128bd2deb5bd7b0000b4",
"summary": [
{
"journeyTo": "Niagara",
"displayTotal": 2000000,
"journeyToId": "62150756305c9a06f2674059",
"displayTotalWithoutTax": 2000000,
"journeyFromId": "5bd0e9aaa82a895958aef814",
"revenueOperatingCompany": { "id": null, "name": null },
"status": "paid",
"ticketFees": [],
"taxExceptionReason": null,
"type": "ticket",
"discounts": 0,
"messages": [],
"displayTransactionFees": 0,
"_id": "6744c8ca1a61f905028ec72c",
"totalWithoutTax": 2000000,
"transactionFees": 0,
"displayTaxesTotal": 0,
"details": {
"arrivalTimestamp": "2024-12-25T19:01:00.000Z",
"date": "2024-12-25",
"departureTime": "11:00",
"departureTimestamp": "2024-12-25T16:00:00.000Z",
"fare": "Adult",
"fareClassId": "5bd14cbf934f7d305da36991",
"fareClassName": "Flex",
"fareClassTerms": "Can change and cancel",
"fareId": "5bc67152224bd3223519b301",
"from": "Toronto Union Station",
"fromId": "5bd0e9aaa82a895958aef814",
"journeyPriceId": "64f0e3f54c12bd0697961e4d",
"journeyPriceVersionId": "65aeab13bdd15c05695bffc5",
"operatingCompanyId": "",
"passenger": {
"checkInInfo": { "passengerInfoId": "", "status": "" },
"documentNumber": null,
"documentTypeId": null,
"email": "johndoe@email.com",
"extraInput": "",
"firstName": "John",
"fullName": "John Doe",
"id": "6ec37193-25fb-4a29-a670-e05d49cf7a26",
"lastName": "Doe",
"peopleLookupId": null,
"phone": "",
"seat": "scheduleId-85ca2585-065b-4721-8635-6faac0756894-section-62f15d8e39c88e08e3b5f69d-row-4-seat-1",
"seatRow": "5",
"seatSectionName": "Section A",
"seatSelected": "2",
"taxExempted": false
},
"promo": {},
"routeId": "630e8afef1ee800683e7fa82",
"scheduleId": "85ca2585-065b-4721-8635-6faac0756894",
"seatClassId": null,
"seatClassName": null,
"ticketType": "oneway",
"to": "Niagara",
"toId": "62150756305c9a06f2674059",
"travelDate": { "offset": 0, "value": "2024-12-25T09:00:00.000Z" },
"manifestDate": { "offset": 0, "value": "2024-12-25T00:00:00.000Z" }
},
"journeyFrom": "Toronto Union Station",
"price": 2000000,
"displayTicketFeesTotal": 0,
"journeyId": "e575b1c7-a8b8-4d1b-bca8-39d1382a1736",
"journeyOrder": 0,
"ticketFeesTotal": 0,
"total": 2000000,
"fop": "Cash, Credit Visa, Debit",
"productFamily": "reservation",
"displayDiscounts": 0,
"productType": "new_jp",
"itemId": "TDGA3P",
"authCode": "2468, 7654",
"taxes": [],
"taxesTotal": 0,
"displayPrice": 2000000,
"taxablePrice": 2000000,
"productId": "642de1960459e5068a213b8c",
"taxablePercentage": 100000,
"displayCurrency": null,
"displayTaxablePrice": 2000000,
"operationId": "7c6ad4b4-f18a-4143-b376-b8ef758762a8"
}
],
"createdBy": "619be3477e891e0816e76e4e",
"status": "paid",
"associatedTransactionId": "",
"journeyIds": ["e575b1c7-a8b8-4d1b-bca8-39d1382a1736"],
"phoneType": "",
"fees": [],
"credits": [],
"associatedTrxId": "",
"discounts": 0,
"remoteAddress": "::ffff:127.0.0.1",
"createdByUserEmail": "dashiell+new@betterez.com",
"_id": "6744c8c91a61f905028ec72b",
"agencyId": "",
"createdByDisplayName": "Dash",
"taxesForTrx": [],
"userAgentData": { "browser": "axios", "os": "iOS", "version": "0.27.2" },
"userComments": [],
"updatedAt": { "offset": 0, "value": "2024-11-25T18:59:41.235Z" },
"totalWithoutTax": 2000000,
"rounding": { "decimals": "2", "policy": "default" },
"transactionFee": 0,
"updatedBy": "619be3477e891e0816e76e4e",
"externalPaymentInfo": {},
"customFields": [],
"lastName": "Doe",
"firstName": "John",
"userId": "619be3477e891e0816e76e4e",
"agentId": "",
"agencyCommissionValueType": "%",
"customerNumber": "611-057-729",
"createdAt": { "offset": 0, "value": "2024-11-25T18:58:18.529Z" },
"paxQty": 1,
"extra": {},
"ticketsFee": 0,
"total": "20.00",
"shiftLocation": {
"acceptedCurrencies": [],
"costCenter": "111",
"country": "CR",
"latitude": "10.015212",
"locationPurchaseLimits": {},
"longitude": "-84.2200528",
"name": "Alajuela",
"operatingCompanyId": "",
"operatingCompanyName": "",
"primaryCurrencyCode": "",
"province": "Alajuela",
"shortcode": "",
"stationId": "61a13583704621061aa8948d",
"externalId": "",
"timeZone": "America/Costa_Rica",
"regionId": "6516b9ac9e6f5a2c1ad7a9d1",
"regionName": "Pacific Coast"
},
"email": "johndoe@email.com",
"agencyName": "",
"shiftNumber": "S-RBWER4Z",
"externalPayments": [],
"subtotal": "20.00",
"transactionId": "SRFZ7Q8W",
"agencyCommission": 0,
"taxes": 0,
"taxesTotal": 0,
"rates": [
{ "acceptedCurrencyCode": null, "ratio": "50.00", "type": "cash" },
{ "acceptedCurrencyCode": null, "ratio": "25.00", "type": "credit" },
{ "acceptedCurrencyCode": null, "ratio": "25.00", "type": "debit" }
],
"payments": [
{
"acceptedCurrency": null,
"acceptedCurrencyAmount": 10,
"amount": 10,
"createdAt": { "offset": 0, "value": "2024-11-25T18:59:40.914Z" },
"currencyCode": "USD",
"custom": false,
"displayName": "cash",
"provider": "inperson",
"result": {},
"rollbackPayload": null,
"status": "success",
"type": "cash"
},
{
"acceptedCurrency": null,
"acceptedCurrencyAmount": 5,
"amount": 5,
"authCode": "2468",
"cardType": "visa",
"createdAt": { "offset": 0, "value": "2024-11-25T18:59:40.915Z" },
"currencyCode": "USD",
"custom": false,
"displayName": "credit",
"provider": "inperson",
"result": {},
"rollbackPayload": null,
"status": "success",
"type": "credit"
},
{
"acceptedCurrency": null,
"acceptedCurrencyAmount": 5,
"amount": 5,
"authCode": "7654",
"createdAt": { "offset": 0, "value": "2024-11-25T18:59:40.915Z" },
"currencyCode": "USD",
"custom": false,
"displayName": "debit",
"provider": "inperson",
"result": {},
"rollbackPayload": null,
"status": "success",
"type": "debit"
}
],
"ticketPrice": 2000000,
"displayCurrency": {}
}
},
"event": "transaction.completed",
"id": "3132cc1a-2181-42c7-90cf-c217aa757258",
"livemode": false
}