{"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","maxLength":300},"quantity":{"type":"integer","minimum":1,"maximum":50},"unitAmount":{"type":"integer","minimum":0},"currency":{"type":"string","minLength":3,"maxLength":3,"description":"Lowercase ISO 4217 currency code, matching money.atmosphere.price."},"ticketTypeRef":{"type":"ref","ref":"com.atproto.repo.strongRef"},"productRef":{"type":"ref","ref":"com.atproto.repo.strongRef"},"priceRef":{"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","maxLength":300},"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":3,"description":"Lowercase ISO 4217 currency code, matching money.atmosphere.price."},"unitAmount":{"type":"integer","minimum":0},"status":{"type":"string","knownValues":["active","paused","archived"],"maxLength":32},"ticketTypeRef":{"type":"ref","ref":"com.atproto.repo.strongRef"},"productRef":{"type":"ref","ref":"com.atproto.repo.strongRef"},"priceRef":{"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","maxLength":300},"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","maxLength":300},"description":{"type":"string","maxLength":5000},"currency":{"type":"string","minLength":3,"maxLength":3,"description":"Lowercase ISO 4217 currency code, matching money.atmosphere.price."},"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","maxLength":300},"startsAt":{"type":"string","format":"datetime"},"imageUrl":{"type":"string","format":"uri","maxLength":2000}}},"ticketType":{"type":"object","required":["title"],"properties":{"title":{"type":"string","maxLength":300}}}}},"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"},"productRef":{"type":"ref","ref":"com.atproto.repo.strongRef"},"priceRef":{"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"},"productRef":{"type":"ref","ref":"com.atproto.repo.strongRef"},"priceRef":{"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"}}}}}