version: 1 directus: 11.17.4 vendor: postgres collections: - collection: devices meta: accountability: all archive_app_filter: true archive_field: null archive_value: null collapse: open collection: devices color: null display_template: '{{model}} — {{imei}}' group: null hidden: false icon: gps_fixed item_duplication_fields: null note: >- Durable GPS tracker catalog. IMEI is the canonical identifier. Belongs to orgs via organization_devices. preview_url: null singleton: false sort: 3 sort_field: null translations: null unarchive_value: null versioning: false schema: name: devices - collection: migrations_applied meta: accountability: all archive_app_filter: true archive_field: null archive_value: null collapse: open collection: migrations_applied color: null display_template: null group: null hidden: false icon: null item_duplication_fields: null note: null preview_url: null singleton: false sort: null sort_field: null translations: null unarchive_value: null versioning: false schema: name: migrations_applied - collection: organization_devices meta: accountability: all archive_app_filter: true archive_field: null archive_value: null collapse: open collection: organization_devices color: null display_template: '{{device_id.model}} {{device_id.imei}} — {{organization_id.name}}' group: null hidden: false icon: device_hub item_duplication_fields: null note: 'Junction: which devices belong to which orgs.' preview_url: null singleton: false sort: 6 sort_field: null translations: null unarchive_value: null versioning: false schema: name: organization_devices - collection: organization_users meta: accountability: all archive_app_filter: true archive_field: null archive_value: null collapse: open collection: organization_users color: null display_template: >- {{user_id.first_name}} {{user_id.last_name}} — {{role}} — {{organization_id.name}} group: null hidden: false icon: person_add item_duplication_fields: null note: 'Junction: which users belong to which orgs and with what role.' preview_url: null singleton: false sort: 4 sort_field: null translations: null unarchive_value: null versioning: false schema: name: organization_users - collection: organization_vehicles meta: accountability: all archive_app_filter: true archive_field: null archive_value: null collapse: open collection: organization_vehicles color: null display_template: '{{vehicle_id.make}} {{vehicle_id.model}} — {{organization_id.name}}' group: null hidden: false icon: garage item_duplication_fields: null note: 'Junction: which vehicles belong to which orgs.' preview_url: null singleton: false sort: 5 sort_field: null translations: null unarchive_value: null versioning: false schema: name: organization_vehicles - collection: organizations meta: accountability: all archive_app_filter: true archive_field: null archive_value: null collapse: open collection: organizations color: null display_template: '{{name}}' group: null hidden: false icon: corporate_fare item_duplication_fields: null note: >- Tenant root. Each event, vehicle, device and user belongs to one or more organizations via junction tables. preview_url: null singleton: false sort: 1 sort_field: null translations: null unarchive_value: null versioning: false schema: name: organizations - collection: positions meta: accountability: all archive_app_filter: true archive_field: null archive_value: null collapse: open collection: positions color: null display_template: null group: null hidden: false icon: null item_duplication_fields: null note: null preview_url: null singleton: false sort: null sort_field: null translations: null unarchive_value: null versioning: false schema: name: positions - collection: vehicles meta: accountability: all archive_app_filter: true archive_field: null archive_value: null collapse: open collection: vehicles color: null display_template: '{{make}} {{model}} ({{year}})' group: null hidden: false icon: directions_car item_duplication_fields: null note: >- Durable vehicle catalog. Belongs to orgs via organization_vehicles. No ownership modelling — vehicles are org-scoped only. preview_url: null singleton: false sort: 2 sort_field: null translations: null unarchive_value: null versioning: false schema: name: vehicles fields: - collection: devices field: id type: uuid meta: collection: devices conditions: null display: null display_options: null field: id group: null hidden: true interface: input note: null options: null readonly: true required: false searchable: true sort: 1 special: - uuid translations: null validation: null validation_message: null width: full schema: name: id table: devices data_type: uuid default_value: null max_length: null numeric_precision: null numeric_scale: null is_nullable: false is_unique: true is_indexed: false is_primary_key: true is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: devices field: imei type: string meta: collection: devices conditions: null display: null display_options: null field: imei group: null hidden: false interface: input note: Canonical 15-digit IMEI. UNIQUE across the whole system. options: null readonly: false required: true searchable: true sort: 2 special: null translations: null validation: null validation_message: null width: half schema: name: imei table: devices data_type: character varying default_value: null max_length: 255 numeric_precision: null numeric_scale: null is_nullable: false is_unique: true is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: devices field: model type: string meta: collection: devices conditions: null display: null display_options: null field: model group: null hidden: false interface: input note: >- Hardware model (e.g. "FMB920", "FMB003") — drives IO mapping in the processor service. options: null readonly: false required: true searchable: true sort: 3 special: null translations: null validation: null validation_message: null width: half schema: name: model table: devices data_type: character varying default_value: null max_length: 255 numeric_precision: null numeric_scale: null is_nullable: false is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: devices field: serial_number type: string meta: collection: devices conditions: null display: null display_options: null field: serial_number group: null hidden: false interface: input note: Manufacturer serial number (optional) options: null readonly: false required: false searchable: true sort: 4 special: null translations: null validation: null validation_message: null width: half schema: name: serial_number table: devices data_type: character varying default_value: null max_length: 255 numeric_precision: null numeric_scale: null is_nullable: true is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: devices field: notes type: text meta: collection: devices conditions: null display: null display_options: null field: notes group: null hidden: false interface: input-multiline note: Free-form notes options: null readonly: false required: false searchable: true sort: 5 special: null translations: null validation: null validation_message: null width: full schema: name: notes table: devices data_type: text default_value: null max_length: null numeric_precision: null numeric_scale: null is_nullable: true is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: devices field: date_created type: timestamp meta: collection: devices conditions: null display: null display_options: null field: date_created group: null hidden: true interface: datetime note: null options: null readonly: true required: false searchable: true sort: 6 special: - date-created translations: null validation: null validation_message: null width: half schema: name: date_created table: devices data_type: timestamp with time zone default_value: null max_length: null numeric_precision: null numeric_scale: null is_nullable: true is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: devices field: date_updated type: timestamp meta: collection: devices conditions: null display: null display_options: null field: date_updated group: null hidden: true interface: datetime note: null options: null readonly: true required: false searchable: true sort: 7 special: - date-updated translations: null validation: null validation_message: null width: half schema: name: date_updated table: devices data_type: timestamp with time zone default_value: null max_length: null numeric_precision: null numeric_scale: null is_nullable: true is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: directus_users field: phone type: string meta: collection: directus_users conditions: null display: null display_options: null field: phone group: null hidden: false interface: input note: Phone number (optional) options: null readonly: false required: false searchable: true sort: 1 special: null translations: null validation: null validation_message: null width: half schema: name: phone table: directus_users data_type: character varying default_value: null max_length: 255 numeric_precision: null numeric_scale: null is_nullable: true is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: directus_users field: birth_date type: date meta: collection: directus_users conditions: null display: null display_options: null field: birth_date group: null hidden: false interface: datetime note: >- Used for age-derived class eligibility (e.g. M-5/M-6/M-7 senior/veteran classes) options: null readonly: false required: false searchable: true sort: 2 special: null translations: null validation: null validation_message: null width: half schema: name: birth_date table: directus_users data_type: date default_value: null max_length: null numeric_precision: null numeric_scale: null is_nullable: true is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: directus_users field: nationality type: string meta: collection: directus_users conditions: null display: null display_options: null field: nationality group: null hidden: false interface: input note: ISO 3166-1 alpha-2 country code (e.g. "AL", "IT") options: placeholder: AL readonly: false required: false searchable: true sort: 3 special: null translations: null validation: null validation_message: null width: half schema: name: nationality table: directus_users data_type: character varying default_value: null max_length: 255 numeric_precision: null numeric_scale: null is_nullable: true is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: organization_devices field: id type: uuid meta: collection: organization_devices conditions: null display: null display_options: null field: id group: null hidden: true interface: input note: null options: null readonly: true required: false searchable: true sort: 1 special: - uuid translations: null validation: null validation_message: null width: full schema: name: id table: organization_devices data_type: uuid default_value: null max_length: null numeric_precision: null numeric_scale: null is_nullable: false is_unique: true is_indexed: false is_primary_key: true is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: organization_devices field: organization_id type: uuid meta: collection: organization_devices conditions: null display: null display_options: null field: organization_id group: null hidden: false interface: select-dropdown-m2o note: null options: template: '{{name}}' readonly: false required: true searchable: true sort: 2 special: - m2o translations: null validation: null validation_message: null width: half schema: name: organization_id table: organization_devices data_type: uuid default_value: null max_length: null numeric_precision: null numeric_scale: null is_nullable: false is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: organizations foreign_key_column: id - collection: organization_devices field: device_id type: uuid meta: collection: organization_devices conditions: null display: null display_options: null field: device_id group: null hidden: false interface: select-dropdown-m2o note: null options: template: '{{model}} {{imei}}' readonly: false required: true searchable: true sort: 3 special: - m2o translations: null validation: null validation_message: null width: half schema: name: device_id table: organization_devices data_type: uuid default_value: null max_length: null numeric_precision: null numeric_scale: null is_nullable: false is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: devices foreign_key_column: id - collection: organization_devices field: registered_at type: timestamp meta: collection: organization_devices conditions: null display: null display_options: null field: registered_at group: null hidden: false interface: datetime note: When the device was registered with this org options: null readonly: false required: false searchable: true sort: 4 special: null translations: null validation: null validation_message: null width: half schema: name: registered_at table: organization_devices data_type: timestamp with time zone default_value: CURRENT_TIMESTAMP max_length: null numeric_precision: null numeric_scale: null is_nullable: true is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: organization_devices field: date_created type: timestamp meta: collection: organization_devices conditions: null display: null display_options: null field: date_created group: null hidden: true interface: datetime note: null options: null readonly: true required: false searchable: true sort: 5 special: - date-created translations: null validation: null validation_message: null width: half schema: name: date_created table: organization_devices data_type: timestamp with time zone default_value: null max_length: null numeric_precision: null numeric_scale: null is_nullable: true is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: organization_devices field: date_updated type: timestamp meta: collection: organization_devices conditions: null display: null display_options: null field: date_updated group: null hidden: true interface: datetime note: null options: null readonly: true required: false searchable: true sort: 6 special: - date-updated translations: null validation: null validation_message: null width: half schema: name: date_updated table: organization_devices data_type: timestamp with time zone default_value: null max_length: null numeric_precision: null numeric_scale: null is_nullable: true is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: organization_users field: id type: uuid meta: collection: organization_users conditions: null display: null display_options: null field: id group: null hidden: true interface: input note: null options: null readonly: true required: false searchable: true sort: 1 special: - uuid translations: null validation: null validation_message: null width: full schema: name: id table: organization_users data_type: uuid default_value: null max_length: null numeric_precision: null numeric_scale: null is_nullable: false is_unique: true is_indexed: false is_primary_key: true is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: organization_users field: organization_id type: uuid meta: collection: organization_users conditions: null display: null display_options: null field: organization_id group: null hidden: false interface: select-dropdown-m2o note: Tenant org options: template: '{{name}}' readonly: false required: true searchable: true sort: 2 special: - m2o translations: null validation: null validation_message: null width: half schema: name: organization_id table: organization_users data_type: uuid default_value: null max_length: null numeric_precision: null numeric_scale: null is_nullable: false is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: organizations foreign_key_column: id - collection: organization_users field: user_id type: uuid meta: collection: organization_users conditions: null display: null display_options: null field: user_id group: null hidden: false interface: select-dropdown-m2o note: Directus user options: template: '{{first_name}} {{last_name}} ({{email}})' readonly: false required: true searchable: true sort: 3 special: - m2o translations: null validation: null validation_message: null width: half schema: name: user_id table: organization_users data_type: uuid default_value: null max_length: null numeric_precision: null numeric_scale: null is_nullable: false is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: directus_users foreign_key_column: id - collection: organization_users field: role type: string meta: collection: organization_users conditions: null display: null display_options: null field: role group: null hidden: false interface: select-dropdown note: >- Role for this user in this org. Drives Directus permission policies in Phase 4. options: choices: - text: Org Admin value: org-admin - text: Race Director value: race-director - text: Marshal value: marshal - text: Timekeeper value: timekeeper - text: Participant value: participant - text: Viewer value: viewer readonly: false required: true searchable: true sort: 4 special: null translations: null validation: null validation_message: null width: half schema: name: role table: organization_users data_type: character varying default_value: null max_length: 255 numeric_precision: null numeric_scale: null is_nullable: false is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: organization_users field: joined_at type: timestamp meta: collection: organization_users conditions: null display: null display_options: null field: joined_at group: null hidden: false interface: datetime note: When the user joined this org options: null readonly: false required: false searchable: true sort: 5 special: null translations: null validation: null validation_message: null width: half schema: name: joined_at table: organization_users data_type: timestamp with time zone default_value: CURRENT_TIMESTAMP max_length: null numeric_precision: null numeric_scale: null is_nullable: true is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: organization_users field: date_created type: timestamp meta: collection: organization_users conditions: null display: null display_options: null field: date_created group: null hidden: true interface: datetime note: null options: null readonly: true required: false searchable: true sort: 6 special: - date-created translations: null validation: null validation_message: null width: half schema: name: date_created table: organization_users data_type: timestamp with time zone default_value: null max_length: null numeric_precision: null numeric_scale: null is_nullable: true is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: organization_users field: date_updated type: timestamp meta: collection: organization_users conditions: null display: null display_options: null field: date_updated group: null hidden: true interface: datetime note: null options: null readonly: true required: false searchable: true sort: 7 special: - date-updated translations: null validation: null validation_message: null width: half schema: name: date_updated table: organization_users data_type: timestamp with time zone default_value: null max_length: null numeric_precision: null numeric_scale: null is_nullable: true is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: organization_vehicles field: id type: uuid meta: collection: organization_vehicles conditions: null display: null display_options: null field: id group: null hidden: true interface: input note: null options: null readonly: true required: false searchable: true sort: 1 special: - uuid translations: null validation: null validation_message: null width: full schema: name: id table: organization_vehicles data_type: uuid default_value: null max_length: null numeric_precision: null numeric_scale: null is_nullable: false is_unique: true is_indexed: false is_primary_key: true is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: organization_vehicles field: organization_id type: uuid meta: collection: organization_vehicles conditions: null display: null display_options: null field: organization_id group: null hidden: false interface: select-dropdown-m2o note: null options: template: '{{name}}' readonly: false required: true searchable: true sort: 2 special: - m2o translations: null validation: null validation_message: null width: half schema: name: organization_id table: organization_vehicles data_type: uuid default_value: null max_length: null numeric_precision: null numeric_scale: null is_nullable: false is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: organizations foreign_key_column: id - collection: organization_vehicles field: vehicle_id type: uuid meta: collection: organization_vehicles conditions: null display: null display_options: null field: vehicle_id group: null hidden: false interface: select-dropdown-m2o note: null options: template: '{{make}} {{model}}' readonly: false required: true searchable: true sort: 3 special: - m2o translations: null validation: null validation_message: null width: half schema: name: vehicle_id table: organization_vehicles data_type: uuid default_value: null max_length: null numeric_precision: null numeric_scale: null is_nullable: false is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: vehicles foreign_key_column: id - collection: organization_vehicles field: registered_at type: timestamp meta: collection: organization_vehicles conditions: null display: null display_options: null field: registered_at group: null hidden: false interface: datetime note: When the vehicle was registered with this org options: null readonly: false required: false searchable: true sort: 4 special: null translations: null validation: null validation_message: null width: half schema: name: registered_at table: organization_vehicles data_type: timestamp with time zone default_value: CURRENT_TIMESTAMP max_length: null numeric_precision: null numeric_scale: null is_nullable: true is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: organization_vehicles field: date_created type: timestamp meta: collection: organization_vehicles conditions: null display: null display_options: null field: date_created group: null hidden: true interface: datetime note: null options: null readonly: true required: false searchable: true sort: 5 special: - date-created translations: null validation: null validation_message: null width: half schema: name: date_created table: organization_vehicles data_type: timestamp with time zone default_value: null max_length: null numeric_precision: null numeric_scale: null is_nullable: true is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: organization_vehicles field: date_updated type: timestamp meta: collection: organization_vehicles conditions: null display: null display_options: null field: date_updated group: null hidden: true interface: datetime note: null options: null readonly: true required: false searchable: true sort: 6 special: - date-updated translations: null validation: null validation_message: null width: half schema: name: date_updated table: organization_vehicles data_type: timestamp with time zone default_value: null max_length: null numeric_precision: null numeric_scale: null is_nullable: true is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: organizations field: id type: uuid meta: collection: organizations conditions: null display: null display_options: null field: id group: null hidden: true interface: input note: null options: null readonly: true required: false searchable: true sort: 1 special: - uuid translations: null validation: null validation_message: null width: full schema: name: id table: organizations data_type: uuid default_value: null max_length: null numeric_precision: null numeric_scale: null is_nullable: false is_unique: true is_indexed: false is_primary_key: true is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: organizations field: name type: string meta: collection: organizations conditions: null display: null display_options: null field: name group: null hidden: false interface: input note: Display name (e.g. "Motorsport Club Albania") options: null readonly: false required: true searchable: true sort: 2 special: null translations: null validation: null validation_message: null width: half schema: name: name table: organizations data_type: character varying default_value: null max_length: 255 numeric_precision: null numeric_scale: null is_nullable: false is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: organizations field: slug type: string meta: collection: organizations conditions: null display: null display_options: null field: slug group: null hidden: false interface: input note: URL-friendly identifier, unique across all orgs options: slug: true trim: true readonly: false required: true searchable: true sort: 3 special: null translations: null validation: null validation_message: null width: half schema: name: slug table: organizations data_type: character varying default_value: null max_length: 255 numeric_precision: null numeric_scale: null is_nullable: false is_unique: true is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: organizations field: date_created type: timestamp meta: collection: organizations conditions: null display: datetime display_options: relative: true field: date_created group: null hidden: true interface: datetime note: null options: null readonly: true required: false searchable: true sort: 4 special: - date-created translations: null validation: null validation_message: null width: half schema: name: date_created table: organizations data_type: timestamp with time zone default_value: null max_length: null numeric_precision: null numeric_scale: null is_nullable: true is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: organizations field: date_updated type: timestamp meta: collection: organizations conditions: null display: datetime display_options: relative: true field: date_updated group: null hidden: true interface: datetime note: null options: null readonly: true required: false searchable: true sort: 5 special: - date-updated translations: null validation: null validation_message: null width: half schema: name: date_updated table: organizations data_type: timestamp with time zone default_value: null max_length: null numeric_precision: null numeric_scale: null is_nullable: true is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: vehicles field: id type: uuid meta: collection: vehicles conditions: null display: null display_options: null field: id group: null hidden: true interface: input note: null options: null readonly: true required: false searchable: true sort: 1 special: - uuid translations: null validation: null validation_message: null width: full schema: name: id table: vehicles data_type: uuid default_value: null max_length: null numeric_precision: null numeric_scale: null is_nullable: false is_unique: true is_indexed: false is_primary_key: true is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: vehicles field: make type: string meta: collection: vehicles conditions: null display: null display_options: null field: make group: null hidden: false interface: input note: Manufacturer (e.g. "Toyota") options: null readonly: false required: true searchable: true sort: 2 special: null translations: null validation: null validation_message: null width: half schema: name: make table: vehicles data_type: character varying default_value: null max_length: 255 numeric_precision: null numeric_scale: null is_nullable: false is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: vehicles field: model type: string meta: collection: vehicles conditions: null display: null display_options: null field: model group: null hidden: false interface: input note: Model name (e.g. "Land Cruiser 70") options: null readonly: false required: true searchable: true sort: 3 special: null translations: null validation: null validation_message: null width: half schema: name: model table: vehicles data_type: character varying default_value: null max_length: 255 numeric_precision: null numeric_scale: null is_nullable: false is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: vehicles field: year type: integer meta: collection: vehicles conditions: null display: null display_options: null field: year group: null hidden: false interface: input note: Model year options: null readonly: false required: false searchable: true sort: 4 special: null translations: null validation: null validation_message: null width: half schema: name: year table: vehicles data_type: integer default_value: null max_length: null numeric_precision: 32 numeric_scale: 0 is_nullable: true is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: vehicles field: engine_cc type: integer meta: collection: vehicles conditions: null display: null display_options: null field: engine_cc group: null hidden: false interface: input note: Engine displacement in cc — used for class assignment in rally events options: null readonly: false required: false searchable: true sort: 5 special: null translations: null validation: null validation_message: null width: half schema: name: engine_cc table: vehicles data_type: integer default_value: null max_length: null numeric_precision: 32 numeric_scale: 0 is_nullable: true is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: vehicles field: vin type: string meta: collection: vehicles conditions: null display: null display_options: null field: vin group: null hidden: false interface: input note: Vehicle Identification Number (optional) options: null readonly: false required: false searchable: true sort: 6 special: null translations: null validation: null validation_message: null width: half schema: name: vin table: vehicles data_type: character varying default_value: null max_length: 255 numeric_precision: null numeric_scale: null is_nullable: true is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: vehicles field: plate_number type: string meta: collection: vehicles conditions: null display: null display_options: null field: plate_number group: null hidden: false interface: input note: License plate (optional) options: null readonly: false required: false searchable: true sort: 7 special: null translations: null validation: null validation_message: null width: half schema: name: plate_number table: vehicles data_type: character varying default_value: null max_length: 255 numeric_precision: null numeric_scale: null is_nullable: true is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: vehicles field: notes type: text meta: collection: vehicles conditions: null display: null display_options: null field: notes group: null hidden: false interface: input-multiline note: Free-form notes options: null readonly: false required: false searchable: true sort: 8 special: null translations: null validation: null validation_message: null width: full schema: name: notes table: vehicles data_type: text default_value: null max_length: null numeric_precision: null numeric_scale: null is_nullable: true is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: vehicles field: date_created type: timestamp meta: collection: vehicles conditions: null display: null display_options: null field: date_created group: null hidden: true interface: datetime note: null options: null readonly: true required: false searchable: true sort: 9 special: - date-created translations: null validation: null validation_message: null width: half schema: name: date_created table: vehicles data_type: timestamp with time zone default_value: null max_length: null numeric_precision: null numeric_scale: null is_nullable: true is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null - collection: vehicles field: date_updated type: timestamp meta: collection: vehicles conditions: null display: null display_options: null field: date_updated group: null hidden: true interface: datetime note: null options: null readonly: true required: false searchable: true sort: 10 special: - date-updated translations: null validation: null validation_message: null width: half schema: name: date_updated table: vehicles data_type: timestamp with time zone default_value: null max_length: null numeric_precision: null numeric_scale: null is_nullable: true is_unique: false is_indexed: false is_primary_key: false is_generated: false generation_expression: null has_auto_increment: false foreign_key_table: null foreign_key_column: null systemFields: - collection: directus_activity field: timestamp schema: is_indexed: true - collection: directus_revisions field: activity schema: is_indexed: true - collection: directus_revisions field: parent schema: is_indexed: true relations: - collection: organization_devices field: organization_id related_collection: organizations meta: junction_field: null many_collection: organization_devices many_field: organization_id one_allowed_collections: null one_collection: organizations one_collection_field: null one_deselect_action: nullify one_field: null sort_field: null schema: table: organization_devices column: organization_id foreign_key_table: organizations foreign_key_column: id constraint_name: organization_devices_organization_id_foreign on_update: NO ACTION on_delete: RESTRICT - collection: organization_devices field: device_id related_collection: devices meta: junction_field: null many_collection: organization_devices many_field: device_id one_allowed_collections: null one_collection: devices one_collection_field: null one_deselect_action: nullify one_field: null sort_field: null schema: table: organization_devices column: device_id foreign_key_table: devices foreign_key_column: id constraint_name: organization_devices_device_id_foreign on_update: NO ACTION on_delete: RESTRICT - collection: organization_users field: organization_id related_collection: organizations meta: junction_field: null many_collection: organization_users many_field: organization_id one_allowed_collections: null one_collection: organizations one_collection_field: null one_deselect_action: nullify one_field: null sort_field: null schema: table: organization_users column: organization_id foreign_key_table: organizations foreign_key_column: id constraint_name: organization_users_organization_id_foreign on_update: NO ACTION on_delete: RESTRICT - collection: organization_users field: user_id related_collection: directus_users meta: junction_field: null many_collection: organization_users many_field: user_id one_allowed_collections: null one_collection: directus_users one_collection_field: null one_deselect_action: nullify one_field: null sort_field: null schema: table: organization_users column: user_id foreign_key_table: directus_users foreign_key_column: id constraint_name: organization_users_user_id_foreign on_update: NO ACTION on_delete: RESTRICT - collection: organization_vehicles field: organization_id related_collection: organizations meta: junction_field: null many_collection: organization_vehicles many_field: organization_id one_allowed_collections: null one_collection: organizations one_collection_field: null one_deselect_action: nullify one_field: null sort_field: null schema: table: organization_vehicles column: organization_id foreign_key_table: organizations foreign_key_column: id constraint_name: organization_vehicles_organization_id_foreign on_update: NO ACTION on_delete: RESTRICT - collection: organization_vehicles field: vehicle_id related_collection: vehicles meta: junction_field: null many_collection: organization_vehicles many_field: vehicle_id one_allowed_collections: null one_collection: vehicles one_collection_field: null one_deselect_action: nullify one_field: null sort_field: null schema: table: organization_vehicles column: vehicle_id foreign_key_table: vehicles foreign_key_column: id constraint_name: organization_vehicles_vehicle_id_foreign on_update: NO ACTION on_delete: RESTRICT