Skip to content

Data types

Discover the different types of data and their specificities to perform the desired actions on your database.

The data contained in a database is organized according to a consistent set of principles. Each database has its own schema and different data types.

Although there are several database models, the types are standardized and allow you to define what the database contains, even before describing its elements. For example in a news application, there is a data type Text for the title of the article, a data of type Image for the illustration photo etc…

Defining the type has important consequences on how you can use the data when building your application, or operate on the data. Data of type Text can be truncated, numbers can be multiplied, addresses can be displayed on a map, etc.

Primary types

Text

The Text data type represents a sequence of characters. These characters can be text characters, special characters, numeric characters or punctuation marks.

"3 room flat in Paris"

Number

The Number data type represents integer and decimal values.

130 000

Boolean

The Boolean data type has 2 values: True or False.

True

Array

The array is a data structure representing a finite sequence of elements that can be accessed efficiently by their position, or index, in the sequence. The index always starts at 0. So the first element is at index 0, the 2nd at index 1, the 3rd at index 2 etc.

["Rosa Bonheur", "Cité des sciences", "Musée du Quai Branly"]

Key / Value

The key-value is an array containing a collection of key-value pairs. The keys can be used to get the corresponding values. The keys must be unique.

{ "Address": "44 rue des Gravilliers 75003 Paris" \}

Collection

A Collection is a structured array of objects where each object (called an item or element) follows the same schema. Think of it as a table where each row is an item and each column is a field with a specific data type.

When you create a collection, you define its structure once, then add as many items as needed that follow this structure. This is ideal for managing lists of similar content: products, locations, articles, users, etc.

Example: A real estate collection might have this structure:

  • Name (Text)
  • Photo (Image)
  • Address (Text)
  • Area (Number)
  • Price (Number)
  • Description (Text)
  • Rooms (Number)

Usage examples:

  • Product catalogs with dynamic filtering and sorting
  • Location directories with map integration
  • Article or blog post lists
  • User profiles or contact directories
  • Event calendars with details

Collections are the foundation of dynamic content in PandaSuite. They can be stored in the PandaSuite Database or connected from external sources like Airtable or REST APIs. Learn more in the Collection documentation.

Panda Enriched Types

Color

A Color specifies a color value using a hexadecimal code. This type is used throughout PandaSuite to define colors for backgrounds, text, borders, and other visual elements.

Format: Hexadecimal color code (e.g., #FF5733 for orange, #000000 for black)

Colors can be bound dynamically to create theme switching, visual feedback, or data-driven color coding in charts and visualizations.

Border

A Border is an object composed of a color and a border size (width). This type is commonly used to style visual elements with consistent border properties.

Structure:

  • Color: hexadecimal color value
  • Width: border thickness in pixels

Radius

A Radius is an array containing 4 numbers representing the corner radius for each corner of a rectangle.

Structure: Array of 4 values [top-left, top-right, bottom-right, bottom-left]

Example: [10, 10, 0, 0] creates rounded corners only on the top of a rectangle.

This type is particularly useful for creating complex shapes with different corner radiuses on each corner.

Image

An Image is a text string formatted as a URL pointing to an image resource (.jpeg, .png, .svg, .gif, .webp, etc.). This type is used throughout PandaSuite to display visual content in your application.

Example: "https://example.com/photo.jpg" or a relative path to a media file in your project

Images can be bound dynamically from databases like Airtable or PandaSuite Database, enabling dynamic galleries, product catalogs, or content libraries.

Date

A Date represents a specific point in time, including both date and time components. This type stores timestamps that can be formatted, compared, and manipulated using date functions.

Format: 20/11/2020 10:21:05 (day/month/year hours:minutes:seconds)

Internally stored as a timestamp (milliseconds since January 1, 1970), which allows for:

  • Date arithmetic (adding/subtracting days, months, years)
  • Formatting in different locales and styles
  • Comparing dates to create time-based conditions

See Timestamp - current date and time for more information on working with dates.

Screen

A Screen is a reference to a specific screen in your application. This type allows you to store and dynamically navigate to different screens based on data or user interactions.

Usage examples:

  • Create a menu where each item links to a different screen
  • Build navigation flows based on user choices or quiz results
  • Store the last visited screen to implement “resume where you left off” functionality

When using Screen type in data binding, you can dynamically change which screen to navigate to based on conditions or user data.

Audio

An Audio represents an audio file resource (MP3, WAV, M4A, OGG, etc.). This type is used with the Audio component to play sound effects, music, narration, or other audio content.

Usage examples:

  • Background music tracks
  • Voiceover narrations for guided tours
  • Sound effects for interactions
  • Podcast or audio course content

Audio files can be stored locally in your project or loaded dynamically from external sources via URLs.

Video

A Video represents a video file resource (MP4, MOV, AVI, WebM, etc.). This type works with video components to display video content within your application.

Usage examples:

  • Tutorial or educational videos
  • Product demonstrations
  • Video backgrounds
  • Multimedia storytelling content

Videos can be embedded directly in your project or loaded from streaming platforms. See the Video component for playback options and controls.

Sequence

A Sequence is an animated series of images (GIF or individual frames), commonly known as an image sequence or sprite animation. This type is ideal for frame-by-frame animations and interactive visual effects.

Usage examples:

  • Product 360° rotations
  • Step-by-step animations
  • Animated illustrations
  • Frame-by-frame visual effects

Sequences offer more control than video files, allowing you to jump to specific frames, trigger actions at markers, and synchronize with other components. Learn more in the Image Sequence component documentation.

HD Image

An HD Image is a high-resolution image integrated through the HD Image component. This type enables users to zoom deeply into large images while maintaining quality.

Use cases:

  • Detailed artwork examination (museums, galleries)
  • Architectural plans or blueprints
  • Large infographics or maps
  • Medical imaging or scientific visualizations

Unlike standard images, HD Images are optimized for progressive loading and deep zoom interactions, similar to Google Maps’ zoom behavior for images.

Zip

A Zip represents a compressed archive file. This type is used with the Partial Download component to package and distribute content that users can download to their device.

Usage examples:

  • Downloadable resource packs (PDFs, images, documents)
  • Offline content modules for large applications
  • Additional content that users can optionally download
  • Update packages with new media or data

Zip files allow you to reduce download sizes and organize related files together. Users can download them on-demand rather than including everything in the initial app installation.

Coordinate

A Coordinate represents a geographical position with latitude and longitude values. This type is particularly useful for map-based applications and GPS tracking.

When using the Coordinate type with the Map or GPS & Geo-fencing components, you can directly bind a Coordinate field to a marker’s Center property without splitting latitude and longitude into separate fields.

Structure:

  • Latitude: decimal value between -90 and 90
  • Longitude: decimal value between -180 and 180

Example: Paris coordinates would be approximately { lat: 48.8566, lng: 2.3522 }

Point

A Point represents a position in 2D space with X and Y coordinates. This type is used for UI element positioning and layout properties, not for geographical coordinates (use Coordinate instead).

Structure: Object with x and y properties { x: number, y: number }

Usage examples:

  • Dynamically position elements based on user interactions
  • Store tap/click positions for animations
  • Create follow-the-cursor effects
  • Implement drag-and-drop positioning

When bound to an element’s Position property, Point data enables dynamic movement and positioning. See Layout properties binding for detailed examples of interactive positioning.

Norm Point

A Norm Point (normalized point) represents a position with coordinates scaled to the [0, 1] range relative to the container size. This type makes positioning responsive and independent of actual pixel dimensions.

Structure: Object with x and y properties where both values are between 0 and 1

Key characteristics:

  • (0, 0) represents the top-left corner
  • (1, 1) represents the bottom-right corner
  • (0.5, 0.5) represents the exact center

Usage examples:

  • Responsive positioning that adapts to any screen size
  • Gesture-based interactions (tap position relative to container)
  • Creating animations that work across different device formats

Norm Points are particularly useful when working with the Interactive Zone component, which exposes tap positions as Norm Points. See Layout properties binding for practical examples.

Reference

A Reference is a type of data that does not contain a raw value (text, number, boolean), but instead points to another item in another (or the same) collection. Instead of duplicating identical data, it is centralized in a collection and linked via a reference.

For example, consider the following collections:

  • Students: contains first name, last name, class (reference)
  • Classes: contains class name, grade level

In the Students collection, the class field is a reference that points to an item in the Classes collection.

Multi-references

A Multi-reference is a “multiple” version of a Reference: it allows linking to several items in another collection.