{"lexicon":1,"id":"tickets.atmosphere.ticketType","defs":{"main":{"type":"record","key":"any","description":"Organizer-owned portable ticket type metadata for an AT Protocol event. Apps can read the ticket type config, but current availability, holds, issued tickets, and scan state remain private ATM service state.","record":{"type":"object","required":["event","title","createdAt"],"properties":{"event":{"type":"ref","ref":"com.atproto.repo.strongRef"},"title":{"type":"string","minLength":1,"maxGraphemes":100,"maxLength":1000},"description":{"type":"string","maxGraphemes":1000,"maxLength":10000},"currency":{"type":"string","minLength":3,"maxLength":16,"description":"Deprecated display copy retained for readers of early records; canonical pricing belongs on the money.atmosphere.price referenced by defaultPrice. Lowercase currency code."},"unitAmount":{"type":"integer","minimum":0,"description":"Deprecated display copy retained for readers of early records; canonical pricing belongs on the money.atmosphere.price referenced by defaultPrice. 0 continues to mark a free ticket type (claimed via tickets.atmosphere.claimFreeTicket, not checkout)."},"quantityTotal":{"type":"integer","minimum":1,"maximum":250000,"description":"Display hint: the type's configured cap. Omitted when uncapped or undisclosed. Authoritative availability always comes from the availability query; capacity is enforced only in private ATM service state."},"maxPerOrder":{"type":"integer","minimum":1,"maximum":50,"description":"Organizer-configured per-order limit for this ticket type. Apps must still check live ATM availability before checkout."},"defaultPrice":{"type":"ref","ref":"com.atproto.repo.strongRef","description":"Optional CID-pinned strongRef to the current money.atmosphere.price for this ticket type in the organizer repo. Absent means the type is published without catalog pricing; ATM private configuration remains settlement truth. Checkout always lists on this ticketType record URI, never on the price."},"saleStartsAt":{"type":"string","format":"datetime"},"saleEndsAt":{"type":"string","format":"datetime"},"archived":{"type":"boolean"},"archivedAt":{"type":"string","format":"datetime"},"createdAt":{"type":"string","format":"datetime"},"updatedAt":{"type":"string","format":"datetime"}}}}}}