Onboarding Fields Reference

Complete list of every question, selection, and field users fill in during signup

Step 1 — Welcome & Identity

User provides their name so the app can personalise their experience and CRM records.

First NameRequired
Type: Text inputSaved to: User.first_name

Also combined into User.full_name

Last Name
Type: Text inputSaved to: User.last_name

Also combined into User.full_name

Step 2 — Usage Type

User selects how they plan to use the app. This determines which features are shown and how the account is categorised for CRM.

Usage TypeRequired
Type: Single selection (3 choices)Saved to: User.user_usage_type

Options

I have a Prodigy system installed→ Full SmartCycle + EmberWatch + Device control flow
I'm considering a Prodigy system→ Monitoring-only mode; shows contact opt-in step
I'm using EmberWatch monitoring only→ Monitoring-only mode; skips device/YoLink steps

Step 2b — Contact Opt-In (Considering users only)

Shown only when usage type is 'considering'. User can opt in to be contacted by a sales rep.

Contact Opt-InRequired
Type: Single selection (2 choices)Saved to: User (contact_opt_in)

Yes = show phone input; No = skip

Phone NumberRequired
Type: Phone input with country code pickerSaved to: User.phone

Only shown if opted in. Country codes: US (+1), CA (+1), AU (+61)

Options

Yes, I'd like to be contacted→ Phone field appears; CRM deal created in Bigin
Just exploring for now→ Skips phone collection

Step 3 — Account Type

User selects whether this is a personal home or a business/commercial account. Determines organisation structure.

Account TypeRequired
Type: Single selection (2 choices)Saved to: User.account_type + Organization.type

Options

Home Protection→ 1–4 properties, family members, simple dashboard
Business / Managed Properties→ Multi-site, team roles, audit logs

Step 4 — Feature Overview

Informational screen — no user input. Shows features relevant to the selected usage type.

No user input — informational screen. Features shown depend on usage type: system_installed sees SmartCycle + EmberWatch + Device Control + Notifications. Monitoring-only users see EmberWatch + Notifications only.

Step 5 — Terms of Service & Marketing

User must accept terms before proceeding. Marketing opt-in is optional.

Terms AcceptanceRequired
Type: CheckboxSaved to: TermsAcceptance entity

Records user_id, email, terms version (2026-01-06), timestamp, user agent

Marketing Opt-In
Type: Checkbox (pre-checked)Saved to: User.marketing_opt_in + User.marketing_opt_in_date

"Keep me fire-ready" — seasonal alerts, product updates, safety tips

Step 6 — YoLink Connection (System Installed users only)

Only shown if usage type is 'system_installed' and no existing YoLink connection is found.

YoLink UAIDRequired
Type: Text input (credential)Saved to: YoLinkCredentials (encrypted)

User Access ID from YoLink developer portal

YoLink Secret KeyRequired
Type: Password input (credential)Saved to: YoLinkCredentials (encrypted)

UAC Secret Key from YoLink developer portal

Step 7 — Country Selection

User selects which country their property is in. Determines address lookup provider and emergency services dataset.

CountryRequired
Type: Single selection (3 choices)Saved to: Property.country

Also sets SMS country code default

Options

🇦🇺 Australia→ AU address provider, CFA/RFS services, metric units
🇨🇦 Canada→ CA address provider, BC Wildfire/CIFFC services, metric
🇺🇸 United States→ US address provider, Cal Fire/NIFC services, imperial

Step 8 — Property Details

User creates their primary property with a name and verified address.

Property NameRequired
Type: Text inputSaved to: Property.property_name

e.g. "Mountain Cabin", "Home", "Lake House"

Street AddressRequired
Type: Address autocomplete (Mapbox/Google)Saved to: Property.address

Address search with geocoding verification

City
Type: Auto-filled from addressSaved to: Property.city

Extracted from geocoded result

State / Province
Type: Auto-filled from addressSaved to: Property.state_province

Extracted from geocoded result

Postal Code
Type: Auto-filled from addressSaved to: Property.postal_code

Extracted from geocoded result

Latitude
Type: Auto-filled (hidden)Saved to: Property.latitude

From geocoder — used for fire monitoring radius

Longitude
Type: Auto-filled (hidden)Saved to: Property.longitude

From geocoder — used for fire monitoring radius

Step 9 — Device Assignment (System Installed users only)

Shown only if the user has YoLink devices synced. Assigns valves/plugs/relays to the new property.

Device AssignmentsRequired
Type: Multi-select checkbox listSaved to: Valve.property_id (per device)

Each device is a valve, plug, or relay discovered from YoLink. All are pre-selected by default.

Step 10 — Notification Preferences

User sets up how they want to receive fire alerts and system notifications.

SMS Text Alerts
Type: Toggle + phone inputSaved to: NotificationPreference.sms_enabled + .phone_number

CTIA-compliant consent disclosure shown. Country picker: 🇺🇸🇨🇦🇦🇺

SMS Phone Number
Type: Phone input with country codeSaved to: NotificationPreference.phone_number

Only shown if SMS toggle is on. Format: +1XXXXXXXXXX

Email Alerts
Type: Toggle checkboxSaved to: NotificationPreference.email_enabled

Critical fire alerts and system warnings via email

Step 11 — Complete

Summary screen — no user input. Shows what was configured and launches the guided tour.

No user input — informational screen. Triggers: welcome email, CRM sync to Bigin (contact + optional deal), guided tour offer.

Invite Flow (replaces Steps 2–9 for invited users)

If the user has a pending organisation invite (sent by an existing account owner), they see an invite acceptance screen instead of the normal onboarding. Accepting inherits all properties, devices, and connection from the org owner.

Accept / Decline InviteRequired
Type: Two buttonsSaved to: OrganizationUser (claims membership)

Accept: joins org, skips to notifications. Decline: normal onboarding.

Derived Fields (auto-calculated, not user-input)

  • User.system_ownership_status — derived from usage type + invite status
  • User.marketing_segment — derived from usage type + ownership
  • User.full_name — combined from first_name + last_name
  • User.onboarding_completed — set to true on final step
  • Property.is_primary — always true for the first property
  • Property.verification_status — set by geocoder
  • Organization — created automatically during account type step
Prodigy

Taking longer than usual to load. Check your connection and try again.