Appmiral Timetable Importer v2 (deprecated)

Warning: This version of the Appmiral Timetable Importer is deprecated.  It is still operational but no longer maintained. For new applications, please use the Appmiral Timetable Importer v3.

Introduction

The Appmiral Timetable Importer allows you to import timetable information from other systems into Appmiral and keep them in sync. It reads content from an XML or JSON and adds or updates the contents into the Appmiral database, where it is structured as Artists, Stages and Performances. This importer expects 2 XMLs or JSONs: one for stages and one for artists and their performances. These XMLs/JSONs can be static files hosted online or API endpoints.

Every 15 minutes, the importer will download the XMLs/JSONs and sync the contents to the Appmiral database. This means that when the timetable is changed in the original XMLs/JSONs, it takes a maximum of 15 minutes before those changes are reflected in the Appmiral CMS and the app.

Differences from v1

The v1 Timetable Importer did not make the distinction between artists and performances, meaning every performance also created an artist in the Appmiral database. This caused issues when the same artist performed multiple times. Also artist descriptions can now contain HTML.

Stages

Stage Model

Field

Required

Type

Description

id

Yes

string

The ID of the stage. Has to be unique for each stage.

name

Yes

string

The name of the stage.

priority

No

integer

The priority of the stage. This determines the position of the stage on various screens in the app. Default is 100.

color

No

string

The color representing the stage. This color will be used on various screens in the app where the stage is mentioned. In HEX format including the #. e.g. "#FF0000". 

Stage JSON Example

Stage XML Example

Artists

Artist Model

Field

Required

Type

Description

id

Yes

string

The ID of the artist. Has to be unique for each artist.

name

Yes

string

The name of the artist.

performances

No

array of Performance objects

A list of all performances of the artist.

priority

No

integer

The priority of the artist. This determines the position of the artist on various screens in the app. Default is 100.

description

No

string

The description for the artist. Can contain HTML.

image

No

string

A URL to an image of the artist. Must be JPG or PNG. Should be at least 1500x1500. Artist should preferably be centered on the image.

website

No

string / object

A URL to the website of the artist.

facebook

No

string

A URL to the Facebook page of the artist.

twitter

No

string

A URL to the Twitter page of the artist.

linkedin

No

string

A URL to the LinkedIn page of the artist.

instagram

No

string

A URL to the Instagram profile of the artist.

tiktok

No

string

A URL to the TikTok profile of the artist.

youtube

No

string

A URL to the Youtube channel of the artist.

vimeo

No

string

A URL to the Vimeo channel of the artist.

spotify

No

string

A URL to the Spotify page of the artist or the artist's Spotify URI. Can be found by going to the artist in Spotify, choose Share and select "Copy Artist Link" or "Copy Spotify URI".

deezer

No

string

A URL to the Deezer page of the artist.

applemusic

No

string

A URL to the Apple Music page of the artist.

soundcloud

No

string

A URL to the Soundcloud page of the artist.

Performance Model

Field

Required

Type

Description

id

Yes

string

The ID of the performance. Has to be unique for each performance.

name

No

string

The name of the performance. This is optional and only necessary if the performance name is different from the artist name.

start_time

No

string

The start time of the performance. Date format has to be YYYY-MM-DD HH:mm:ssZ. Must be before or equal to end_time.

end_time

No

string

The end time of the performance. Date format has to be YYYY-MM-DD HH:mm:ssZ. Must be after or equal to start_time.

stage_id

No

string

The ID of the stage this performance takes place on.

priority

No

integer

The priority of the performance. This determines the position of the performance on various screens in the app. Default is 100.

Tip: If the day of a performance is already known but the exact time is still unknown, use the same start_time and end_time on the day of the performance. The application will show the day of the performance but no time.

Artists JSON Example

Artists XML Example