Skip to content

Events

A resource that implements the concept of Event defined in the AlpineBits® Ontology.

A JSON object representing such a resource MUST contain the following fields:

  • type: the constant "events" that identifies the resource as being of the type event.

  • id: a string that uniquely and persistently identifies the event within a SERVER. See the definition in ???.

  • attributes: an object containing the attributes of the event.

  • relationships: an object containing the relationships of the event to other resources.

  • links: an object containing the links related to the event.

An event resource is structured as follows:

{
  "type": "events",
  "id": "1",
  "meta": { ... },
  "attributes": { ... },
  "relationships": { ... },
  "links": { ... }
}

Meta

See the definition of the meta object in ???.

Attributes

The attributes object of an event resource MUST contain the following fields:

  • abstract: a ??? object containing a brief description of the event. Nullable. See the definition in ???.

  • description: a ??? object containing a description of the event. Nullable. Conditional Assignment. See the definition in ???.

  • endDate: a string, formatted as ??? or ???, representing when the event is planned to end. This field can only be null if startDate is defined.

  • inPersonCapacity: an integer representing the total number of individuals that can attend the event in-person. This field can only be assigned in events having the one of the following categories: "alpinebits:inPersonEvent", or "alpinebits:hybridEvent". Nullable. Positive integer. Conditional assignment.

  • name: a ??? object containing the complete name of the event. Non-nullable. Conditional Assignment. See the definition in ???.

  • onlineCapacity: an integer representing the total number of individuals that can attend the event virtually. This field can only be assigned in events having the one of the following categories: "alpinebits:virtualEvent", or "alpinebits:hybridEvent". Nullable. Positive integer. Conditional assignment.

  • participationUrl: a ??? object or string containing the URL for virtual event attendance. This field can only be assigned in events having the one of the following categories: "alpinebits:virtualEvent", or "alpinebits:hybridEvent". Nullable. Conditional assignment.

  • recorded: a boolean value indicated whether the event will be recorded. Nullable.

  • registrationUrl: a ??? object or string containing the URL for event registration. Nullable.

  • shortName: a ??? object containing a short name of the event. Nullable. See the definition in ???.

  • startDate: a string, formatted as ??? or ???, representing when the event is planned to start. This field can only be null if endDate is defined.

  • status: a string representing the current status of the event. Nullable. The possible values for this field are the following enumerated values:

    • published: the event has been published. It may or may not have happened.

    • canceled: the event has been canceled. Events can only be canceled before they have started.

  • url: a ??? object or string describing the event, such as a website or a Wikipedia page. Nullable. See the definition in ???.

A summary of the attributes is presented in the table below:

Field Type Constraints

abstract

???

Nullable

description

???

Nullable

endDate

??? or ???

Nullable, Conditional Assignment

inPersonCapacity

integer

Nullable, Greater than Zero, Conditional Assignment

name

???

Non-Nullable

onlineCapacity

integer

Nullable, Greater than Zero, Conditional Assignment

participationUrl

???

Nullable, Conditional Assignment

recorded

boolean

Nullable

registrationUrl

???

Nullable

shortName

???

Nullable

startDate

??? or ???

Nullable, Conditional Assignment

status

string

Nullable, Enumeration

url

???

Nullable

Relationships

The relationships object of an event resource MUST contain the following fields:

  • categories: a ??? category resources that are instantiated by the event. See Section ???. Non-nullable. Non-empty.

    The standard recommends the use of event types defined in Schema.org, which are identified by the schema namespace: "schema:BusinessEvent", "schema:ChildrensEvent", "schema:ComedyEvent", "schema:CourseInstance", "schema:DanceEvent", "schema:DeliveryEvent", "schema:EducationEvent", "schema:EventSeries", "schema:ExhibitionEvent", "schema:Festival", "schema:FoodEvent", "schema:Hackathon", "schema:LiteraryEvent", "schema:MusicEvent", "schema:PublicationEvent", "schema:SaleEvent", "schema:ScreeningEvent", "schema:SocialEvent", "schema:SportsEvent", "schema:TheaterEvent", "schema:VisualArtsEvent".

    Additionally, the standard defines the three disjoint categories for events where every event MUST be assigned with exactly one of them:

    • "alpinebits:inPersonEvent": an event resource representing a event planned for exclusive in-person attendance.

    • "alpinebits:virtualEvent": an event resource representing a event planned for exclusive virtual attendance.

    • "alpinebits:hybridEvent": an event resource representing a event planned for both in-person and virtual attendance.

  • contributors: a ??? agent resources (see ???), which identifies the agents expected to participate in the event, such as a speaker who will give a talk or a musician who will perform at a concert. Contributors do not include those attending the event. Nullable. Non-empty.

  • multimediaDescriptions: a ??? media object resources (see ???) that are related to the event. See Section ???. Nullable. Non-empty.

  • organizers: a ??? agent resources (see ???) identifying the persons or organizations responsible for organizing the event. Non-nullable. Non-empty.

  • publisher: a ??? agent resource (see ???) who originally provided the data about the event. The publisher is not the organization who manages the system where the data was originally inserted, but the organization actually provided the data. Non-nullable.

  • series: a ??? event series resource (see ???) of which the event is an edition of. For instance, the Südtirol Jazz Festival 2020 is an edition of the Südtirol Jazz Festival. Nullable.

    Not that sub-events do not share the same series as the whole, but they may be editions of unrelated event series. For example, the "South Tyrol Jazz Festival 2021" may be an edition of the "South Tyrol Jazz Festival" series, while the presentation of "András Dés Rangers on 04/07/2021", its sub-event, may be an edition of the "András Dés Rangers European Tour 2021".

  • sponsors: a ??? agent resources (see ???) identifying the persons or organizations who are sponsoring the event. Nullable. Non-empty.

  • subEvents: a ??? event resources (see Events) identifying the parts of the event. For instance, a festival may consist of several concerts and a conference may consist of several presentations and a keynote. Nullable. Non-empty.

    There SHALL NOT be a circular composition of events. For instance, if X is a sub-event of Y, and Y is a sub-event of Z, Z SHALL NOT be a sub-event of X.

    Note that sub-events are not restricted to the temporal boundaries of their parent events. For instance, a conference that starts on 15/03/2020 and ends on 20/03/2020 may have, as a sub-event, a pre-conference meeting that is scheduled for the 14/03/2020.

  • venues: a ??? venue resources (see ???) identifying where the event will happen. This field is non-nullable in events having the one of the following categories: "alpinebits:inPersonEvent", or "alpinebits:hybridEvent". Nullable. Non-empty. Conditional Assignment.

A summary of the relationships is presented in the table below:

Field Type Constraints

categories

??? object to ???

Non-Nullable, Non-empty

contributors

??? object to ???

Nullable, Non-empty

multimediaDescriptions

??? object to ???

Nullable, Non-empty

organizers

??? object to ???

Non-Nullable, Non-empty

publisher

??? object to ???

Non-Nullable

series

??? object to ???

Nullable

sponsors

??? object to ???

Nullable, Non-empty

subEvents

??? object to Events

Nullable, Non-empty

venues

??? object to ???

Nullable, Non-empty, Conditional Assignment

See the definition of the links object in ???.

Examples

The following example contains the minimal information required for an event resource:

{
  "type": "events",
  "id": "1",
  "meta": {
    "dataProvider": null,
    "lastUpdate": null
  },
  "attributes": {
    "name": {
      "eng": "Südtirol Jazz Festival 2018"
    },
    "shortName": null,
    "description": null,
    "abstract": null,
    "startDate": "2018-06-29T00:00:00+00:00",
    "endDate": null,
    "url": null,
    "status": null,
    "inPersonCapacity": null,
    "onlineCapacity": null,
    "participationUrl": null,
    "recorded": null,
    "registrationUrl": null
  },
  "relationships": {
    "series": null,
    "publisher": {
      "data": {
        "type": "agents",
        "id": "1"
      },
      "links": {
        "related": "https://example.com/2022-04/events/1/publisher"
      }
    },
    "organizers": {
      "data": [
        {
          "type": "agents",
          "id": "2"
        }
      ],
      "links": {
        "related": "https://example.com/2022-04/events/1/organizers"
      }
    },
    "sponsors": null,
    "contributors": null,
    "categories": {
      "data": {
        "type": "categories",
        "id": "alpinebits:inPersonEvent"
      },
      "links": {
        "related": "https://example.com/2022-04/events/1/categories"
      }
    },
    "multimediaDescriptions": null,
    "venues": {
      "data": [
        {
          "type": "venues",
          "id": "1"
        }
      ],
      "links": {
        "related": "https://example.com/2022-04/events/1/venues"
      }
    },
    "subEvents": null
  },
  "links": {
    "self": "https://example.com/2022-04/events/1"
  }
}

examples/event.min.json

The following example illustrates the fields defined for event resources:

{
  "type": "events",
  "id": "1",
  "meta": {
    "dataProvider": "https://example.com",
    "lastUpdate": "2020-04-01T08:00:00+02:00"
  },
  "attributes": {
    "name": {
      "eng": "Südtirol Jazz Festival 2020",
      "deu": "Südtirol Jazz Festival 2020",
      "ita": "Südtirol Jazz Festival 2020"
    },
    "shortName": {
      "eng": "Südtirol Jazz Festival 2020"
    },
    "description": {
      "deu": "Beim Südtirol Jazzfestival Alto Adige wagen sich Solisten und Ensembles nicht nur in schwindelerregende musikalische „Höhen“ vor, sondern besteigen, mit ihren Instrumenten im Gepäck, sogar „echte“ Berge und bespielen dabei eine atemberaubende alpine Landschaft. Das Festival selbst beschreitet oft ganz neue Wege: selbstbewusst und sich mitunter über zerklüftete Spalten herantastend, versucht es in neue Klanglandschaften vorzudringen. Mainstream und Konzertsäle sind beim Südtirol Jazzfestival Alto Adige vom Aussterben bedroht...."
    },
    "abstract": {
      "deu": "Das Südtirol Jazzfestival Alto Adige ist ein in Südtirol stattfindendes Musikfestival für Jazz und experimentelle Musik."
    },
    "startDate": "2020-06-26T21:00:00+00:00",
    "endDate": "2020-07-07T23:30:00+00:00",
    "url": "https://www.suedtiroljazzfestival.com/",
    "status": "published",
    "inPersonCapacity": 1000,
    "onlineCapacity": 10000,
    "participationUrl": "https://www.example-streaming-site.com/asdeZCawdeGfdg44fas",
    "recorded": true,
    "registrationUrl": "https://www.example-tickets-site.com/asdeZCawdeGfdg44fas"
  },
  "relationships": {
    "series": {
      "data": {
        "type": "eventSeries",
        "id": "1"
      },
      "links": {
        "related": "https://example.com/2022-04/events/1/eventSeries"
      }
    },
    "publisher": {
      "data": {
        "type": "agents",
        "id": "1"
      },
      "links": {
        "related": "https://example.com/2022-04/events/1/publisher"
      }
    },
    "organizers": {
      "data": [
        {
          "type": "agents",
          "id": "2"
        }
      ],
      "links": {
        "related": "https://example.com/2022-04/events/1/organizers"
      }
    },
    "sponsors": {
      "data": [
        {
          "type": "agents",
          "id": "3"
        },
        {
          "type": "agents",
          "id": "4"
        }
      ],
      "links": {
        "related": "https://example.com/2022-04/events/1/sponsors"
      }
    },
    "contributors": {
      "data": [
        {
          "type": "agents",
          "id": "5"
        }
      ],
      "links": {
        "related": "https://example.com/2022-04/events/1/contributors"
      }
    },
    "categories": {
      "data": [
        {
          "type": "categories",
          "id": "alpinebits:hybridEvent"
        },
        {
          "type": "categories",
          "id": "schema:MusicEvent"
        }
      ],
      "links": {
        "related": "https://example.com/2022-04/events/1/categories"
      }
    },
    "multimediaDescriptions": {
      "data": [
        {
          "type": "mediaObjects",
          "id": "1"
        },
        {
          "type": "mediaObjects",
          "id": "2"
        }
      ],
      "links": {
        "related": "https://example.com/2022-04/events/1/multimediaDescriptions"
      }
    },
    "venues": {
      "data": [
        {
          "type": "venues",
          "id": "1"
        }
      ],
      "links": {
        "related": "https://example.com/2022-04/events/1/venues"
      }
    },
    "subEvents": {
      "data": [
        {
          "type": "events",
          "id": "2"
        },
        {
          "type": "events",
          "id": "3"
        }
      ],
      "links": {
        "related": "https://example.com/2022-04/events/1/subEvents"
      }
    }
  },
  "links": {
    "self": "https://example.com/2022-04/events/1"
  }
}

examples/event.full.json