SpherePMS — Guía de uso

Cada escenario, paso a paso: accesos, roles, permisos, alcance, inquilinos y todos los módulos.

← Volver a SpherePMS Descargar en PDF

Contenido

1. Cómo usar esta guía

Este documento describe lo que la aplicación hace hoy. Las tablas de permisos, roles, listas configurables, avisos y direcciones no están escritas a mano: se generan desde el código de la propia aplicación, así que dicen la verdad y no lo que alguien recordaba.

Si eres una persona

Cada capacidad se explica como un flujo: qué permiso necesitas, los pasos en orden, qué ocurre por dentro y qué puede salir mal. Si buscas algo concreto, ve al capítulo 5 (accesos y usuarios) o usa el buscador de tu navegador: los títulos usan las mismas palabras que la pantalla.

Si vas a dárselo a un asistente de IA

El archivo es autosuficiente: no depende de imágenes ni de JavaScript, y al final lleva un bloque de datos legible por máquina con el catálogo exacto de permisos, los roles de fábrica con sus códigos, las listas configurables, los eventos de aviso y todas las direcciones. Súbelo completo y pregunta con naturalidad. Sugerencias que funcionan bien:

Indicación útil para el asistente: «Responde sólo con lo que aparezca en el documento; si algo no está, dilo. Cita la sección por su número o su ancla (por ejemplo #alcance).»

2. El modelo: quién es quién

Seis palabras explican casi todo el comportamiento del sistema. Vale la pena leerlas una vez.

ConceptoQué esPor qué importa
OrganizaciónTu empresa dentro de la plataforma. Todo dato de negocio pertenece a una organización. Nadie ve los datos de otra.
PersonaLa identidad de un ser humano: su nombre, sus correos, sus teléfonos, sus direcciones. Es global. La misma persona puede ser tu inquilina y empleada de otra organización, sin duplicarse.
CuentaLas credenciales de acceso: correo + contraseña. Una persona tiene como mucho una cuenta. El correo es el usuario.
MembresíaEl vínculo entre una persona y una organización. Es la que lleva el rol y el alcance. Sin membresía vigente no hay acceso, aunque la cuenta exista.
RolUn paquete de permisos con nombre. Se define por organización: tú decides qué significa «Administrador» en tu casa.
PermisoUna capacidad concreta: ver propiedades, aprobar pagos… Sin un permiso concedido, la respuesta es no. No hay accesos implícitos.

La cadena completa, de arriba abajo:

Persona → Cuenta → Membresía (en una organización) → Rol → Permisos
y, en paralelo, Alcance: reino (¿en qué propiedades?) + relación (¿de quién?)

Una consecuencia que sorprende al principio: los permisos no son de la persona, son de la membresía. Si alguien trabaja contigo y con otra organización, puede ser dueño allá y sólo lectura aquí. Cambiar de organización cambia todo lo que ve.

3. Entrar y tu cuenta

Iniciar sesión

Entras con tu correo y tu contraseña; no hay un nombre de usuario aparte.

Cómo: abre la aplicación → correo y contraseña → «Iniciar sesión».
Si te dieron una contraseña temporal: la aplicación te llevará a cambiarla antes de dejarte entrar a cualquier otra pantalla. No es opcional y no se puede saltar navegando a otra dirección.
Para ver lo que estás escribiendo: todos los campos de contraseña de la aplicación —entrar, crear cuenta, cambiarla, restablecerla— tienen un ojito a la derecha. Pulsarlo muestra la contraseña en claro y volver a pulsarlo la esconde; al enviar el formulario se oculta sola. Ayuda justo donde más se equivoca la gente: al copiar y pegar una contraseña temporal de un mensaje.
Si olvidaste tu contraseña, hoy pídesela a un administrador. La pantalla tiene «¿Olvidaste tu contraseña?», pero la plataforma todavía no tiene un proveedor de correo saliente configurado: ese mensaje no llega a ningún buzón. La vía que sí funciona es que alguien con «Administrar usuarios» te genere una temporal desde Administración → Miembros → Contraseña (ver 5.6). Lo mismo aplica a la verificación de correo y a las invitaciones por correo: aún no salen de la aplicación.

Mi perfil

Tus datos personales viajan contigo: si trabajas con más de una organización, no los capturas dos veces.

Cómo: menú superior → tu correo → «Mi perfil» (/perfil/). Editas tu nombre y datos, tu foto —que puedes recortar y volver a recortar cuando quieras, sin subirla otra vez— y tus correos, teléfonos y direcciones, marcando cuál es el principal de cada tipo.
El correo principal importa más de lo que parece: es el que se usa para darte acceso si te dieron de alta como inquilino, y con el que se te reconoce al firmar un contrato.

Cambiar de organización

Cómo: menú superior → botón con el nombre de la organización → elige otra. Sólo aparecen aquellas donde tienes una membresía vigente. Toda la aplicación cambia con ella: datos, listas, colores, permisos y avisos.

4. Quién ve qué: los tres filtros

Cuando alguien no encuentra una pantalla o un registro, la causa es siempre uno de estos tres filtros, en este orden. Revísalos en orden y ahorrarás tiempo.

#FiltroQuién lo controlaSíntoma cuando bloquea
1¿El módulo está encendido para tu organización? El administrador de plataforma (cap. 9). El módulo no aparece en el menú para nadie de la organización.
2¿Tu rol tiene el permiso? Quien administre roles en tu organización (cap. 6). El menú no lo muestra; si entras por dirección directa, «No tienes permiso».
3¿El registro está dentro de tu alcance? Quien administre usuarios, al fijar el reino de la membresía (cap. 7). Ves la pantalla pero la lista sale corta; un registro de otra propiedad responde «no encontrado».
Que un registro fuera de tu alcance conteste «no encontrado» en vez de «no tienes permiso» es deliberado: así, probar identificadores al azar no revela cuántas propiedades existen ni qué hay en ellas.

El orden exacto de la decisión

Para quien quiera el detalle —o para un asistente que deba razonar—, cada permiso se resuelve siempre en esta secuencia, y basta un «no» para detenerla:

  1. Superusuario de plataforma: pasa por encima de la autorización de la organización.
  2. Organización activa: sin una organización seleccionada no hay acceso.
  3. Membresía vigente en esa organización.
  4. Rol de esa membresía. Sin rol, no concede nada.
  5. Alcance de objeto: reino y relación, cuando la pregunta habla de un registro concreto.
  6. Excepciones por persona (previsto para más adelante; hoy no hay).
  7. Reglas del módulo (por ejemplo: un gasto ya pagado no se edita).
  8. Decisión final: sin un permiso concedido explícitamente, no.

Y una regla que conviene conocer: si un permiso aparece concedido y denegado a la vez, gana la denegación.

5. Altas, bajas y cambios de acceso

Este capítulo cubre todos los escenarios de «meter y sacar gente». Antes, dos reglas que explican por qué las pantallas se comportan como se comportan:

5.0 De cero a operando: el orden recomendado

Si acabas de recibir una organización recién creada, este es el camino más corto para tenerla funcionando sin rehacer trabajo. Cada paso enlaza a su explicación completa.

  1. Entra y cambia tu contraseña temporal. Completa tu perfil.
  2. Ajusta lo general (Administración → General): nombre legal, país, zona horaria, moneda y las reglas de prorrateo de la renta. Hazlo antes de cobrar nada: el prorrateo del primer mes depende de ellas.
  3. Pon tu marca (Administración → Marca): colores, logo y tipografía. Aparecen en la aplicación, en las páginas donde firman tus clientes, en los anuncios públicos y en el PDF de los contratos.
  4. Revisa tus listas (Catálogos). Vienen sembradas con opciones sensatas; ajusta las que uses de verdad —etapas del CRM, métodos de pago, tipos de espacio— y desactiva el resto. Es más fácil ahora que con datos encima.
  5. Da de alta tus propiedades y sus espacios (cap. 10), con su renta y su depósito esperado.
  6. Da de alta a tu equipo (5.2) con el rol que le toque, y limita el alcance de quien deba ver sólo una propiedad.
  7. Captura las ocupaciones vigentes (cap. 13): quién vive dónde, desde cuándo y con qué día de pago.
  8. Genera la renta del periodo (cap. 15) y comprueba que los montos y las fechas salen como esperas.
  9. Prepara tu plantilla de contrato (cap. 14).
  10. Dales acceso al portal a tus inquilinos (5.8) y revisa antes en Administración → Notificaciones quién recibe cada aviso.

5.1 Crear una organización

Dar de alta una organización nueva

Requiere: superusuario de plataforma. Pantalla: /plataforma/organizaciones/nueva/

  1. Escribe el nombre y el prefijo (2 a 5 letras o dígitos en mayúscula, por ejemplo RRG).
  2. Indica el correo y el nombre de quien será su primer administrador.
  3. Guarda. En un solo paso la organización queda lista para operar: se siembran sus listas configurables y sus ocho roles de fábrica, se crea (o se enlaza) la cuenta de esa persona y se le da la membresía de Organization Owner.
  4. Entrega la contraseña temporal que muestra la pantalla. Sólo se enseña una vez.
El prefijo no se recicla jamás, ni siquiera si borras la organización: va estampado en todos los identificadores que emitió (RRG-PRP-00001) y esos identificadores sobreviven en reportes y contratos firmados. Elígelo con calma.

5.2 Dar de alta a alguien de tu equipo

Agregar un miembro a tu organización

Requiere: administration.manage_users. Pantalla: Administración → Miembros (/org/miembros/)

  1. «Agregar miembro» → escribe su correo, su nombre y elige el rol.
  2. Si la cuenta es nueva puedes escribir una contraseña inicial; si lo dejas vacío se genera una temporal.
  3. Guarda y entrega la contraseña que aparece en el mensaje.

Qué pasa según el correo:

SituaciónQué hace el sistemaMensaje que verás
El correo no existeCrea la cuenta y la persona, con la contraseña que diste o una temporal. En ambos casos deberá cambiarla al entrar. «Cuenta creada para…»
El correo ya existe en la plataformaEnlaza esa cuenta a tu organización. No toca su contraseña ni sus datos. «Ya existe una cuenta con…: se enlazó a la organización»
Ya es miembro vigente aquíNada. No duplica la membresía. «… ya es miembro activo de esta organización»
La contraseña inicial que escribes sólo aplica a cuentas nuevas. Si el correo ya existía, se ignora a propósito: esa cuenta es de otra persona y quizá la usa en otra organización.

La foto de perfil no se pide al agregar: se sube después, directamente desde la fila de esa persona en la misma lista de Miembros — el mismo control de «Subir foto»/«Ajustar» que cada quien usa en su propio perfil, disponible ahí para cualquier miembro vigente de tu organización mientras tengas administration.manage_users.

5.3 Crear cuentas desde la plataforma

Crear una cuenta y, si quieres, ligarla a una organización

Requiere: superusuario de plataforma. Pantalla: Plataforma → Cuentas (/plataforma/usuarios/)

  1. «Nueva cuenta» → correo y nombre. Opcionalmente elige ya una organización y un rol.
  2. La contraseña siempre se genera: un administrador de plataforma entrega una temporal, nunca decide la contraseña definitiva de alguien más.
  3. Desde la ficha de la cuenta (/plataforma/usuarios/<id>/) puedes ligarla a otra organización con un rol, ver todas sus membresías y su último acceso, y generarle una contraseña temporal.
Es el único lugar de la plataforma que mira a través de las organizaciones, y por eso está reservado a superusuarios. También hay directorios globales de organizaciones y propiedades, con un buscador que abarca los tres.

5.4 Cambiar el rol de alguien

Cambiar el rol de un miembro

Requiere: administration.manage_users. Pantalla: Administración → Miembros

  1. Localiza a la persona en la tabla.
  2. En la columna Rol, elige otro y confirma.
  3. El cambio es inmediato: en su siguiente clic ya ve (o deja de ver) lo que corresponda. No hace falta que cierre sesión.
Dejar a alguien sin rol no lo saca de la organización, pero lo deja sin ningún permiso: entra y no ve nada. Para retirarle el acceso de verdad, finaliza su membresía (5.7).

5.5 Limitar a alguien a ciertas propiedades

Fijar el alcance (reino) de un miembro

Requiere: administration.manage_users. Pantalla: Administración → Miembros, columna Alcance

  1. Abre el selector de alcance de esa persona.
  2. Marca una o varias propiedades y guarda.
  3. A partir de ese momento sólo alcanza lo que cuelga de esas propiedades: sus espacios, sus ocupaciones, sus contratos, sus cargos, sus pagos, sus gastos, sus depósitos y sus tareas.
  4. Para devolverle la organización completa, desmarca todo: vacío significa «sin límite».

El detalle de qué cuenta como «dentro» está en el capítulo 7.

5.6 Restablecer una contraseña

Generar una contraseña temporal

Requiere: administration.reset_passwords — de fábrica, sólo el Dueño. Pantalla: Administración → Miembros → Contraseña

  1. Pulsa «Contraseña» en la fila de la persona.
  2. El sistema genera una contraseña aleatoria y marca la cuenta para que deba cambiarla al entrar.
  3. Cópiala en ese momento: se muestra una sola vez y no se puede volver a ver.
Quién puede cambiar contraseñas, exactamente: un superusuario de la plataforma, a cualquiera; y dentro de una organización, sólo quien tenga esta facultad —que de fábrica es únicamente el Dueño— y sólo con miembros de su propia organización. Nunca alcanza a la cuenta de un superusuario de la plataforma, aunque comparta organización: eso es un límite del código, no una casilla que se pueda marcar. Cambiarle la contraseña a alguien es poder entrar como esa persona, así que «Administrar usuarios» ya no la incluye: son dos facultades distintas y se conceden por separado.
Cada restablecimiento queda en la bitácora: quién lo hizo, a quién y cuándo.
Si la persona no tiene cuenta de acceso (existe como persona, pero nunca se le dio acceso), el sistema lo dice claramente en lugar de fallar. Dale acceso primero.

5.7 Dar de baja a alguien

Finalizar una membresía

Requiere: administration.manage_users. Pantalla: Administración → Miembros → Dar de baja

  1. Pulsa «Dar de baja» en su fila.
  2. La membresía queda con fecha de fin: pierde el acceso a esta organización de inmediato.
  3. Su cuenta sigue existiendo, sus datos siguen existiendo y todo su historial se conserva: los cargos que creó, los pagos que aprobó y la bitácora siguen citándola.

Alternativa más suave: cambiar su estado (Activo / Invitado / Suspendido / Inactivo, lista configurable). El estado es informativo para tu operación; el que corta el acceso de verdad es dar de baja.

No existe «borrar a la persona»: la identidad es global y su historial es de la organización. Es a propósito — borrar personas convertiría tu bitácora en un documento con huecos.

5.8 Dar acceso a un inquilino

Crear el acceso al portal desde la ocupación

Requiere: administration.manage_users. Pantalla: Ocupación → (abrir una) → «Crear acceso»

  1. Asegúrate de que la persona tenga un correo principal en su ficha.
  2. Abre su ocupación y pulsa «Crear acceso».
  3. Se reutiliza su persona (nunca se duplica), se crea o enlaza su cuenta y se le da la membresía con el rol Inquilino.
  4. Entrega la contraseña temporal. Al entrar la cambia y aterriza directo en su portal, no en la aplicación del equipo.

Qué pasa según el caso:

SituaciónResultado
La persona no tiene correoError claro: agrégale uno antes de invitar.
No tiene cuenta y su correo está libreSe crea la cuenta con contraseña temporal.
Ya tenía cuentaSe reutiliza. No se toca su contraseña.
Su correo pertenece a otra identidadSe rechaza y te lo dice: ese correo es de otra persona, hay que corregir el dato antes.
Ya tenía accesoNo duplica nada; te avisa que ya lo tenía.
También puedes dar de alta a un inquilino desde Administración → Miembros eligiendo el rol Inquilino, pero entonces no tendrá ocupación y su portal saldrá vacío. La vía correcta es desde su ocupación.

5.9 Escenarios que se preguntan seguido

Quiero…Haz esto
…que un inquilino además trabaje conmigo No hay «dos accesos»: una persona tiene una membresía por organización. Cámbiale el rol de Inquilino a uno de equipo — dejará de ver el portal y verá la aplicación. Si necesitas ambas cosas a la vez, sepáralas en dos organizaciones.
…que alguien de otra organización entre a la mía Agrégalo por su correo (5.2): se enlaza su cuenta existente y elige entre ambas organizaciones desde el menú superior.
…un contador que sólo vea números Crea un rol con finance.*, reports.* y analytics.view, sin permisos de administración. Parte del rol «Gerente de finanzas» y quítale las aprobaciones.
…un encargado de una sola casa Rol operativo (por ejemplo «Gerente de propiedades») + alcance limitado a esa propiedad (5.5).
…que alguien apruebe el trabajo de otros pero no el suyo En la matriz de su rol, pon el permiso correspondiente en alcance «Sólo las de otros» (cap. 7).
…quitarle a alguien el acceso hoy mismo Dar de baja su membresía (5.7). Surte efecto al instante.
…readmitir a alguien que di de baja Vuelve a agregarlo por su correo: se enlaza su cuenta de siempre, con su historial intacto y sin tocarle la contraseña.
…que dos personas vivan en el mismo espacio Hoy se registra una ocupación por persona. Créale su ocupación a cada una sobre el mismo espacio; los co-inquilinos como un solo contrato compartido todavía no existen.
…entrar a la aplicación como una organización para dar soporte Sólo un superusuario, desde Plataforma → la organización → «Entrar». Se sale con «Salir de la organización». Queda registrado en la bitácora.
…que alguien reciba los avisos de pagos sin poder aprobarlos En Administración → Notificaciones, dirige esa fila a su rol (cap. 19). Recibir el aviso y tener el permiso son cosas distintas.

5.10 Todas las acciones de acceso, con su permiso

Pantallas de Administración de tu organización:

AcciónDirecciónQuién puedeCómo
Cambiar de organización/org/switch/personal: sus propias membresíasBotón (POST)
Administración (General)/org/administracion/abre la sección que tu rol permitaPantalla
Marca/org/marca/administration.configure_organizationPantalla
Miembros/org/miembros/administration.manage_usersPantalla
Agregar un miembro/org/miembros/agregar/administration.manage_usersBotón (POST)
Cambiar el rol de un miembro/org/miembros/<int:pk>/rol/administration.manage_usersBotón (POST)
Fijar el alcance de un miembro/org/miembros/<int:pk>/alcance/administration.manage_usersBotón (POST)
Cambiar el estado de un miembro/org/miembros/<int:pk>/estado/administration.manage_usersBotón (POST)
Dar de baja a un miembro/org/miembros/<int:pk>/finalizar/administration.manage_usersBotón (POST)
Generar contraseña temporal/org/miembros/<int:pk>/restablecer-contrasena/administration.reset_passwordsBotón (POST)

Pantallas de Plataforma (sólo superusuarios):

AcciónDirecciónQuién puedeCómo
Inicio/plataforma/superusuario de plataformaPantalla
Búsqueda entre organizaciones/plataforma/buscar/superusuario de plataformaPantalla
Directorio de cuentas/plataforma/usuarios/superusuario de plataformaPantalla
Crear una cuenta/plataforma/usuarios/nuevo/superusuario de plataformaBotón (POST)
Ficha de la cuenta/plataforma/usuarios/<int:pk>/superusuario de plataformaPantalla
Generar contraseña temporal/plataforma/usuarios/<int:pk>/restablecer-contrasena/superusuario de plataformaBotón (POST)
Ligar la cuenta a una organización/plataforma/usuarios/<int:pk>/ligar/superusuario de plataformaBotón (POST)
Directorio global de propiedades/plataforma/propiedades/superusuario de plataformaPantalla
Crear una organización/plataforma/organizaciones/nueva/superusuario de plataformaPantalla
Ficha de la organización/plataforma/organizaciones/<int:pk>/superusuario de plataformaPantalla
Encender o apagar módulos/plataforma/organizaciones/<int:pk>/modulos/superusuario de plataformaBotón (POST)
Agregar un miembro a esa organización/plataforma/organizaciones/<int:pk>/miembros/agregar/superusuario de plataformaBotón (POST)
Entrar como esa organización/plataforma/organizaciones/<int:pk>/entrar/superusuario de plataformaBotón (POST)
Salir de la organización/plataforma/salir-de-organizacion/superusuario de plataformaBotón (POST)
Generar contraseña temporal/plataforma/organizaciones/<int:pk>/miembros/<int:membership_pk>/restablecer-contrasena/superusuario de plataformaBotón (POST)

Pantallas de tu propia cuenta, que no dependen de ningún permiso:

AcciónDirecciónQuién puedeCómo
Mi perfil/perfil/personal: tu propio perfilPantalla
Editar mi perfil/perfil/editar/personal: tu propio perfilPantalla
Subir mi foto/perfil/avatar/personal: tu propio perfilBotón (POST)
Recortar mi foto/perfil/avatar/recortar/personal: tu propio perfilBotón (POST)
Subir mi foto/perfil/avatar/<int:person_pk>/personal: tu propio perfilBotón (POST)
Recortar mi foto/perfil/avatar/<int:person_pk>/recortar/personal: tu propio perfilBotón (POST)
Agregar un dato de contacto/perfil/contacto/<str:kind>/agregar/personal: tu propio perfilBotón (POST)
Marcar contacto principal/perfil/contacto/<str:kind>/<int:pk>/principal/personal: tu propio perfilBotón (POST)
Eliminar un dato de contacto/perfil/contacto/<str:kind>/<int:pk>/eliminar/personal: tu propio perfilBotón (POST)

6. Roles: crear y ajustar

Todo este capítulo requiere administration.manage_roles. Pantalla: Administración → Roles (/roles/).

Los ocho roles de fábrica

Toda organización nace con estos roles ya configurados, para que nadie tenga que armar uno desde 110 casillas. Son tuyos: puedes renombrarlos y cambiarles los permisos.

RolPara quiénPermisosQué abarca (patrón)
Organization Owner
organization-owner
Control total de la organización, incluida la administración.109*
excepto portal.*
Administrator
administrator
Operación y administración completas, excepto el diseño de roles.107*
excepto administration.manage_roles, administration.reset_passwords, portal.*
Property Manager
property-manager
Gestión de propiedades, espacios, ocupación, contratos y tareas.46properties.*, spaces.*, occupancy.*, contracts.*, tasks.*, calendar.*, attachments.*, crm.view, people.view, reports.view
Sales Agent
sales-agent
Pipeline comercial: prospectos, visitas y seguimiento.23crm.*, people.view, people.create, people.edit, properties.view, spaces.view, occupancy.view, calendar.*, tasks.view, tasks.create, tasks.edit, attachments.view, attachments.create
Finance Manager
finance-manager
Finanzas, reportes y aprobaciones de pagos/depósitos/gastos.22finance.*, reports.*, analytics.view, contracts.view, occupancy.view, properties.view, spaces.view, people.view, administration.approve_payments, administration.approve_refunds, administration.approve_deposits, administration.approve_expenses
Viewer
viewer
Solo lectura en todos los módulos.16*.view
excepto portal.*
Tenant
tenant
Inquilino: portal propio con sus contratos, estado de cuenta y notificaciones.4portal.*
Guest
guest
Invitado: acceso mínimo (marcador para accesos temporales/limitados).0ninguno
Los patrones de la última columna se leen así: crm.* = todo sobre prospectos; *.view = ver todo; * = absolutamente todo. Los permisos del portal (portal.*) se excluyen a propósito de los roles del equipo: gobiernan una pantalla que ningún rol de equipo abre.

Qué alcanza cada rol, área por área

Rejilla de referencia rápida. Las letras son las acciones concedidas: V ver · C crear · E editar · A archivar · R restaurar · X eliminar. Las dos últimas filas no siguen ese ciclo, así que muestran cuántas facultades tiene de cuántas.

ÁreaOrganization OwnerAdministratorProperty ManagerSales AgentFinance ManagerViewerTenantGuest
PropiedadesVCEARXVCEARXVCEARXVVV
EspaciosVCEARXVCEARXVCEARXVVV
PersonasVCEARXVCEARXVVCEVV
ProspectosVCEARXVCEARXVVCEARXV
OcupaciónVCEARXVCEARXVCEARXVVV
ContratosVCEARXVCEARXVCEARXVV
FinanzasVCEARXVCEARXVCEARXV
TareasVCEARXVCEARXVCEARXVCEV
CalendarioVCEARXVCEARXVCEARXVCEARXV
AnalíticaVCEARXVCEARXVV
ConfiguraciónVCEARXVCEARXV
NotificacionesVCEARXVCEARXV
AutomatizacionesVCEARXVCEARXV
AuditoríaVCEARXVCEARXV
ReportesVCEARXVCEARXVVCEARXV
AdjuntosVCEARXVCEARXVCEARXVCV
Administración12/1210/120/120/124/120/120/120/12
Portal del inquilino0/40/40/40/40/40/44/40/4
Esta rejilla describe los roles de fábrica. En cuanto ajustes uno, la verdad es lo que muestre su matriz en pantalla — que es la que manda.

Crear un rol

Rol nuevo desde cero

  1. Administración → Roles → escribe el nombre → «Crear».
  2. Nace sin permisos. Ábrelo y marca lo que deba poder hacer.
  3. Asígnalo a quien corresponda desde Miembros.
Consejo práctico: en vez de partir de cero o de dar «Administrador» porque faltaba un permiso, mira qué rol de fábrica se le parece más y replica sus casillas quitando lo que no aplique.

La matriz de permisos

Ajustar lo que puede hacer un rol

  1. Entra al rol. Verás sus permisos agrupados por área y, dentro de cada una, en orden de la acción más inocua a la más delicada: ver → crear → editar → archivar → restaurar → eliminar.
  2. Cada fila trae su nombre en español y un icono que explica exactamente qué habilita. Marcada, lo puede hacer; sin marcar, no.
  3. En las áreas cuyos registros tienen dueño aparece además un selector de alcance: Todas / Sólo las propias / Sólo las de otros (cap. 7).
  4. Guarda. El cambio afecta de inmediato a todas las personas con ese rol.

Renombrar, restaurar y eliminar

AcciónQué haceRestricciones
RenombrarCambia el nombre visible del rol. Ninguna. Los permisos y las personas asignadas no se tocan.
RestaurarDevuelve un rol de fábrica a los permisos con los que nació, deshaciendo todos tus ajustes. Sólo para los roles de sistema (los ocho de fábrica).
EliminarBorra el rol y deja sin rol a quienes lo tenían (pierden todos sus permisos, no su membresía). Sólo roles creados por ti. Pide teclear el identificador del rol para confirmar, y la pantalla lista antes a quién va a afectar.

Todo lo que se puede hacer aquí

AcciónDirecciónQuién puedeCómo
Ver los roles/roles/administration.manage_rolesPantalla
Matriz de permisos del rol/roles/<int:pk>/administration.manage_rolesPantalla
Renombrar el rol/roles/<int:pk>/renombrar/administration.manage_rolesBotón (POST)
Restaurar el rol de fábrica/roles/<int:pk>/restaurar/administration.manage_rolesBotón (POST)
Eliminar el rol/roles/<int:pk>/eliminar/administration.manage_rolesPantalla

7. Alcance: reino y «de quién»

El permiso dice qué puedes hacer. El alcance dice dónde y sobre lo de quién. Son dos ejes independientes y se combinan.

Reino: ¿en qué propiedades?

Cada membresía puede confinarse a un conjunto de propiedades. Vacío significa toda la organización, que es como se comporta cualquier membresía a la que no le hayas tocado nada. Se fija en Administración → Miembros → Alcance (5.5).

Un registro pertenece a una propiedad de la forma más natural en cada caso:

Tipo de registro¿A qué propiedad pertenece?
PropiedadLa propiedad misma.
EspacioLa propiedad a la que pertenece.
Enlace públicoLa propiedad del enlace, o la del espacio.
properties.PropertyNoteproperty_id
properties.SpaceNotespace__property_id
OcupaciónLa propiedad del espacio ocupado.
ContratoLa propiedad del espacio de su ocupación.
ProspectoLa propiedad (o el espacio) que le interesa.
TareaSu propiedad, la de su espacio o la de su ocupación.
CargoLa propiedad del espacio de su ocupación.
PagoLa propiedad de su ocupación, o la del cargo que salda.
GastoSu propiedad o la de su espacio.
DepósitoLa propiedad del espacio de su ocupación.
¿Y lo que no cuelga de ninguna propiedad —un prospecto sin propiedad de interés, un gasto general de la organización? Queda fuera de un alcance limitado, con una excepción justa: lo tuyo siempre lo ves. Nadie pierde de vista lo que él mismo creó.
El alcance no sustituye a los permisos. Limitar a alguien a una propiedad no le quita el permiso de eliminar: se lo deja sólo dentro de esa propiedad. Si no debe poder borrar, desmarca el permiso.

Relación: ¿lo mío o lo de los demás?

En la matriz de roles, las áreas cuyos registros tienen dueño ofrecen tres opciones por permiso:

OpciónSignificaEjemplo de uso
TodasCualquier registro que su reino permita. Lo normal.
Sólo las propiasÚnicamente las suyas. Un agente que sólo edita sus propios prospectos.
Sólo las de otrosTodas menos las suyas. Aprobar el trabajo ajeno sin poder aprobar el propio.

¿Qué cuenta como «propio»? Un registro es tuyo si está asignado a ti; y si no tiene responsable asignado, si tú lo creaste. Es deliberadamente personal, no por rol: dos personas con el mismo rol no son dueñas del trabajo de la otra, o «aprobar lo de otros» no significaría nada.

Recetas listas para usar

«Que apruebe las tareas de otros, pero no las suyas»

  1. Abre su rol.
  2. En el área Tareas, deja marcados ver y editar en alcance «Todas».
  3. Pon el permiso con el que se aprueba en «Sólo las de otros».
  4. Guarda. Ahora ve todo el tablero, pero sus propias tareas no le ofrecen la aprobación.

«Administrador de una sola casa»

  1. Dale un rol operativo completo (por ejemplo «Gerente de propiedades»).
  2. En Miembros → Alcance, marca sólo esa propiedad.
  3. Resultado: manda dentro de su casa —incluidas las tareas sin asignar de esa casa— y no ve absolutamente nada de las demás.
Esto sustituye a una «jerarquía de roles», que se descartó a propósito: ordenar roles obliga a decidir si Finanzas está por encima o por debajo de Ventas, y cualquier respuesta es mentira. El reino contesta lo que las organizaciones realmente preguntan.

«Que vea, pero no toque, y sólo de dos edificios»

  1. Asígnale el rol Solo lectura.
  2. Fija su alcance a esas dos propiedades.

8. Catálogo completo de permisos

Son 110: dieciséis áreas de información × seis acciones, más once facultades administrativas, más tres del portal del inquilino. Esta tabla es la lista literal que verás en la matriz de roles.

Las seis acciones de cada área significan siempre lo mismo: ver (consultar listado y detalle), crear, editar, archivar (sacar de la operación diaria sin borrar), restaurar y eliminar (sale de las listas; el historial se conserva).

CódigoPermisoQué habilita¿Admite alcance?
Propiedades
properties.viewVer propiedadesConsultar el listado y el detalle de las propiedades.
properties.createCrear propiedadesDar de alta una propiedad.
properties.editEditar propiedadesModificar los datos de las propiedades.
properties.archiveArchivar propiedadesArchivar las propiedades: dejan de aparecer en la operación diaria, sin borrarse.
properties.restoreRestaurar propiedadesDevolver a la operación las propiedades que se archivaron o eliminaron.
properties.deleteEliminar propiedadesEliminar las propiedades. El registro sale de las listas y su historial se conserva.
Espacios
spaces.viewVer espaciosConsultar el listado y el detalle de los espacios. Los espacios son las unidades rentables dentro de una propiedad.
spaces.createCrear espaciosDar de alta un espacio.
spaces.editEditar espaciosModificar los datos de los espacios.
spaces.archiveArchivar espaciosArchivar los espacios: dejan de aparecer en la operación diaria, sin borrarse.
spaces.restoreRestaurar espaciosDevolver a la operación los espacios que se archivaron o eliminaron.
spaces.deleteEliminar espaciosEliminar los espacios. El registro sale de las listas y su historial se conserva.
Personas
people.viewVer personasConsultar el listado y el detalle de las personas. Incluye sus correos, teléfonos y direcciones.
people.createCrear personasDar de alta una persona.
people.editEditar personasModificar los datos de las personas.
people.archiveArchivar personasArchivar las personas: dejan de aparecer en la operación diaria, sin borrarse.
people.restoreRestaurar personasDevolver a la operación las personas que se archivaron o eliminaron.
people.deleteEliminar personasEliminar las personas. El registro sale de las listas y su historial se conserva.
Prospectos
crm.viewVer prospectosConsultar el listado y el detalle de los prospectos. Incluye seguimientos, visitas y el tablero del embudo.
crm.createCrear prospectosDar de alta un prospecto.
crm.editEditar prospectosModificar los datos de los prospectos.
crm.archiveArchivar prospectosArchivar los prospectos: dejan de aparecer en la operación diaria, sin borrarse.
crm.restoreRestaurar prospectosDevolver a la operación los prospectos que se archivaron o eliminaron.
crm.deleteEliminar prospectosEliminar los prospectos. El registro sale de las listas y su historial se conserva.
Ocupación
occupancy.viewVer ocupacionesConsultar el listado y el detalle de las ocupaciones. La ocupación es quién ocupa qué espacio y desde cuándo.
occupancy.createCrear ocupacionesDar de alta una ocupación.
occupancy.editEditar ocupacionesModificar los datos de las ocupaciones.
occupancy.archiveArchivar ocupacionesArchivar las ocupaciones: dejan de aparecer en la operación diaria, sin borrarse.
occupancy.restoreRestaurar ocupacionesDevolver a la operación las ocupaciones que se archivaron o eliminaron.
occupancy.deleteEliminar ocupacionesEliminar las ocupaciones. El registro sale de las listas y su historial se conserva.
Contratos
contracts.viewVer contratosConsultar el listado y el detalle de los contratos. Incluye las plantillas de contrato.
contracts.createCrear contratosDar de alta un contrato.
contracts.editEditar contratosModificar los datos de los contratos.
contracts.archiveArchivar contratosArchivar los contratos: dejan de aparecer en la operación diaria, sin borrarse.
contracts.restoreRestaurar contratosDevolver a la operación los contratos que se archivaron o eliminaron.
contracts.deleteEliminar contratosEliminar los contratos. El registro sale de las listas y su historial se conserva.
contracts.resend_for_signatureReeditar y reenviar a firmaCorregir los datos de llenado de un contrato generado mientras falte al menos una firma. Reinicia las firmas ya puestas (tendrán que firmar de nuevo) y vuelve a notificar a todas las partes.
Finanzas
finance.viewVer finanzasConsultar el listado y el detalle de las finanzas. Incluye cargos, pagos, gastos, cuentas y depósitos.
finance.createCrear finanzasDar de alta un registro de finanzas.
finance.editEditar finanzasModificar los datos de las finanzas.
finance.archiveArchivar finanzasArchivar las finanzas: dejan de aparecer en la operación diaria, sin borrarse.
finance.restoreRestaurar finanzasDevolver a la operación las finanzas que se archivaron o eliminaron.
finance.deleteEliminar finanzasEliminar las finanzas. El registro sale de las listas y su historial se conserva.
Tareas
tasks.viewVer tareasConsultar el listado y el detalle de las tareas. Sirve para cualquier pendiente del equipo, no sólo de mantenimiento.
tasks.createCrear tareasDar de alta una tarea.
tasks.editEditar tareasModificar los datos de las tareas.
tasks.archiveArchivar tareasArchivar las tareas: dejan de aparecer en la operación diaria, sin borrarse.
tasks.restoreRestaurar tareasDevolver a la operación las tareas que se archivaron o eliminaron.
tasks.deleteEliminar tareasEliminar las tareas. El registro sale de las listas y su historial se conserva.
Calendario
calendar.viewVer calendarioConsultar el listado y el detalle de el calendario. Reúne vencimientos de tareas, visitas y entradas y salidas de inquilinos.
calendar.createCrear calendarioDar de alta un evento del calendario.
calendar.editEditar calendarioModificar los datos de el calendario.
calendar.archiveArchivar calendarioArchivar el calendario: dejan de aparecer en la operación diaria, sin borrarse.
calendar.restoreRestaurar calendarioDevolver a la operación el calendario que se archivaron o eliminaron.
calendar.deleteEliminar calendarioEliminar el calendario. El registro sale de las listas y su historial se conserva.
Analítica
analytics.viewVer analíticaConsultar el listado y el detalle de la analítica. Son las gráficas e indicadores del panel.
analytics.createCrear analíticaDar de alta un elemento de analítica.
analytics.editEditar analíticaModificar los datos de la analítica.
analytics.archiveArchivar analíticaArchivar la analítica: dejan de aparecer en la operación diaria, sin borrarse.
analytics.restoreRestaurar analíticaDevolver a la operación la analítica que se archivaron o eliminaron.
analytics.deleteEliminar analíticaEliminar la analítica. El registro sale de las listas y su historial se conserva.
Configuración
settings.viewVer configuraciónConsultar el listado y el detalle de la configuración.
settings.createCrear configuraciónDar de alta un ajuste de configuración.
settings.editEditar configuraciónModificar los datos de la configuración.
settings.archiveArchivar configuraciónArchivar la configuración: dejan de aparecer en la operación diaria, sin borrarse.
settings.restoreRestaurar configuraciónDevolver a la operación la configuración que se archivaron o eliminaron.
settings.deleteEliminar configuraciónEliminar la configuración. El registro sale de las listas y su historial se conserva.
Notificaciones
notifications.viewVer notificacionesConsultar el listado y el detalle de las notificaciones.
notifications.createCrear notificacionesDar de alta una notificación.
notifications.editEditar notificacionesModificar los datos de las notificaciones.
notifications.archiveArchivar notificacionesArchivar las notificaciones: dejan de aparecer en la operación diaria, sin borrarse.
notifications.restoreRestaurar notificacionesDevolver a la operación las notificaciones que se archivaron o eliminaron.
notifications.deleteEliminar notificacionesEliminar las notificaciones. El registro sale de las listas y su historial se conserva.
Automatizaciones
automation.viewVer automatizacionesConsultar el listado y el detalle de las automatizaciones.
automation.createCrear automatizacionesDar de alta una automatización.
automation.editEditar automatizacionesModificar los datos de las automatizaciones.
automation.archiveArchivar automatizacionesArchivar las automatizaciones: dejan de aparecer en la operación diaria, sin borrarse.
automation.restoreRestaurar automatizacionesDevolver a la operación las automatizaciones que se archivaron o eliminaron.
automation.deleteEliminar automatizacionesEliminar las automatizaciones. El registro sale de las listas y su historial se conserva.
Auditoría
audit.viewVer auditoríaConsultar el listado y el detalle de la bitácora de auditoría. La bitácora sólo se agrega: nadie puede alterarla.
audit.createCrear auditoríaDar de alta un registro de auditoría.
audit.editEditar auditoríaModificar los datos de la bitácora de auditoría.
audit.archiveArchivar auditoríaArchivar la bitácora de auditoría: dejan de aparecer en la operación diaria, sin borrarse.
audit.restoreRestaurar auditoríaDevolver a la operación la bitácora de auditoría que se archivaron o eliminaron.
audit.deleteEliminar auditoríaEliminar la bitácora de auditoría. El registro sale de las listas y su historial se conserva.
Reportes
reports.viewVer reportesConsultar el listado y el detalle de los reportes. Incluye las exportaciones a CSV.
reports.createCrear reportesDar de alta un reporte.
reports.editEditar reportesModificar los datos de los reportes.
reports.archiveArchivar reportesArchivar los reportes: dejan de aparecer en la operación diaria, sin borrarse.
reports.restoreRestaurar reportesDevolver a la operación los reportes que se archivaron o eliminaron.
reports.deleteEliminar reportesEliminar los reportes. El registro sale de las listas y su historial se conserva.
Adjuntos
attachments.viewVer adjuntosConsultar el listado y el detalle de los archivos adjuntos.
attachments.createCrear adjuntosDar de alta un archivo adjunto.
attachments.editEditar adjuntosModificar los datos de los archivos adjuntos.
attachments.archiveArchivar adjuntosArchivar los archivos adjuntos: dejan de aparecer en la operación diaria, sin borrarse.
attachments.restoreRestaurar adjuntosDevolver a la operación los archivos adjuntos que se archivaron o eliminaron.
attachments.deleteEliminar adjuntosEliminar los archivos adjuntos. El registro sale de las listas y su historial se conserva.
Administración
administration.approve_paymentsAprobar pagosAutorizar o rechazar los pagos que registra el equipo. Un pago sólo entra al saldo del inquilino cuando se aprueba.
administration.approve_contractsAprobar contratosDar el visto bueno a un contrato antes de ponerlo a firma.
administration.approve_refundsAprobar devolucionesAutorizar la devolución de dinero a un inquilino o proveedor.
administration.approve_depositsAprobar depósitosAutorizar los movimientos del depósito en garantía: aportaciones, aplicaciones y devoluciones.
administration.approve_expensesAprobar gastosAutorizar un gasto para que pueda pagarse. Sin esta autorización el gasto queda pendiente.
administration.execute_automationEjecutar automatizacionesLanzar los procesos automáticos configurados por la organización.
administration.manage_workflowsAdministrar flujos de trabajoDefinir los pasos por los que va pasando el trabajo de la organización.
administration.manage_notificationsAdministrar notificacionesDecidir qué situaciones generan aviso y a quién le llega cada uno.
administration.manage_rolesAdministrar rolesCrear roles y decidir qué puede hacer cada uno. Es el permiso que reparte todos los demás: dáselo sólo a quien deba poder ampliar los accesos de otros.
administration.manage_usersAdministrar usuariosDar de alta al equipo, cambiar su rol y su alcance, dar de baja accesos y crear los accesos de los inquilinos. NO incluye cambiar contraseñas: eso es una facultad aparte.
administration.reset_passwordsRestablecer contraseñasGenerar una contraseña temporal a un miembro de esta organización. Es la llave de la casa: quien la tiene puede entrar como cualquiera de su equipo, así que de fábrica sólo la lleva el dueño. Nunca alcanza a una cuenta de otra organización ni a un superusuario de la plataforma.
administration.configure_organizationConfigurar la organizaciónEditar los datos generales, la marca y las listas configurables de la organización.
Portal del inquilino
portal.payments.createRegistrar pagos desde el portalEl inquilino puede reportar un pago con su monto, su fecha, una nota y hasta 3 imágenes. Llega como pago pendiente, sin aplicarse a ningún cargo: quien lo aprueba decide qué cargo salda.
portal.help.createPedir ayuda con un pagoEl inquilino puede señalar que algo está mal en un pago suyo, pendiente o ya aprobado. Se abre una tarea ligada a ese pago para que el equipo lo revise; el inquilino no puede modificar el pago por su cuenta.
portal.tasks.createLevantar un pendiente desde el portalEl inquilino puede reportar algo que necesita —una fuga, una reparación— y dirigirlo a uno de los equipos que la organización le abra. Llega sin asignar, para que alguien lo tome.
portal.tasks.viewSeguir sus pendientes en el portalEl inquilino puede ver las solicitudes que él mismo levantó y en qué van. No ve las tareas internas de la organización.

9. Módulos por organización

Seis módulos pueden encenderse o apagarse por organización: Propiedades, CRM, Ocupación, Contratos, Finanzas y Tareas. Si no hay nada configurado, están encendidos.

Cómo: Plataforma → la organización → Módulos (/plataforma/organizaciones/<id>/modulos/), sólo superusuarios.

Un módulo apagado desaparece del menú y su dirección deja de responder para toda la organización, tenga quien tenga qué permiso. Lo que no se apaga: tu perfil, la administración, roles, catálogos, notificaciones, auditoría, el portal del inquilino y las páginas públicas de firma y de anuncios —esas siguen sirviendo aunque un módulo esté apagado, para que un enlace que ya diste a un cliente no se rompa.

10. Propiedades y espacios

La propiedad es el inmueble; el espacio es lo que rentas dentro de él (una recámara, un departamento, una oficina, un cajón). Casi todo lo demás cuelga de aquí.

Dar de alta una propiedad

Requiere: properties.create

  1. Propiedades → Nueva. Nombre, tipo, estado y modelo de tenencia salen de tus listas.
  2. Captura la dirección. Puedes ubicarla en el mapa buscando la dirección o arrastrando el marcador; las coordenadas se guardan y alimentan la página pública.
  3. Guarda: recibe su identificador (PREFIJO-PRP-00001).
  4. Sube fotos. Se comprimen en tu navegador antes de subir y el recorte es no destructivo: puedes recortarlas otra vez cuando quieras, sin volver a subirlas. Marca una como principal — es la que se ve en las tarjetas.

Dar de alta espacios

Requiere: spaces.create

  1. Desde el detalle de la propiedad → «Nuevo espacio».
  2. Tipo, estado, capacidad, renta y depósito esperado.
  3. La renta del espacio alimenta el indicador «Renta suponiendo ocupación total» y se propone al crear la ocupación y el contrato.
  4. Sus fotos funcionan igual que las de la propiedad.

Notas y documentos internos

Requiere: attachments.view para leerlos, attachments.create para subirlos — además del permiso que abre la propiedad (properties.view) o el espacio (spaces.view)

Tanto la propiedad como cada espacio tienen su propio archivero para la administración: el contrato de arrendamiento con el dueño del inmueble (que no tiene por qué ser nadie de tu organización), la escritura, el predial, el seguro, la entrega de llaves de una recámara en concreto, o simplemente una nota que la siguiente persona necesita leer.

  1. En la ficha de la propiedad o del espacio, «Nueva nota».
  2. Título (obligatorio), tipo —de tu lista «Tipo de nota o documento», que puedes editar— y el texto de la nota.
  3. El documento es opcional: una nota puede ir sola, y un documento puede ir sin más explicación que su título. Un archivo por nota (hasta 20 MB): si tienes tres documentos, son tres notas, y así cada uno conserva su título, su tipo, quién lo subió y cuándo.
  4. La ficha muestra las últimas cinco y enlaza al listado completo.
Ver un inmueble no es leer lo que su dueño firmó. Estas notas van gobernadas por la familia attachments.*, aparte de los permisos de propiedades y espacios: quien pueda consultar el listado de propiedades no ve, por eso solo, el contrato con el propietario. Si quieres cerrarlo a un rol, quítale attachments.view en la matriz de roles. Nada de esto se publica nunca ni aparece en el portal del inquilino, y el archivo sólo se entrega a quien tenga el permiso —una dirección adivinada no sirve—.

La ficha de la propiedad reúne: sus espacios en tarjetas, sus fotos, sus notas y documentos internos, sus enlaces públicos y una tabla de «Inquilinos actuales» (quién vive en qué, desde cuándo y en qué estado), con enlace a cada espacio. La ficha del espacio muestra la ocupación vigente con sus contratos, sus propias notas y, aparte, el historial de ocupaciones anteriores. Es el camino corto entre «esta casa» y «quién vive aquí y qué firmó».

Buscar y filtrar en cualquier listado

Todas las listas de la aplicación funcionan igual, así que lo que aprendas en una sirve en todas: buscador, filtros y exportar a CSV.

  1. El CSV exporta lo que estás viendo, con los filtros puestos — no la tabla entera. Si filtras y luego exportas, el archivo trae exactamente esas filas.
  2. Vacío significa TODO. Una lista abre completa y un filtro que dejas en blanco no filtra nada. No tienes que llenar nada para ver tus datos.
  3. Los filtros de varias opciones (etapa, origen, responsable, estado, propiedad) te dejan marcar varias a la vez: escribe para buscar dentro de la lista y ve marcando. Marcar dos etapas muestra las de las dos.
  4. Los rangos (fechas e importes) tienen dos casillas, «de» y «a», y cada una funciona sola: puedes poner sólo el mínimo, sólo el máximo, o los dos. Vacías las dos, no filtran.
  5. Aparece un botón «Limpiar» en cuanto hay algún filtro puesto, y si nada coincide la lista te lo dice en lugar de verse vacía sin explicación.
Lo que un rango NO esconde. Filtrar por salida conserva las ocupaciones vigentes, porque una ocupación vigente no tiene fecha de salida — son justamente las que te interesan. Igual con importes: filtrar por renta o por presupuesto conserva los registros donde ese dato no se capturó, porque «no lo sé» no es «cero».

Lo que puedes filtrar en cada listado:

  • Propiedades: nombre, ID o ciudad, y estado.
  • Prospectos (cap. 12): prospecto o ID; etapa, origen y responsable, los tres de varias opciones; y presupuesto como rango.
  • Ocupación (cap. 13): inquilino, espacio, propiedad o ID; estado de varias opciones; y rangos de entrada, salida y renta.
  • Contratos (cap. 14): título, ID o inquilino; y estado y propiedad, los dos de varias opciones. La propiedad encuentra el contrato tanto si la lleva puesta como si la hereda de su ocupación, que es el caso normal de un contrato de arrendamiento.
  • Miembros (cap. 5): persona por nombre, correo o ID; rol; alcance —incluida la opción «toda la organización», que es el alcance de quien no está confinado a propiedades—; estado; rango de alta; y vigencia.
  • Cargos, pagos y gastos (cap. 15): además del buscador y el estado, el panel de finanzas filtra por propiedad, espacio y ocupación, y por rango de fechas.
Para eliminar una propiedad tiene que estar vacía. Si todavía tiene espacios, el sistema lo rechaza y te dice cuántos: elimínalos primero. Lo mismo un escalón abajo — un espacio con ocupaciones registradas no se elimina, porque de él cuelga el historial de quién vivió ahí, qué firmó y qué pagó.

Todo lo que se puede hacer aquí

AcciónDirecciónQuién puedeCómo
Ver el listado/propiedades/properties.viewPantalla
Dar de alta/propiedades/nueva/properties.createPantalla
Ver la ficha/propiedades/<int:pk>/properties.viewPantalla
Editar/propiedades/<int:pk>/editar/properties.editPantalla
Eliminar/propiedades/<int:pk>/eliminar/properties.deletePantalla
Agregar un espacio/propiedades/<int:property_pk>/espacios/nuevo/spaces.createPantalla
Ficha del espacio/propiedades/espacios/<int:pk>/spaces.viewPantalla
Editar el espacio/propiedades/espacios/<int:pk>/editar/spaces.editPantalla
Eliminar el espacio/propiedades/espacios/<int:pk>/eliminar/spaces.deletePantalla
Subir una imagen/propiedades/imagenes/<str:kind>/<int:parent_pk>/subir/properties.edit o spaces.edit, según el tipoPantalla
Volver a recortar una imagen/propiedades/imagenes/<str:kind>/<int:pk>/recortar/properties.edit o spaces.edit, según el tipoBotón (POST)
Marcar la imagen principal/propiedades/imagenes/<str:kind>/<int:pk>/principal/properties.edit o spaces.edit, según el tipoPantalla
Eliminar una imagen/propiedades/imagenes/<str:kind>/<int:pk>/eliminar/properties.edit o spaces.edit, según el tipoPantalla
Ver las notas y documentos internos/propiedades/notas/<str:kind>/<int:parent_pk>/attachments.viewPantalla
Guardar una nota o un documento interno/propiedades/notas/<str:kind>/<int:parent_pk>/nueva/attachments.createPantalla
Editar una nota interna/propiedades/notas/<str:kind>/<int:pk>/editar/attachments.editPantalla
Eliminar una nota interna/propiedades/notas/<str:kind>/<int:pk>/eliminar/attachments.deleteBotón (POST)
Ver los enlaces públicos/propiedades/compartir/properties.viewPantalla
Crear un enlace público/propiedades/compartir/nuevo/properties.editBotón (POST)
Pausar o reanudar un enlace/propiedades/compartir/<int:pk>/activar/properties.editBotón (POST)
Eliminar un enlace/propiedades/compartir/<int:pk>/eliminar/properties.editBotón (POST)

11. Publicar y compartir

Puedes publicar espacios disponibles y compartirlos por un enlace que no exige que nadie inicie sesión.

Publicar un espacio y compartirlo

Requiere: spaces.edit para publicar; properties.edit para los enlaces

  1. En el espacio, marca «Publicar en web». Es una decisión aparte de su estado: publicar es un acto deliberado, no una consecuencia de que esté disponible.
  2. En Propiedades → Compartir crea un enlace con alcance de organización, propiedad o espacio.
  3. Compártelo: copiar, WhatsApp o código QR.
  4. Quien lo abra ve fotos, datos, renta y mapa; y puede dejar sus datos en un formulario que crea un prospecto en tu CRM con origen «sitio web».

Un enlace se puede pausar (deja de funcionar sin borrarse), eliminar o darle fecha de caducidad. Cuenta cuántas veces se abrió.

Publicar y ocupar son independientes: un espacio publicado sigue publicado aunque se ocupe. Despublícalo tú cuando corresponda — el sistema no lo hace solo porque eso sería inventarte una regla de negocio.

12. Prospectos (CRM)

Tu embudo comercial: interesados que todavía no son inquilinos.

Del primer contacto a la ocupación

Requiere: crm.create, crm.edit

  1. Prospectos → Nuevo: nombre, correo, teléfono y origen. Si el correo ya existe, es la misma persona y se reutiliza —su historial queda junto—. Si lo que coincide es el teléfono, el sistema no decide solo: te enseña quién tiene ese número y eliges «es esta persona» o «crear una nueva», porque un teléfono se comparte y un correo no.
  2. Muévelo por el tablero arrastrando su tarjeta entre etapas, o cambia la etapa desde su ficha.
  3. Agenda seguimientos (con prioridad, se marcan como completados) y visitas (propiedad o espacio, quién atiende, estado de la visita).
  4. Todo queda en su línea de tiempo: alta, cambios de etapa, seguimientos y visitas, con fecha y autor.
  5. Cuando cierra, créale su ocupación. Si se pierde, registra el motivo: es lo que después te dice qué origen te trae mejores inquilinos.

El calendario de citas

Requiere: crm.view para verlo; crm.edit para agendar y mover; crm.delete para eliminar una cita

En Prospectos → Calendario tienes la agenda de las visitas, con la hora y no sólo el día:

  • Semana (la vista por omisión): siete columnas y una fila por hora, con cada cita en su hora exacta y del alto de su duración. Dos citas encimadas se ponen lado a lado, así que se ve de inmediato si un hueco está libre de verdad. También hay vista de mes para la foto completa.
  • El color es el estado de la visita —agendada, confirmada, completada, cancelada, no asistió—. Los colores salen de tu lista «Estado de visita»: si cambias un color ahí, el calendario cambia. Arriba hay una leyenda y un filtro por estado, para esconder por ejemplo las canceladas.
  • Agendar es un clic en el hueco: haces clic en el jueves a las 10 y el formulario abre con esa fecha y hora ya puestas; sólo eliges el prospecto. Desde la ficha de un prospecto, el botón «En el calendario» hace lo mismo con el prospecto ya elegido.
  • Mover una cita o cambiar su estado es hacer clic en ella. Cada cambio de hora queda en la línea de tiempo del prospecto, con el antes y el después.
  • Cada cita lleva su duración (de 30 minutos a 3 horas), qué le muestras —un espacio o toda la propiedad— y quién la atiende.
Es distinto del calendario de tareas a propósito: ese reúne vencimientos, entradas y salidas por día, y responde «¿qué hay este mes?». Este es la agenda comercial y responde «¿a qué hora puedo enseñar el departamento el jueves?».
Los formularios de contacto de tus anuncios públicos entran solos aquí, con origen «sitio web» y la propiedad o el espacio que estaban viendo.
Este listado se filtra por etapa, origen y responsable —marcando varias a la vez— y por presupuesto como rango. Ver «Buscar y filtrar en cualquier listado».

Todo lo que se puede hacer aquí

AcciónDirecciónQuién puedeCómo
Ver los prospectos/crm/crm.viewPantalla
Tablero del embudo/crm/tablero/crm.viewPantalla
Dar de alta un prospecto/crm/nuevo/crm.createPantalla
Ficha del prospecto/crm/<int:pk>/crm.viewPantalla
Editar el prospecto/crm/<int:pk>/editar/crm.editPantalla
Cambiar de etapa/crm/<int:pk>/etapa/crm.editPantalla
Eliminar el prospecto/crm/<int:pk>/eliminar/crm.deletePantalla
Agendar un seguimiento/crm/<int:lead_pk>/seguimiento/crm.editBotón (POST)
Completar un seguimiento/crm/seguimiento/<int:pk>/completar/crm.editBotón (POST)
Agendar una visita/crm/<int:lead_pk>/visita/crm.editBotón (POST)
Calendario de citas/crm/calendario/crm.viewPantalla
Agendar una cita en el calendario/crm/citas/nueva/crm.editPantalla
Mover una cita o cambiar su estado/crm/citas/<int:pk>/editar/crm.editPantalla
Eliminar una cita/crm/citas/<int:pk>/eliminar/crm.deleteBotón (POST)

13. Ocupación

La ocupación es el corazón del sistema: quién ocupa qué espacio y desde cuándo. De ella cuelgan el contrato, los cargos, el depósito y el acceso al portal.

Dar de alta a un inquilino

Requiere: occupancy.create

  1. Ocupación → Nueva: elige espacio y persona (o créala ahí mismo).
  2. Fechas de entrada y, si la sabes, de salida. Estado desde tu lista de estados.
  3. Día de pago (1–31): es el ancla con la que se generan las rentas y se prorratea el primer mes.
  4. Depósito esperado: se propone el del espacio.
  5. Guarda. Desde su ficha ya puedes generar el contrato, abrir el depósito, ver sus cargos y crear su acceso al portal (5.8).
Dos cosas que el sistema no te dejará hacer, porque romperían la renta y el historial: una salida anterior a la entrada, y meter más ocupantes de los que el espacio admite (si le pusiste capacidad; si la dejaste vacía, no se limita nada — «no lo sé» no es «uno»).

Corregir el correo o el teléfono del inquilino

Requiere: people.edit

En la ficha de la ocupación, tarjeta «Contacto del inquilino». Es donde se captura el correo que faltó al dar de alta, o se corrige el que quedó mal escrito.

  • Sin correo no hay acceso al portal: el botón de crear el acceso te lo dice («Falta el correo») en lugar de fallar, y te lleva a esa tarjeta.
  • Estás editando la identidad de la persona, que es global: el mismo correo vale para el CRM, sus contratos y su portal. Por eso el permiso es people.edit y no el de ocupación.
  • Dejar un campo vacío no borra lo que ya está guardado, y un correo mal formado se rechaza en vez de guardarse: una dirección que parece estar y no funciona es peor que una vacía.

Terminar una ocupación

  1. Ficha de la ocupación → «Finalizar» → fecha de salida.
  2. Deja de contar como vigente: sale de «Inquilinos actuales» y pasa al historial del espacio.
  3. Su historial —contratos, cargos, pagos, depósito— se conserva completo.
Revisa el depósito antes de cerrar: es el momento de registrar retenciones o la devolución (cap. 15).
Este listado se filtra por estado —marcando varios— y por rangos de entrada, salida y renta. Filtrar por salida no esconde las ocupaciones vigentes, que no la tienen. Ver «Buscar y filtrar en cualquier listado».

Todo lo que se puede hacer aquí

AcciónDirecciónQuién puedeCómo
Ver el listado/ocupacion/occupancy.viewPantalla
Dar de alta/ocupacion/nueva/occupancy.createPantalla
Ver la ficha/ocupacion/<int:pk>/occupancy.viewPantalla
Editar/ocupacion/<int:pk>/editar/occupancy.editPantalla
Finalizar/ocupacion/<int:pk>/finalizar/occupancy.editPantalla
Capturar el correo y el teléfono del inquilino/ocupacion/<int:pk>/contacto/people.editBotón (POST)
Crear acceso al portal/ocupacion/<int:pk>/invitar/administration.manage_usersBotón (POST)

14. Contratos y firma

De la plantilla al contrato firmado

Requiere: contracts.create; para plantillas, contracts.edit

  1. Plantilla (Contratos → Plantillas): escribe tu contrato una vez e inserta campos desde el panel lateral (inquilino, propiedad, renta, fechas…). Puedes partir de una plantilla de arrendamiento de ejemplo y duplicar plantillas para hacer variantes.
  2. Generar: elige plantilla y, muy recomendable, la ocupación. Los campos se llenan solos con sus datos —y siguen siendo editables: lo que escribas manda.
  3. Revisa la vista previa: los campos sin llenar se ven a simple vista.
  4. Agrega firmantes (nombre y correo). Cada uno recibe su enlace personal.
  5. Comparte cada enlace: copiar, WhatsApp, correo o QR.
  6. El firmante abre su enlace sin iniciar sesión, lee, acepta y firma dibujando con el dedo o el ratón —o escribiendo su nombre—. La página lleva tu marca.
  7. Sigue el avance en la ficha: barra de progreso, quién firmó y cuándo, y una línea de tiempo. Cuando firman todos, se avisa a quien pueda editar contratos.
  8. Descarga el PDF: con tu logo, «Página X de Y» y las firmas estampadas al pie de todas las páginas.

Cancelar un contrato lo deja fuera de circulación y sus enlaces dejan de aceptar firmas. El estado del contrato sale de tu lista configurable de estados.

Este listado se filtra por estado y por propiedad, marcando varias en cada uno. La propiedad encuentra el contrato aunque no la lleve puesta: la hereda de su ocupación. Ver «Buscar y filtrar en cualquier listado».

Todo lo que se puede hacer aquí

AcciónDirecciónQuién puedeCómo
Ver los contratos/contratos/contracts.viewPantalla
Generar un contrato/contratos/nuevo/contracts.createPantalla
Vista previa/contratos/vista-previa/contracts.viewPantalla
Traer datos de la ocupación/contratos/valores-ocupacion/contracts.viewPantalla
Ficha del contrato/contratos/<int:pk>/contracts.viewPantalla
contract_edit/contratos/<int:pk>/editar/contracts.resend_for_signaturePantalla
Cancelar el contrato/contratos/<int:pk>/cancelar/contracts.editPantalla
Ver las plantillas/contratos/plantillas/contracts.viewPantalla
Crear una plantilla/contratos/plantillas/nueva/contracts.editPantalla
Editar la plantilla/contratos/plantillas/<int:pk>/editar/contracts.editPantalla
Duplicar la plantilla/contratos/plantillas/<int:pk>/duplicar/contracts.editPantalla
Firmar (enlace del firmante)/contratos/firmar/<uuid:token>/pública: enlace secreto por firmantePantalla
La única dirección de este módulo que funciona sin iniciar sesión es la de firma, y sólo con el enlace secreto de cada firmante. Sigue funcionando aunque el módulo de contratos esté apagado para la organización: un enlace que ya entregaste no debe romperse.

15. Finanzas

Cuatro ideas ordenan el módulo: se cobra con cargos, se recibe con pagos, se gasta con gastos, y todo movimiento aprobado queda asentado en un libro que no se edita (las correcciones se hacen con un movimiento inverso).

Cobrar la renta del periodo

Requiere: finance.create

  1. Finanzas → Ingresos → «Generar renta» abre una pantalla de selección, no genera nada todavía: lista cada periodo de renta que se podría cobrar y que aún no tiene cargo, agrupado por propiedad → espacio → ocupación, con casillas en cascada (marcar una propiedad marca sus espacios, sus ocupaciones y sus periodos) y un filtro para ver sólo los pasados, actuales o futuros (hasta 90 días adelante, para planear con tiempo).
  2. Cada periodo muestra el espacio, el inquilino, las fechas, el vencimiento, el cálculo explicado y el monto. Marcas exactamente los que quieres y pulsas «Generar los seleccionados» — nada se crea hasta ese clic.
  3. Es idempotente: un periodo que ya se generó no vuelve a aparecer en la lista, así que no hay manera de duplicar un cargo.
  4. El primer mes y el último se prorratean según las reglas que fijaste en Administración → General → Finanzas.
  5. Cada cargo explica su cálculo. Puedes ajustarlo con permiso; se conserva el importe calculado original junto al ajustado.
  6. Todo cargo nace Pendiente: no cuenta como cobrado ni entra al saldo hasta que registras el pago del inquilino y alguien con permiso lo aprueba.

Registrar y aprobar un pago

Registrar: finance.create · Aprobar o rechazar: administration.approve_payments

  1. Desde el cargo → «Registrar pago»: monto, método, cuenta, referencia y comprobantes.
  2. Nace pendiente: todavía no cuenta como cobrado. Se avisa a quien apruebe pagos.
  3. En Finanzas → Pagos (pestaña Pendientes) lo apruebas o lo rechazas.
  4. Al aprobar: se asienta el ingreso en el libro (si hay cuenta) y el cargo recalcula su estado —pendiente, parcial o pagado—. Se le avisa al inquilino.
Si el pago excede el saldo del cargo, no se rechaza: se aplica lo que salda el cargo y el resto queda como saldo a favor —un pago sin aplicar, con su dueño— listo para usarse en otro cargo. El dinero llegó; negarlo no lo devuelve.
Los pagos que reporta un inquilino llegan a esa misma cola sin aplicar: no traen cargo. En la fila eliges a qué cargo corresponde y lo apruebas en el mismo clic. Sólo se puede reasignar mientras esté pendiente: una vez aprobado, el libro y el saldo ya lo reflejan.

Registrar un gasto y pagarlo

Registrar: finance.create · Aprobar: administration.approve_expenses

  1. Finanzas → Gastos → Nuevo: categoría, monto, fecha, propiedad (opcional) y comprobantes.
  2. Queda pendiente hasta que alguien lo apruebe.
  3. Aprobado, se puede pagar eligiendo la cuenta de salida; ahí se asienta en el libro.
  4. Un gasto ya pagado no se edita ni se elimina — está asentado.

Depósito en garantía

Requiere: administration.approve_deposits para los movimientos

  1. Ábrelo desde la ocupación con el monto esperado.
  2. Registra sus movimientos: recibido, retenido, devuelto, perdido.
  3. El estado se recalcula solo (pendiente, parcial, completo, devuelto, retenido) y el inquilino ve lo esperado, lo acumulado y cada movimiento en su portal.

Penalizaciones y recargos

  1. Define reglas (monto fijo o porcentaje, con días de gracia).
  2. Aplícalas desde Finanzas → Penalizaciones o sobre un cargo vencido.
  3. Se genera su propio cargo, explicado, y se le puede avisar al inquilino.

Además: cuentas (bancos, caja, monedero digital) con varios números por cuenta y saldo derivado del libro; presupuestos por categoría y periodo contra lo real; panel con cobrado, gastado, neto, por cobrar, renta suponiendo ocupación total, renta de la ocupación actual y gráficas; y filtros por fechas, propiedad, espacio y ocupación en todas las pantallas, con exportación a CSV.

Qué significa cada estado

RegistroEstados de fábricaQuién los mueve
CargoPendiente → Parcial → Pagado · Cancelado Se recalcula solo con los pagos aprobados; cancelar es manual.
PagoPendiente → Aprobado o Rechazado Quien tenga administration.approve_payments.
GastoPendiente → Aprobado → Pagado · Cancelado Aprobar y pagar son dos permisos y dos momentos distintos.
DepósitoNo requerido · Pendiente · Parcial · Completo · Devuelto · Retenido Se recalcula con sus movimientos.
Estos estados son listas tuyas: puedes renombrarlos y cambiarles el color. Conviene no borrarlos, porque el sistema los usa para saber qué está cobrado y qué no.

Todo lo que se puede hacer aquí

AcciónDirecciónQuién puedeCómo
Panel de finanzas/finanzas/finance.viewPantalla
Ingresos (cargos)/finanzas/cargos/finance.viewPantalla
Crear un cargo/finanzas/cargos/nuevo/finance.createPantalla
Generar la renta del periodo/finanzas/cargos/generar-renta/finance.createPantalla
Ficha del cargo/finanzas/cargos/<int:pk>/finance.viewPantalla
Editar el cargo/finanzas/cargos/<int:pk>/editar/finance.editPantalla
Cancelar el cargo/finanzas/cargos/<int:pk>/cancelar/finance.editPantalla
Eliminar el cargo/finanzas/cargos/<int:pk>/eliminar/finance.deletePantalla
Ajustar el monto calculado/finanzas/cargos/<int:pk>/ajustar/finance.editPantalla
Registrar un pago/finanzas/cargos/<int:pk>/pago/finance.createPantalla
Cola de pagos/finanzas/pagos/finance.viewPantalla
Aplicar un pago a un cargo/finanzas/pagos/<int:pk>/aplicar/administration.approve_paymentsPantalla
Aprobar un pago/finanzas/pagos/<int:pk>/aprobar/administration.approve_paymentsPantalla
Rechazar un pago/finanzas/pagos/<int:pk>/rechazar/administration.approve_paymentsPantalla
Ver los gastos/finanzas/gastos/finance.viewPantalla
Registrar un gasto/finanzas/gastos/nuevo/finance.createPantalla
Ficha del gasto/finanzas/gastos/<int:pk>/finance.viewPantalla
Editar el gasto/finanzas/gastos/<int:pk>/editar/finance.editPantalla
Eliminar el gasto/finanzas/gastos/<int:pk>/eliminar/finance.deletePantalla
Aprobar el gasto/finanzas/gastos/<int:pk>/aprobar/administration.approve_expensesPantalla
Pagar el gasto/finanzas/gastos/<int:pk>/pagar/administration.approve_expensesPantalla
Adjuntar comprobante/finanzas/gastos/<int:pk>/comprobante/finance.editPantalla
Ver las cuentas/finanzas/cuentas/finance.viewPantalla
Crear una cuenta/finanzas/cuentas/nueva/finance.createPantalla
Ficha de la cuenta/finanzas/cuentas/<int:pk>/finance.viewPantalla
Editar la cuenta/finanzas/cuentas/<int:pk>/editar/finance.editPantalla
Agregar un número de cuenta/finanzas/cuentas/<int:pk>/numero/agregar/finance.editPantalla
Eliminar un número de cuenta/finanzas/cuentas/numeros/<int:pk>/eliminar/finance.editPantalla
Ver los presupuestos/finanzas/presupuestos/finance.viewPantalla
Crear un presupuesto/finanzas/presupuestos/nuevo/finance.createPantalla
Abrir el depósito/finanzas/depositos/abrir/finance.createPantalla
Ficha del depósito/finanzas/depositos/<int:pk>/finance.viewPantalla
Registrar un movimiento del depósito/finanzas/depositos/<int:pk>/movimiento/finance.editPantalla
Aplicar una penalización/finanzas/penalizaciones/aplicar/finance.createPantalla

16. Tareas y calendario

Trabajar con tareas

Requiere: tasks.create, tasks.edit

  1. Tareas → Nueva: título, tipo, prioridad, estado, responsable y vencimiento.
  2. Liga la tarea a una propiedad, espacio, ocupación o prospecto: así aparece en el contexto correcto y respeta el alcance de cada quien.
  3. Trabaja en lista (con filtros por estado y responsable) o en tablero, arrastrando entre columnas.
  4. Al asignar una tarea se avisa a su responsable.
  5. Las tareas vencidas se marcan solas.
Las solicitudes de ayuda que levanta un inquilino sobre un pago llegan aquí como tareas sin asignar, con el pago ligado en su ficha. Ver cap. 17.

El calendario (Tareas → Calendario, permiso calendar.view) reúne en un solo mes los vencimientos de tareas, las visitas del CRM y las entradas y salidas de inquilinos.

Todo lo que se puede hacer aquí

AcciónDirecciónQuién puedeCómo
Ver el listado/tareas/tasks.viewPantalla
Tablero/tareas/tablero/tasks.viewPantalla
Calendario/tareas/calendario/calendar.viewPantalla
Dar de alta/tareas/nueva/tasks.createPantalla
Ver la ficha/tareas/<int:pk>/tasks.viewPantalla
Editar/tareas/<int:pk>/editar/tasks.editPantalla
settings/tareas/configuracion/administration.manage_workflowsPantalla
Cambiar el estado/tareas/<int:pk>/estado/tasks.editPantalla
change_step/tareas/<int:pk>/paso/tasks.viewPantalla
claim/tareas/<int:pk>/tomar/tasks.viewPantalla
add_note/tareas/<int:pk>/nota/tasks.viewPantalla
Eliminar/tareas/<int:pk>/eliminar/tasks.deletePantalla

17. Portal del inquilino

Lo que ve tu inquilino: sólo lo suyo, nunca la operación interna. Se le da acceso desde su ocupación (5.8).

Qué encuentra

El inquilino reporta un pago

Requiere (en el rol Inquilino): portal.payments.create

  1. Portal → Estado de cuenta → «Reportar un pago».
  2. Captura monto, fecha y una nota —los tres obligatorios— y hasta 3 imágenes del comprobante, opcionales.
  3. Dice a qué corresponde, entre tres opciones: no lo relaciono con nada (un pago suelto o un adelanto), estoy pagando algo que debo —eligiendo uno de sus propios cargos pendientes, su renta o una penalización— o es para mi depósito. Sólo se le ofrecen sus cargos con saldo y sus depósitos: no hay identificador que pueda teclear para alcanzar los de otro.
  4. Eso es una declaración, no una aplicación: el pago llega a tu cola de Finanzas → Pagos como pendiente y nada toca el saldo de un cargo ni el depósito hasta que alguien lo apruebe. Se avisa a quien apruebe pagos.
  5. confirmas o cambias el destino y lo apruebas o lo rechazas; el inquilino recibe el aviso. Si venía declarado para el depósito y lo reasignas a un cargo, deja de abonarse al depósito —el dinero no se cuenta dos veces—.
  6. Un pago declarado para el depósito se abona al depósito al aprobarlo, como un movimiento «recibido» que dice de qué pago vino. Por eso aprobarlo exige, además del permiso de aprobar pagos, el de administration.approve_deposits: mover un depósito es una facultad aparte y esta ruta no es su puerta de atrás.
El inquilino no elige qué cargo salda su dinero, y no puede editar ni borrar un pago que ya reportó. Un registro de dinero no es suyo para reescribirlo.

«Necesito ayuda» con un pago

Requiere (en el rol Inquilino): portal.help.create y, para seguirla, portal.tasks.view

  1. En cualquier pago suyo —pendiente o ya aprobado— pulsa «Necesito ayuda».
  2. Escribe qué está mal (obligatorio) y adjunta una imagen si quiere.
  3. Se abre una tarea ligada a ese pago, sin asignar, en tu listado de Tareas, y se avisa a quien apruebe pagos.
  4. Él sigue el avance en «Mis solicitudes»; tú la trabajas y la cierras como cualquier otra tarea.

Cómo se apagan estas capacidades

Las tres son permisos normales del rol Inquilino y vienen activadas. Para quitarlas: Administración → Roles → Inquilino → apartado «Portal del inquilino» → desmarca. Desaparecen del portal de inmediato.

Son permisos propios del portal a propósito. Darle al inquilino el permiso de «finanzas» del equipo le abriría los cargos y los pagos de toda la organización: el portal filtra siempre por su propia persona, pero el módulo de finanzas no.

Qué NO puede hacer un inquilino

Todo lo que se puede hacer aquí

AcciónDirecciónQuién puedeCómo
Inicio/portal/portal: sólo sus propios registrosPantalla
Mis contratos/portal/contratos/portal: sólo sus propios registrosPantalla
Leer y descargar su contrato/portal/contratos/<int:pk>/portal: sólo sus propios registrosPantalla
Estado de cuenta/portal/estado-cuenta/portal: sólo sus propios registrosPantalla
Reportar un pago/portal/pagos/nuevo/portal.payments.createPantalla
Pedir ayuda con un pago/portal/pagos/<int:pk>/ayuda/portal.help.createPantalla
Mis solicitudes/portal/solicitudes/portal.tasks.viewPantalla
task_new/portal/pendientes/nuevo/portal.tasks.createPantalla
task_close/portal/pendientes/<int:pk>/cerrar/portal.tasks.createPantalla
Mis depósitos/portal/depositos/portal: sólo sus propios registrosPantalla

18. Tus listas configurables

Casi ningún valor está escrito en el código: los tipos, estados, categorías y etapas son listas tuyas. Cada opción tiene código, etiqueta, color, orden, activo/inactivo y una predeterminada por lista.

Cómo: Administración → Catálogos (/configuracion/), permiso administration.configure_organization. Entra a una lista, agrega opciones, edítalas, reordénalas, márca la predeterminada y desactiva las que ya no uses.
Desactivar es mejor que eliminar: una opción desactivada deja de ofrecerse en los formularios pero los registros históricos que la usaban siguen mostrándola correctamente.

Las de ámbito «Plataforma» son compartidas por todas las organizaciones (tú puedes añadir las tuyas); las demás son exclusivamente tuyas.

ListaÁmbito¿Agregar opciones?Opciones de fábrica
Género
gender
Plataforma (compartida)
Tipo de método de contacto
contact_method_type
Tu organización
Estado de miembro
membership_status
Tu organizaciónActivo, Invitado, Suspendido, Inactivo
Tipo de propiedad
property_type
Tu organizaciónCasa, Edificio de departamentos, Hotel, Hostal, Oficina, Bodega, Local comercial, Centro comercial, Torre residencial, Edificio industrial, Terreno, Uso mixto
Estado de propiedad
property_status
Tu organizaciónBorrador, Disponible, Operando, Mantenimiento, Cerrada temporalmente, Vendida, Inactiva
Modelo de propiedad (tenencia)
ownership_model
Tu organizaciónPropia, Administrada para terceros, Arrendada, Subarrendada, Sociedad de inversión, Activo corporativo, Propiedad gubernamental
Tipo de espacio
space_type
Tu organizaciónRecámara, Estudio, Departamento, Loft, Oficina, Suite, Local comercial, Estacionamiento, Bodega
Estado de espacio
space_status
Tu organizaciónBorrador, Disponible, Reservado, Ocupado, Limpieza, Mantenimiento, Inspección, Bloqueado
Tipo de nota o documento
note_type
Tu organizaciónContrato con el propietario, Escritura, Predial, Seguro, Contrato de servicios, Permiso o licencia, Avalúo, Plano, Inventario, Entrega de llaves, Nota interna, Otro
Prioridad de tarea
task_priority
Tu organizaciónBaja, Media, Alta, Urgente
Estado de tarea
task_status
Tu organizaciónPendiente, En proceso, Completado, Aprobado
Tipo de tarea
task_type
Tu organizaciónGeneral, Mantenimiento, Limpieza, Inspección, Administrativa, Seguimiento
Categoría de gasto
expense_category
Tu organizaciónServicios, Mantenimiento, Limpieza, Nómina, Seguros, Impuestos, Hipoteca, Servicios profesionales, Marketing, Administrativo, Otro
Categoría de ingreso
income_category
Tu organizaciónRenta, Depósito, Penalización, Reservación, Servicio, Otro
Tipo de cuenta financiera
account_type
Tu organizaciónBanco, Efectivo, Crédito, Débito, Hipoteca, Préstamo, Inversión, Billetera digital, Caja chica
Institución financiera
financial_institution
Plataforma (compartida)
Tipo de transacción
transaction_type
Tu organizaciónIngreso, Gasto, Transferencia, Depósito, Reembolso, Penalización, Ajuste, Interés, Comisión, Cancelación de deuda
Método de pago
payment_method
Tu organizaciónEfectivo, Transferencia, Depósito bancario, Tarjeta, Cheque, Billetera digital, Pago con QR
Concepto de cargo
charge_concept
Tu organizaciónRenta, Depósito, Penalización, Venta, Otros
Estado de cargo
charge_status
Tu organizaciónPendiente, Parcial, Pagado, Cancelado
Estado de pago
payment_status
Tu organizaciónPendiente, Aprobado, Rechazado, Información solicitada
Estado de gasto
expense_status
Tu organizaciónPendiente, Aprobado, Pagado, Cancelado
Tipo de penalización
penalty_type
Tu organizaciónPago tardío, Limpieza, Daños, Ruido, Reglas de la casa, Estacionamiento, Llaves perdidas
Tipo de movimiento de depósito
deposit_txn_kind
Tu organizaciónRecibido, Retenido, Devuelto, Perdido
Origen de prospecto
lead_source
Tu organizaciónFacebook Marketplace, WhatsApp, Instagram, Referido, Sitio web, Llamada, Visita espontánea, Roomgo, Otro
Etapa del pipeline (CRM)
crm_stage
Tu organizaciónNuevo, Contactado, Interesado, Visita agendada, Visitó, Negociando, Reservado, Contrato, Ocupado, Perdido
Motivo de pérdida (CRM)
lost_reason
Tu organizaciónMuy caro, Ubicación, Sin respuesta, Encontró otra opción, Presupuesto, Cancelado, Desconocido
Estado de visita (CRM)
visit_status
Tu organizaciónAgendada, Confirmada, Completada, Cancelada, No asistió
Estado de ocupación
occupancy_status
Tu organizaciónReservada, Activa, En aviso de salida, Finalizada, Cancelada
Estado de depósito
deposit_status
Tu organizaciónNo requerido, Pendiente, Parcial, Completado, Reembolsado, Retenido
Estado de contrato
contract_status
Tu organizaciónBorrador, Generado, Pendiente de firma, Activo, Vencido, Terminado, Cancelado
Categoría de notificación
notification_category
Tu organizaciónInformación, Recordatorio, Advertencia, Aprobación, Asignación, Pago, Gasto, Contrato, Mantenimiento, Sistema
Prioridad de notificación
notification_priority
Tu organizaciónBaja, Normal, Alta, Crítica
KPIs del panel
dashboard_kpi
Tu organizaciónno (lista fija)Ocupación, Ocupaciones vigentes, Ingresos del mes, Gastos del mes, Cargos por cobrar, Contratos por firmar, Prospectos activos, Tareas abiertas, Tareas vencidas, Depósitos pendientes, Propiedades, Espacios

Todo lo que se puede hacer aquí

AcciónDirecciónQuién puedeCómo
Ver las listas configurables/configuracion/administration.configure_organizationPantalla
Ver una lista/configuracion/catalogo/<slug:key>/administration.configure_organizationPantalla
Agregar una opción/configuracion/catalogo/<slug:key>/opcion/agregar/administration.configure_organizationPantalla
Editar una opción/configuracion/catalogo/<slug:key>/opcion/<int:pk>/editar/administration.configure_organizationPantalla
Activar o desactivar una opción/configuracion/catalogo/<slug:key>/opcion/<int:pk>/activar/administration.configure_organizationPantalla
Marcar como predeterminada/configuracion/catalogo/<slug:key>/opcion/<int:pk>/predeterminar/administration.configure_organizationPantalla
Eliminar una opción/configuracion/catalogo/<slug:key>/opcion/<int:pk>/eliminar/administration.configure_organizationPantalla

19. Notificaciones

Las notificaciones son dentro de la aplicación (la campana del menú superior). Todavía no salen por correo.

Quién recibe cada aviso

Cómo: Administración → Notificaciones (/notificaciones/reglas/), permiso administration.manage_notifications. Hay una fila por situación: la apagas, o —en los avisos del equipo— la diriges a roles concretos en lugar del reparto normal.
SituaciónEventoA quién le llega de fábrica¿Se puede redirigir a otros roles?
Contrato firmado por todas las partescontract.signedQuien tenga «contracts.edit»
Pago registrado (pendiente de aprobar)finance.payment_recordedQuien tenga «administration.approve_payments»
Gasto registrado (pendiente de aprobar)finance.expense_createdQuien tenga «administration.approve_expenses»
Tarea asignadaworkitem.assignedLa persona asignadano
El inquilino levantó un pendienteportal.task_filedQuien tenga «tasks.edit»
El inquilino pidió ayuda con un pagoportal.help_requestedQuien tenga «administration.approve_payments»
Contrato listo para firmar (al inquilino)contract.createdEl inquilinono
Pago aprobado (al inquilino)finance.payment_approvedEl inquilinono
Pago rechazado (al inquilino)finance.payment_rejectedEl inquilinono
Penalización aplicada (al inquilino)finance.penalty_appliedEl inquilinono
El aviso se manda a quien tenga esa responsabilidad en el momento en que ocurre: si mañana cambias quién aprueba pagos, los avisos se van solos a la persona correcta. Nadie recibe aviso de algo que hizo él mismo. Los avisos al inquilino sólo se encienden o apagan, y sólo llegan si le diste acceso al portal.
La lista de situaciones es parte de la aplicación; lo que tú configuras es a quién le llega cada una. Inventar situaciones nuevas será terreno del motor de automatizaciones, todavía por construir.

Tus preferencias personales

Cómo: campana → «Preferencias». Puedes silenciar categorías completas o apagar los avisos en la aplicación.

Tus preferencias sólo pueden quitarte avisos, nunca darte los que tu rol no debería ver.

Todo lo que se puede hacer aquí

AcciónDirecciónQuién puedeCómo
Centro de notificaciones/notificaciones/personal: sus propias notificacionesPantalla
Matriz de avisos/notificaciones/reglas/administration.manage_notificationsPantalla
Contador de no leídas/notificaciones/no-leidas/personal: sus propias notificacionesPantalla
Marcar todas como leídas/notificaciones/marcar-todas/personal: sus propias notificacionesBotón (POST)
Mis preferencias de aviso/notificaciones/preferencias/personal: sus propias preferenciasBotón (POST)
Abrir una notificación/notificaciones/<int:pk>/abrir/personal: sus propias notificacionesPantalla
Marcar como leída/notificaciones/<int:pk>/leer/personal: sus propias notificacionesBotón (POST)
Archivar una notificación/notificaciones/<int:pk>/archivar/personal: sus propias notificacionesBotón (POST)

20. Auditoría

El historial completo de la operación: cualquier cambio queda anotado con fecha y hora, quién lo hizo, sobre qué registro y qué cambió —valor anterior y nuevo.

Cómo: Administración → Auditoría (/auditoria/), permiso audit.view. Filtra por rango de fechas (por omisión, el mes en curso), por tipo de movimiento y por persona, y exporta lo que estés viendo.
La bitácora sólo se agrega: nadie la edita ni la borra, ni siquiera un administrador. Ahí está su valor cuando hay que aclarar algo.
Dos cosas que quedan registradas y conviene saber que se ven: cuando alguien restablece la contraseña de otra persona, y cuando un superusuario de la plataforma entra a tu organización para dar soporte —y cuándo sale—.

Qué queda registrado: altas, cambios (con valor anterior y nuevo), bajas, y los hechos de negocio que publican los módulos —un contrato firmado, un pago aprobado, una penalización aplicada—. Los accesos de un superusuario «entrando como» una organización también.

AcciónDirecciónQuién puedeCómo
Bitácora de auditoría/auditoria/reports.viewPantalla

21. Identificadores

Cada registro lleva un identificador legible con la forma PREFIJO-TIPO-NÚMERO — por ejemplo RRG-PRP-00001 es la primera propiedad de la organización con prefijo RRG.

TipoQué esTipoQué es
PRPPropiedadSPCEspacio
PRSPersonaLEDProspecto
OCCOcupaciónCTRContrato
PAYPagoFINCargo
EXPGastoDEPDepósito
ACCCuentaTRNMovimiento del libro
TSKTareaROLRol

Los números no se reciclan y cada organización tiene su propia numeración: tu RRG-PAY-00007 no tiene nada que ver con el de otra. Úsalos al buscar y al hablar con soporte: identifican un registro sin ambigüedad.

22. Mensajes y errores

Qué significan los mensajes que más aparecen y qué hacer con ellos.

MensajeQué pasóQué hacer
«No tienes permiso para esta acción»Tu rol no tiene ese permiso. Pídele a quien administre roles que lo revise (cap. 6).
Página «no encontrado» en un registro que existe Está fuera de tu alcance. Revisa el reino de tu membresía (cap. 7).
«Selecciona una organización»No tienes organización activa: normalmente porque te quedaste sin membresías vigentes.Que te vuelvan a dar de alta.
«Ya existe una cuenta con…: se enlazó a la organización» Todo bien: se reutilizó una identidad existente. Nada. Su contraseña sigue siendo la suya.
«El correo … ya pertenece a otra identidad» Intentas dar acceso con un correo que es de otra persona. Corrige el correo en la ficha de la persona.
«Ese prefijo ya está en uso»Los prefijos no se reciclan, ni tras borrar la organización.Elige otro.
«… no tiene una cuenta de acceso»Existe como persona pero nunca se le dio acceso.Créale el acceso primero (5.8).
«Tipo de archivo no permitido» / «pesa más de 8 MB» La validación de subidas rechazó el archivo. Sube imágenes (JPG, PNG, GIF, WEBP, HEIC) o PDF; los comprobantes del equipo admiten además TXT y Word.
«Este pago ya está aprobado; no se puede reasignar» El libro y el saldo ya lo reflejan. Corrige con un movimiento nuevo, no reescribiendo el anterior.

23. Preguntas frecuentes

¿Puedo tener dos organizaciones con los mismos datos?

Las personas son globales y se comparten; propiedades, contratos y dinero no: pertenecen a una organización y no se ven entre sí.

Cambié un permiso, ¿cuándo aplica?

De inmediato, en el siguiente clic de esa persona. No hace falta que cierre sesión.

Si borro algo, ¿se pierde?

No: sale de las listas pero se conserva, y la bitácora guarda quién lo borró y cuándo.

¿Por qué no me llegan correos?

Porque todavía no hay proveedor de correo saliente configurado. Los avisos son dentro de la aplicación, y las contraseñas se entregan a mano (5.6).

¿Puedo dejar de ver una lista sin borrarla?

Sí: desactiva sus opciones en Catálogos. Los registros viejos las siguen mostrando.

¿Qué pasa si el inquilino paga de más o antes de tiempo?

Regístralo igual: un pago sin cargo queda «sin aplicar» hasta que alguien decida qué salda. Es el mismo camino que siguen los pagos que reporta el inquilino.

¿Se puede recuperar la base de datos si algo sale mal?

Sí. Hay respaldo diario automático de la base y de los archivos, con retención, y antes de cada actualización se toma uno fresco.

Apéndice A. Mapa de direcciones

Todas las pantallas de la aplicación. Útil para enlazar directo, para soporte y para que un asistente responda «¿dónde está X?».

Administración de plataforma (solo superusuarios)

DirecciónNombre interno
/plataforma/platform_admin:home
/plataforma/buscar/platform_admin:search
/plataforma/usuarios/platform_admin:user_list
/plataforma/usuarios/nuevo/platform_admin:user_create
/plataforma/usuarios/<int:pk>/platform_admin:user_detail
/plataforma/usuarios/<int:pk>/restablecer-contrasena/platform_admin:user_reset_password
/plataforma/usuarios/<int:pk>/ligar/platform_admin:user_link_organization
/plataforma/propiedades/platform_admin:property_list
/plataforma/organizaciones/nueva/platform_admin:organization_create
/plataforma/organizaciones/<int:pk>/platform_admin:organization_detail
/plataforma/organizaciones/<int:pk>/modulos/platform_admin:organization_modules
/plataforma/organizaciones/<int:pk>/miembros/agregar/platform_admin:organization_add_member
/plataforma/organizaciones/<int:pk>/entrar/platform_admin:organization_enter
/plataforma/salir-de-organizacion/platform_admin:organization_exit
/plataforma/organizaciones/<int:pk>/miembros/<int:membership_pk>/restablecer-contrasena/platform_admin:member_reset_password

Administración de la organización

DirecciónNombre interno
/org/switch/organizations:switch
/org/administracion/organizations:administration
/org/marca/organizations:branding
/org/miembros/organizations:members
/org/miembros/agregar/organizations:member_add
/org/miembros/<int:pk>/rol/organizations:member_set_role
/org/miembros/<int:pk>/alcance/organizations:member_set_realm
/org/miembros/<int:pk>/estado/organizations:member_set_status
/org/miembros/<int:pk>/finalizar/organizations:member_end
/org/miembros/<int:pk>/restablecer-contrasena/organizations:member_reset_password

Roles y permisos

DirecciónNombre interno
/roles/authorization:role_list
/roles/<int:pk>/authorization:role_matrix
/roles/<int:pk>/renombrar/authorization:role_rename
/roles/<int:pk>/restaurar/authorization:role_restore
/roles/<int:pk>/eliminar/authorization:role_delete

Catálogos (listas configurables)

DirecciónNombre interno
/configuracion/configuration:settings_home
/configuracion/catalogo/<slug:key>/configuration:catalog_detail
/configuracion/catalogo/<slug:key>/opcion/agregar/configuration:option_add
/configuracion/catalogo/<slug:key>/opcion/<int:pk>/editar/configuration:option_edit
/configuracion/catalogo/<slug:key>/opcion/<int:pk>/activar/configuration:option_toggle_active
/configuracion/catalogo/<slug:key>/opcion/<int:pk>/predeterminar/configuration:option_make_default
/configuracion/catalogo/<slug:key>/opcion/<int:pk>/eliminar/configuration:option_delete

Mi perfil

DirecciónNombre interno
/perfil/identity:profile
/perfil/editar/identity:profile_edit
/perfil/avatar/identity:avatar_upload
/perfil/avatar/recortar/identity:avatar_recrop
/perfil/avatar/<int:person_pk>/identity:avatar_upload
/perfil/avatar/<int:person_pk>/recortar/identity:avatar_recrop
/perfil/contacto/<str:kind>/agregar/identity:contact_add
/perfil/contacto/<str:kind>/<int:pk>/principal/identity:contact_make_primary
/perfil/contacto/<str:kind>/<int:pk>/eliminar/identity:contact_delete

Propiedades y espacios

DirecciónNombre interno
/propiedades/properties:list
/propiedades/nueva/properties:create
/propiedades/<int:pk>/properties:detail
/propiedades/<int:pk>/editar/properties:edit
/propiedades/<int:pk>/eliminar/properties:delete
/propiedades/<int:property_pk>/espacios/nuevo/properties:space_create
/propiedades/espacios/<int:pk>/properties:space_detail
/propiedades/espacios/<int:pk>/editar/properties:space_edit
/propiedades/espacios/<int:pk>/eliminar/properties:space_delete
/propiedades/imagenes/<str:kind>/<int:parent_pk>/subir/properties:image_upload
/propiedades/imagenes/<str:kind>/<int:pk>/recortar/properties:image_recrop
/propiedades/imagenes/<str:kind>/<int:pk>/principal/properties:image_set_primary
/propiedades/imagenes/<str:kind>/<int:pk>/eliminar/properties:image_delete
/propiedades/notas/<str:kind>/<int:parent_pk>/properties:note_list
/propiedades/notas/<str:kind>/<int:parent_pk>/nueva/properties:note_create
/propiedades/notas/<str:kind>/<int:pk>/editar/properties:note_edit
/propiedades/notas/<str:kind>/<int:pk>/eliminar/properties:note_delete
/propiedades/compartir/properties:share_links
/propiedades/compartir/nuevo/properties:share_link_create
/propiedades/compartir/<int:pk>/activar/properties:share_link_toggle
/propiedades/compartir/<int:pk>/eliminar/properties:share_link_delete

Prospectos (CRM)

DirecciónNombre interno
/crm/crm:lead_list
/crm/tablero/crm:lead_kanban
/crm/nuevo/crm:lead_create
/crm/<int:pk>/crm:lead_detail
/crm/<int:pk>/editar/crm:lead_edit
/crm/<int:pk>/etapa/crm:lead_set_stage
/crm/<int:pk>/eliminar/crm:lead_delete
/crm/<int:lead_pk>/seguimiento/crm:followup_add
/crm/seguimiento/<int:pk>/completar/crm:followup_done
/crm/<int:lead_pk>/visita/crm:visit_add
/crm/calendario/crm:visit_calendar
/crm/citas/nueva/crm:visit_create
/crm/citas/<int:pk>/editar/crm:visit_edit
/crm/citas/<int:pk>/eliminar/crm:visit_delete

Ocupación

DirecciónNombre interno
/ocupacion/occupancy:list
/ocupacion/nueva/occupancy:create
/ocupacion/<int:pk>/occupancy:detail
/ocupacion/<int:pk>/editar/occupancy:edit
/ocupacion/<int:pk>/finalizar/occupancy:end
/ocupacion/<int:pk>/contacto/occupancy:person_contact
/ocupacion/<int:pk>/invitar/occupancy:invite

Contratos

DirecciónNombre interno
/contratos/contracts:contract_list
/contratos/nuevo/contracts:contract_create
/contratos/vista-previa/contracts:contract_preview
/contratos/valores-ocupacion/contracts:occupancy_values
/contratos/<int:pk>/contracts:contract_detail
/contratos/<int:pk>/editar/contracts:contract_edit
/contratos/<int:pk>/cancelar/contracts:contract_cancel
/contratos/plantillas/contracts:template_list
/contratos/plantillas/nueva/contracts:template_create
/contratos/plantillas/<int:pk>/editar/contracts:template_edit
/contratos/plantillas/<int:pk>/duplicar/contracts:template_duplicate
/contratos/firmar/<uuid:token>/contracts:sign

Finanzas

DirecciónNombre interno
/finanzas/finance:dashboard
/finanzas/cargos/finance:charge_list
/finanzas/cargos/nuevo/finance:charge_create
/finanzas/cargos/generar-renta/finance:generate_rent
/finanzas/cargos/<int:pk>/finance:charge_detail
/finanzas/cargos/<int:pk>/editar/finance:charge_edit
/finanzas/cargos/<int:pk>/cancelar/finance:charge_cancel
/finanzas/cargos/<int:pk>/eliminar/finance:charge_delete
/finanzas/cargos/<int:pk>/ajustar/finance:charge_override
/finanzas/cargos/<int:pk>/pago/finance:payment_create
/finanzas/pagos/finance:payment_list
/finanzas/pagos/<int:pk>/aplicar/finance:payment_apply
/finanzas/pagos/<int:pk>/aprobar/finance:payment_approve
/finanzas/pagos/<int:pk>/rechazar/finance:payment_reject
/finanzas/gastos/finance:expense_list
/finanzas/gastos/nuevo/finance:expense_create
/finanzas/gastos/<int:pk>/finance:expense_detail
/finanzas/gastos/<int:pk>/editar/finance:expense_edit
/finanzas/gastos/<int:pk>/eliminar/finance:expense_delete
/finanzas/gastos/<int:pk>/aprobar/finance:expense_approve
/finanzas/gastos/<int:pk>/pagar/finance:expense_pay
/finanzas/gastos/<int:pk>/comprobante/finance:expense_evidence_add
/finanzas/cuentas/finance:account_list
/finanzas/cuentas/nueva/finance:account_create
/finanzas/cuentas/<int:pk>/finance:account_detail
/finanzas/cuentas/<int:pk>/editar/finance:account_edit
/finanzas/cuentas/<int:pk>/numero/agregar/finance:account_number_add
/finanzas/cuentas/numeros/<int:pk>/eliminar/finance:account_number_delete
/finanzas/presupuestos/finance:budget_list
/finanzas/presupuestos/nuevo/finance:budget_create
/finanzas/depositos/abrir/finance:deposit_open
/finanzas/depositos/<int:pk>/finance:deposit_detail
/finanzas/depositos/<int:pk>/movimiento/finance:deposit_movement_add
/finanzas/penalizaciones/aplicar/finance:penalty_apply

Tareas y calendario

DirecciónNombre interno
/tareas/work:list
/tareas/tablero/work:board
/tareas/calendario/work:calendar
/tareas/nueva/work:create
/tareas/<int:pk>/work:detail
/tareas/<int:pk>/editar/work:edit
/tareas/configuracion/work:settings
/tareas/<int:pk>/estado/work:set_status
/tareas/<int:pk>/paso/work:change_step
/tareas/<int:pk>/tomar/work:claim
/tareas/<int:pk>/nota/work:add_note
/tareas/<int:pk>/eliminar/work:delete

Notificaciones

DirecciónNombre interno
/notificaciones/notifications:center
/notificaciones/reglas/notifications:rules
/notificaciones/no-leidas/notifications:unread_count
/notificaciones/marcar-todas/notifications:mark_all
/notificaciones/preferencias/notifications:preferences
/notificaciones/<int:pk>/abrir/notifications:open
/notificaciones/<int:pk>/leer/notifications:mark_read
/notificaciones/<int:pk>/archivar/notifications:archive

Portal del inquilino

DirecciónNombre interno
/portal/portal:home
/portal/contratos/portal:contracts
/portal/contratos/<int:pk>/portal:contract_detail
/portal/estado-cuenta/portal:statement
/portal/pagos/nuevo/portal:payment_new
/portal/pagos/<int:pk>/ayuda/portal:help_request
/portal/solicitudes/portal:requests
/portal/pendientes/nuevo/portal:task_new
/portal/pendientes/<int:pk>/cerrar/portal:task_close
/portal/depositos/portal:deposits

Auditoría

DirecciónNombre interno
/auditoria/audit:log

Páginas públicas compartidas

DirecciónNombre interno
/d/<str:token>/public:listing
/d/<str:token>/<int:pk>/public:space
/d/<str:token>/<int:pk>/contacto/public:contact

Acceso a la cuenta

DirecciónNombre interno
/accounts/password/change/account_change_password
/accounts/login/account_login
/accounts/logout/account_logout
/accounts/inactive/account_inactive
/accounts/signup/account_signup
/accounts/reauthenticate/account_reauthenticate
/accounts/email/account_email
/accounts/confirm-email/account_email_verification_sent
/accounts/password/change/account_change_password
/accounts/password/set/account_set_password
/accounts/password/reset/account_reset_password
/accounts/login/code/confirm/account_confirm_login_code
/accounts/password/reset/key/done/account_reset_password_from_key_done
/accounts/password/reset/done/account_reset_password_done

Generales

DirecciónNombre interno
/espacios/spaces:list
/espacios/cuadricula/spaces:grid
/espacios/tablero/spaces:board
/espacios/<int:pk>/estado/spaces:quick_status
/buscar/search
/panel/home
/landing

Apéndice B. Datos para asistentes

El bloque siguiente es la versión legible por máquina de todo lo anterior: el catálogo exacto de los 110 permisos, los ocho roles con sus códigos, las 33 listas configurables con sus opciones de fábrica, los eventos de aviso, los módulos, la pertenencia a propiedad y todas las direcciones. Va incrustado en el archivo, así que basta con entregar este HTML completo.

Está en un bloque <script type="application/json">: no se ve al leer ni ocupa páginas en el PDF, pero cualquier asistente que reciba el archivo lo lee.

Cómo se mantiene honesto: estos datos —y todas las tablas duras del documento— se regeneran con manage.py sync_guide_data, que las lee del catálogo de permisos y de los propios controles de cada pantalla. Una prueba de la suite (core.test_guide_data) compara la guía contra el código en cada corrida: si alguien agrega un permiso, un rol, una lista, un aviso o una pantalla y olvida actualizarla, la prueba falla y dice exactamente qué quedó desfasado. manage.py sync_guide_data --check responde lo mismo sin escribir nada.

Lo que ese comando no toca es la prosa: los capítulos están escritos a mano y se editan a mano. El comando sólo reemplaza lo que va entre marcas BEGIN/END. Tras regenerar, vuelve a exportar el PDF (ver deploy/README.md).