Skip to main content

Administrator Guide

This guide covers workflows and features available to administrators managing Happy Habitat communities. Administrators come in two types: System Administrators and Company Administrators.

Administrator Roles

System Administrator (SYSTEM_ADMIN)

System Administrators have full access to the entire platform and can:
  • Manage all communities across the system
  • Create and manage all user accounts
  • Access all administrative features without restrictions
  • Configure system-wide settings
Default System Admin Account:
Username: elgrandeahc
Password: abc123
Email: [email protected]
Change the default password immediately after first login in production environments.

Company Administrator (ADMIN_COMPANY)

Company Administrators manage specific communities assigned to them:
  • Manage residents, amenities, and tickets for assigned communities
  • View documents and reports for their communities
  • Cannot access communities not assigned to them
  • Cannot create other system administrators
Test Company Admin Accounts:
Username: admincom01
Password: admin123
Communities: 3 assigned

Username: admincom02  
Password: admin123
Communities: 2 assigned

Username: admincom03
Password: admin123
Communities: 1 assigned

Managing Communities

Create a New Community

Endpoint: POST /api/communities Required Role: ADMIN_COMPANY or SYSTEM_ADMIN Request Body:
{
  "nombre": "Residencial Los Pinos",
  "descripcion": "Fraccionamiento con alberca y áreas deportivas",
  "direccion": "Blvd. Los Pinos 500, Querétaro, QRO",
  "contacto": "[email protected]",
  "email": "[email protected]",
  "phone": "4426789012",
  "tipoComunidad": "FRACCIONAMIENTO",
  "latitud": 20.5950,
  "longitud": -100.4000,
  "cantidadViviendas": 180
}
Community Types:
  • FRACCIONAMIENTO - Residential subdivision
  • COLONIA - Neighborhood
  • COTO - Gated community

View Communities

Get All Communities: GET /api/communities Get Specific Community: GET /api/communities/{id}

Update Community

Endpoint: PUT /api/communities/{id} Update community details including contact information, address, and configuration.

Delete Community

Endpoint: DELETE /api/communities/{id}
Deleting a community is permanent. Ensure all data is backed up before deletion.

Managing Residents

View Residents

All Residents (Paginated):
GET /api/residents?page=1&pageSize=20
Residents by Community:
GET /api/residents/community/{communityId}
Residents from Multiple Communities:
GET /api/residents/by-communities?communityIds={id1}&communityIds={id2}

Create a Resident

Endpoint: POST /api/residents Request Body:
{
  "userId": "guid-of-user",
  "communityId": "guid-of-community",
  "fullName": "María González",
  "email": "[email protected]",
  "phone": "4421234567",
  "number": "A-101",
  "address": "Apartment A-101"
}
The userId must exist and cannot have another resident already associated.

Update Resident Information

Endpoint: PUT /api/residents/{id} Update resident contact information, unit number, or other details.

Delete a Resident

Endpoint: DELETE /api/residents/{id} Removes the resident record from the system.

Managing Users

View All Users

Endpoint: GET /api/users Query Parameters:
  • includeInactive: Boolean to include inactive users
Required Role: SYSTEM_ADMIN

Create a User

Endpoint: POST /api/users Request Body:
{
  "firstName": "Ana",
  "lastName": "Martínez",
  "username": "amartinez",
  "email": "[email protected]",
  "password": "SecurePassword123!",
  "roleId": "44444444-4444-4444-4444-444444444444",
  "isActive": true
}
Available Role IDs:
SYSTEM_ADMIN:     11111111-1111-1111-1111-111111111111
ADMIN_COMPANY:    22222222-2222-2222-2222-222222222222
COMITEE_MEMBER:   33333333-3333-3333-3333-333333333333
RESIDENT:         44444444-4444-4444-4444-444444444444
RENTER:           55555555-5555-5555-5555-555555555555
VIGILANCE:        66666666-6666-6666-6666-666666666666

Update User

Endpoint: PUT /api/users/{id} Update user information including role, activation status, and contact details.

Delete User

Endpoint: DELETE /api/users/{id}
Deleting a user removes their access to the system. Consider deactivating instead.

Managing Amenities

Amenities are shared facilities like pools, gyms, and event spaces that residents can book.

Create an Amenity

Endpoint: POST /api/amenities Request Body:
{
  "communityId": "guid-of-community",
  "name": "Community Pool",
  "description": "Olympic-size swimming pool",
  "capacity": 50,
  "isActive": true
}

View Amenities

All Amenities: GET /api/amenities By Community: GET /api/amenities/community/{communityId}

Update Amenity

Endpoint: PUT /api/amenities/{id}

Delete Amenity (Soft Delete)

Endpoint: DELETE /api/amenities/{id} Performs a soft delete, marking the amenity as inactive.

Managing Tickets

Tickets are support requests or issues submitted by residents.

View Tickets

All Tickets: GET /api/tickets By Community: GET /api/tickets/community/{communityId} Required Role: ADMIN_COMPANY or SYSTEM_ADMIN

Create Ticket (As Admin)

Endpoint: POST /api/tickets Request Body:
{
  "residentId": "guid-of-resident",
  "communityId": "guid-of-community",
  "title": "Pool maintenance needed",
  "description": "The pool filter is not working properly",
  "categoryId": 1,
  "priority": "HIGH"
}
Admins can create tickets on behalf of residents by specifying residentId or communityId.

Update Ticket Status

Endpoint: PUT /api/tickets/{id} Available Statuses:
  • Nuevo - Newly created ticket
  • En revisión - Under review by team
  • En investigación - Being investigated
  • En proceso - Being addressed
  • Cancelado - Cancelled
  • Resuelto - Resolved

Ticket Categories

  1. Areas comunes
  2. Amenidades
  3. Mantenimiento
  4. Mascotas
  5. Pregunta / comentario
  6. Ruido
  7. Servicios (Luz, Agua, Gas, Internet, etc.)
  8. Sugerencia
  9. Vigilancia
  10. Otro

Managing Documents

Administrators can upload and manage community documents.

Upload a Document

Endpoint: POST /api/documents/upload Content-Type: multipart/form-data Request Parameters:
  • file: File to upload (max 20 MB)
  • communityId: GUID of community
  • residentId: (Optional) GUID of resident
  • category: (Optional) Document category
File Path Structure:
uploads/documents/{communityId}/{category}/{residentId}/{fileName}

Create Document Record

Endpoint: POST /api/documents Request Body:
{
  "communityId": "guid-of-community",
  "nombreDocumento": "Community Rules 2025",
  "descripcion": "Updated community regulations",
  "urlDoc": "uploads/documents/path/to/file.pdf",
  "fechaSubida": "2025-03-04T00:00:00Z"
}

View Documents

All Documents: GET /api/documents By Community: GET /api/documents/community/{communityId}

Download Document

Endpoint: GET /api/documents/{id}/download
Download access is restricted to admins of the document’s community and the user who uploaded it.

Managing Announcements (Comunicados)

Comunicados are community announcements and newsletters.

Create Announcement

Endpoint: POST /api/comunicados Request Body:
{
  "communityId": "guid-of-community",
  "titulo": "Mantenimiento de la alberca",
  "subtitulo": "Cierre temporal por limpieza",
  "contenido": "La alberca estará cerrada el 12 de septiembre...",
  "fecha": "2025-09-12T00:00:00Z",
  "imagen": "images/anuncios/mantenimiento_alberca.png"
}

Dashboard and Reports

Access Dashboard

Endpoint: GET /api/dashboard Provides overview statistics including:
  • Total residents
  • Active tickets
  • Upcoming amenity bookings
  • Recent activity

Configuration Management

Community Configuration

Endpoint: GET /api/communityconfigurations Manage community-specific settings including:
  • Banking information (BANCO, CTA_BANCO)
  • Payment settings
  • Operational parameters

Community Pricing

Endpoint: GET /api/communityprices Manage pricing for:
  • Amenity bookings
  • Service fees
  • Maintenance charges

Best Practices

Security

  • Change default passwords immediately
  • Use strong passwords for all admin accounts
  • Regularly review user access and permissions
  • Monitor system logs for suspicious activity

Data Management

  • Regularly backup community data
  • Archive old tickets and documents
  • Keep resident information up to date
  • Review and clean inactive users periodically

Communication

  • Post regular announcements to keep residents informed
  • Respond to tickets promptly
  • Maintain clear documentation
  • Update community information as needed

Need Help?

For technical support or questions:

Build docs developers (and LLMs) love