# Parcels

> The space that records letters and packages arriving at the physical location (coworking, headquarters, office): the front desk registers them with a photo and locker, the member is notified by email and picks them up, and the team follows the queue. Roles, email, locker code and personal data.

The **Parcels** module records **every letter or package that arrives at the physical space for a member**. It's the front desk notebook and WhatsApp group inside Memberfy: the team registers in seconds (who it's for, what it is, a photo, where it was kept), the member **is notified by email**, and the parcel is closed when it's picked up, with the date and who picked it up.

Each Parcels space is **one physical location**. A coworking with two houses creates two spaces, each with its own queue and history.

## What it's for

| Community | Parcels |
|---|---|
| Coworking | The front desk registers the Amazon package and the resident is notified right away, with the photo |
| Association headquarters | Members' letters and documents, with who picked them up and when |
| Company office | Deliveries for people and for the companies on the floor, with no paper notes |
| Office building | Numbered lockers, with the pickup code visible only to the owner of the parcel |

## How it works

### What the parcel keeps

Each parcel has the **recipient** (a person with access to the space or a [company](/membros/empresas) in the community; see [Parcels for a company](#parcels-for-a-company)), the **kind** (**Letter**, **Package** or **Other**, with a short description), the **sender**, the **carrier** and the **tracking code** (all optional), a **note**, up to **5 photos**, the **place** (locker, shelf or front desk) and, if the space uses it, the locker's **pickup code**.

It goes through four statuses:

| Status | What it means |
|---|---|
| **Waiting for pickup** | It arrived and is being kept |
| **Picked up** | Someone collected it. When, how and by whom are recorded |
| **Returned** | It went back to the sender, with the reason |
| **Discarded** | Nobody picked it up and the team disposed of it, with the reason |

Closing a parcel **deletes nothing**: the record, the photos and the reason stay in the history. Every time is read in the **time zone of the community's country**.

### The space settings

When creating the space, and later in **Configure space** (the **Manage parcels** bar), the screen asks for:

| Field | What it does | Default |
|---|---|---|
| **Where parcels are kept** | **At the front desk**: the team keeps everything at the front desk and the locker field is hidden. **In a locker or on a shelf**: the team writes where it left the parcel ("locker 12", "shelf B") and the member sees that place | At the front desk |
| **Where parcels are kept** · **List of lockers** | The team sets up the space's lockers in the **Lockers** tab and picks one when registering each parcel. Only the owner and the admin set them up | — |
| **Locker pickup code** | Only with a locker. The team can set a code per parcel; only the recipient sees it | Off |
| **Photo in the notice e-mail** | The e-mail to the member carries a thumbnail of the photo. Turn it off if photos may show an address or personal data | On |
| **Require team confirmation** | Off, the member confirms their own pickup with the **I picked it up** button. On, only the team marks the pickup | Off |
| **Remind the member after (days)** | From 1 to 60. The member gets an email reminder once the parcel has waited that long; it is also the deadline for the **Stalled** badge. Empty turns reminders off (the badge still appears after 3 days) | No reminder |
| **Most reminders per parcel** | From 1 to 5, one per interval. After the last one the member is not reminded again | — |

The screen also shows the notice *"This module stores photos and the sender's name for each parcel. Let your community members know."*

### Who does what

The team, in this module, is the **owner, the admin, the moderator and finance**.

| Action | Member | Finance and moderator | Admin and owner |
|---|---|---|---|
| See **their own** parcels (and those of the company they work for) and their locker code | Yes | Yes | Yes |
| **I picked it up** on their own parcel or the company's (if team confirmation is off) | Yes | Yes | Yes |
| See the **queue** of all parcels | No | Yes | Yes |
| **Register**, **edit**, handle **photos**, **mark pickup** and **return** | No | Yes | Yes |
| See the list of **lockers** | No | Yes | Yes |
| Add, rename, activate, reorder and remove **lockers** | No | No | Yes |
| **Discard**, **reopen** and **delete** a record | No | No | Yes |
| Configure the space | No | No | Yes |

Who gets into the space follows the rule of any space (visibility, plan and group). A parcel can only be registered for someone who has access to the space.

> [!NOTE]
> The **locker code** is read only by the recipient, in **My parcels** and in the email. No team screen shows it: the team only sees that *there is a code*, and can set it again, but never read it. It stops working when the parcel is picked up, returned or discarded.

### What the team sees

The space opens with two tabs: **Queue** and **My parcels**.

- The **Manage parcels** bar shows how many are **waiting for pickup** and how many are **stalled**, and the **Receive a parcel** button.
- The **Queue** lists the parcels with a thumbnail photo, recipient, kind, sender, place and how long ago it arrived (*"Arrived today"*, *"Arrived 2 days ago"*). The filters are **Pending**, **Stalled**, **Picked up**, **Returned**, **Discarded** and **All**, plus the kind, the company (**All companies** or one of them, when the community has companies) and a search by name (of the person or the company), sender or tracking.
- A parcel for a company shows its name with the **Company** badge and, if the company was closed, the **Company closed** badge too.
- The **Stalled for N days** badge marks a parcel that has waited longer than the space's deadline (3 days, if the space doesn't set another). With **Remind the member after (days)** filled in, that is the badge's deadline.
- The **No e-mail notice** badge appears when the recipient couldn't be notified (no valid email or already out of the community). The parcel is registered all the same, and the screen shows **Former member** when that's the case.
- With **List of lockers**, the team also sees the **Lockers** tab: the owner and the admin manage it, the moderator and finance only view it.
- The detail shows the photos, the history (received on, registered by, email notice, how it was picked up) and the actions. On a parcel for a company it says *"Parcel for the company: any employee with access to this space can pick it up."* and, if the company was closed, *"The company was closed. The parcel stays stored, with no e-mail notice or reminder."*

### What the member sees

In **My parcels** (the space's tab, and the page with that name):

- **Pending**: one card per parcel, with the space name, the photo, the kind, *"From {sender}"*, how long ago it arrived, *"Pick up at: {place}"* (or *"Pick up at the front desk"*) and the **pickup code**, hidden behind the **Show** button. If team confirmation is off, the **I picked it up** button closes the parcel; if it's on, the screen says the pickup is confirmed by the team, at the front desk.
- **History**: pickups (*"Picked up on … by …"*), returns and discards.

The member sees **only their own** and those of the company they work for (see [Parcels for a company](#parcels-for-a-company)). With no parcels, the screen says *"Nothing for you right now"*.

### Parcels for a company

When the package is for the company, not for one person, the front desk registers it for the whole [company](/membros/empresas) instead of picking an employee.

- **Who shows up in the search:** the community's active companies with at least one employee with access to the space, with the **Company** badge next to the name.
- **Who sees and picks it up:** any **current** employee of the company with access to the space. In **My parcels**, the card says *"For {name}"*, with the place, the locker code and the **I picked it up** button (if team confirmation is off). Someone who leaves the company stops seeing the parcel right away.
- **Who is notified:** each current employee with access to the space gets the e-mail and the reminders. If the company has **Notify only the company's admins about parcels** turned on (in the company record, see [Companies](/membros/empresas#the-company-s-data)), only the company's admins get it.
- **Closed company:** the parcel stays in the queue, with the **Company closed** badge, with no e-mail notice or reminder, and the employees stop seeing it. The team can still mark the pickup, return or discard it.
- **The locker code** follows the usual rule: only whoever picks it up sees it. The team sees the company's name, never the code.

## Step by step

### Create the space

*Role: owner or admin.*

1. In **Add Space**, open the **Coworking** tab and choose the **Parcels** module.
2. In **Where parcels are kept**, choose **At the front desk** or **In a locker or on a shelf**. With a locker, decide whether there will be a **Locker pickup code**.
3. Leave **Photo in the notice e-mail** on or turn it off; turn on **Require team confirmation** if only the team should mark the pickup.
4. Set the visibility and create the space. For another location, create another space.

To change it later, use **Configure space** in the **Manage parcels** bar.

### Set up the lockers

*Role: owner or admin.*

1. In **Configure space**, choose **List of lockers** under **Where parcels are kept**.
2. Open the **Lockers** tab (it only appears in this mode).
3. Type the **Locker name** (up to 60 characters) and tap **Add**. Two lockers in the same space can't share a name, with or without capitals.
4. In the list, switch between **Active** and **Inactive**, rename, move up or down to reorder, or remove with **Remove locker**.

Only active lockers appear when registering a parcel. Renaming, deactivating or removing doesn't change old parcels: they keep the name they were registered with. The moderator and finance see the list but can't change it.

### Receive a parcel

*Role: team.*

1. Tap **Receive a parcel**.
2. In **Recipient**, type the start of the name (at least 3 letters). Only people with access to the space and companies with at least one employee with access appear; companies carry the **Company** badge.
3. Choose the **Kind**. For **Other**, describe it (for example, *"wine box"*).
4. If you want, fill in **Sender**, **Carrier**, **Tracking code** and **Note** (*"fragile"*, *"heavy"*).
5. Add up to 5 **Photos**, with **Take a photo** or **Choose from gallery** (JPG, PNG or WebP).
6. If the space uses a locker, fill in **Place (locker)**; empty means *"at the front desk"*. With a code, fill in **Pickup code** (4 to 12 characters). With **List of lockers**, pick one of the active lockers in **Place (locker)**; the default is **At the front desk**.
7. Tap **Save**, or **Save and receive another** to clear the form and keep going.

The member receives the email shortly after (see [Email to the member](#email-to-the-member)).

**Duplicate warning:** if there's already a parcel of the same kind, for the same person and with the same tracking code in the last 24 hours, the screen asks *"Register another anyway?"*. Tapping **Save** twice doesn't create two parcels.

### Edit a parcel and handle photos

*Role: team.*

1. Open the parcel and tap **Edit**.
2. Fix what was typed wrong and tap **Save**. The recipient can't change: to change it, delete the record and register again.
3. For the locker code, fill in **New pickup code**; empty keeps the current one. There's no way to read the code already set.
4. For photos, use **Add photo**, **Replace photo** and **Remove photo**. Removing asks for confirmation and deletes the photo and its file for good; the parcel stays registered.

A parcel that's already closed can only be corrected by an owner or admin, and never the code.

### Mark the pickup

*Role: team.*

1. Open the parcel and tap **Mark pickup**.
2. In **Who picked it up**, choose **The recipient** (with the name of the person who came, optional) or **Someone else** (the name is required).
3. Tap **Confirm pickup**. The locker code stops working.

Two people marking at the same time close the parcel only once.

### Return to sender

*Role: team.*

In **Return to sender**, enter the **Reason** (for example, *"returned to sender"*, *"refused"*) and tap **Return**. The parcel becomes **Returned**.

### Discard, reopen and delete

*Role: owner or admin.*

- **Discard parcel**: for one that nobody picked up. Requires the **Reason**; it becomes **Discarded**.
- **Reopen parcel**: undoes a pickup, return or discard made by mistake. Requires the **Reason** and the parcel goes back to **Waiting for pickup**. The previous code is already gone: set another under **Edit**, if needed.
- **Delete record**: only for a parcel registered by mistake (for the wrong person). It leaves the lists and the photos are deleted; who deleted it and why stay in the [activity log](/membros/registros-de-atividades). To close a parcel for real, use pickup, return or discard.

### Pick up your own parcel

*Role: any member, if the space doesn't require team confirmation. A company's parcel: any current employee.*

1. Open **My parcels**.
2. On the parcel, see the place and, with the **Show** button, the locker code.
3. After collecting it, tap **I picked it up** and **Yes, I picked it up**. The pickup is recorded as confirmed by the member.

## Email to the member

When the parcel is registered, the recipient receives an email **through the email queue**, never during registration:

- the subject doesn't say what arrived;
- the body carries the kind, the sender (if any), **where to pick it up**, the **locker code** (if any) and the time, in the community's time zone;
- with **Photo in the notice e-mail** on, a **thumbnail** of the photo, in a link that's valid for **72 hours** (the full photo stays in the app, behind a login);
- the button to open **My parcels**.

If the recipient has already left the community or doesn't have a valid email, nothing is sent and the queue shows **No e-mail notice**.

For a parcel for a company, one e-mail goes to each current employee with access to the space, or only to the company's admins, if it chose so. Each person is checked again at sending time. A closed company gets no notice or reminder.

> [!NOTE]
> The locker code goes in the email, so it stays in the member's inbox. If that's a risk for your community, leave the code off.

### Stalled-parcel reminder

With **Remind the member after (days)** filled in, the recipient gets a reminder email once the parcel has waited that long, and again at each interval, up to **Most reminders per parcel** (1 to 5). The email goes through the queue and only between 8:00 and 20:00 in the community's time zone. There is no reminder once the parcel is closed, nor for someone who left the community or lost access to the space.

## Data and privacy

This module stores personal data, and the **community is the data controller**: it decides what to record.

- **Parcel photo**: may show a name, address or the contents. It's kept in private storage, opened only by a signed, short-lived link, and only the space's team and the recipient see it.
- **Sender, carrier, tracking and note**: data about the member and, incidentally, about third parties.
- **Name of who picked it up**: stored when the pickup is made by someone else.
- **Locker code**: a short-lived credential. Only the recipient reads it and it's deleted when the parcel is closed. In the activity logs it shows hidden.
- **Nothing is deleted.** Photos and records stay with the community. Let your members know, as the notice in the settings reminds you.

## Examples

**Coworking with a front desk.** The space uses **At the front desk**. The moderator registers the package with two photos and the sender; the resident receives the email with the thumbnail and comes by to collect it; the front desk taps **Mark pickup**.

**Rooms with lockers.** The space uses **In a locker or on a shelf** with a code. The team writes *"Locker 12"* and the code; the member sees both in **My parcels**, opens the locker and taps **I picked it up**.

**A house that wants control.** With **Require team confirmation** on, the member sees the parcel, but only the front desk closes the pickup.

## Common errors and how to fix them

| Message or situation | What to do |
|---|---|
| *"Nobody with access to this space was found."* | Check the name (start from the beginning, 3 letters) and whether the person has access to the space (plan, group, visibility) |
| *"There is already an identical parcel for this recipient in the last 24 hours."* | It was probably already registered. If it's another one, tap **Register anyway** |
| *"At most 5 photos per parcel."* | Remove a photo before adding another |
| *"In this community only the team confirms the pickup."* | The space requires team confirmation: ask the front desk |
| There's no **Discard**, **Reopen** or **Delete** button | Those are for the owner and the admin |
| *"No e-mail notice"* in the queue | The recipient has no valid email or left the community; let them know another way |

## Frequently asked questions

**Does the member see the locker code if the team set it?**
Yes, only they do: in **My parcels** and in the email. The team never reads it.

**Can I register a parcel for a company?**
Yes, when the company is active and has at least one employee with access to the space. Any current employee picks it up. See [Parcels for a company](#parcels-for-a-company).

**Who at the company gets the e-mail?**
Every employee with access to the space, or only the company's admins, if **Notify only the company's admins about parcels** is on in its record.

**Can I register a parcel for someone who isn't in the community?**
No. The recipient must be a member with access to the space.

**Does the Attendance kiosk guest receive parcels?**
No. Parcels are for members; the kiosk is for the guest.

**Does the module charge for keeping parcels?**
No.

## Through the assistant

The assistant registers and looks up parcels, handles photos, marks the pickup, returns, discards, reopens and deletes, and the member asks *"do I have a parcel?"* (the answer includes their company's). To register for the company, ask *"a package arrived for Acme"*. See [Tools · Parcels](/mcp/ferramentas-encomendas) and the [Parcels](/mcp/receitas) recipes.

## In the API

With `X-CommunityId` in the header: `GET /api/parcels/spaces/{spaceId}/overview`, `GET .../members?q=` (recipient search), `POST` and `GET .../parcels`, `GET`, `PATCH` and `DELETE /api/parcels/parcels/{parcelId}`, `POST`, `PUT` and `DELETE .../photos`, `POST .../pickup`, `.../return`, `.../discard` and `.../reopen`, `GET /api/parcels/me/parcels` (the member's own and those of the company they work for). The full reference, generated from the API, is in [API reference › Parcels](/api/referencia/parcels).

- **Parcel for a company:** the search returns `type` (`member` or `company`) on each item; registering accepts `recipientCompanyId` instead of `recipientMemberId` (one of the two). The parcel carries `recipientType` and `recipientCompany` (`id`, `name`, `status`, `removed`); on it, `recipient` and `recipientMemberId` come as `null`. The queue filters by `recipientCompanyId`, and `q` finds by the company's name.

## Related

- [Modules](/conceitos/modulos)
- [Attendance](/espacos/presenca)
- [Roles and permissions](/conceitos/papeis-e-permissoes)
- [Visibility and access](/conceitos/visibilidade-e-acesso)
- [Logs](/membros/registros-de-atividades)
- [Create and organize spaces](/espacos/criar-e-organizar-espacos)
- [How long data is kept](/conceitos/guarda-dos-dados)
