Workspaces y recursos
Organizaciones, workspaces, roles, recursos, modos de capacidad y grupos de recursos.
Organización y workspaces
Una organización es la cuenta que paga. Contiene uno o más workspaces. Un workspace es un negocio o sede con sus propios:
- zona horaria, idioma y moneda,
- número(s) de WhatsApp,
- bot, servicios, recursos y equipo.
Una cadena de tres barberías es una organización con tres workspaces.
Roles
| Rol | Puede |
|---|---|
owner | Todo, en todos los workspaces de la organización |
manager | Todo dentro de un workspace |
staff | Ver y gestionar solo sus propios recursos (por ejemplo, el barbero ve solo su agenda) |
viewer | Solo lectura |
El equipo también puede actuar por WhatsApp después de vincular su número con un código de un solo uso. Las acciones de administrador por WhatsApp siempre piden confirmación SÍ/NO.
Recursos
Un recurso es cualquier cosa que una reserva consume.
kind | Ejemplos |
|---|---|
staff | Barbero, médico, esteticista, instructor |
space | Sala, consultorio, cabina, salón |
equipment | Máquina de láser, sillón, cancha |
table | Mesa de restaurante (modo mesas) |
vehicle | Camioneta, equipo de reparto |
zone | Zona de entrega por código postal |
Cada recurso tiene un modo de capacidad:
exclusive— atiende una reserva a la vez (un barbero, una sala, una máquina).pooled— tiene capacidad en unidades (40 cubiertos por turno, 12 lugares en una clase, 10 entregas por ventana).
Grupos de recursos
Un grupo de recursos es un conjunto intercambiable ("cualquier barbero", "máquinas de láser"). Los servicios piden grupos, no recursos individuales, para que el motor elija uno. La estrategia de asignación decide cuál:
assignment | Comportamiento |
|---|---|
customer_choice | Elige el cliente (por ejemplo "con Juan"); si le da igual, usa otra estrategia |
round_robin | Rota entre los miembros |
least_busy | Elige al miembro con menos reservas en el día |
fixed | Siempre el mismo miembro (una sola máquina, una sola sala) |
{
"name": "Barberos",
"assignment": "customer_choice",
"member_ids": ["res_juan", "res_pedro", "res_leo"]
}