All Integrations

Vivenu Ticket Data Model

Every field returned by GET /api/tickets — 3/14 & 3/25 events combined

60
Unique Fields
2,378
3/14 Tickets
3
Origins
7
Ticket Types
Key finding: Data completeness depends on origin. Online purchases (yourticket) have full customer info. POS tickets have zero customer data. Transfers lose the transaction link but gain originTicketId. There is no scan/check-in data on the ticket object — gate scans live on a separate endpoint.
🆔 Core Identity 4 fields
FieldTypeExampleNotes
_id string 69b5f6d51f1cc6ec13c6ebd8 Unique ticket ID (MongoDB ObjectId)
secret string 30ca3817-c0de-44ce-acd1-... UUID for ticket validation
barcode string 1433503567256775 Scannable barcode number
__v int 1 MongoDB document version
🎫 Ticket Classification 7 fields
FieldTypeExample / ValuesNotes
ticketName string
Match Day Ticket BOGO Ticket Season Ticket Holder Ticket CESA Ticket Furman Student Ticket Group Ticket United FC Ticket - $4 Giveback
Human-readable ticket type
ticketTypeId string 697a7b5803160cf4e7ee25d8 Links to ticket type definition
type string SINGLE Always SINGLE for these events
categoryName string GA Seating Seating category label
categoryRef string 4fedfce9-f8b9-4fcb-b26f-... UUID reference to category
status string
VALID INVALID
Current ticket status
expired bool false Whether ticket has expired
💰 Pricing 3 fields
FieldTypeExampleNotes
realPrice int 15 Actual price paid (whole dollars, not cents)
regularPrice int 15 Face value / list price
currency string USD Always USD
👤 Customer / Buyer Info 12 fields
FieldTypeExampleNotes
name string Mateo Sánchez Full display name empty on POS
firstname string Mateo missing on POS
lastname string Sánchez missing on POS
email string mateosanchez6310@gmail.com missing on POS
company string Kellee Patterson Often just the buyer's name repeated
customerId string 69b5f6f37da4764d7466659b Vivenu customer record missing on POS
street string 113 Leach St missing on POS
line2 string (usually empty) Address line 2
city string Greer missing on POS
state string SC missing on POS
postal string 29651 missing on POS
country string US missing on POS
🛒 Purchase / Origin 10 fields
FieldTypeExample / ValuesNotes
origin string
yourticket pos transfer
How the ticket was created
salesChannelId string
sch-web sch-pos
Sales channel identifier
transactionId string 69b5f71e89c3e3ef2b8ec3a2 Links to transaction empty on transfers
checkoutId string 69b5f6d51f1cc6ec13c6ebd5 Checkout session missing on transfers
checkoutItemId string 730f0fd0-fcdf-4154-... Item within the checkout
cartItemId string 5fd810bf-d91c-469b-... Item within the cart
underShopId string 69b465049bbb76896f7746c2 Sub-shop / distribution channel conditional
posId string 6818f31fa0f594ab0922526d POS only — which terminal
originTicketId string 69b4c6dfb3f29d8063c212d8 transfer only — original ticket ID
batch / batchCount string / int 973d1157-621d-4912-... conditional — batch-created tickets (STH allocations)
🏟️ Event & Seller 2 fields
FieldTypeExampleNotes
eventId string 697a6b270b5edcfc03ba5171 Which event this ticket belongs to
sellerId string 6761e106670b20878028f5af Your org's seller ID
🪑 Seating Info 5 fields
FieldTypeExampleNotes
seatingInfo._id string vazP2iqCP0j5Xh Seat/section ID in seatmap
seatingInfo._type int 7 Seat type (7 = GA)
seatingInfo.categoryId string rEnklPoaFo7AS6 Category within seatmap
seatingInfo.statusId string z1v2V5ZXdkmrh1 Seat status
seatingInfo.name string GA Seating Human-readable seat label
📜 History (Audit Trail) 5 fields
FieldTypeValues / ExampleNotes
history[] array Array of lifecycle event objects. Each ticket has 1–4 entries.
history[].type string
ticket.created ticket.validated ticket.invalidated ticket.transferred ticket.createdFromTransfer ticket.printStatusChanged ticket.mail
Event type
history[].date string 2026-03-15T00:01:25.157Z ISO timestamp
history[].userId string 68221060626354b28327fd82 Staff user who performed the action (not always present)
history[].data.* object {email: "..."} or {status: "..."} Extra data on ticket.mail and ticket.printStatusChanged
📦 Delivery, Personalization & Misc 12 fields
FieldTypeExampleNotes
deliveryType string VIRTUAL All digital delivery
personalized bool false Whether ticket is personalized
personalizations array [] Always empty on these events
claimed bool false Whether ticket has been claimed
printStatus string conditional — only after printStatusChanged event
createdAt string 2026-03-15T00:01:25.158Z When ticket was created
updatedAt string 2026-03-15T00:02:38.476Z Last modification timestamp
entryPermissions array [] Always empty
excludedEventIds array [] Always empty
triggeredBy array [] Always empty
addOns array [] Always empty
capabilities / _locks array [] Always empty

Portier Scan Data

Separate API: GET https://portier.vivenu.com/api/scans — gate scan records

16,975
Total Scans (All Events)
1,497
3/14 Scans
15
Fields Per Scan
2
Scan Types
Two APIs, two data models. Tickets live on vivenu.com/api (Main API). Scans live on portier.vivenu.com/api (Portier API). They link via ticketId and barcode. The Portier scan record is much simpler — 15 fields vs. 60 on a ticket.
📱 Scan Record Fields 15 fields
FieldTypeExampleNotes
_id string 69b5fe04d027cc3860f2af96 Unique scan record ID
ticketId string 69b474fce1f6901b6401bc54 Links to ticket._id on Main API
barcode string 3813055558178802 Barcode that was scanned
name string Pita Yanga Ticket holder name at scan time
eventId string 697a6b270b5edcfc03ba5171 Which event
ticketTypeId string 69a887a2c543309f52a8fd61 Ticket type definition ID
ticketName string Away Player Ticket Human-readable ticket type at scan time
type string
checkin checkout
checkin = entry gate, checkout = exit gate (71 total checkout scans across all events)
scanResult string
approved declined
All current scans are approved; 0 declined found
time string 2026-03-15T00:32:04.938Z Exact moment the scan happened (ISO timestamp)
deviceId string 68af55dbcb3efc61e2602a7b Which scanning device / phone was used
sellerId string 6761e106670b20878028f5af Your org's seller ID
parentEventId string 67781b9cddf518bf9a58bcab checkout only — parent event (e.g., season ticket event)
createdAt string 2026-03-15T00:32:05.058Z When record was created in DB
updatedAt string 2026-03-15T00:32:05.058Z Last update timestamp
🔍 Portier Query Parameters (Confirmed Working) 4 filters
ParamValuesNotes
top 1–200 Number of results per page
eventId 697a6b270b5edcfc03ba5171 Filter by event
type
checkin checkout
Filter by scan direction
scanResult
approved declined
Filter by outcome
Joining the data: To get full attendee details for a scanned ticket, join Portier scans to Main API tickets on ticketIdticket._id. The scan gives you when and which device; the ticket gives you who, how much, and how they bought.