{"lexicon":1,"id":"tickets.atmosphere.defs","defs":{"eventInput":{"type":"object","description":"Public event snapshot supplied by the originating app. V1 does not support private or unlisted events; the public event record remains the canonical display record.","required":["uri","title"],"properties":{"uri":{"type":"string","format":"at-uri"},"cid":{"type":"string","format":"cid"},"title":{"type":"string","minLength":1,"maxGraphemes":300,"maxLength":3000},"startsAt":{"type":"string","format":"datetime"},"imageUrl":{"type":"string","format":"uri","maxLength":2000}}},"ticketHoldItemRequest":{"type":"object","required":["ticketTypeId","quantity"],"properties":{"ticketTypeId":{"type":"string","minLength":1,"maxLength":300},"quantity":{"type":"integer","minimum":1,"maximum":50}}},"ticketHoldItem":{"type":"object","required":["ticketTypeId","title","quantity","unitAmount","currency"],"properties":{"ticketTypeId":{"type":"string","maxLength":300},"title":{"type":"string","maxGraphemes":100,"maxLength":1000},"quantity":{"type":"integer","minimum":1,"maximum":50},"unitAmount":{"type":"integer","minimum":0},"currency":{"type":"string","minLength":3,"maxLength":16,"description":"Lowercase 3–16-letter currency identifier matching money.atmosphere.price. Fiat currencies use ISO 4217 codes; ATM accepts only currencies supported by its configured processor allowlist."},"ticketTypeRef":{"type":"ref","ref":"com.atproto.repo.strongRef"},"defaultPrice":{"type":"ref","ref":"com.atproto.repo.strongRef"}}},"ticketTypeSummary":{"type":"object","required":["id","eventId","title","currency","unitAmount","status"],"properties":{"id":{"type":"string","maxLength":300},"eventId":{"type":"string","maxLength":300},"title":{"type":"string","maxGraphemes":100,"maxLength":1000},"quantityTotal":{"type":"integer","minimum":1,"maximum":250000,"description":"The type's own configured cap. Omitted when the type is uncapped."},"currency":{"type":"string","minLength":3,"maxLength":16,"description":"Lowercase 3–16-letter currency identifier matching money.atmosphere.price. Fiat currencies use ISO 4217 codes; ATM accepts only currencies supported by its configured processor allowlist."},"unitAmount":{"type":"integer","minimum":0},"status":{"type":"string","knownValues":["active","paused","archived"],"maxLength":32},"ticketTypeRef":{"type":"ref","ref":"com.atproto.repo.strongRef"},"defaultPrice":{"type":"ref","ref":"com.atproto.repo.strongRef"}}},"eventSummary":{"type":"object","required":["id","uri"],"properties":{"id":{"type":"string","maxLength":300},"uri":{"type":"string","format":"at-uri"},"cid":{"type":"string","format":"cid"},"eventRef":{"type":"ref","ref":"com.atproto.repo.strongRef"},"title":{"type":"string","maxGraphemes":300,"maxLength":3000},"startsAt":{"type":"string","format":"datetime"}}},"organizerCollaboration":{"type":"object","description":"A co-organizer collaboration on a ticketed event (Wave 3 organizer-collab Part A). revenueShareBps is a recorded MANUAL-RECONCILIATION intent between the primary organizer and the co-organizer — ATM never auto-splits or auto-pays ticket revenue based on it.","required":["id","eventId","primaryOrganizerDid","coOrganizerDid","role","status","invitedAt"],"properties":{"id":{"type":"string","maxLength":300},"eventId":{"type":"string","maxLength":300},"primaryOrganizerDid":{"type":"string","format":"did"},"coOrganizerDid":{"type":"string","format":"did"},"role":{"type":"string","knownValues":["co-organizer"],"maxLength":32},"status":{"type":"string","knownValues":["pending","accepted","revoked"],"maxLength":16},"revenueShareBps":{"type":"integer","minimum":0,"maximum":10000,"description":"Recorded revenue-share INTENT in basis points, for MANUAL RECONCILIATION ONLY. NOT an automatic split: ATM never transfers ticket revenue based on this value."},"invitedAt":{"type":"string","format":"datetime"},"acceptedAt":{"type":"string","format":"datetime"},"revokedAt":{"type":"string","format":"datetime"}}},"ticketAvailability":{"type":"object","description":"Authoritative private-service availability for one organizer-owned ticket type as seen by an authorized app. availableQuantity is the effective number across every capacity pool the type draws from (its own optional cap and the optional event capacity); it is OMITTED when no finite pool bounds the type (unlimited).","required":["ticketTypeId","title","status","maxPerOrder"],"properties":{"ticketTypeId":{"type":"string","maxLength":300},"eventId":{"type":"string","maxLength":300},"title":{"type":"string","maxGraphemes":100,"maxLength":1000},"description":{"type":"string","maxGraphemes":1000,"maxLength":10000},"currency":{"type":"string","minLength":3,"maxLength":16,"description":"Lowercase 3–16-letter currency identifier matching money.atmosphere.price. Fiat currencies use ISO 4217 codes; ATM accepts only currencies supported by its configured processor allowlist."},"unitAmount":{"type":"integer","minimum":0},"status":{"type":"string","knownValues":["available","sold-out","not-on-sale","hidden","unavailable"],"maxLength":32},"visibility":{"type":"string","knownValues":["hidden"],"maxLength":16,"description":"Present only for hidden ticket types revealed by the caller's access code, so an app can tell which entries the code unlocked. Public types omit the field."},"availableQuantity":{"type":"integer","minimum":0,"description":"Effective availability (min across the type's capacity pools). Omitted when the type is unlimited."},"quantityTotal":{"type":"integer","minimum":1,"maximum":250000,"description":"The type's OWN configured cap, for 'X of Y left' display. Omitted when the type itself is uncapped (an event capacity may still bound availableQuantity)."},"heldQuantity":{"type":"integer","minimum":0,"description":"Quantity currently reserved by active holds. Returned only to authorized apps."},"soldQuantity":{"type":"integer","minimum":0,"description":"Quantity already issued/sold. Returned only to authorized apps."},"maxPerOrder":{"type":"integer","minimum":1,"maximum":50},"saleStartsAt":{"type":"string","format":"datetime"},"saleEndsAt":{"type":"string","format":"datetime"}}},"ticketPresentation":{"type":"object","required":["qr","app","organizer","event","ticketType"],"properties":{"iconUrl":{"type":"string","format":"uri","maxLength":2000,"description":"Pass icon URL. Currently always returned (ATM falls back to a default icon); optional so a future presentation without an icon stays valid."},"qr":{"type":"object","required":["enabled","label"],"properties":{"enabled":{"type":"boolean"},"label":{"type":"string","maxLength":100}}},"app":{"type":"ref","ref":"tickets.atmosphere.defs#brand"},"organizer":{"type":"ref","ref":"tickets.atmosphere.defs#brand"},"event":{"type":"object","required":["uri","title"],"properties":{"uri":{"type":"string","format":"at-uri"},"title":{"type":"string","maxGraphemes":300,"maxLength":3000},"startsAt":{"type":"string","format":"datetime"},"imageUrl":{"type":"string","format":"uri","maxLength":2000}}},"ticketType":{"type":"object","required":["title"],"properties":{"title":{"type":"string","maxGraphemes":100,"maxLength":1000}}}}},"brand":{"type":"object","required":["did","name"],"properties":{"did":{"type":"string","format":"did"},"handle":{"type":"string","format":"handle"},"name":{"type":"string","maxLength":300},"avatarUrl":{"type":"string","format":"uri","maxLength":2000}}},"issuedTicket":{"type":"object","required":["id","eventId","ticketTypeId","environment","status","ticketNumber","createdAt","updatedAt"],"properties":{"id":{"type":"string","maxLength":300},"eventId":{"type":"string","maxLength":300},"ticketTypeId":{"type":"string","maxLength":300},"paymentId":{"type":"string","maxLength":300},"claimId":{"type":"string","maxLength":300},"environment":{"type":"string","knownValues":["test","live"],"maxLength":16},"ownerDid":{"type":"string","format":"did"},"status":{"type":"string","knownValues":["active","voided","refunded"],"maxLength":32},"ticketNumber":{"type":"string","maxLength":300},"eventRef":{"type":"ref","ref":"com.atproto.repo.strongRef"},"ticketTypeRef":{"type":"ref","ref":"com.atproto.repo.strongRef"},"defaultPrice":{"type":"ref","ref":"com.atproto.repo.strongRef"},"scanToken":{"type":"string","maxLength":4000,"description":"Private scan token returned only to authorized clients."},"scanUrl":{"type":"string","format":"uri","maxLength":2000},"createdAt":{"type":"string","format":"datetime"},"updatedAt":{"type":"string","format":"datetime"}}},"issuedTicketWithContext":{"type":"object","required":["id","eventId","ticketTypeId","environment","status","ticketNumber","createdAt","updatedAt"],"properties":{"id":{"type":"string","maxLength":300},"eventId":{"type":"string","maxLength":300},"ticketTypeId":{"type":"string","maxLength":300},"paymentId":{"type":"string","maxLength":300},"claimId":{"type":"string","maxLength":300},"environment":{"type":"string","knownValues":["test","live"],"maxLength":16},"ownerDid":{"type":"string","format":"did"},"status":{"type":"string","knownValues":["active","voided","refunded"],"maxLength":32},"ticketNumber":{"type":"string","maxLength":300},"eventRef":{"type":"ref","ref":"com.atproto.repo.strongRef"},"ticketTypeRef":{"type":"ref","ref":"com.atproto.repo.strongRef"},"defaultPrice":{"type":"ref","ref":"com.atproto.repo.strongRef"},"scanToken":{"type":"string","maxLength":4000},"scanUrl":{"type":"string","format":"uri","maxLength":2000},"createdAt":{"type":"string","format":"datetime"},"updatedAt":{"type":"string","format":"datetime"},"presentation":{"type":"ref","ref":"tickets.atmosphere.defs#ticketPresentation"},"event":{"type":"ref","ref":"tickets.atmosphere.defs#eventSummary"},"ticketType":{"type":"ref","ref":"tickets.atmosphere.defs#ticketTypeSummary"}}}}}