Clear filter

Ticket

Mark tickets Bulk lookup
{{model.listEventId ? 'showing event #' + model.listEventId : 'showing all events'}}

Mark tickets - {{model.markSpecialAction === 'cancel' ? 'cancel sold tickets' : (model.markSpecialAction === 'scanned' ? 'mark sold tickets as already scanned' : 'attention note for the gate operator')}}

Paste ticket identifiers (comma or newline separated). Choose below whether they are scanner Uniques or ticket codes, and what to do with them. Pick an event to act only within it, or leave it on all events. Duplicates are all included - an identifier that hits several tickets acts on every one. Existing marks are never overwritten - the note is added. Cancelling marks the ticket cancelled in this scanner only, so the gate refuses it on the next scan. Use it when the purchase is already stornirana on Adriaticket but this scanner was fed by import and never learned about it. It does not storno anything and refunds no money — storno is done on the Adriaticket web. Already-cancelled tickets are left alone. If this event has Sync with AT on, a later sync re-reads the status from Adriaticket and can undo a cancel that AT does not know about. Marking as scanned flips the ticket to already scanned in this scanner only, so the gate treats it as used and refuses re-entry on the next scan. Use it to reconcile tickets that were admitted off-line or on another system. It changes nothing on Adriaticket - only the scanner's own scan state is written. Already-scanned tickets are left alone. Push the event to the devices afterwards.

{{model.markSpecialEventId ? 'marking only event #' + model.markSpecialEventId : 'marking across all events'}}
Example: 121212_2 - that is itemId_ticketNumber (the ticket's ordinal within its purchase item), exactly as shown in the first column of this list. Paste the whole code from the QR - {purchaseId}-{eventId}-{code}, e.g. 1021851-1007141-6PkCJVwvp0XG… - and it is hashed for you. Each entry is looked up individually. The purchase id at the front is required: the stored code is a one-way hash of the whole string, so the shorter {eventId}-{code} printed on the ticket is only a label and matches nothing. An already-hashed ceff3eb0f5071457bd84… also works.
Found {{model.markSpecialResult.found}} of {{model.markSpecialResult.total}} identifier(s) · {{model.markSpecialResult.updated}} ticket(s) {{model.markSpecialAction === 'cancel' ? 'cancelled' : (model.markSpecialAction === 'scanned' ? 'marked scanned' : 'updated')}} (duplicates included).  {{model.markSpecialResult.notFound.length}} not found.
Not found ({{model.markSpecialResult.notFound.length}}) - codes no ticket matched:
{{model.markSpecialResult.detail}}

Bulk ticket lookup

Paste ticket identifiers (one per line or comma-separated). Pick an event to limit the search to that event only — without an event, all scanner tickets are searched and any match counts as found.

{{model.bulkLookupEventId ? 'searching event #' + model.bulkLookupEventId : 'searching all events'}}
{{fn.bulkLookupCount()}} identifier(s)
Found {{model.bulkLookupResult.found}} of {{model.bulkLookupResult.total}} identifier(s){{model.bulkLookupResult.eventId ? ' (event #' + model.bulkLookupResult.eventId + ')' : ' (all events)'}}.  {{model.bulkLookupResult.notFoundCount}} not found.
Not found ({{model.bulkLookupResult.notFoundCount}}):
{{model.ticketOp.text}}
No records to display
ID {{fn.colHeader(key)}}
{{item.id}} {{fn.cellShow(key, value)}}
Page {{model.pageData.pageIndex + 1}}/{{model.pageData.totalPages}} | Records count: {{model.pageData.totalResults | number}}
{{dataItem.text}} new child

New record - read-only

Decrypted ticket details (what the device shows) - read-only
{{model.decrypted.description}}

{{model.decrypted.error}}

sha256: {{model.decrypted.descriptionHash}}
Scanned ● checked in - read-only
Entrance{{model.ticketScan.entrance || '—'}}
Scanned at{{model.ticketScan.scannedTime ? (model.ticketScan.scannedTime | date:'dd.MM.yyyy HH:mm:ss') : '—'}}
Scan status - read-only
Not scanned yet.
{{fn.pwStrength(item).label}} {{fn.pwStrength(item).problems.join(' ')}} meets the policy
{{g}}× No gates yet.
Add
Paste the entrance registry exactly as Adriaticket stores it, for example {"Ulaz":["A1","A2"]}. Switch back to Manual to edit it as chips.
{{item._entJsonError}}
Show Preview Clear File


Relation Mapping

{{dataItem.text}}

Mapping Options

{{showAlert}}