> ## 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.

# Introduction

> What muveya is, what it is not, who uses it and where each part of the product lives

**muveya** is where a dental clinic, or a network of dental clinics, requests, approves, moves and uses its supplies with a complete record of who did what. A supply is ordered from a location, approved (by someone other than the requester, when your policy asks for a decision), reserved in a warehouse, picked box by box, dispatched, delivered, received at the destination and finally used. Every step is recorded, and nothing that was recorded is ever edited or deleted.

muveya is built around three ideas:

* **One operational truth.** Stock only changes through entries in an append-only ledger. Every quantity you see (on hand, reserved, available) is derived from that ledger.
* **Least privilege, enforced by the server.** Seeing stock does not mean seeing costs, order values or patient references. When a person lacks the permission, the server leaves those fields out of the response; the console never receives them.
* **Two-party custody.** Delivering and receiving are separate acts, recorded separately, usually by different people.

## What muveya is not

| muveya is not | What that means for you |
| - | - |
| An electronic health record | A clinical order can carry an opaque patient reference (`patientRef`), such as your clinical system's internal code. muveya has no place for diagnoses, odontograms, treatment plans or patient names. |
| An ERP or accounting system | Costs exist to show order values and drive approvals. muveya does not invoice, pay suppliers or keep accounts. |
| A marketplace or purchasing portal | You record what arrived from your suppliers; muveya does not place purchase orders with them or compare quotes. |
| A general-purpose chatbot | The WhatsApp channel runs short, guided operations with an explicit confirmation. It never approves orders or changes stock on its own. |

## Who uses it

In the console, a person belongs to your **Dental clinic** with one of three roles: **Owner**, **Administrator** or **Member**. A role is only a starting template. What a person can actually do is the list of permissions assigned to them, plus the locations and warehouses they can reach. The owner and administrator roles include only `catalog.read`, `catalog.manage`, `members.manage` and `settings.manage`; the member role includes only `catalog.read`. Everything else, including viewing inventory, creating orders and approving them, is granted explicitly, even to an owner.

The table shows typical people and the permissions they usually receive. It is a guide, not a rule: give each person exactly what their job needs. [Roles and permissions](/docs/en/account/roles-and-permissions) lists every permission.

| Person | What they do in muveya | Permissions they usually hold |
| - | - | - |
| Owner or administrator | Sets up locations, warehouses, rooms, the catalog and the team | `settings.manage`, `members.manage`, `catalog.manage` (included in the role) |
| Purchasing or catalog manager | Maintains supplies, presentations and costs | `catalog.manage`, `catalog.cost.read` |
| Approver (management) | Decides orders that the approval policy sends to them | `approvals.decide`, `orders.value.read`, and `approvals.policy.manage` for whoever maintains the policy |
| Location manager | Requests supplies for their location, receives deliveries, follows stock | `orders.create`, `inventory.read`, `inventory.receive`, `receipt.confirm`, `fulfillment.read`, `fulfillment.close` |
| Warehouse operator | Receives stock, prepares and dispatches orders, moves and counts boxes | `inventory.read`, `inventory.receive`, `inventory.transfer`, `fulfillment.pick`, `fulfillment.dispatch`, `delivery.confirm`, and `inventory.adjust` when they also correct stock |
| Assistant or lab technician | Records what was used | `inventory.read`, `inventory.consume` |
| Clinician | Requests supplies, including clinical orders for a patient | `orders.create`, `orders.clinical.create` |
| Manager reading figures | Reads consumption | `reports.read` |

<Note>
  The `audit.read` permission can be assigned, but there is no screen or API yet that searches the audit history. The audit records are kept all the same. To follow what happened to a box or an order today, use the box's **Movements** and the order's **History**.
</Note>

## Where muveya lives

<CardGroup cols={2}>
  <Card title="Web console" icon="window-maximize" href="/docs/en/quickstart">
    `https://console.muveya.com`. Setup, orders, approvals, deliveries, inventory, counts, reports and team management. Works on desktop and on a phone browser, in English, Spanish and Portuguese.
  </Card>

  <Card title="WhatsApp channel" icon="whatsapp" href="/docs/en/whatsapp/overview">
    A linked team member can check a box, record usage and receive stock from their phone, with exactly the permissions they have in the console. The console has no screen to link a phone yet; the overview explains how linking works. The channel is not switched on in the production service yet.
  </Card>

  <Card title="Android app" icon="android" href="/docs/en/android/overview">
    A native phone app to scan box labels and supplier codes, record uses, move boxes and receive deliveries, with the same permissions as the console. It is not published on Google Play yet: write to [team@muveya.com](mailto:team@muveya.com) to use it.
  </Card>

  <Card title="Public API /v1" icon="code" href="/docs/en/api-reference/introduction">
    `https://api.muveya.com/v1`. Read-only access to locations, warehouses, catalog, inventory, orders, fulfillment and analytics, plus one write: `POST /v1/analytics/exports`. There are no webhooks yet, and API keys are not created from the console: write to [team@muveya.com](mailto:team@muveya.com) to request one.
  </Card>

  <Card title="MCP" icon="robot" href="/docs/en/mcp/introduction">
    A read-only Model Context Protocol endpoint at `/mcp`, authenticated through Console with OAuth, so an AI assistant can look up stock, orders and management figures. It cannot approve, move stock or change anything.
  </Card>
</CardGroup>

The native [Android app](/docs/en/android/overview) is not generally available yet (write to [team@muveya.com](mailto:team@muveya.com) to use it), so meanwhile use the console in your phone's browser.

## The Home screen

After you sign in, the console opens on **Home**. It is built for the permissions you hold, so two people see different cards.

<AccordionGroup>
  <Accordion title="To start operating">
    Appears while your dental clinic is still missing something it needs to operate, and only for what you are allowed to create. Each card opens the screen that fixes it:

    | Card | Shown when | Opens | Needed to see it |
    | - | - | - | - |
    | **Create the first location** | There is no location yet. The journey creates the location and then offers its main warehouse. | **Locations** | owner or administrator role, or `settings.manage` |
    | **Create a warehouse** | Locations exist but no warehouse | **Warehouses** | owner or administrator role, or `settings.manage` |
    | **Add your first supply** | The catalog is empty | **New supply** | owner or administrator role, or `catalog.manage` |
    | **Add how your supplies are packaged** | Supplies exist but none has an active presentation | **Catalog** | owner or administrator role, or `catalog.manage` |
    | **Invite your team** | You are the only active member and no invitation is pending | **Invite person** | owner or administrator role, or `members.manage` |
    | **No approval policy yet: submitted orders wait until one is published** | No approval policy was ever published | **Approval policy** | `approvals.policy.manage` |
  </Accordion>

  <Accordion title="Pending work">
    What waits for you right now, one card per permission you hold. Each card shows how many items wait (a full page reads as `50+` or `200+`) and opens the right queue. Cards with nothing waiting are hidden; when nothing waits at all you see **Nothing is waiting for you right now.**

    | Card | Counts | Opens | Permission |
    | - | - | - | - |
    | **Orders waiting for your approval** | Orders of your locations waiting for your decision (never your own) | **Order approvals** | `approvals.decide` |
    | **Orders to prepare** | Orders in `allocated` or `picking` | **Deliveries** | `fulfillment.pick` or `fulfillment.dispatch` |
    | **Deliveries to confirm** | Orders in `dispatched` | **Deliveries** | `delivery.confirm` |
    | **Orders to receive** | Orders in `delivered` | **Deliveries** | `receipt.confirm` |
    | **Orders to close** | Orders in `received` or `partially_fulfilled` | **Deliveries** | `fulfillment.close` |
    | **Order drafts** | Orders in `draft` | **Orders** | `orders.create` |
    | **Open stock alerts** | Open low-stock and expiry alerts in your warehouses | **Stock alerts** | `inventory.read` |
    | **Boxes due for a count** | Boxes not counted in the last 30 days | **Counts** | `inventory.read` |
  </Accordion>

  <Accordion title="Your dental clinic">
    The name of the dental clinic you are working in, the email address you signed in with, and the **Choose a dental clinic** link to switch to another dental clinic you belong to.
  </Accordion>
</AccordionGroup>

The sidebar (or the menu on a phone) lists **Home**, **Orders**, **Order approvals**, **Deliveries**, **Locations**, **Warehouses**, **Catalog**, **Inventory**, **Replenishment**, **Stock corrections**, **Reports** and **Team**. **Orders**, **Order approvals**, **Deliveries**, **Reports** and **Team** appear only to people who take part in that work. Hiding a link is a convenience: the server checks every request on its own.

## Guides

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/docs/en/quickstart">
    From a new account to a received, used and reported supply.
  </Card>

  <Card title="Concepts" icon="shapes" href="/docs/en/concepts">
    Dental clinic, locations, warehouses, boxes, the ledger, orders and custody.
  </Card>

  <Card title="Account and team" icon="users" href="/docs/en/account/team">
    Sign in, invite people, assign permissions and site access.
  </Card>

  <Card title="Locations and warehouses" icon="building" href="/docs/en/locations/clinics">
    Locations, central and express warehouses, rooms and areas.
  </Card>

  <Card title="Catalog" icon="boxes-stacked" href="/docs/en/catalog/items">
    Supplies, categories, presentations, codes, costs and CSV.
  </Card>

  <Card title="Inventory" icon="warehouse" href="/docs/en/inventory/overview">
    Receive, use, move, correct, count, replenish and recall.
  </Card>

  <Card title="Orders and approvals" icon="clipboard-check" href="/docs/en/orders/create-and-track">
    Request supplies, decide orders and publish the approval policy.
  </Card>

  <Card title="Deliveries" icon="truck" href="/docs/en/deliveries/overview">
    Pick, dispatch, deliver, receive and close.
  </Card>

  <Card title="Reports" icon="chart-line" href="/docs/en/reports/consumption">
    Consumption by supply and management analytics.
  </Card>

  <Card title="Security and privacy" icon="shield-halved" href="/docs/en/trust/security-and-privacy">
    Isolation, redaction and how your data is protected.
  </Card>
</CardGroup>

## Where to go next

* [Quickstart](/docs/en/quickstart): run your first order end to end.
* [Concepts](/docs/en/concepts): the model behind every screen.
* [Glossary](/docs/en/glossary): every term, status and label in three languages.
* [Troubleshooting](/docs/en/help/troubleshooting): what to do when something does not move.


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