# Set Up Your Event Database

## The Basics

To get events on the calendar, you at least need to have a title, start/end time, and unique ID. That means you can start by setting up your DB like this.&#x20;

{% embed url="<https://vimeo.com/570111542>" %}
The most basic DB setup you can go with ^^^^^
{% endembed %}

#### In addition to the above *created* event properties, you'll also use the Uniqe ID created by the Bubble DB. Again, you dont need to do anything to have these created, Bubble takes care of this for you. You will, however, need to make sure to use this automagically created property when filling in event fields *while using the calendar element.*&#x20;

![](/files/-Mdbh2gg_clcwQBaiOrS)

## The Advanced

As your app becomes more complex, it is feasible to assume that you'll want to associate more and more data with events. Using the built-in Bubble Database, you could always click an event, get it's uniqe event ID, then go do a search and recall some data related to that event. OR, you could load that data into the calendar with the event itself. This makes the extra info immediately available and avoids the need for extra calls to the DB thus reducing overall server load. &#x20;

#### Other possible event properties

* Color `hex or RBG or RBA value`&#x20;
  * You may wish to assign discrete colors to events. Note this isn't required, just a nice-to-have feature.&#x20;
* Editability `Boolean value`
  * You won't always want events to be editable. This means that they can't simply be dragged and dropped or have their durations extended by click-and-dragging at the bottom of the event.
* Location `string value`&#x20;
  * realistically, this can be any text you want it to be. It is not limited to Location. But, if you tie into google, this value could become really handy as Google Events. This way you could make an event in your Bubble app. Open it in your Google Cal on your phone, and be navigated to the event via Google maps!
* Summary `string value`
  * realistically, this can be any text you want it to be. It is not limited to Summary
* Identifier `string value`
  * By assigning identifiers to events, you can use this identifier to control the color of events dynamically instead of by changing the event color in the database. You can then use that later.

![These settings can be found on the Calendar Element input Fields](/files/-Mdbdgx0que8WvXyOC12)

* Resource `string value`
  * This is a useful property to have when you are scheduling people, things, places, rooms, etc.&#x20;
* Extra Data 1 `string value`
  * This can be useful for any piece of information you would like to associate with the calendar
* Extra Data 2 `string value`
  * This can be useful for any piece of information you would like to associate with the calendar

### All properties&#x20;

![notice there is no explicit start/stop field. Instead I will use range in all examples. Be aware this is builders choice and will work either way](/files/-MdbjCn6LOEnLpg-I6_v)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://jared-gibb.gitbook.io/fullcalendar-plugin-suite/install/set-up-your-event-database.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
