Person Phone Form
Field reference for person phone records. A person can have multiple phone numbers of different types.
Fields
Backed by core.person_phones.
| Field | Column | Type | Required | Notes |
|---|---|---|---|---|
| Phone ID | person_phone_id | UUID | Auto | Primary key |
| Person | person_id | UUID (FK) | Yes | Parent person record |
| Phone Type | phone_type_id | Select (Lookup) | Yes | PHONE_TYPE |
| Country Code | country_code | Text(5) | No | International dialling code |
| Phone Number | phone_number | Text(20) | Yes | |
| Extension | extension | Text(10) | No | |
| Is Primary | is_primary | Boolean | Yes | Primary phone for the person |
| Is Current | is_current | Boolean | Yes | The currency flag |
| Effective Date | effective_date | Date | No | Never populated from ODS — no source field exists |
| End Date | end_date | Date | No | Set when the number is retired |
| Legacy Phone ID | legacy_phone_id | Integer | Auto | Colleague/ODS source key |
There is no SMS capability flag and no verification state: receives_sms, is_verified and verified_date do not exist.
Contact records are end-dated, never deleted
is_current is the currency flag — there is no is_active column on any contact record. Removing a value sets is_current = false and stamps end_date; the row stays so the history survives. This holds through the admin API too. Contact values are also not unique: some 50,000 people share a phone number and 3,700 share an email, so key on the row id plus person_id, never on the value itself.
Phone Type Values
| Code | Description | Notes |
|---|---|---|
| MOBILE | Mobile/Cell | Primary contact, SMS capable |
| HOME | Home | Residential landline |
| WORK | Work | Business phone |
| EMERGENCY | Emergency | Emergency contact number |
| FAX | Fax | Fax number |
Computed Fields (Read-Only)
| Field | Description |
|---|---|
| Formatted Number | Formatted with country code and dashes |
| Display Number | +1 (555) 123-4567 x123 format |
Validation Rules
- Person must exist before adding phones
- Only one phone per type can be Is Primary = true
- Phone Number should be numeric with optional dashes
- Country Code defaults to 1 for US
- Receives SMS typically only for MOBILE type
Related Screens
- Person - Parent person record