{"lexicon":1,"id":"tickets.atmosphere.ticketTier","defs":{"main":{"type":"record","key":"any","description":"Organizer-owned portable ticket tier metadata for an AT Protocol event. Apps can read the tier config, but current availability, holds, issued tickets, and scan state remain private ATM service state.","record":{"type":"object","required":["event","title","currency","unitAmount","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":3,"description":"Lowercase ISO 4217 currency code, matching money.atmosphere.price."},"unitAmount":{"type":"integer","minimum":0,"description":"Amount in the smallest unit of currency. 0 marks a free tier (claimed via tickets.atmosphere.claimFreeTicket, not checkout)."},"capacityGroup":{"type":"ref","ref":"com.atproto.repo.strongRef"},"maxPerOrder":{"type":"integer","minimum":1,"maximum":50,"description":"Organizer-configured per-order limit for this tier. Apps must still check live ATM availability before checkout."},"product":{"type":"ref","ref":"com.atproto.repo.strongRef"},"price":{"type":"ref","ref":"com.atproto.repo.strongRef"},"saleStartsAt":{"type":"string","format":"datetime"},"saleEndsAt":{"type":"string","format":"datetime"},"archived":{"type":"boolean"},"createdAt":{"type":"string","format":"datetime"},"updatedAt":{"type":"string","format":"datetime"}}}}}}