town.laugh.calendar.defs

laugh.town

{
  "id": "town.laugh.calendar.defs",
  "defs": {
    "eventExtras": {
      "type": "object",
      "required": [
        "venue",
        "timezone"
      ],
      "properties": {
        "slug": {
          "type": "string",
          "description": "URL routing slug (mutable); central-repo records only, derived for user shows"
        },
        "venue": {
          "type": "string",
          "format": "at-uri",
          "description": "AT-URI reference to the town.laugh.db.venue record"
        },
        "origin": {
          "type": "string",
          "description": "Where this record came from; central-repo records only",
          "knownValues": [
            "scraped",
            "native",
            "atproto"
          ]
        },
        "doorsAt": {
          "type": "string",
          "format": "datetime",
          "description": "Offset-qualified doors-open datetime, interpreted in the same timezone"
        },
        "roomRef": {
          "type": "string",
          "format": "at-uri",
          "description": "AT-URI reference to the town.laugh.db.room record"
        },
        "currency": {
          "type": "string",
          "description": "ISO 4217 currency code for priceMin/priceMax, e.g. USD; required if either is set"
        },
        "priceMax": {
          "type": "integer",
          "description": "Highest ticket price in minor units for tiered pricing; same currency"
        },
        "priceMin": {
          "type": "integer",
          "description": "Lowest ticket price in minor units (e.g. cents); requires currency"
        },
        "timezone": {
          "type": "string",
          "description": "IANA timezone name for startsAt/doorsAt, e.g. America/Los_Angeles"
        },
        "eventType": {
          "type": "string",
          "description": "Kind of comedy event; absent when unclassified",
          "knownValues": [
            "openMic",
            "showcase",
            "standup",
            "improv",
            "sketch"
          ]
        },
        "languages": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "language"
          },
          "description": "BCP-47 languages of the show"
        },
        "sourceUrl": {
          "type": "string",
          "format": "uri",
          "description": "Source listing URL"
        },
        "ticketUrl": {
          "type": "string",
          "format": "uri",
          "description": "Ticket purchase URL"
        },
        "performers": {
          "type": "array",
          "items": {
            "ref": "town.laugh.db.defs#performer",
            "type": "ref"
          },
          "description": "Billed performers"
        },
        "presentedBy": {
          "type": "string",
          "description": "Presenting promoter/organizer"
        },
        "drinkMinimum": {
          "type": "string",
          "description": "Drink/purchase minimum, e.g. 2-drink minimum"
        },
        "ticketStatus": {
          "type": "string",
          "description": "Availability label, e.g. Sold Out / 3 left (distinct from lifecycle status)"
        },
        "nameLocalized": {
          "type": "array",
          "items": {
            "ref": "town.laugh.db.defs#localizedText",
            "type": "ref"
          },
          "description": "Name in other languages/scripts; name is the canonical fallback"
        },
        "ageRestriction": {
          "type": "string",
          "description": "Age policy, e.g. 21+ / All Ages"
        },
        "descriptionLocalized": {
          "type": "array",
          "items": {
            "ref": "town.laugh.db.defs#localizedText",
            "type": "ref"
          },
          "description": "Localized descriptions, one entry per language; the plain-string description field is the canonical fallback"
        }
      }
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}

Validate Record

Validate a record against town.laugh.calendar.defs

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:k6owgpe2rkkchoiivxhzp2t4
CID
bafyreibbmdffsvbeiajbpcbitk6ecj6o7pz7as2nrwisvi5aehiukfdlzm
Indexed At
2026-08-19 02:46 UTC
AT-URI
at://did:plc:k6owgpe2rkkchoiivxhzp2t4/com.atproto.lexicon.schema/town.laugh.calendar.defs

Referenced Schemas (2)

  • town.laugh.db.defs#localizedText
  • town.laugh.db.defs#performer

Lexicon Garden

@