SmartCompanion Audioguide Data

Type: object

Schema for the data.json file used by the SmartCompanion Audioguide App. This file defines all content for an audioguide: assets (images and audio files), stations (points of interest), languages (available translations), texts (UI translations), and optionally tours, pins, and server configuration.

No Additional Properties

Type: string

An arbitrary checksum string used to detect data changes and trigger cache invalidation. Update this value whenever the data changes.

Type: array

List of all media assets (images, audio files, videos) referenced by stations and tours. Each asset must have a unique id.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object

A media asset (image, audio file, video, or other downloadable resource). Image assets are typically language-independent. Audio/video assets include a 'language' field to associate them with a specific language.

No Additional Properties

Type: string

Unique identifier for this asset. Referenced by stations in their 'images' and 'audios' arrays, and by tours in their 'images' array.

Type: string

Language code (e.g. 'de', 'en', 'es'). Used for audio/video assets to associate them with a language. Omitted for image assets since images are typically shared across languages.

Must match regular expression: ^[a-z]{2,3}$

Type: string

Optional title of the asset, e.g. the title of an audio track.

Type: number

Optional duration in seconds of an audio or video asset.

Value must be greater or equal to 0

Type: string

The filename of the asset including extension, without a path. Images are typically .png or .jpg, audio files are typically .mp3.

Type: stringFormat: uri

The full URL where this asset is hosted and can be downloaded from.

Type: array

List of audioguide stations (points of interest). For multilingual projects, each station is repeated per language — sharing the same 'id' and 'number' but with different 'language', 'title', 'subtitle', 'description', and 'audios' values. Images are typically shared across languages.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object

An audioguide station representing a specific point of interest within a tour or guide. In multilingual projects, each logical station appears multiple times — once per language — sharing the same 'id' and 'number' but with language-specific content. Images are typically shared across all language variants of a station.

No Additional Properties

Type: string

Unique identifier for this station, shared across language variants of the same station (e.g. 's1' for station 1 in all languages).

Type: string

Language code (e.g. 'de', 'en', 'es'). Indicates which language this station variant is in.

Must match regular expression: ^[a-z]{2,3}$

Type: string

The title/name of the station in the specified language.

Type: string

An optional subtitle for the station in the specified language.

Type: string

Display number for the station (e.g. '1', '2', '3'). Used for identification of a station by visitors.

Type: string

An optional textual description of the station in the specified language.

Type: number

Optional latitude coordinate of the station, used to display the station on a map.

Value must be greater or equal to -90 and lesser or equal to 90

Type: number

Optional longitude coordinate of the station, used to display the station on a map.

Value must be greater or equal to -180 and lesser or equal to 180

Type: array of string

Array of asset IDs referencing image files for this station. IDs must match entries in the top-level 'assets' array. Images are typically shared across language variants.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: array of string

Optional array of asset IDs referencing audio files for this station. IDs must match entries in the top-level 'assets' array.

No Additional Items

Each item of this array must be:

Type: array

List of available languages for the audioguide. The first language in the list is used as the default.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object

A language available in the audioguide. Displayed in the language selection screen.

No Additional Properties

Type: string

The display name of the language, written in that language itself (e.g. 'Deutsch', 'English', 'Español', 'Italiano').

Type: string

Language code (e.g. 'de', 'en', 'es', 'it').

Must match regular expression: ^[a-z]{2,3}$

Type: array

UI translation strings for the app interface. Each text entry is a key-value pair scoped to a specific language. All keys should be provided for every language listed in the 'languages' array.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object

A UI translation string. The app uses keys to look up interface text in the selected language. Keys are arbitrary strings, e.g. 'menu-overview', 'menu-selection', 'menu-language', 'no-internet', 'try-again', 'enter-pin', 'pin-error'.

No Additional Properties

Type: string

Language code (e.g. 'de', 'en', 'es', 'it'). Indicates which language this translation belongs to.

Must match regular expression: ^[a-z]{2,3}$

Type: string

The translation key identifier used inside the app.

Type: string

The translated text for this key in the specified language.

Type: array

Optional list of guided tours. Tours group stations into a specific order to give visitors a structured, guided experience. For multilingual projects, each tour is repeated per language — sharing the same 'id' but with different 'language', 'title', and 'description' values.

No Additional Items

Each item of this array must be:

Type: object

A guided tour that groups stations into a specific order to provide visitors with a structured, informative experience. In multilingual projects, each tour is repeated per language — sharing the same 'id' but with language-specific 'title' and 'description' values.

No Additional Properties

Type: string

Unique identifier for this tour, shared across language variants (e.g. 'tour1').

Type: string

The title of the tour in the specified language.

Type: string

Language code indicating which language this tour variant is in.

Must match regular expression: ^[a-z]{2,3}$

Type: boolean

Whether this tour is the default tour. Exactly one tour should be marked as default.

Type: string

Optional tour number as an identifier for visitors.

Type: string

Optional description of the tour in the specified language.

Type: array of string

An ordered array of station numbers (as strings) listing all stations in this tour in the intended visiting order.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: array of string

Array of asset IDs referencing images for this tour. IDs must match entries in the top-level 'assets' array.

No Additional Items

Each item of this array must be:

Type: array of string

Optional array of four-digit PIN codes. Provides a simple access control mechanism — e.g. a PIN issued upon payment. If present, visitors must enter a valid PIN to access the audioguide.

No Additional Items

Each item of this array must be:

Type: string

A four-digit PIN code.

Must match regular expression: ^[0-9]{4}$

Type: array of string

Optional array of IP addresses identifying local servers for downloading data within an internal WiFi network. Enhances download speed for visitors and reduces outbound internet traffic.

No Additional Items

Each item of this array must be:

Type: string

An IP address of a local server.