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

# Boxes y áreas

> Configura los boxes de atención y las áreas de cada sede, decide si cuentan sus propias existencias y registra dónde se usaron los insumos.

Los **boxes y áreas** son los lugares dentro de una sede donde se usan los insumos: un box de
atención, un área de esterilización, la recepción. Cuando salen existencias de una caja, quien registra la salida
indica a qué box o área fue, y el reporte **Uso por box o área** lo suma. La API y las referencias
técnicas los llaman `destinations`.

En esta página, **box** es el box de atención (la sala donde se atiende); no es la **caja**, que es la
unidad de existencias con código que se guarda en una bodega.

Un box o área:

* pertenece a exactamente una sede;
* tiene un **Tipo**: **Box de atención** o **Área**. El tipo es solo descriptivo; ambos funcionan igual;
* tiene un **Control de stock**: **Sin conteo** o **Stock contado**. Esta es la opción que cambia el
  comportamiento;
* tiene un estado: **Activa** o **Inactiva**.

## Sin conteo o stock contado

| | **Sin conteo** (`uncounted`) | **Stock contado** (`controlled`) |
| - | - | - |
| Lo que explica la consola | **Las entregas salen del inventario; lo que queda en el box no se cuenta.** | **El box tiene existencias propias que se cuentan.** |
| Punto de stock | Ninguno. La lista muestra un guion. | Una bodega express de la misma sede, que aparece en **Punto de stock**. |
| Entregar insumos al box | Se registra como una salida, **Entrega al box o área** (`issue`). Las unidades salen del inventario una sola vez. | No se permite como salida. Primero lleva la caja completa al punto de stock del box. |
| Usar insumos en el box | Se registra como **Uso directo** (`use`) desde cualquier caja que pueda ir a ese box. | Se registra como uso directo desde cajas que están en el punto de stock del box. |
| Conteos, mínimos y alertas | En el box no se cuenta nada. | El punto de stock es una bodega normal: se puede contar, tener mínimos y generar alertas. |

Elige **Stock contado** solo para los boxes donde alguien realmente contará lo que se guarda allí.
Para todo lo demás, **Sin conteo** es más simple: los insumos salen del inventario al entregarse.

## Quién puede hacerlo

| Acción | Permiso |
| - | - |
| Ver los boxes y áreas de una sede | Todos los integrantes activos de la cuenta |
| Crear, activar o desactivar un box o área | Propietarios y administradores, o `settings.manage` (**Gestionar configuración de la clínica**) |
| Elegir un box o área cuando salen existencias de una caja | `inventory.consume` (**Registrar consumo**) o `inventory.adjust`, más acceso a la bodega de la caja |
| Llevar una caja a un box contado | `inventory.transfer` (**Trasladar cajas entre bodegas**) o `inventory.adjust`, más acceso a ambas bodegas |
| Abrir **Uso por box o área** | `inventory.read` (**Ver inventario**). Solo se muestran salidas de bodegas de tu acceso. |
| Atribuir una salida después | `inventory.consume` o `inventory.adjust`, más acceso a la bodega de la que salieron las existencias |
| Ver referencias de atención en **Uso por box o área** | `orders.patient_ref.read` (**Ver referencias externas de pacientes**) |

Consulta [Roles y permisos](/docs/es/account/roles-and-permissions).

## Dónde

* Para configurarlos: **Sedes**, abre una sede, sección **Boxes y áreas**
  (`console.muveya.com/clinics/` seguido del id de la sede).
* Para usarlos: la página de la caja en **Inventario**. Consulta
  [Registrar consumo y trasladar cajas](/docs/es/inventory/use-and-moves).
* Para leer el reporte: **Inventario**, enlace **Uso por box o área**
  (`console.muveya.com/inventory/usage`).

## La sección Boxes y áreas

La sección explica **Dónde se usan los insumos en esta sede. Al registrar una salida se elige uno de
estos.** Los boxes se listan por nombre.

| Columna | Qué muestra |
| - | - |
| **Nombre** | El nombre del box o área. |
| **Tipo** | **Box de atención** o **Área**. |
| **Control de stock** | **Sin conteo** o **Stock contado**. |
| **Punto de stock** | Para un box contado, el nombre de su bodega express, o **Bodega no disponible** si no se puede mostrar. Un guion para un box sin conteo. |
| **Estado** | **Activa** o **Inactiva**. |
| **Acciones** | Solo para quien administra: **Activar** o **Desactivar**. |

Si la sede no tiene ninguno, la sección dice **Todavía no hay boxes ni áreas**, seguido de **Agrega los
boxes de atención y las áreas donde esta sede usa insumos.** para quien administra, o **Pide a quien
administra tu clínica que agregue boxes y áreas.** para el resto.

## Crear un box o área

<Steps>
  <Step title="Abre la sede">
    En **Sedes**, selecciona la sede. Baja hasta **Boxes y áreas**.
  </Step>

  <Step title="Abre el formulario">
    Selecciona **Nuevo box o área**. Se abre un diálogo con ese mismo título.
  </Step>

  <Step title="Ponle nombre y elige el tipo">
    Escribe el **Nombre**, por ejemplo `Box 2` o `Esterilización`. En **Tipo**, elige
    **Box de atención** (la opción predeterminada) o **Área**.
  </Step>

  <Step title="Elige el control de stock">
    En **Control de stock**, deja **Sin conteo** (la opción predeterminada) o elige **Stock contado**.
    El texto bajo el campo explica la opción.
  </Step>

  <Step title="Elige el punto de stock (solo boxes contados)">
    Con **Stock contado** aparece el campo **Punto de stock**: **La bodega express de esta sede que
    guarda las existencias del box.** Deja **Crear automáticamente** o elige una de las bodegas de la
    lista.
  </Step>

  <Step title="Guarda">
    Selecciona **Guardar box o área**. El box aparece en la lista con el estado **Activa**.
  </Step>
</Steps>

### Campos y reglas

| Campo | Obligatorio | Reglas |
| - | - | - |
| **Nombre** | Sí | De 1 a 120 caracteres, sin los espacios del inicio y del final. Debe ser único dentro de la sede, contando también los boxes inactivos. La comparación es exacta, así que `Box 2` y `box 2` son nombres distintos. |
| **Tipo** | Sí | **Box de atención** (`treatment_room`) o **Área** (`area`). |
| **Control de stock** | Sí | **Sin conteo** (`uncounted`) o **Stock contado** (`controlled`). |
| **Punto de stock** | Solo boxes contados | **Crear automáticamente**, o una bodega express activa de esta sede que ningún otro box use. Un box sin conteo nunca tiene punto de stock. |

Sobre el punto de stock:

* **Crear automáticamente** crea una bodega express nueva de esta sede, con el mismo nombre del box,
  en el mismo paso que el box. Si alguno de los dos falla, no se crea ninguno. La bodega nueva
  aparece en **Bodegas**.
* La lista de bodegas existentes solo muestra bodegas express activas de esta sede que todavía no son
  punto de stock de otro box, incluidos los boxes inactivos.
* Una bodega es el punto de stock de un box como máximo.

<Warning>
  Después de crear un box, no se pueden cambiar su nombre, su tipo, su control de stock ni su punto de
  stock, y no se puede eliminar. Para corregirlo, desactívalo y crea un box nuevo con otro nombre: el
  nombre anterior sigue ocupado por el box inactivo.
</Warning>

<Tip>
  Los integrantes cuyo **Acceso a bodegas** enumera bodegas específicas no reciben el punto de stock
  nuevo automáticamente. Agrégalo a su acceso en **Equipo**; si no, no podrán llevar cajas al box ni
  consumir sus existencias. Consulta [Equipo](/docs/es/account/team).
</Tip>

## Estados

| Estado | Etiqueta | Significado |
| - | - | - |
| `active` | **Activa** | El box se puede elegir cuando salen existencias de una caja. |
| `inactive` | **Inactiva** | El box se conserva y sigue nombrado en el historial, pero ya no se puede elegir. |

Para cambiarlo, selecciona **Desactivar** o **Activar** en la fila del box. El cambio se aplica de
inmediato y se puede revertir.

Qué hace desactivar un box:

* Deja de ofrecerse al registrar una salida. Una salida que todavía lo indique se rechaza con **Ese box
  o área ya no está activo. Elige otro.**
* Las salidas anteriores conservan su nombre, y **Uso por box o área** lo sigue mostrando en su
  filtro.
* En un box contado, la bodega que es su punto de stock no se desactiva y sigue ligada al box: no puede pasar a
  ser el punto de stock de otro box. Los consumos registrados en esa bodega ya no se marcan
  automáticamente con el box. Desactiva la bodega por separado en **Bodegas** si no debe recibir más
  existencias.

## Cómo se usan los boxes y áreas cuando salen existencias de una caja

La tarea completa se describe en [Registrar consumo y trasladar cajas](/docs/es/inventory/use-and-moves). Esto es lo que
cambian los boxes y áreas:

<Steps>
  <Step title="Qué boxes se ofrecen">
    En una caja de una bodega **central**, **Box o área** ofrece los boxes activos de todas las sedes.
    En una caja de una bodega **express**, solo los boxes activos de la sede de esa bodega. Si la
    cuenta tiene más de una sede, cada box muestra su sede después del nombre, por ejemplo
    `Box 2 · Clínica Norte`. Si solo hay un box posible, se muestra sin pedir que lo elijas.
  </Step>

  <Step title="Todavía no hay boxes">
    Si la sede no tiene ningún box activo, el formulario dice **Esta sede todavía no tiene boxes ni
    áreas, así que este consumo no dirá adónde fue.** El consumo se puede registrar de todos modos, pero no
    aparecerá en **Uso por box o área**. Quien administra ve además el enlace
    **Configurar boxes y áreas**.
  </Step>

  <Step title="Un box sin conteo">
    Elige **Qué pasó**: **Entrega al box o área** (la opción predeterminada, **Sale del inventario una
    sola vez; quién lo usó se puede atribuir después sin descontar de nuevo.**) o **Uso directo**
    (**Se usó en el momento.**).
  </Step>

  <Step title="Un box contado">
    Si la caja ya está en el punto de stock del box, el formulario dice **Se usa desde las existencias
    contadas de este box.** y la salida se registra como uso directo. Si la caja está en otro lugar,
    dice, por ejemplo, **Box 2 cuenta sus propias existencias. Primero lleva la caja completa allí;
    sacar solo una parte de una caja llegará más adelante.** Quien puede trasladar cajas ve
    **Llevar esta caja a Box 2**; el resto ve **Pide a alguien que pueda trasladar cajas que lleve
    esta caja a Box 2.**
  </Step>

  <Step title="Atribución">
    Completa **Propósito**, **Responsable** y, si quieres, **Referencia de atención (opcional)** (ver
    la sección siguiente), y selecciona **Consumir**.
  </Step>
</Steps>

<Info>
  Todo consumo registrado sin box, desde cualquier canal (por ejemplo WhatsApp), sobre una caja que está
  en el punto de stock de un box contado activo, se registra automáticamente como uso directo en ese
  box.
</Info>

### Reglas que aplica el sistema

* El box debe estar activo (`inventory.destination_not_found`).
* Una caja de una bodega express solo puede ir a un box de la misma sede. Una caja de una bodega
  central puede ir a un box de cualquier sede (`inventory.destination_mismatch`).
* Un box contado rechaza **Entrega al box o área** (`inventory.destination_requires_transfer`) y
  acepta uso directo solo desde su propio punto de stock (`inventory.destination_mismatch`).
* Si la caja se trasladó a otra bodega mientras registrabas, la salida se rechaza en lugar de
  atribuirse al lugar equivocado (`inventory.destination_mismatch`).
* La cantidad debe ser un número entero mayor que cero.

## Campos de atribución

| Campo | Valores | Notas |
| - | - | - |
| **Propósito** | **Sin especificar**, **Procedimiento** (`procedure`), **Limpieza** (`cleaning`), **Administrativo** (`administrative`), **Otro** (`other`) | Opcional. Es una lista cerrada, así que los reportes nunca dependen de texto libre. |
| **Responsable** | Un integrante activo del equipo | Por defecto eres tú. Si eliges a otra persona, el formulario dice, por ejemplo, **Registrado por ti, responsable: Dra. Pérez.** |
| **Referencia de atención (opcional)** | El código del sistema clínico externo | **El código del sistema clínico, nunca el nombre del paciente.** De 1 a 64 caracteres: empieza con una letra o un número y luego usa solo letras, números y `.` `_` `:` `/` `-`, sin espacios. Ejemplo: `ext-7f3a`. |
| Registrado por | Tú | Se guarda automáticamente. Es un campo distinto de **Responsable**. |

La referencia de atención se guarda sellada. Nunca aparece en la página de la caja ni en las listas de
movimientos; solo se muestra en **Uso por box o área**, y solo a integrantes con
`orders.patient_ref.read`.

<Warning>
  Nunca escribas el nombre de un paciente, su documento de identidad ni ningún identificador directo
  como referencia de atención. El formato bloquea nombres con espacios, pero no puede reconocer todos
  los identificadores.
</Warning>

## El reporte Uso por box o área

**Inventario**, **Uso por box o área** muestra **Lo que salió de las existencias hacia cada box o
área, y cuánto ya está atribuido.**

Filtros:

| Filtro | Valor inicial | Reglas |
| - | - | - |
| **Box o área** | **Todos los boxes y áreas** | Lista todos los boxes, activos o no. |
| **Desde** y **Hasta** | Los últimos 7 días, incluido hoy | Días calendario completos en tu zona horaria. **Desde** debe ser igual o anterior a **Hasta**, con 92 días como máximo; si no, la pantalla dice **Elige una fecha de inicio igual o anterior a la de término, con 92 días de diferencia como máximo.** |

**Totales** tiene una fila por box, insumo y unidad (nunca se suman cantidades de unidades distintas):

| Columna | Significado |
| - | - |
| **Box o área** | El box. |
| **Insumo** | El nombre y el código del insumo. |
| **Unidad** | La unidad de las cantidades. |
| **Entregado** | Cantidad entregada a boxes sin conteo. |
| **Uso directo** | Cantidad registrada como uso directo. |
| **Atribuido** | Cuánto de esas salidas se atribuyó después. |

**Salidas** lista cada salida: **Cuándo**, **Insumo**, **Cantidad**, **Unidad**, **Box o área**,
**Qué pasó**, **Propósito**, **Responsable**, **Registrado por**, **Pendiente** (cantidad todavía sin
atribuir) y, si puedes verla, **Referencia de atención**. Un botón **Atribuciones (3)** despliega las
atribuciones posteriores de una salida, cada una con **Cuándo**, **Cantidad**, **Responsable**,
**Propósito**, **Registrado por** y, si corresponde, **Referencia de atención**.

* Solo aparecen las salidas registradas con un box o área. Si no hay, la pantalla dice **No hay
  salidas con box o área en estas fechas.** y **Aquí solo aparecen los consumos registrados con un box
  o área.**
* Una lectura abarca como máximo 2.000 salidas. Si hay más, la pantalla dice **Esta es una vista
  parcial. Acota las fechas para ver todas las salidas.** y los totales quedan incompletos.
* Una persona que ya no está en el equipo aparece como **Fuera del equipo**.

### Atribuir una salida después

Úsalo cuando entregaste insumos a un box y después supiste quién los usó y para qué.

<Steps>
  <Step title="Busca la salida">
    En **Uso por box o área**, busca la salida. **Atribuir** aparece cuando puedes registrar consumo y
    la salida todavía tiene una cantidad **Pendiente**.
  </Step>

  <Step title="Completa la atribución">
    Indica **Cantidad a atribuir** (empieza con la cantidad pendiente), **Responsable**, **Propósito** y,
    si quieres, **Referencia de atención (opcional)**.
  </Step>

  <Step title="Guarda">
    Selecciona **Guardar atribución**. La pantalla confirma **Atribución registrada.** y la cantidad
    pendiente baja. Selecciona **Cerrar** al terminar.
  </Step>
</Steps>

Reglas:

* La cantidad es un número entero mayor que cero, y el total atribuido nunca puede superar la salida.
  Más de lo pendiente se rechaza con **Eso supera lo que queda pendiente de esta salida.**
* Se puede atribuir cualquier salida registrada con un box, sea entrega o uso directo.
* Una salida acepta como máximo 500 atribuciones.
* Guardar la misma atribución dos veces (por ejemplo, con un doble toque) se registra una sola vez; la
  pantalla dice **Ya estaba registrado.**
* Una atribución no se puede editar ni eliminar.

## Qué registra el sistema

* **El box o área**: su sede, nombre, tipo, control de stock, punto de stock y estado. Cambiar el
  estado actualiza ese registro. Estos cambios no generan un registro de auditoría.
* **Cada salida**: un movimiento `consume` en el registro de movimientos, que descuenta la cantidad de la
  caja una sola vez. Guarda el box (`destinationId`), qué pasó (`usage`: `issue` o `use`), el
  propósito, la persona responsable, quién lo registró y la referencia de atención sellada. Estos
  campos no cambian después.
* **Cada atribución posterior**: un registro aparte, al que solo se agregan datos, vinculado a la salida. Nunca es
  un movimiento de existencias, así que no puede descontar existencias por segunda vez.
* **Llevar una caja a un box contado**: un traslado normal entre bodegas; el total de existencias no
  cambia.

Por ahora, los boxes y áreas no forman parte de la API pública ni de MCP.

## Qué puede salir mal

Al configurar boxes y áreas:

| Mensaje | Por qué | Qué hacer |
| - | - | - |
| **Ingresa un valor.** | **Nombre** está vacío. | Escribe un nombre. |
| **Este valor es demasiado largo.** | El nombre tiene más de 120 caracteres. | Acórtalo. |
| **Esta sede ya tiene un box o área con ese nombre.** | El nombre ya se usa en esta sede, quizás en un box inactivo (`destinations.name_taken`). | Elige otro nombre. |
| **Elige una bodega express activa de esta sede que ningún otro box use.** | El punto de stock elegido está inactivo, es central, es de otra sede o ya lo usa otro box (`destinations.warehouse_invalid`). | Elige otra bodega o deja **Crear automáticamente**. |
| **Este registro no está disponible en la cuenta de clínica dental activa.** | La sede o el box no existen en esta cuenta (`clinics.not_found`, `destinations.not_found`). | Vuelve a abrir la sede desde **Sedes**. |
| **Tu cuenta no tiene permiso para esta acción.** | No tienes `settings.manage` (`tenants.insufficient_role`). | Pídelo a un propietario o administrador. |
| **Revisa los datos ingresados antes de volver a intentar.** | Los datos fueron rechazados (`common.invalid_request`). | Revisa los campos y reintenta. |

Al registrar una salida o una atribución:

| Mensaje | Por qué | Qué hacer |
| - | - | - |
| **Este box cuenta sus propias existencias. Primero lleva la caja allí.** | Intentaste entregar a un box contado (`inventory.destination_requires_transfer`). | Lleva la caja completa al box y luego registra el uso. |
| **Esta caja pertenece a otra sede que el box o área elegido. Revisa dónde está la caja.** | La caja y el box son de sedes distintas, la caja no está en el punto de stock del box contado o se trasladó mientras tanto (`inventory.destination_mismatch`). | Recarga la caja y elige un box de su sede. |
| **Ese box o área ya no está activo. Elige otro.** | El box se desactivó (`inventory.destination_not_found`). | Elige otro box. |
| **La persona responsable ya no está en el equipo. Elige a otra persona.** | La persona responsable elegida no es un integrante activo (`inventory.responsible_not_member`). | Elige a otra persona. |
| **Usa letras, números y . \_ : / - sin espacios.** | La referencia de atención tiene un espacio o un carácter no permitido. | Corrígela o déjala vacía. |
| **Usa el código del sistema clínico, sin espacios.** | muveya rechazó la referencia de atención (`inventory.care_ref_invalid`). | Usa el código del sistema externo. |
| **Eso supera lo que queda pendiente de esta salida.** | La atribución supera lo pendiente (`inventory.attribution_exceeds_exit`). | Baja la cantidad. |
| **El registro cambió o ya existe. Revísalo antes de volver a intentar.** | La salida no admite más atribuciones, o una acción repetida no coincide con la original (`inventory.exit_not_attributable`, `inventory.idempotency_key_conflict`). | Recarga **Uso por box o área** y revisa la salida. |
| **Este registro no está disponible en la cuenta de clínica dental activa.** | La salida es de una bodega fuera de tu acceso (`inventory.movement_not_found`). | Pide a un administrador acceso a esa bodega. |

## Páginas relacionadas

<CardGroup cols={2}>
  <Card title="Registrar consumo y trasladar cajas" icon="right-left" href="/docs/es/inventory/use-and-moves">
    Registra consumos, elige el box y traslada cajas.
  </Card>

  <Card title="Sedes" icon="location-dot" href="/docs/es/locations/clinics">
    Las sedes a las que pertenecen los boxes y áreas.
  </Card>

  <Card title="Bodegas" icon="warehouse" href="/docs/es/locations/warehouses">
    Bodegas express que funcionan como puntos de stock.
  </Card>

  <Card title="Roles y permisos" icon="user-shield" href="/docs/es/account/roles-and-permissions">
    Quién puede configurar boxes, registrar consumo y ver referencias de atención.
  </Card>
</CardGroup>


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