Skip to main content

Team & invitations

The Team page lists everyone on the supplier's account. From it, a supplier adds people, changes their role and removes them. Adding someone sends an invitation; the person joins when they accept it.

Who uses it​

  • Admins and staff with Team full access add, edit and remove people.
  • Invited people accept the invitation and join with the access it carries.

How it works​

The Team page. One row per person: Full Name, Email, Phone, Role and Status (Active or Inactive). An admin shows as Admin; everyone else shows their role's name, or Assign Roles if they have none. Pick a role in the row to change it. Roles & Permissions opens the role editor.

Inviting someone. Press Add Team Member, fill in First Name, Last Name, Email, Phone Number, Address and Select Role, then Save. The person gets an invitation. It is either an admin invitation (no role) or an invitation for one of the business's roles. Inviting someone with a role the business doesn't have is refused.

Pending invitations show Admin or the role's name. If the role is later deleted without a replacement, the invitation shows as unassigned.

Accepting an invitation​

A person can belong to only one business hierarchy at a time.

Invited personWhat happens
Has no account yetCreates one and joins
Is already in the inviting businessJoins
Belongs to a different businessIs told they can't accept; nothing changes

If someone joins a different business while the invitation is open, accepting fails the same way. An admin invitation joins the person as an admin with no role. A role invitation joins them with that role and no admin privilege.

Removing someone. The row's delete button asks Are you sure?. You cannot delete yourself or the business owner.

Where it shows up​

  • The Team page and the invitation email.
  • Pickers elsewhere, such as Salesperson and Driver on an order, list the team.

Permissions​

Team: read access to see the page, full access to add, edit or remove people.

Specs​

invite-team-member.feature
# prefix: ITM
Feature: Invite Team Member
An admin invites someone to join their team, optionally granting admin
privileges or assigning a specific role.

Background:
Given an admin is signed in to their business

Rule: Admins can invite people with admin privileges or a specific role

Scenario: ITM-001 admin invites someone as an admin
When the admin invites a person and grants them admin privileges
Then a pending invitation is created for that person
And the invitation grants admin privileges
And the invitation has no role attached

Scenario: ITM-002 admin invites someone with a specific role
Given the business has a role named "Cashier"
When the admin invites a person and assigns them the role "Cashier"
Then a pending invitation is created for that person
And the invitation references the role "Cashier"
And the invitation does not grant admin privileges

Scenario: ITM-003 an invitation referencing a role that does not exist in the business is rejected
Given the business has no role named "Sommelier"
When the admin attempts to invite a person with the role "Sommelier"
Then the invitation is rejected as referencing an unknown role
And no pending invitation is created

Rule: Pending invitations show admin or role status

Scenario: ITM-004 a pending admin invitation is shown as "Admin" and a pending role invitation is shown with that role's name
Given the business has a pending admin invitation
And the business has a pending invitation for the role "Cashier"
When the admin views pending invitations
Then the admin invitation is shown as "Admin"
And the role invitation is shown as "Cashier"

Scenario: ITM-005 a pending invitation whose role has been deleted is shown as unassigned
Given a pending invitation references the role "Cashier"
And the role "Cashier" is then deleted without specifying a replacement
When the admin views pending invitations
Then the invitation is shown as unassigned
accept-team-invitation.feature
# prefix: ATI
Feature: Accept Team Invitation
A person invited by phone to join a restaurant's team views the invitation
and either proceeds through acceptance or is informed they are not eligible.

Background:
Given a restaurant has invited a person by phone number to join their team

Rule: A person can only belong to one business hierarchy at a time

Scenario: ATI-001 invited person with no existing account can proceed
Given the invited person has no existing account
When they view the invitation
Then they can proceed through the invitation flow

Scenario: ATI-002 invited person already in the inviting business hierarchy can proceed
Given the invited person is already a member of the inviting business
Or a parent or child of the inviting business
When they view the invitation
Then they can proceed through the invitation flow

Scenario: ATI-003 invited person already in a different business is informed they cannot accept
Given the invited person is already a member of a different business
When they view the invitation
Then they are informed that they are already a member of another business
And they cannot proceed to acceptance

Scenario: ATI-004 eligibility revokes mid-flow when the person joins a different business in parallel
Given the invited person began the invitation flow while eligible
And they are partway through the invitation flow
When they become a member of a different business
Then they are informed that they are already a member of another business
And they cannot proceed to acceptance

Scenario: ATI-005 acceptance is rejected when the person belongs to a different business
Given the invited person is already a member of a different business
When acceptance of the invitation is attempted on their behalf
Then the request is rejected
And the existing membership is preserved
And no new membership is created for the inviting business

Rule: Acceptance applies the invitation's admin privilege or role

Scenario: ATI-006 accepting an invitation that grants admin privileges joins the person as an admin with no assigned role
Given the invited person has a pending invitation that grants admin privileges
And the invited person is eligible to accept
When they accept the invitation
Then they become a team member of the inviting business with admin privileges
And they have no role assigned

Scenario: ATI-007 accepting an invitation tied to a specific role joins the person with that role and without admin privileges
Given the invited person has a pending invitation tied to the role "Cashier"
And the invited person is eligible to accept
When they accept the invitation
Then they become a team member of the inviting business with the role "Cashier"
And they do not have admin privileges

Known limitations​

  • Someone already in another business can't accept until they have left it. (verify how)

FAQ​

Someone says they can't accept my invitation. They probably already belong to another business. A person can be in only one at a time.

I deleted a role and an invitation now shows no role. Deleting a role without a replacement unassigns pending invitations too. Re-invite with a role, or pick a replacement next time. See Roles & permissions.