Events

A resource that implements the concept of Event defined in the AlpineBits® DestinationData 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 Basic Fields.

  • 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": { ... }
}

1. Meta

See the definition of the meta object in basic-resource-schema.adoc#anchor-metadata.

2. Attributes

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

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

Field Type Constraints

abstract

datatypes.adoc#anchor-text

Nullable

capacity

integer

Nullable, Greater than Zero

description

datatypes.adoc#anchor-text

Nullable

endDate

datatypes.adoc#anchor-date or datatypes.adoc#anchor-datetime

Nullable, Conditional Assignment

name

datatypes.adoc#anchor-text

Non-Nullable

shortName

datatypes.adoc#anchor-text

Nullable

startDate

datatypes.adoc#anchor-date or datatypes.adoc#anchor-datetime

Nullable, Conditional Assignment

status

string

Nullable, Enumeration

url

datatypes.adoc#anchor-url

Nullable

3. Relationships

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

  • categories: a basic-resource-schema.adoc#anchor-referencetomany category resources that are instantiated by the event. See Section Categories. 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"

  • contributors: a basic-resource-schema.adoc#anchor-referencetomany agent resources (see Agents), 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 basic-resource-schema.adoc#anchor-referencetomany media object resources (see Media Objects) that are related to the event. See Section basic-resource-schema.adoc#anchor-multimediadescriptions. Nullable. Non-empty.

  • organizers: a basic-resource-schema.adoc#anchor-referencetomany agent resources (see Agents) identifying the persons or organizations responsible for organizing the event. Non-nullable. Non-empty.

  • publisher: a basic-resource-schema.adoc#anchor-referencetoone agent resource (see Agents) 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 basic-resource-schema.adoc#anchor-referencetoone event series resource (see Event Series) 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.

  • sponsors: a basic-resource-schema.adoc#anchor-referencetomany agent resources (see Agents) identifying the persons or organizations who are sponsoring the event. Nullable. Non-empty.

  • subEvents: a basic-resource-schema.adoc#anchor-referencetomany 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 basic-resource-schema.adoc#anchor-referencetomany venue resources (see Venues) identifying where the event will happen. Non-nullable. Non-empty.

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

Field Type Constraints

categories

basic-resource-schema.adoc#anchor-referencetomany object to Categories

Nullable, Non-empty

contributors

basic-resource-schema.adoc#anchor-referencetomany object to Agents

Nullable, Non-empty

multimediaDescriptions

basic-resource-schema.adoc#anchor-referencetomany object to Media Objects

Nullable, Non-empty

organizers

basic-resource-schema.adoc#anchor-referencetomany object to Agents

Non-Nullable, Non-empty

publisher

basic-resource-schema.adoc#anchor-referencetoone object to Agents

Non-Nullable

series

basic-resource-schema.adoc#anchor-referencetoone object to Event Series

Nullable

sponsors

basic-resource-schema.adoc#anchor-referencetomany object to Agents

Nullable, Non-empty

subEvents

basic-resource-schema.adoc#anchor-referencetomany object to Events

Nullable, Non-empty

venues

basic-resource-schema.adoc#anchor-referencetomany object to Venues

Non-Nullable, Non-empty

See the definition of the links object in basic-resource-schema.adoc#anchor-links.

5. Endpoints

The following endpoints in this API specification return event resources:

  • https://example.com /2021-04/events: returns a collection of events.

  • https://example.com /2021-04/events/:id: returns the event identified by the :id parameter.

  • https://example.com /2021-04/events/:id/subEvents: returns a collection of events that are part of the event.

  • https://example.com /2021-04/eventSeries/:id/editions: returns a collection of events that are editions of the event series.

6. 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,
    "capacity": null
  },
  "relationships": {
    "series": null,
    "publisher": {
      "data": {
        "type": "agents",
        "id": "1"
      },
      "links": {
        "related": "https://example.com/2021-04/events/1/publisher"
      }
    },
    "organizers": {
      "data": [
        {
          "type": "agents",
          "id": "2"
        }
      ],
      "links": {
        "related": "https://example.com/2021-04/events/1/organizers"
      }
    },
    "sponsors": null,
    "contributors": null,
    "categories": null,
    "multimediaDescriptions": null,
    "venues": {
      "data": [
        {
          "type": "venues",
          "id": "1"
        }
      ],
      "links": {
        "related": "https://example.com/2021-04/events/1/venues"
      }
    },
    "subEvents": null
  },
  "links": {
    "self": "https://example.com/2021-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",
    "capacity": 1000
  },
  "relationships": {
    "series": {
      "data": {
        "type": "eventSeries",
        "id": "1"
      },
      "links": {
        "related": "https://example.com/2021-04/events/1/eventSeries"
      }
    },
    "publisher": {
      "data": {
        "type": "agents",
        "id": "1"
      },
      "links": {
        "related": "https://example.com/2021-04/events/1/publisher"
      }
    },
    "organizers": {
      "data": [
        {
          "type": "agents",
          "id": "2"
        }
      ],
      "links": {
        "related": "https://example.com/2021-04/events/1/organizers"
      }
    },
    "sponsors": {
      "data": [
        {
          "type": "agents",
          "id": "3"
        },
        {
          "type": "agents",
          "id": "4"
        }
      ],
      "links": {
        "related": "https://example.com/2021-04/events/1/sponsors"
      }
    },
    "contributors": {
      "data": [
        {
          "type": "agents",
          "id": "5"
        }
      ],
      "links": {
        "related": "https://example.com/2021-04/events/1/contributors"
      }
    },
    "categories": {
      "data": [
        {
          "type": "categories",
          "id": "schema:MusicEvent"
        }
      ],
      "links": {
        "related": "https://example.com/2021-04/events/1/categories"
      }
    },
    "multimediaDescriptions": {
      "data": [
        {
          "type": "mediaObjects",
          "id": "1"
        },
        {
          "type": "mediaObjects",
          "id": "2"
        }
      ],
      "links": {
        "related": "https://example.com/2021-04/events/1/multimediaDescriptions"
      }
    },
    "venues": {
      "data": [
        {
          "type": "venues",
          "id": "1"
        }
      ],
      "links": {
        "related": "https://example.com/2021-04/events/1/venues"
      }
    },
    "subEvents": {
      "data": [
        {
          "type": "events",
          "id": "2"
        },
        {
          "type": "events",
          "id": "3"
        }
      ],
      "links": {
        "related": "https://example.com/2021-04/events/1/subEvents"
      }
    }
  },
  "links": {
    "self": "https://example.com/2021-04/events/1"
  }
}

examples/event.full.json