> ## Documentation Index
> Fetch the complete documentation index at: https://docs.quickblox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Custom Objects

> Custom Objects module provides flexibility to define any data structure (schema) you need, build 1-to-many relations between schemas and control permissions for all operations made on data. Schema is defined in QuickBlox Dashboard.

There are two key concepts in Custom Objects:

* **Class** represents your schema and contains field names and types.
* **Record** represents data you put into your schema.

**Class** and **Record** are similar to table and row in relational database. Every class in Custom Object module comes with five mandatory predefined fields: `_id`, `user_id`, `parent_id`, `created_at`, and `updated_at`.

Allowed data types: **Integer** (or Array of Integer); **String** (or Array of String); **Float** (or Array of Float); **Boolean** (or Array of Boolean); **Location** (Array of \[\<longitude>, \<latitude>]); **File**; **Date**.

For example, you want to store a simple calendar that stores the event title and event date. In this case, you can create a **Calendar** class with following fields: `event_title` and `event_date`.

Calendar records will have the following structure:

| Field name    | Type    |
| ------------- | ------- |
| \_id\*        | String  |
| user\_id\*    | Integer |
| parent\_id\*  | Integer |
| event\_title  | String  |
| event\_date   | Date    |
| created\_at\* | Integer |
| updated\_at\* | Integer |

Calendar data will look like:

| \_id\*                   | user\_id\* | parent\_id\* | event\_title     | event\_date          | created\_at\* | updated\_at\* |
| ------------------------ | ---------- | ------------ | ---------------- | -------------------- | ------------- | ------------- |
| 5d866b53a28f9a5ad51cb562 | 96753878   | null         | Meet John        | 2019-12-25T14:00:00Z | 1576629761    | 1576629761    |
| 5d866b53a28f9a5ad51cb563 | 96753878   | null         | Visit my dentist | 2019-09-25T15:00:00Z | 1577282400    | 1577282400    |
