Data model

"COMPANIES" {
  shape: sql_table
  "id": TEXT {constraint: primary_key}
  "alan_company_country": VARCHAR(2) 
  "alan_company_group_id": TEXT 
  "alan_company_id": TEXT 
  "alan_mind_credits_per_employee": INTEGER 
  "country": TEXT 
  "email_domain_values": ARRAY 
  "has_migrated": BOOLEAN 
  "is_demo": BOOLEAN 
  "is_expert_booking_access_enabled": BOOLEAN 
  "is_jour_premium_access_enabled": BOOLEAN 
  "logo_url": TEXT 
  "name": TEXT 
  "preferred_language": VARCHAR(2) 
  "slug": TEXT 
}
"USERS" {
  shape: sql_table
  "id": TEXT {constraint: primary_key}
  "advertising_id": TEXT 
  "age_range": TEXT 
  "app_tracking_transparency_status": TEXT 
  "authentication_id": TEXT 
  "company_id": TEXT 
  "country": TEXT 
  "daily_notification_time": TIME 
  "email": TEXT 
  "encryption": TEXT 
  "first_name": TEXT 
  "fname": TEXT 
  "gender": VARCHAR(10) 
  "idfv": TEXT 
  "intent_id": TEXT 
  "is_limit_ad_tracking_enabled": BOOLEAN 
  "keycloak_id": TEXT 
  "last_app_platform": TEXT 
  "last_app_platform_version": TEXT 
  "last_name": TEXT 
  "last_seen_app_version": TEXT 
  "last_seen_ip": TEXT 
  "mongo_id": TEXT 
  "newsletter": BOOLEAN 
  "password": TEXT 
  "phone": TEXT 
  "preferred_expert_language": VARCHAR(2) 
  "preferred_language": VARCHAR(2) 
  "referrer_id": TEXT 
  "survey_answers": JSONB 
  "timezone": TEXT 
  "two_hours_free_trial_heartbeat": BOOLEAN 
  "viewed_alan_mind_terms_at": DATETIME 
  "viewed_terms_at": DATETIME 
}
"ALAN_MIND_SESSIONS" {
  shape: sql_table
  "id": TEXT {constraint: primary_key}
  "company_id": TEXT 
  "ends_at": DATETIME 
  "session_type": VARCHAR(11) 
  "starts_at": DATETIME 
  "therapist_dato_id": TEXT 
  "user_id": TEXT 
}
"APP_USAGE_METRICS" {
  shape: sql_table
  "id": TEXT {constraint: primary_key}
  "analytics_id": TEXT 
  "duration_minutes": INTEGER 
  "ended_at": DATETIME 
  "started_at": DATETIME 
}
"COMPANY_EMPLOYEE_INVITATIONS" {
  shape: sql_table
  "id": TEXT {constraint: primary_key}
  "analytics_id": TEXT 
  "company_id": TEXT 
  "deleted_at": DATETIME 
  "email": TEXT 
  "onboarded_user_id": TEXT 
}
"DEVICES" {
  shape: sql_table
  "id": TEXT {constraint: primary_key}
  "device_id": TEXT 
}
"ENTRIES" {
  shape: sql_table
  "id": TEXT {constraint: primary_key}
  "content": TEXT 
  "device_id": TEXT 
  "is_decrypted": BOOLEAN 
  "journal_id": TEXT 
  "journey_id": TEXT 
  "last_reflected_at": DATETIME 
  "mongo_user_id": TEXT 
  "session_id": TEXT 
  "step_id": TEXT 
  "step_type": VARCHAR(36) 
  "storage_key": TEXT 
  "subtitle": TEXT 
  "title": TEXT 
  "type": VARCHAR(4) 
  "user_id": TEXT 
  "words": INTEGER 
}
"JOURNALS" {
  shape: sql_table
  "id": TEXT {constraint: primary_key}
  "activity": ARRAY 
  "daily_version": TEXT 
  "device_id": TEXT 
  "is_daily_jour": TEXT 
  "is_from_daily_selection": BOOLEAN 
  "journey_id": TEXT 
  "last_completed_session_id": TEXT 
  "last_completed_step_id": TEXT 
  "mongo_user_id": TEXT 
  "moods": ARRAY 
  "offline_key": TEXT 
  "title": TEXT 
  "user_id": TEXT 
}
"COMPANY_ADMINS" {
  shape: sql_table
  "id": TEXT {constraint: primary_key}
  "company_id": TEXT 
  "user_id": TEXT 
}
"REFRESH_TOKENS" {
  shape: sql_table
  "id": TEXT {constraint: primary_key}
  "next_token": VARCHAR(128) 
  "next_token_created_at": INTEGER 
  "session_id": TEXT 
  "token": TEXT 
  "token_type": VARCHAR(6) 
  "user_id": TEXT 
}
"TOKENS" {
  shape: sql_table
  "id": TEXT {constraint: primary_key}
  "expires_at": DATETIME 
  "token": VARCHAR 
  "user_id": TEXT 
}
"SURVEY_SCORES" {
  shape: sql_table
  "id": TEXT {constraint: primary_key}
  "category_id": TEXT 
  "user_id": TEXT 
  "user_score": SMALLINT 
}
"USER_ENTITLEMENTS" {
  shape: sql_table
  "id": TEXT {constraint: primary_key}
  "entitlement_id": VARCHAR(7) 
  "expires_at": DATETIME 
  "is_sandbox_subscription": BOOLEAN 
  "originally_purchased_at": DATETIME 
  "period_type": VARCHAR(6) 
  "product_id": TEXT 
  "purchased_at": DATETIME 
  "store": VARCHAR(13) 
  "unsubscribed_detected_at": DATETIME 
  "user_id": TEXT 
}
"VIDEO_METADATA" {
  shape: sql_table
  "id": TEXT {constraint: primary_key}
  "last_known_duration": INTEGER 
  "rating": INTEGER 
  "user_id": TEXT 
  "video_id": TEXT 
  "watched": BOOLEAN 
}
"COMPANIES"."id" -> "USERS"."company_id": {
  source-arrowhead.shape: cf-one
  target-arrowhead.shape: cf-many
}
"USERS"."id" -> "ALAN_MIND_SESSIONS"."user_id": {
  source-arrowhead.shape: cf-one-required
  target-arrowhead.shape: cf-many
}
"COMPANIES"."id" -> "ALAN_MIND_SESSIONS"."company_id": {
  source-arrowhead.shape: cf-one-required
  target-arrowhead.shape: cf-many
}
"USERS"."mongo_id" -> "APP_USAGE_METRICS"."analytics_id": {
  source-arrowhead.shape: cf-one-required
  target-arrowhead.shape: cf-many
}
"USERS"."id" -> "COMPANY_EMPLOYEE_INVITATIONS"."onboarded_user_id": {
  source-arrowhead.shape: cf-one
  target-arrowhead.shape: cf-many
}
"COMPANIES"."id" -> "COMPANY_EMPLOYEE_INVITATIONS"."company_id": {
  source-arrowhead.shape: cf-one-required
  target-arrowhead.shape: cf-many
}
"USERS"."id" -> "COMPANY_ADMINS"."user_id": {
  source-arrowhead.shape: cf-one-required
  target-arrowhead.shape: cf-many
}
"COMPANIES"."id" -> "COMPANY_ADMINS"."company_id": {
  source-arrowhead.shape: cf-one-required
  target-arrowhead.shape: cf-many
}
"USERS"."id" -> "REFRESH_TOKENS"."user_id": {
  source-arrowhead.shape: cf-one-required
  target-arrowhead.shape: cf-many
}
"USERS"."id" -> "TOKENS"."user_id": {
  source-arrowhead.shape: cf-one-required
  target-arrowhead.shape: cf-many
}
"USERS"."id" -> "SURVEY_SCORES"."user_id": {
  source-arrowhead.shape: cf-one-required
  target-arrowhead.shape: cf-many
}
"USERS"."id" -> "USER_ENTITLEMENTS"."user_id": {
  source-arrowhead.shape: cf-one-required
  target-arrowhead.shape: cf-many
}
"USERS"."id" -> "VIDEO_METADATA"."user_id": {
  source-arrowhead.shape: cf-one-required
  target-arrowhead.shape: cf-many
}
Hold "Alt" / "Option" to enable pan & zoom