Skip to content
Documentation sections
Business Management

Blocked Customers

What this screen is for

The list of customers a business has blocked, and the action to remove a block. Once a customer is blocked, their future active appointments at this business are cancelled automatically and their open conversations are closed; this screen itself does not start a block, it only lists and removes existing ones.

When you would use this

A business owner comes to this screen after already blocking someone from elsewhere, to confirm the block took hold, or once the reason for a block has passed and the customer should be let back in.

Who sees it

Only the user whose account matches the owner field on the business document can see that business's block list; the Firestore rule limits reading to that.

Where it lives

The screen exists on both the mobile app and the web panel, but they identify a blocked person differently. Mobile shows the reason text entered at the moment the block was recorded; if there is no reason, only the user id is shown, because the app cannot read another user's profile information. The panel instead tries to show the blocked person's name by matching them against that customer's loaded appointment records; if no match is found it shows 'unknown', and it also adds the reason and the date the block was recorded.

What you can do here

Block list

Each blocked customer is listed on one row with a reason, if there is one, and identifying information; an empty list shows an empty state.

The panel also shows the date the block was recorded and tries to match a name from that customer's appointment records at this business; mobile shows only the reason text, or the user id if there is none.

Remove a block

Removes the block after asking for confirmation; the customer becomes able to book with this business again, but appointments already cancelled do not come back.

On the panel the remove-block button is taken out of the interface once the business is suspended; mobile carries no such restriction.

What the server accepts and refuses

Blocking and unblocking only go through a Cloud Function

The Firestore rule for companies/{companyId}/blockedUsers/{userId} closes client writes entirely; blocking and unblocking only happen through the Admin SDK writes of the blockUserForCompany and unblockUserForCompany functions, because a block also has to cancel appointments in the same operation.

Removing a block does not bring back cancelled appointments

unblockUserForCompany only deletes the block record; it does not reactivate appointments the system cancelled at the time of the block — the customer only becomes able to book a new one.