Skip to main content

personalised_ticket

A ticket was personalised: the holder gave their details, which may differ from the buyer's.

The holder's email (or the barcode, when no email was given) is the identifier; their answers become attribute observations on the holder with weight 80, stronger than the buyer's weight 50. The edge barcode ↔ holder email is verified with strength 100 and replaces the weak buyer edge in practice. Its activity id covers the answers, so a ticket personalised again is a new observation.

Sent withplatform keys (see write keys)
Modestrict: exactly the declared fields; an undeclared key, a wrong type or a missing required key quarantines the event
Version1 (_schema_version on the stored row)
Stateactive
Required fieldsnone
Revenuenone: the revenue block is refused
Identity evidencebarcode (holder) ↔ email (holder), strength 100, verified
Before consentno
Geocarries a geo block in practice; any activity may

Fields​

The activity's own fields, sent as features. Identifier and attribute fields are moved out of features by the processor; see identifiers and attributes.

FieldTypeRequiredWhat happens to itMeaning
citystringno, may be nullbecomes the city attribute observation (weight 80) on the holder; it leaves featuresThe city as answered. Stored exactly as typed; the place it names is resolved beside it (see the geo block).
countrystringno, may be nullbecomes the country attribute observation (weight 80) on the holder; it leaves featuresThe country as answered: a code or a name in any language. Stored as typed.
date_of_birthstringno, may be nullbecomes the date_of_birth attribute observation (weight 80) on the holder; it leaves featuresAs answered, YYYY-MM-DD.
event_idstringno, may be nullstays in featuresThe Eventix event the activity is about. Copied to the stream's _event_id column, so filters on an event are fast; it must be a plain string.
first_namestringno, may be nullbecomes the first_name attribute observation (weight 80) on the holder; it leaves featuresThe person's first name, as answered.
genderstringno, may be nullbecomes the gender attribute observation (weight 80) on the holder; it leaves featuresAs answered, in the shop's own terms.
last_namestringno, may be nullbecomes the last_name attribute observation (weight 80) on the holder; it leaves featuresThe person's last name, as answered.
order_idstringno, may be nullstays in featuresThe order in the ticketing system, as its own id. The same value on every activity derived from one order, so they can be joined.
order_ticket_idstringno, may be nullstays in featuresThe ticket within the order: the id of the ticket line, not the barcode.
postal_codestringno, may be nullbecomes the postal_code attribute observation (weight 80) on the holder; it leaves featuresThe postal code as answered. Stored as typed; its district is resolved beside it.

Example​

One activity in a batch to POST /v1/activities, with debug so the answer says what the processor made of it. The envelope page explains every top-level field.

{
"batch": [
{
"activity_id": "0192f1a4-b964-74e8-8000-b9644e820000",
"activity": "personalised_ticket",
"ts": "2026-10-17T20:00:00+02:00",
"owner_ref": "own:own_01M4XX0033FV7QXDRB5BQBRPGR",
"identifiers": [
{
"type": "email",
"value": "bo@example.com",
"role": "holder"
},
{
"type": "barcode",
"value": "TK-4471",
"role": "holder",
"namespace": "weeztix"
}
],
"features": {
"city": "Amsterdam",
"country": "Nederland",
"date_of_birth": "1990-05-17",
"event_id": "3a114ef5-6105-48fd-aafc-0ae609d0536c",
"first_name": "Ana",
"gender": "female",
"last_name": "de Vries",
"order_id": "1f2d3c4b-0000-4000-8000-000000000001",
"order_ticket_id": "5e6f7a8b-0000-4000-8000-000000000004",
"postal_code": "1012 AB"
},
"geo": [
{
"kind": "home",
"role": "holder",
"city": "Utrecht",
"postal_code": "3511 AB",
"locale": "nl_NL"
}
]
}
],
"debug": true
}

Try it​

Sends this request from your browser. The key and the endpoint are kept in this browser only.

Versions​

VersionModeKey classesChange
1 (current)strictplatformfirst version

A published version never changes; a change is a new version, and every stored row says which version it was checked against.