Data Structure
The database structure for the template
Last updated
Was this helpful?
The database structure for the template
Last updated
Was this helpful?
All objects and some selected fields in the template are explained below. Please refer to our document for guidance on how the Bubble database should be structured.
All data types and a few select fields are explained below. A good general rule to follow is that you shouldn't delete any fields that are included with the template and instead only add new ones.
This data type is used to express interest in a particular Task
and initiate the process of getting hired for one. A Bid is created from a task's and includes a bid amount. Once a bid is accepted, a user can start creating Invoices
.
Field name
Type
Description
Accepted?
yes / no
Indicates whether the bid has been accepted by the Task
's Owner
. Once a bid's Accepted?
is set to yes, the bid creator can creates Invoices
for the task
Amount
number
The numeric estimate included with the initial bid submission
Hire date
date
The date at which the bid was accepted (if it was accepted)
Invoices
Invoice (list)
The list of Invoices
created for this bid
Message
text
The message included with the initial bid submission
Task
Task
The Task
the user is bidding on
Task owner (for privacy rules)
User
The creator of this bid's Task
. This is stored on this data type solely for privacy rules
User
User
The creator of this bid
This data type is used to store content that goes into each homepage block. Each homepage block (template) will have a maximum number of block entries:
Testimonials section: Multiple entries
Featured section: Up to 3 entries
Process section: Up to 3 entries
Slideshow section: Between 3 to 5 entries
Capabilities section: Up to 9 entries
Video section: 1 entry
Press section: Between 3 to 5 entries
About section: 1 entry
Call-to-action section: 1 entry
Contact section: 0 entries
This data type represents a category that can be linked to a Task
. Categories are not unique per task - they can be linked to any number of Tasks
. Categories are created, edited, and removed by app admins from the owner’s portal.
Field name
Type
Description
Title
text
The title of the category. All categories are displayed and identified with this name
This data type allows you to quickly preview your page layout by it as your data source.
This data type represents each feature that an Owner has added into the Backlog section of the Owner's Portal.
This data type is created each time a user chooses to flag (i.e., report) a task. This may or may not include a message. Only admin accounts can view flags.
Field name
Type
Description
Creator
User
The creator of the Flag
and author of the message (if included)
Dismissed?
yes / no
Indicates whether or not this Flag
has been reviewed by an admin. Flags
with their Dismissed?
field set to yes are not shown in the list of flags in the owner’s portal
Reason
text
The explanation for flagging the task. This is viewable to admins in the owner’s portal
Task
Task
The Task
that the user has flagged
The data type is used for the homepage maker. App owners can add any number of homepage blocks / homepage sections straight from the owner's portal by starting from a homepage block template.
App Owners can add an unlimited number of homepage blocks. They can control the content and settings from the Owner's Portal.
This data type represents an invoice created for a Task
by the task's Freelancer
. Any number of invoices can be created for a given Task
if the task's Owner
has accepted the Bid
from an applicant. Invoice transactions involve the task's Owner
as the purchaser and the task's Freelancer
as the payment recipient. The recipient receives less than the overall payment amount, as a portion of that goes to the application owner in the form of a transaction fee.
Field name
Type
Description
Amount
number
The numeric amount (in US dollars) to be charged for this invoice. This is specified at the time the invoice is created and does not need to the equal the original bid Amount
. This number is used when calculating the charge amount for this invoice payment
Amount received
number
The numeric amount (in US dollars) actually received by the invoice creator after the payment is processed. In this case, the fee is taken from the payment recipient's portion. This amount is equivalent to the Total amount charged
minus the Fee charged
Bid
Bid
The Bid that this invoice was created for
Charge ID
text
The ID of the payment processed for this invoice. This value is returned from Stripe and corresponds with a particular payment in your Stripe dashboard
Description
text
The user-inputted description for this invoice
Employer
User
The user responsible for paying the invoice. This user is the Task
's Owner
Fee charged
number
The portion of the invoice's payment that is sent to the application owner. This amount (US dollars) is calculated by multiplying the invoice Amount
by the App fee percentage.
Fee charged (Stripe)
number
The fee charged on the transaction (in US cents). This value is returned from Stripe and is used primarily for reference purposes
Freelancer
User
The creator of the invoice and eventual recipient of the payment
Paid?
yes / no
Indicates whether the invoice has been paid by the Employer
Payment date
date
Signifies the date of payment for this invoice
Task
Task
The task this invoice was created for
Total amount charged
number
The overall amount (in US dollars) that was charged in this invoices’s transaction. This value is returned from Stripe, then divided by 100 to convert to a dollar amount
Total amount charged (Stripe)
number
The overall amount (in US cents) that was charged in this invoice’s transaction. This should be equivalent to the Total amount charged
multiplied by 100 (so essentially the total charge amount converted to cents). This value is returned from Stripe and populated following a successful payment for the invoice. This field exists primarily for reference purposes
This data type represents a single message within a message thread. A Message
is created each time a user sends a message in the chat module.
Field name
Type
Description
Attachment
file
The file that the message author has attached to the message. This is optional
Text
text
The content of the message
Thread
Thread
The overall message thread that this message is associated with. A Message
will always have one Thread
Users
User (list)
The list of users who are involved with this message’s Thread
. This field is used for setting privacy rules. In this app, this field should always have two users
Viewed by users
User (list)
The list of users who have viewed this message in the chat module. This allows you to determine which messages are unread
This data type is color palette list is referenced in the Air Color Picker plugin / element. Feel free to add more color entries for quick access when using the Air Color Picker element.
This represents a unique token to be used with OneSignal for push notification integrations for wrapped mobile apps.
This data type represents a user-written review for another user. After a user completes a task, that user - the Task
's Freelancer
- has the ability to create a review for the Employer
. Similarly, the Employer
has the ability to create a review for the Freelancer
.
Field name
Type
Description
Author
User
Bid
Bid
The Bid
that this review is associated with. A user can create one Review
per bid
Rating
number
The numeric rating that the user has selected for this review. This can range from 1 to 5
Text
text
The description/explanation for this review
Title
text
The title of this review
Type
text
Signifies which type of user this review was written for/about. This can be either Freelancer or Employer
User
User
The user this review was written for/about. This is either the Freelancer
or Employer
of a Task
This data type represents a user-created task on the platform. Task owners specify basic information, including a price range estimate, and indicate whether they are currently looking to hire someone for the task. Tasks are publicly searchable and viewable on the platform, but users must register as a seller before applying for one.
Field name
Type
Description
Bids
Bids (list)
The list of Bids
created for this task
Categories
Category (list)
This list of Categories
linked to this task
Description
text
The description of the task
Hiring?
yes / no
Indicates whether or not the task owner is seeking users to complete it. When Hiring?
is set to no, users can no longer view or apply for the task
Name
text
The name of the task
Owner
User
The creator of the task
Price range
text
The price range selected for the task. Task Owners
choose from a preselected set of options
This data type represents a message thread between two users. All messages sent within this thread are linked to this thread.
Field name
Type
Description
Inactive?
yes / no
Indicates whether the message thread is active and viewable
Last msg sent
date
The date and time of the most recently created message for this thread
Users
User (list)
The list of users who are involved with and have access to this thread. In this app, this field should always contain two users
The user data type represents each person who has an account in your application.
Field name
Type
Description
Date agreed to terms and privacy docs
date
Date agreed to terms and privacy docs during sign up
Inactive
yes / no
User is marked as inactive = yes when App owner deletes the user from the Owner's Portal
Last login
date
Captures the last date that the user loaded any page in the app
Owner?
yes / no
If Owner is yes then they will have access to the Owner's Portal
Signup method
text
E.g., E-mail, LinkedIn, Facebook, Twitter, or etc.
This data type includes fields for all app-wide settings. Most of the data fields are controlled by the App Owner from the Owner's portal. There should only be a single object of this data type.
Field name
Type
Description
Ask for cookies?
yes / no
App Owner can control whether or not to ask users to accept cookies (if yes, a cookies banner will show on the homepage)
text
Contact / support email that all emails in the application come from. Whenever a new email action is created in the application, it should refer to this field instead of being hardcoded
Email HTML
text
List of blocks
List of homepage blocks
Homepage blocks / sections
Name
text
Name of your app / website. This is the field that should be referenced anywhere where the name is used (instead of hardcoded).
Primary color
text
App and email template primary color
Usersnap off?
yes / no
This turns off the Usersnap tool, which AirDev uses with its clients to submit feedback and bug reports.
Used in the that generates a nicely-formatted HTML email