{
  "@context": {
    "@vocab": "https://jointhestudentlife.com/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "jointhestudentlife": "https://jointhestudentlife.com/schema#",
    "Error": "jointhestudentlife:Error",
    "error": {
      "@id": "jointhestudentlife:error"
    },
    "ContactError": "jointhestudentlife:ContactError",
    "success": {
      "@id": "jointhestudentlife:success",
      "@type": "xsd:boolean"
    },
    "code": {
      "@id": "jointhestudentlife:code",
      "@type": "xsd:string"
    },
    "CityCard": "jointhestudentlife:CityCard",
    "slug": {
      "@id": "jointhestudentlife:slug",
      "@type": "xsd:string"
    },
    "name": {
      "@id": "jointhestudentlife:name",
      "@type": "xsd:string"
    },
    "country": {
      "@id": "jointhestudentlife:country",
      "@type": "xsd:string"
    },
    "country_code": {
      "@id": "jointhestudentlife:country_code",
      "@type": "xsd:string"
    },
    "summary": {
      "@id": "jointhestudentlife:summary",
      "@type": "xsd:string"
    },
    "festival_name": {
      "@id": "jointhestudentlife:festival_name",
      "@type": "xsd:string"
    },
    "city_guide_url": {
      "@id": "jointhestudentlife:city_guide_url",
      "@type": "@id"
    },
    "festival_url": {
      "@id": "jointhestudentlife:festival_url",
      "@type": "@id"
    },
    "halloween_url": {
      "@id": "jointhestudentlife:halloween_url",
      "@type": "@id"
    },
    "CityList": "jointhestudentlife:CityList",
    "total": {
      "@id": "jointhestudentlife:total",
      "@type": "xsd:integer"
    },
    "cities": {
      "@id": "jointhestudentlife:cities",
      "@container": "@list"
    },
    "next_cursor": {
      "@id": "jointhestudentlife:next_cursor",
      "@type": "xsd:string"
    },
    "TicketOption": "jointhestudentlife:TicketOption",
    "price": {
      "@id": "jointhestudentlife:price",
      "@type": "xsd:decimal"
    },
    "currency": {
      "@id": "jointhestudentlife:currency",
      "@type": "xsd:string"
    },
    "Event": "jointhestudentlife:Event",
    "id": {
      "@id": "jointhestudentlife:id",
      "@type": "xsd:string"
    },
    "type": {
      "@id": "jointhestudentlife:type",
      "@type": "xsd:string"
    },
    "city": {
      "@id": "jointhestudentlife:city",
      "@type": "xsd:string"
    },
    "city_slug": {
      "@id": "jointhestudentlife:city_slug",
      "@type": "xsd:string"
    },
    "start": {
      "@id": "jointhestudentlife:start",
      "@type": "xsd:string"
    },
    "end": {
      "@id": "jointhestudentlife:end",
      "@type": "xsd:string"
    },
    "timezone": {
      "@id": "jointhestudentlife:timezone",
      "@type": "xsd:string"
    },
    "venue": {
      "@id": "jointhestudentlife:venue"
    },
    "age_min": {
      "@id": "jointhestudentlife:age_min",
      "@type": "xsd:integer"
    },
    "url": {
      "@id": "jointhestudentlife:url",
      "@type": "@id"
    },
    "status": {
      "@id": "jointhestudentlife:status",
      "@type": "xsd:string"
    },
    "tickets": {
      "@id": "jointhestudentlife:tickets"
    },
    "waitlist_open": {
      "@id": "jointhestudentlife:waitlist_open",
      "@type": "xsd:boolean"
    },
    "whatsapp_group": {
      "@id": "jointhestudentlife:whatsapp_group",
      "@type": "xsd:string"
    },
    "entry_rule": {
      "@id": "jointhestudentlife:entry_rule",
      "@type": "xsd:string"
    },
    "EventList": "jointhestudentlife:EventList",
    "events": {
      "@id": "jointhestudentlife:events",
      "@container": "@list"
    },
    "Partner": "jointhestudentlife:Partner",
    "category": {
      "@id": "jointhestudentlife:category",
      "@type": "xsd:string"
    },
    "kind": {
      "@id": "jointhestudentlife:kind",
      "@type": "xsd:string"
    },
    "description": {
      "@id": "jointhestudentlife:description",
      "@type": "xsd:string"
    },
    "deal": {
      "@id": "jointhestudentlife:deal",
      "@type": "xsd:string"
    },
    "links": {
      "@id": "jointhestudentlife:links",
      "@container": "@list"
    },
    "ReportRequest": "jointhestudentlife:ReportRequest",
    "event_type": {
      "@id": "jointhestudentlife:event_type",
      "@type": "xsd:string"
    },
    "ReportJob": "jointhestudentlife:ReportJob",
    "created_at": {
      "@id": "jointhestudentlife:created_at",
      "@type": "xsd:dateTime"
    },
    "expires_at": {
      "@id": "jointhestudentlife:expires_at",
      "@type": "xsd:dateTime"
    },
    "completed_at": {
      "@id": "jointhestudentlife:completed_at",
      "@type": "xsd:dateTime"
    },
    "status_url": {
      "@id": "jointhestudentlife:status_url",
      "@type": "@id"
    },
    "poll_after_seconds": {
      "@id": "jointhestudentlife:poll_after_seconds",
      "@type": "xsd:integer"
    },
    "data_updated": {
      "@id": "jointhestudentlife:data_updated",
      "@type": "xsd:string"
    },
    "result": {
      "@id": "jointhestudentlife:result"
    },
    "note": {
      "@id": "jointhestudentlife:note",
      "@type": "xsd:string"
    }
  },
  "@type": "schema:Dataset",
  "schema:name": "Join the Student Life API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects Join the Student Life's own API contract declares: one class per component schema, one property per declared field, typed from the contract. Derived by script (derive-json-ld.py, 2026-11-13) from openapi/openapi.json.",
  "dcterms:created": "2026-11-13",
  "dcterms:source": [
    "openapi/openapi.json"
  ]
}