{"lexicon":1,"id":"tickets.atmosphere.checkInTicket","defs":{"main":{"type":"procedure","description":"Verify and check in a private ATM Tickets scan token. Requires app service-auth (the first-party scanner PWA uses its own session-scoped routes).","input":{"encoding":"application/json","schema":{"type":"object","required":["ticketToken"],"properties":{"environment":{"type":"string","knownValues":["test","live"],"maxLength":16},"ticketToken":{"type":"string","minLength":1,"maxLength":4000},"checkInListId":{"type":"string","minLength":1,"maxLength":300},"scannerDid":{"type":"string","format":"did","description":"App-asserted staff DID recorded in the private check-in audit log. ATM does not independently verify this DID; the calling app is responsible for its scanner authentication."},"metadata":{"type":"unknown"}}}},"output":{"encoding":"application/json","schema":{"type":"object","required":["status"],"properties":{"status":{"type":"string","knownValues":["checked-in","already-checked-in","not-valid"],"maxLength":32},"checkedInAt":{"type":"string","format":"datetime"},"ticket":{"type":"ref","ref":"tickets.atmosphere.defs#issuedTicket"}}}},"errors":[{"name":"AppNotRegistered","description":"Caller DID is not registered as an ATM app."},{"name":"TicketsModuleDisabled","description":"This app has not enabled ATM Tickets."},{"name":"TicketNotFound","description":"Ticket not found or verification failed."},{"name":"CheckInListNotFound","description":"checkInListId does not exist for this event."},{"name":"CheckInListMismatch","description":"The ticket belongs to a different check-in list."},{"name":"InvalidCheckInList","description":"checkInListId is not usable for this ticket's event."}]}}}