Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

...

Example: https://website.com/datafeed/tags.json?authenticationToken=410fcbaeb33448dda131158705ea8ccb

Data models

Model

Info

stage

A location where an activity takes place

location

A general location

activity

Can represent a show, a conference, an event
Can optionally have one or more schedule items

scheduleItem

Is linked to an activity. It associates the activity to one or both of these:

  • a stage

  • a timeSlot

timeSlot

The date and time information of a scheduleItem

performer

Can represent a speaker, as guest, an artist

Is usually used to identify multiple performers of a same event (schedule item)

tagCategory

You can create tag categories for activity, stage and scheduleItem

tag

A tag is linked to a tagCategory and you can assign a tag to one or more objects. Tags can be used to filter content in the app.

widgetCollection

A collection of widgets that can be linked to an object

widget

Widgets are used to add extra content to an object

...

Examples of how you can use the data model

...

Data must be split into five different data feeds. They are all optional, you may use only the feeds that you need.

feed

Info

tags

Data for tagCategories and tags

stages

Data for all the stages

activities

Data for all the activities along with their optional scheduleItems and timeSlots

performers

Data for all the performers

locations

Data for all the locations

Data format

Feeds must be valid JSON. They need to be served by a secure web server (https) that is using a valid certificate. The web server must return an HTTP status of 200.

...

Data attributes

Tag Category

Attribute

Type

Required

Info

id

string (256 characters max)

Must be unique across all tag categories

Note

IDs must maintain consistency (i.e. a given Tag Category must keep the same ID across each data sync). Not maintaining IDs between syncs can cause issues with pins on a map.

name

string
or
object for multi-language support

The name of the tag category

Use a string if your content is in a single language or if you want to use the same value for all the languages

If you want to use different values for each language you can use an object. See Localization of text attributes for more info

object_types

array of string

Defines the types of objects that can use that tag category. Choices are: activity, schedule_item, performer and location (use this one for stages). At least one type is required.

tags

array

A list of tag objects to create for this category

Anchor
tag
tag

Tag

Attribute

Type

Required

Info

id

string (256 characters max)

Must be unique across all tags

Note

IDs must maintain consistency (i.e. a given Tag must keep the same ID across each data sync). Not maintaining IDs between syncs can cause issues with pins on a map.

name

string
or
object for multi-language support

The name of the tag

Use a string if your content is in a single language or if you want to use the same value for all the languages

If you want to use different values for each language you can use an object. See Localization of text attributes for more info

Stage

Attribute

Type

Required

Info

id

string (256 characters max)

Must be unique across all stages

Note

IDs must maintain consistency (i.e. a given Stage must keep the same ID across each data sync). Not maintaining IDs between syncs can cause issues with pins on a map.

name

string
or
object for multi-language support

The name of the stage

Use a string if your content is in a single language or if you want to use the same value for all the languages

If you want to use different values for each language you can use an object. See Localization of text attributes for more info

subtitle

string
or
object for multi-language support

An optional subtitle for the stage

Use a string if your content is in a single language or if you want to use the same value for all the languages

If you want to use different values for each language you can use an object. See Localization of text attributes for more info

description

text
or
object for multi-language support

An optional description for the stage

Use a string if your content is in a single language or if you want to use the same value for all the languages

If you want to use different values for each language you can use an object. See Localization of text attributes for more info

Description supports basic HTML tags like <p>, <strong>, <em>, <u>, <ol>, <ul> and <li>

address

string
or
object for multi-language support

An optional address for the stage

Use a string if your content is in a single language or if you want to use the same value for all the languages

If you want to use different values for each language you can use an object. See Localization of text attributes for more info

coordinates

object

An optional Coordinates object

photo

object

An optional Photo object

order

integer

An optional order that is used to sort the stages in the app. A stage with order 1 will be listed before one with order 12. Stages without an order will be listed alphabetically after the ones that have a value for order

tags

array

A list of tag IDs use for this object

Location

Attribute

Type

Required

Info

id

string (256 characters max)

Must be unique across all locations

Note

IDs must maintain consistency (i.e. a given Location must keep the same ID across each data sync). Not maintaining IDs between syncs can cause issues with pins on a map.

name

string
or
object for multi-language support

The name of the location

Use a string if your content is in a single language or if you want to use the same value for all the languages

If you want to use different values for each language you can use an object. See Localization of text attributes for more info

subtitle

string
or
object for multi-language support

An optional subtitle for the stage

Use a string if your content is in a single language or if you want to use the same value for all the languages

If you want to use different values for each language you can use an object. See Localization of text attributes for more info

description

text
or
object for multi-language support

An optional description for the stage

Use a string if your content is in a single language or if you want to use the same value for all the languages

If you want to use different values for each language you can use an object. See Localization of text attributes for more info

Description supports basic HTML tags like <p>, <strong>, <em>, <u>, <ol>, <ul> and <li>

address

string
or
object for multi-language support

An optional address for the stage

Use a string if your content is in a single language or if you want to use the same value for all the languages

If you want to use different values for each language you can use an object. See Localization of text attributes for more info

coordinates

object

An optional Coordinates object

photo

object

An optional Photo object

order

integer

An optional order that is used to sort the locations in the app. A location with order 1 will be listed before one with order 12. Locations without an order will be listed alphabetically after the ones that have a value for order

tags

array

A list of tag IDs use for this object

widget_collection

object

An optional Widget Collection object

Anchor
coordinates
coordinates

Coordinates

Attribute

Type

Required

Info

latitude

string or number (20 characters max)

If one is provided, the other is required

Latitude coordinate of the stage

longitude

string or number (20 characters max)

Longitude coordinate of the stage

Anchor
photo
photo

Photo

Attribute

Type

Required

Info

url

string

Latitude coordinate of the stage

fingerprint

string (64 characters max)

highly recommended

A string that the CMS will use to quickly determine if the file has changed since the last sync. Can be a date, a timestamp, a hash… The fingerprint needs to change when the photo is updated.

Providing a fingerprint will greatly improve the speed of imports

Activity

Attribute

Type

Required

Info

id

string (256 characters max)

Must be unique across all activities

Note

IDs must maintain consistency (i.e. a given Activity must keep the same ID across each data sync). Not maintaining IDs between syncs will cause issues with users creating their schedules on the mobile app.

name

string
or
object for multi-language support

The name of the activity

Use a string if your content is in a single language or if you want to use the same value for all the languages

If you want to use different values for each language you can use an object. See Localization of text attributes for more info

subtitle

string
or
object for multi-language support

An optional subtitle for the activity

Use a string if your content is in a single language or if you want to use the same value for all the languages

If you want to use different values for each language you can use an object. See Localization of text attributes for more info

description

text
or
object for multi-language support

An optional description for the activity

Use a string if your content is in a single language or if you want to use the same value for all the languages

If you want to use different values for each language you can use an object. See Localization of text attributes for more info

Description supports basic HTML tags like <p>, <strong>, <em>, <u>, <ol>, <ul> and <li>

photo

object

An optional Photo object

order

integer

An optional order that is used to sort the activities in the app. An activity with order 1 will be listed before one with order 12. Activities without an order will be listed alphabetically after the ones that have a value for order

schedule_items

list

List of Schedule Items objects.

tags

array

A list of tag IDs use for this object

widget_collection

object

An optional Widget Collection object

Anchor
schedule-item
schedule-item

Schedule Item

Attribute

Type

Required

Info

id

string (256 characters max)

Must be unique across all schedule items

Note

IDs must maintain consistency (i.e. a given Schedule Item must keep the same ID across each data sync). Not maintaining IDs between syncs will cause issues with users creating their schedules on the mobile app.

stage_id

string (256 characters max)

Must be the ID of a stage that is present and valid in the stages feed.

time_slot

object

An optional Time Slot object

performers

array

A list of Schedule Item Performer objects

tags

array

A list of tag IDs use for this object

widget_collection

object

An optional Widget Collection object

Anchor
schedule-item-performer
schedule-item-performer

Schedule Item Performer

Attribute

Type

Required

Info

performer_id

string (256 characters max)

Must be the ID of a performer that is present and valid in the performers feed.

order

integer

An optional order that is used to sort the performers of the schedule item in the app. A performer with order 1 will be listed before one with order 12.

Anchor
time-slot
time-slot

Time Slot

Attribute

Type

Required

Info

start_date

string of an ISO-8601 date (YYYY-MM-DD)

The start date of the schedule item

start_time

string of an ISO-8601 time (hh:mm)

The start time of the schedule item

Time zone is assumed to be local to your event. (Can be changed in the CMS by your implementation manager)

end_date

string of an ISO-8601 date (YYYY-MM-DD)

The end date of the schedule item.

If omitted, the end date is assumed to be the same as the start date

Must be the equal or after the start_date

end_time

string of an ISO-8601 time (hh:mm)

The end time of the schedule item

Time zone is assumed to be local to your event. (Can be changed in the CMS by your implementation manager)

The start_time is required if you provide an end_time

Anchor
performer
performer

Performer

Attribute

Type

Required

Info

id

string (256 characters max)

Must be unique across all performers

Note

IDs must maintain consistency (i.e. a given Performer must keep the same ID across each data sync). Not maintaining IDs between syncs will cause issues with users creating their schedules on the mobile app.

name

string
or
object for multi-language support

The name of the performer

Use a string if your content is in a single language or if you want to use the same value for all the languages

If you want to use different values for each language you can use an object. See Localization of text attributes for more info

subtitle

string
or
object for multi-language support

An optional subtitle for the performer

Use a string if your content is in a single language or if you want to use the same value for all the languages

If you want to use different values for each language you can use an object. See Localization of text attributes for more info

description

text
or
object for multi-language support

An optional description for the performer

Use a string if your content is in a single language or if you want to use the same value for all the languages

If you want to use different values for each language you can use an object. See Localization of text attributes for more info

Description supports basic HTML tags like <p>, <strong>, <em>, <u>, <ol>, <ul> and <li>

photo

object

An optional Photo object

order

integer

An optional order that is used to sort the performers in the app. A performer with order 1 will be listed before one with order 12. Performers without an order will be listed alphabetically after the ones that have a value for order

tags

array

A list of tag IDs use for this object

widget_collection

object

An optional Widget Collection object

Anchor
widget-collection
widget-collection

Widget Collection

Attribute

Type

Required

Info

widgets

array

A list of Widget objects

Anchor
widget
widget

Widget

Attribute

Type

Required

Info

widget_type

string

Defines the type of widget. Available choices are button, link_collection and title_subtitle

widget

object

Each widget types have their own attributes, see Button Widget, Link Collection Widget and Title Subtitle Widget for more info

Anchor
button-widget
button-widget

Button Widget

Attribute

Type

Required

Info

button_text

string
or
object for multi-language support

The text to display on the button

Use a string if your content is in a single language or if you want to use the same value for all the languages

If you want to use different values for each language you can use an object. See Localization of text attributes for more info

url

string
or
object for multi-language support

The URL to open when the user taps on the button. Can be a web link or an internal link. Ask your implementation manager for available internal links.

icon

string

An icon to display on the button. Ask your implementation manager for a list of available choices

Attribute

Type

Required

Info

links

array

A list of Link objects

Attribute

Type

Required

Info

url

string

The URL to open when the user taps on the button. Can be a web link or an internal link. Ask your implementation manager for available internal links

label

string

An optional label to display for this link. If not set, a default label will be set based on the URL you entered

icon

string

An optional icon to display for this link. Ask your implementation manager for a list of available choices. If not set, a default icon will be set based on the URL you entered.

Anchor
title-subtitle-widget
title-subtitle-widget

Title Subtitle Widget

Attribute

Type

Required

Info

title

string
or
object for multi-language support

✅ You need to provide at least a title or a subtitle

The text to display as the title

Use a string if your content is in a single language or if you want to use the same value for all the languages

If you want to use different values for each language you can use an object. See Localization of text attributes for more info

subtitle

string
or
object for multi-language support

The text to display as the subtitle

Use a string if your content is in a single language or if you want to use the same value for all the languages

If you want to use different values for each language you can use an object. See Localization of text attributes for more info

Anchor
localization
localization

Localization of text attributes

...

  • An activity with ID “123” will completely replace the activity with ID “123” that was created during a previous sync

  • If an activity with ID “345” was previously imported and is no longer present in your data feed, it will be deleted from the CMS

Change log

Date

Author

Notes

2022-02-04

Yan Chouinard

Initial version

2022-02-22

Yan Chouinard

Added support for two letters language codes

2022-05-11

Yan Chouinard

Hide Performers until they are supported

2022-05-19

Yan Chouinard

Added Tags and Widgets

2022-08-24

Yan Chouinard

Added Locations

2022-10-06

Yan Chouinard

Update Tag’s object_types field

2023-05-10

Yan Chouinard

Added order for Activities and added more info for start_time and end_time

2023-06-12

Yan Chouinard

Added Performers and order on Location and Stage

2023-09-05

Mahmoud Ahmed

Added the errors attribute to the feed.