Data model

Every record belongs to an agency, and every agency you can reach is associated with your connected system.

Connected system (you)
 └── Agency               created by you or linked by us
      ├── Agency offices   locations
      ├── Task templates   onboarding checklist items
      ├── Agency roles     task templates grouped by job
      └── Agency members   people, including new hires
           ├── Tasks       managed by Homecare Pro
           └── Documents   provided for tasks

Resources

Agencies are your customers' home care businesses. You can create agencies and change their name and time zone. The time zone decides when reminders go out.

Agency offices are an agency's locations. You can read them and update their name and phone number. A member can belong to an office.

Task templates are the items that can appear on an onboarding checklist, such as "Driver's License or State ID". task_template_type decides what the new hire does: upload a document, sign one, complete a check, and so on.

Agency roles group task templates into a checklist for a job, such as "Personal Care Aide". A role's task_template_ids lists its templates.

Agency members are the agency's people. Members you add are new hires (role: member). Agencies also have managers (role: manager), who review documents and run the agency in Homecare Pro; managers can't be added through the API, so contact Homecare Pro to set them up. A member's onboarding_stage shows how far through onboarding they are.

Tasks are the items on one member's checklist. Homecare Pro creates a task from each template in the roles assigned to a member, then manages it through to completion. Tasks are read-only.

Documents are what a member provides for their tasks, such as an ID photo. You can read a document's status and dates but not the file itself. Documents are read-only.

Identifiers

Homecare Pro identifies every record with a UUID in its id field. Store these IDs to read or update records later.

Agency members also carry an external_id: your own identifier for the person, set when you add them. It must be unique within the agency. To find a member by it, filter the member list:

GET /api/agency_members?filters[agency_member][external_id][]=candidate-48213

What you can't see

The API shows only what a connected system needs. In particular, it doesn't return a member's email address or phone number once you've sent them, or the files behind documents.


Did this page help you?