Event
| ID | {{fn.colHeader(key)}} |
|---|---|
| {{item.id}} | {{fn.cellShow(key, value)}} |
New record - read-only
This event's channels
{{t}}
{{fn.isSubscribed(t) ? 'subscribed' : 'NOT subscribed - click "Sync with AT" or Save to subscribe'}}
Last messages on this event's channels refresh (auto-refreshes every 10s while open)
| ! × | {{m.atUtc | date:'HH:mm:ss'}} | {{m.kind}} | {{m.bytes}} B | {{m.preview}} |
Import tickets ✕
This event has no Adriaticket event ID, so an import will be refused. Enter one in the event form above and save, then import. The tickets are stored under that id and the devices load them by it. Setting it does not turn on sync with Adriaticket, which stays governed by the Sync with AT flag.
Two SSMS exports of the Adriaticket database (Results to Grid → Save Results As → CSV, no headers). Show the exact queries.
In SSMS enable Tools → Options → Query Results → SQL Server → Results to Grid → "Quote strings containing list separators when saving .csv results" - the ticket JSON is full of commas.
items.csv
SELECT i.ItemID, i.ItemPurchaseID, i.ItemTicketID, i.ItemTicketInfoJson
FROM Item i
JOIN Ticket t ON t.TicketID = i.ItemTicketID
JOIN Purchase p ON p.PurchaseID = i.ItemPurchaseID
WHERE t.TicketEventID = {{fn.atEventId() || '<eventId>'}} AND p.PurchaseStatus = 4
purchases.csv
SELECT p.PurchaseID, p.PurchaseCreated, p.PurchasePromoCodeID, p.PurchasePromoCodePercentage,
p.PurchasePromoCodeExactAmount, p.PurchasePromoCodeSkipPayment
FROM Purchase p
WHERE p.PurchaseStatus = 4 AND p.PurchaseID IN (
SELECT i.ItemPurchaseID FROM Item i
JOIN Ticket t ON t.TicketID = i.ItemTicketID
WHERE t.TicketEventID = {{fn.atEventId() || '<eventId>'}})
Upload one CSV file. The first row is a header that names each column
with a {placeholder}. Every row after it is one ticket. The code is used
exactly as written, because it is the QR content itself and nothing is added to it.
| Column | Goes to |
|---|---|
{code} | required. The QR or scan code. |
{row} | seat row |
{seat} | seat number |
{sector} | sector |
{entrance} | gate the device enforces |
{name} | attendee name |
{note} | note shown on scan |
{special} | attention message (marks the ticket special) |
{type} | Regular / Invitation / Promo |
{audience} | Adult / Child |
{oib}, {phone} | optional personal info |
An empty column is ignored. For example {code},,,{row} means column 1 is the code,
columns 2 and 3 are skipped, and column 4 is the row. Example file:
{code},{row},{seat}
2323233213453,12,3
Re-importing the same code is safe. Existing tickets are ignored.