Skip to main content

Naming Conventions

Best Practices

Use select over text for constrained values

If a field has a known set of valid values (status, priority, category), use select rather than text. This ensures data consistency and enables efficient filtering.

Use multi_select for tags

When a record can belong to multiple categories simultaneously, use multi_select:

Mark truly required fields

Only mark a field as required if the record is meaningless without it. Overly strict required fields frustrate users and complicate imports.

Use relation for cross-entity references

When a record in one entity refers to a record in another entity in the same app, use type: relation rather than a plain text field:
HASP validates that the referenced record exists when creating or updating a record.

Keep entities focused

One entity per concept. Don’t combine “tasks” and “comments” into one entity — make two entities and use a relation field in the comments entity to point back to the task.

Set a display_field

Every entity should have a designated display_field — the field shown in lists and the HASP dashboard. Usually this is the main name or title field.

Example Schemas

Task Tracker

Contact Directory

Inventory