> ## Documentation Index
> Fetch the complete documentation index at: https://muveya.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Locations

> Create, rename, activate and deactivate the locations of your dental clinic account, and understand what depends on each one.

A **location** is one operational site of your dental clinic account: a branch, an office or any
place where your team uses supplies. Your account (the **Dental clinic** you pick when you sign in)
can have many locations. The API and the technical references call a location a `clinic` and the
account a `tenant`; in the console you always see **Locations**.

Almost everything operational hangs from a location:

* **Express warehouses** belong to exactly one location. Central warehouses belong to none and
  serve all of them. See [Warehouses](/docs/en/locations/warehouses).
* **Rooms and areas** (treatment rooms and other places where supplies are used) belong to one
  location. See [Rooms and areas](/docs/en/locations/destinations).
* **Orders** are created for a location and delivered to one of its warehouses. See
  [Create and track orders](/docs/en/orders/create-and-track).
* **Location access** decides which locations each team member works in. See
  [Team](/docs/en/account/team).

```mermaid theme={null}
flowchart TD
  A["Dental clinic account"] --> L1["Location: Clínica Norte"]
  A --> L2["Location: Clínica Sur"]
  A --> C["Central warehouse (serves every location)"]
  L1 --> E1["Express warehouse"]
  L1 --> R1["Rooms and areas"]
  L2 --> E2["Express warehouse"]
  L2 --> R2["Rooms and areas"]
```

## Who can do it

| Action | Who |
| - | - |
| Open **Locations** and a location's detail | Every active member of the account |
| Create a location | Owners and admins, or members with `settings.manage` |
| Rename a location | Owners and admins, or members with `settings.manage` |
| Activate or deactivate a location | Owners and admins, or members with `settings.manage` |
| Decide which locations a member works in | Owners and admins, or members with `members.manage` (from **Team**) |

In **Team**, `settings.manage` is shown as **Manage clinic configuration**. Owners and admins hold it
through their role. A member without it sees the same screens in read only mode: no
**New location** button, the name as plain text and no activate or deactivate button. See
[Roles and permissions](/docs/en/account/roles-and-permissions).

## Where

Main navigation, **Locations** (`console.muveya.com/clinics`). Selecting a location's name opens its
detail (`/clinics/` followed by the location id).

## The Locations list

The list shows every location of the account, in the order they were created.

| Column | What it shows |
| - | - |
| **Location name** | The name. Select it to open the detail. |
| **Status** | **Active** or **Inactive**. |

**Search locations** filters by name as you type. It ignores upper and lower case and accents, so
`clinica norte` finds "Clínica Norte".

Empty states:

* No locations yet: **No locations yet**. Managers read **Create the first location to connect its
  warehouses and supplies.**; everyone else reads **Ask your clinic administrator to add a
  location.**
* A search with no match: **No matching results** and **Try a different search.**

<Note>
  The list is not filtered by location access. Every member sees every location here; location
  access narrows orders, approvals and deliveries, not this list.
</Note>

## Create a location

<Steps>
  <Step title="Open the form">
    In **Locations**, select **New location**. A dialog titled **New location** opens.
  </Step>

  <Step title="Name the location">
    Type the **Location name**, for example `Clínica Norte`.
  </Step>

  <Step title="Save">
    Select **Save location**. The button reads **Saving…** while the request runs. When it
    finishes, the dialog closes and the location appears in the list as **Active**.
  </Step>
</Steps>

Select **Cancel** to close the dialog without creating anything. While a save is running the dialog
cannot be closed.

### Fields and rules

| Field | Required | Rules |
| - | - | - |
| **Location name** | Yes | 1 to 120 characters. Spaces at the start and end are removed. |

* A location has only a name and a status. There is no location code or address field.
* Names are not checked for uniqueness: two locations can share a name. People choose locations by
  name in every screen, so give each one a distinct name.
* A new location always starts as **Active**.

### First setup from Home

When the account has no location yet, managers see the card **Create the first location** under
**To start operating** on **Home**. It opens the same **New location** dialog. After you save it, the
**New warehouse** dialog opens right away with the name **Main warehouse** filled in:

* **Warehouse type** starts as **Central**. A central warehouse serves every location.
* If you switch it to **Express**, the location you just created is already selected in
  **Location**, so the warehouse belongs to it.

Closing either dialog ends the journey. You can always create warehouses later from
[Warehouses](/docs/en/locations/warehouses).

## The location detail

Open a location from the list. The header shows its name and **Manage this location and its
availability.** Select **Back to locations** to return. The detail has three parts:

1. **Name.** Managers see an editable **Location name** field with **Save changes**. Everyone else
   sees the name as text.
2. **Status.** A heading such as **Status: Active**, and for managers the button
   **Deactivate location** or **Activate location**.
3. **Rooms and areas.** The treatment rooms and areas of this location, with their stock control and
   stock point. See [Rooms and areas](/docs/en/locations/destinations).

The detail does not list the location's warehouses. To see them, open **Warehouses**: the
**Location** column names the location each express warehouse belongs to.

## Rename a location

<Steps>
  <Step title="Open the location">
    In **Locations**, select the location's name.
  </Step>

  <Step title="Change the name">
    Edit **Location name**. The same rules apply: required, at most 120 characters.
  </Step>

  <Step title="Save">
    Select **Save changes**. When it finishes, **Changes saved** appears under the button.
  </Step>
</Steps>

Records point to the location, not to its name, so the console screens that name it (orders,
warehouses, rooms and areas, team access) show the new name, including for work recorded before
the change.

## Statuses

| Status | Label | Meaning |
| - | - | - |
| `active` | **Active** | The location can receive new orders and new express warehouses. |
| `inactive` | **Inactive** | The location is kept with all its history, but it is no longer offered for new work. |

To change it, open the location and select **Deactivate location** or **Activate location**. The
change applies immediately and can be reversed at any time. There is no confirmation step and no
way to delete a location.

### What deactivating a location does

| Area | Effect |
| - | - |
| New orders | The location is no longer offered in **Clinic** when creating an order. If a stale screen still sends it, the order is refused with **That clinic is not active.** |
| Orders already created | Nothing changes. They continue through approval and delivery. |
| New express warehouses | The location is no longer offered in **Location** when creating an express warehouse. |
| Its existing warehouses | Nothing changes. They keep their own status and stock. Deactivate them separately from **Warehouses** if needed. |
| Its rooms and areas | Nothing changes. They stay active and can still be chosen when stock leaves a box. Deactivate them separately in the location detail. |
| Team access | Members keep their location access. The location still appears, marked as inactive, when managing access in **Team**. |
| History and reports | Everything recorded for the location stays visible and keeps its name. |

Activating the location again makes it available for new orders and new express warehouses.

## What the system records

* Creating a location stores its name and the `active` status in your account. Renaming or changing
  the status updates that same record.
* These changes are not stock movements and never touch the inventory ledger.
* muveya does not write a separate audit entry for creating, renaming or changing the status of a
  location.
* Locations are never deleted, so every order and record that mentions one keeps showing its name.

## Location access for team members

Each member has **Location access**: **All locations in this account** (including locations created
later), **Selected locations** or **No location**. It decides which locations' orders, approvals and
deliveries the member sees, and for which locations they can create orders. A member with
**No location** sees none of them. Access is managed from **Team**; see [Team](/docs/en/account/team).

<Tip>
  If a member's access lists specific locations, a location you create later is not added to it.
  Open the member in **Team** and add the new location.
</Tip>

## From the API and MCP

* The public API lists locations with `GET /v1/clinics` (scope `clinics:read`). Each item has
  `clinicId`, `name` and `status`. The API cannot create or change locations. See
  [Scopes](/docs/en/api-reference/scopes).
* The MCP tool `clinics.list` lists locations and warehouses with their ids, names and statuses. See
  [MCP tools](/docs/en/mcp/tools).

## What can go wrong

| Message | Why | What to do |
| - | - | - |
| **Enter a value.** | **Location name** is empty or only spaces. | Type a name. |
| **This value is too long.** | The name has more than 120 characters. | Shorten it. |
| **Your account does not have permission for this action.** | You are not an owner or admin and do not have `settings.manage` (`tenants.insufficient_role`). | Ask an owner or admin to change it, or to grant you **Manage clinic configuration**. |
| **This record is not available in the active dental clinic account.** | The location does not exist in the account you are working in (`clinics.not_found`), for example a link copied from another account. | Check which **Dental clinic** is selected in the console, then open the location from the list. |
| **Review the entered values before trying again.** | The request was malformed (`common.invalid_request`), for example a broken link to a location. | Go back to **Locations** and open the location from the list. |
| **The active dental clinic account changed. Reload the page before trying again.** | You switched account in another tab while this screen was open (`tenants.context_changed`). | Reload the page and check the account before retrying. |
| **Could not confirm the operation. Check your connection and review the list before trying again.** | The connection dropped before muveya answered. | Check the list: the change may already be saved. Retry only if it is not. |
| **Could not complete the request. Please try again.** | Any other failure. | Select **Try again** or retry the action. If it keeps failing, write to [team@muveya.com](mailto:team@muveya.com). |
| **That clinic is not active.** | An order was sent for an inactive location, or for a location outside your location access (`orders.clinic_unavailable`). | Activate the location, choose another one, or ask an administrator for access. |

If the list or the detail cannot load, the error appears with a **Try again** button.

## Related pages

<CardGroup cols={2}>
  <Card title="Warehouses" icon="warehouse" href="/docs/en/locations/warehouses">
    Central and express warehouses, and how orders and inventory use them.
  </Card>

  <Card title="Rooms and areas" icon="door-open" href="/docs/en/locations/destinations">
    Where supplies are used inside a location.
  </Card>

  <Card title="Team" icon="users" href="/docs/en/account/team">
    Give each member access to the right locations and warehouses.
  </Card>

  <Card title="Create and track orders" icon="cart-shopping" href="/docs/en/orders/create-and-track">
    Order supplies for a location.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.