# SafetyCulture schema ERD

Table and field reference for the Fivetran SafetyCulture connector.

## Table & Field Reference

### course_progress

| Column | Type | Keys |
| --- | --- | --- |
| course_id | Unknown | PK, FK |
| user_id | Unknown | PK, FK |
| completed_at | Unknown |  |
| completed_lessons | Unknown |  |
| completion_expiry_date | Unknown |  |
| due_at | Unknown |  |
| opened_at | Unknown |  |
| progress_percent | Unknown |  |
| score | Unknown |  |
| total_lessons | Unknown |  |
| user_external_id | Unknown |  |

### incident_category_item

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| incident_category_id | Unknown | PK, FK |
| question_id | Unknown | FK |
| is_disabled | Unknown |  |
| is_mandatory | Unknown |  |
| name | Unknown |  |
| type | Unknown |  |

### incident_category

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| description | Unknown |  |
| display_order | Unknown |  |
| is_visible | Unknown |  |
| key | Unknown |  |
| label | Unknown |  |
| use_category_access_whitelist | Unknown |  |

### response

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| response_set_id | Unknown | PK, FK |
| label | Unknown |  |
| short_label | Unknown |  |

### response_set

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| created_at | Unknown |  |
| modified_at | Unknown |  |
| name | Unknown |  |

### users

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| active | Unknown |  |
| created_at | Unknown |  |
| email | Unknown |  |
| first_name | Unknown |  |
| last_name | Unknown |  |
| last_seen_at | Unknown |  |
| organisation_id | Unknown |  |
| seat_type | Unknown |  |

### folder_ancestor

| Column | Type | Keys |
| --- | --- | --- |
| folder_id | Unknown | PK, FK |
| id | Unknown | PK, FK |

### folder

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| created_at | Unknown |  |
| creator_id | Unknown |  |
| deleted | Unknown |  |
| folder_members_count | Unknown |  |
| has_children | Unknown |  |
| members_count | Unknown |  |
| meta_label | Unknown |  |
| modified_at | Instant |  |
| name | Unknown |  |
| org_id | Unknown |  |

### template_item_children

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| template_id | Unknown | PK, FK |
| template_item_id | Unknown | PK, FK |
| children | Json |  |
| label | Unknown |  |
| custom_** |  |  |

### template_item

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| template_id | Unknown | PK, FK |
| label | Unknown |  |
| section | Json |  |

### template_response

| Column | Type | Keys |
| --- | --- | --- |
| response_id | Unknown | PK |
| color | Unknown |  |
| is_grs | Unknown |  |
| label | Unknown |  |
| response_set_id | Unknown |  |
| score | Unknown |  |
| score_enabled | Unknown |  |
| template_id | Unknown |  |

### template_title_rule

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| template_id | Unknown | PK, FK |
| rule | Unknown |  |

### template_media

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| template_id | Unknown | PK, FK |
| filename | Unknown |  |
| media_type | Unknown |  |
| token | Unknown |  |

### template

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| access_level | Unknown |  |
| added_at | Unknown |  |
| archived | Unknown |  |
| author_id | Unknown |  |
| created_at | Unknown |  |
| date_draft_modified | Unknown |  |
| description | Unknown |  |
| draft_author_name | Unknown |  |
| global_response_set | Json |  |
| is_locked_from_shared_library | Unknown |  |
| last_used | Unknown |  |
| mandatory_mark_as_complete | Unknown |  |
| metadata_image_filename | Unknown |  |
| metadata_image_id | Unknown |  |
| metadata_image_media_type | Unknown |  |
| metadata_image_token | Unknown |  |
| modified_at | Unknown |  |
| name | Unknown |  |
| origin_information | Unknown |  |
| owner_id | Unknown |  |
| revision_id | Unknown |  |
| revision_key | Unknown |  |
| support_site_as_question_type | Unknown |  |
| translation_id | Unknown |  |

### template_permission

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| template_id | Unknown | PK, FK |
| permission | Unknown |  |
| type | Unknown |  |

### schedule_item_reminder

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| schedule_item_id | Unknown | PK, FK |
| duration | Unknown |  |
| event | Unknown |  |

### schedule_item_assignee

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK, FK |
| schedule_item_id | Unknown | PK, FK |
| name | Unknown |  |
| type | Unknown |  |

### schedule_item

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| asset_id | Unknown | FK |
| creator_id | Unknown | FK |
| can_late_submit | Unknown |  |
| created_at | Unknown |  |
| description | Unknown |  |
| document_id | Unknown |  |
| document_name | Unknown |  |
| document_type | Unknown |  |
| duration | Unknown |  |
| from_date | Unknown |  |
| location_id | Unknown |  |
| modified_at | Unknown |  |
| must_complete | Unknown |  |
| next_occurrence_due | Unknown |  |
| next_occurrence_start | Unknown |  |
| recurrence | Unknown |  |
| site_based_assignment_enabled | Unknown |  |
| start_time_hour | Unknown |  |
| start_time_minute | Unknown |  |
| status | Unknown |  |
| timezone | Unknown |  |
| to_date | Unknown |  |

### incident_question_choice

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| incident_id | Unknown | PK, FK |
| question_id | Unknown | PK, FK |
| text | Unknown |  |

### incident_question_answer

| Column | Type | Keys |
| --- | --- | --- |
| answer_id | Unknown | PK |
| incident_id | Unknown | PK, FK |
| question_id | Unknown | PK, FK |
| choice_id | Unknown | FK |
| answered_at | Unknown |  |
| text | Unknown |  |

### incident_question

| Column | Type | Keys |
| --- | --- | --- |
| question_id | Unknown | PK |
| incident_id | Unknown | PK, FK |
| is_answered | Unknown |  |
| is_mandatory | Unknown |  |
| text | Unknown |  |
| type | Unknown |  |

### inspection_answer

| Column | Type | Keys |
| --- | --- | --- |
| inspection_id | Unknown | PK |
| question_id | Unknown | PK |
| address_answer | Unknown |  |
| asset_answer | Unknown |  |
| calculation_answer | Json |  |
| checkbox_answer | Unknown |  |
| datetime_answer | Unknown |  |
| drawing_answer | Json |  |
| dynamicfield_answer | Json |  |
| list_answer | Json |  |
| location | Json |  |
| media_answer | Json |  |
| modified_at | Unknown |  |
| question_answer | Json |  |
| signature_answer | Json |  |
| site_answer | Json |  |
| slider_answer | Json |  |
| switch_answer | Unknown |  |
| temperature_answer | Json |  |
| text_answer | Unknown |  |

### course

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| branding_image_url | Unknown |  |
| created_datetime | Unknown |  |
| description | Unknown |  |
| due_by | Unknown |  |
| duration | Unknown |  |
| external_id | Unknown |  |
| is_mandatory | Unknown |  |
| is_published | Unknown |  |
| lesson_count | Unknown |  |
| locale | Unknown |  |
| logo_url | Unknown |  |
| modified_datetime | Unknown |  |
| status | Unknown |  |
| thumbnail_url | Unknown |  |
| title | Unknown |  |
| translation_original_course_external_id | Unknown |  |
| translation_original_course_id | Unknown |  |

### group_member

| Column | Type | Keys |
| --- | --- | --- |
| groups_id | Unknown | PK, FK |
| user_id | Unknown | PK, FK |

### groups

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| description | Unknown |  |
| name | Unknown |  |
| type | Unknown |  |

### site

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| creator_id | Unknown | FK |
| deleted | Unknown |  |
| meta_label | Unknown |  |
| name | Unknown |  |
| organisation_id | Unknown |  |
| parent_id | Unknown |  |
| site_uuid | Unknown |  |

### asset_media

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| asset_id | Unknown | PK, FK |
| filename | Unknown |  |
| media_type | Unknown |  |
| token | Unknown |  |

### asset_field

| Column | Type | Keys |
| --- | --- | --- |
| field_id | Unknown | PK |
| asset_id | Unknown | PK, FK |
| currency_code | Unknown |  |
| currency_nanos | Unknown |  |
| currency_unit | Unknown |  |
| custom_id | Unknown |  |
| field_type | Unknown |  |
| id | Unknown |  |
| name | Unknown |  |
| string_value | Unknown |  |
| timestamp_value | Unknown |  |
| value_type | Unknown |  |
| visible | Unknown |  |

### asset

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| code | Unknown |  |
| created_at | Unknown |  |
| custom_id | Unknown |  |
| inspected_at | Unknown |  |
| modified_at | Instant |  |
| name | Unknown |  |
| profile_image_filename | Unknown |  |
| profile_image_id | Unknown |  |
| profile_image_media_type | Unknown |  |
| profile_image_token | Unknown |  |
| site_id | Unknown |  |
| site_name | Unknown |  |
| sourced_from_external_system | Unknown |  |
| state | Unknown |  |
| type | Unknown |  |
| type_id | Unknown |  |

### incident_collaborator

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| incident_id | Unknown | PK, FK |
| contributor_id | Unknown | FK |
| user_id | Unknown | FK |
| assigned_role | Unknown |  |
| external_user_email | Unknown |  |
| external_user_id | Unknown |  |
| group_id | Unknown |  |
| type | Unknown |  |

### incident_reference

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| incident_id | Unknown | PK, FK |
| type | Unknown |  |

### incident_label

| Column | Type | Keys |
| --- | --- | --- |
| label_id | Unknown | PK |
| incident_id | Unknown | PK, FK |

### incident_media

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| incident_id | Unknown | PK, FK |
| filename | Unknown |  |
| media_type | Unknown |  |
| token | Unknown |  |

### incident

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| asset_id | Unknown | FK |
| category_id | Unknown | FK |
| creator_id | Unknown | FK |
| inspection_id | Unknown | FK |
| template_id | Unknown | FK |
| administrative_area | Unknown |  |
| completed_at | Unknown |  |
| country | Unknown |  |
| created_at | Unknown |  |
| description | Unknown |  |
| due_at | Unknown |  |
| iso_country_code | Unknown |  |
| locality | Unknown |  |
| modified_at | Instant |  |
| name | Unknown |  |
| occurred_at | Unknown |  |
| postal_code | Unknown |  |
| priority_id | Unknown |  |
| site_area | Unknown |  |
| site_id | Unknown |  |
| site_name | Unknown |  |
| site_region | Unknown |  |
| status_display_order | Unknown |  |
| status_id | Unknown |  |
| status_key | Unknown |  |
| status_label | Unknown |  |
| sub_administrative_area | Unknown |  |
| sub_locality | Unknown |  |
| sub_thoroughfare | Unknown |  |
| thoroughfare | Unknown |  |
| title | Unknown |  |
| type | Unknown |  |
| unique_id | Unknown |  |

### schedule_occurrence

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| audit_id | Unknown | FK |
| template_id | Unknown | FK |
| assignee_status | Unknown |  |
| completed_at | Instant |  |
| due_time | Instant |  |
| miss_time | Instant |  |
| note | Unknown |  |
| occurrence_id | Unknown |  |
| occurrence_status | Unknown |  |
| organisation_id | Unknown |  |
| schedule_id | Unknown |  |
| start_time | Instant |  |
| user_id | Unknown |  |

### action

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| assignee_id | Unknown | FK |
| action_id | Unknown |  |
| modified_at | Unknown |  |
| name | Unknown |  |
| organisation_id | Unknown |  |
| type | Unknown |  |

### inspection

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| asset_id | Unknown | FK |
| template_id | Unknown | FK |
| archived | Unknown |  |
| author_id | Unknown |  |
| author_name | Unknown |  |
| client_site | Unknown |  |
| conducted_on | Unknown |  |
| created_at | Unknown |  |
| date_completed | Unknown |  |
| date_modified | Unknown |  |
| date_started | Unknown |  |
| document_no | Unknown |  |
| duration | Unknown |  |
| latitude | Unknown |  |
| location | Unknown |  |
| longitude | Unknown |  |
| max_score | Unknown |  |
| modified_at | Unknown |  |
| name | Unknown |  |
| organisation_id | Unknown |  |
| owner_id | Unknown |  |
| owner_name | Unknown |  |
| personnel | Unknown |  |
| prepared_by | Unknown |  |
| score | Unknown |  |
| score_percentage | Unknown |  |
| site_id | Unknown |  |
| template_author | Unknown |  |
| template_name | Unknown |  |
| web_report_link | Unknown |  |

### inspection_items

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| audit_id | Unknown | FK |
| template_id | Unknown | FK |
| category | Unknown |  |
| category_id | Unknown |  |
| combined_max_score | Unknown |  |
| combined_score | Unknown |  |
| combined_score_percentage | Unknown |  |
| comment | Unknown |  |
| created_at | Instant |  |
| inactive | Unknown |  |
| is_failed_response | Unknown |  |
| item_id | Unknown |  |
| item_index | Unknown |  |
| label | Unknown |  |
| location_latitude | Unknown |  |
| location_longitude | Unknown |  |
| mandatory | Unknown |  |
| max_score | Unknown |  |
| media_files | Unknown |  |
| media_hypertext_reference | Unknown |  |
| media_ids | Unknown |  |
| modified_at | Instant |  |
| organisation_id | Unknown |  |
| parent_id | Unknown |  |
| primeelement_id | Unknown |  |
| primeelement_index | Unknown |  |
| response | Unknown |  |
| response_id | Unknown |  |
| response_set_id | Unknown |  |
| score | Unknown |  |
| score_percentage | Unknown |  |
| type | Unknown |  |

## Relationships

- course_progress(user_id) → users(id)
- course_progress(course_id) → course(id)
- incident_category_item(question_id) → incident_question(question_id)
- incident_category_item(incident_category_id) → incident_category(id)
- response(response_set_id) → response_set(id)
- folder_ancestor(id) → folder(id)
- folder_ancestor(folder_id) → folder(id)
- template_item_children(template_item_id) → template_item(id)
- template_item_children(template_id) → template_item(template_id)
- template_item(template_id) → template(id)
- template_title_rule(template_id) → template(id)
- template_media(template_id) → template(id)
- template_permission(template_id) → template(id)
- schedule_item_reminder(schedule_item_id) → schedule_item(id)
- schedule_item_assignee(id) → users(id)
- schedule_item_assignee(schedule_item_id) → schedule_item(id)
- schedule_item(asset_id) → asset(id)
- schedule_item(creator_id) → users(id)
- incident_question_choice(incident_id) → incident_question(incident_id)
- incident_question_choice(question_id) → incident_question(question_id)
- incident_question_answer(choice_id) → incident_question_choice(id)
- incident_question_answer(incident_id) → incident_question(incident_id)
- incident_question_answer(question_id) → incident_question(question_id)
- incident_question(incident_id) → incident(id)
- group_member(user_id) → users(id)
- group_member(groups_id) → groups(id)
- site(creator_id) → users(id)
- asset_media(asset_id) → asset(id)
- asset_field(asset_id) → asset(id)
- incident_collaborator(user_id) → users(id)
- incident_collaborator(contributor_id) → users(id)
- incident_collaborator(incident_id) → incident(id)
- incident_reference(incident_id) → incident(id)
- incident_label(incident_id) → incident(id)
- incident_media(incident_id) → incident(id)
- incident(template_id) → template(id)
- incident(asset_id) → asset(id)
- incident(creator_id) → users(id)
- incident(inspection_id) → inspection(id)
- incident(category_id) → incident_category(id)
- schedule_occurrence(template_id) → template(id)
- schedule_occurrence(audit_id) → inspection(id)
- action(assignee_id) → users(id)
- inspection(template_id) → template(id)
- inspection(asset_id) → asset(id)
- inspection_items(template_id) → template(id)
- inspection_items(audit_id) → inspection(id)
