Overview
Property management in Core Projects involves a hierarchical structure: Projects → Torres → Floors → Units (Apartments/Locals). This guide covers the complete workflow for building your property inventory.Property Hierarchy
Managing Torres (Towers)
Towers are the primary building structures within a project.Creating Towers
Access Tower Creation
Navigate to
/admin/torres/create or from a project detail page via the wizard flow with ?flow_proyecto_id={id} parameter.Batch Tower Creation
The wizard flow supports creating multiple towers simultaneously:Tower Routes
Managing Floors (Pisos)
Floors define the vertical structure within each tower.Creating Floors
Select Project and Tower
Use cascading selects:
- Choose Proyecto
- Select Torre (filtered by project via
/torres-por-proyecto/{id})
Floor Routes
Managing Apartment Types
Apartment types serve as blueprints defining characteristics and base pricing for units.Creating Apartment Types
Define Type Characteristics
Enter unit specifications:Physical Attributes:Pricing:The system auto-calculates:
Upload Type Image (Optional)
Attach a floor plan or unit image:Stored at:
storage/tipos-apartamento/{filename}Batch Type Creation
Create multiple types at once:Type Routes
Managing Apartments
Apartments are individual residential units linked to types, towers, and floors.Creating Apartments
Select Project Context
Choose project, which enables cascading selects:
- Proyecto → loads torres
- Torre → loads pisos via
/api/pisos-por-torre/{id_torre} - Piso → floor for this unit
Select Apartment Type
Choose the apartment type (blueprint) created earlier. This determines:
- Base pricing
- Area specifications
- Room configuration
Apartment Routes
Managing Commercial Locals
Commercial units follow a similar structure to apartments but without types.Creating Locals
Select Location
Use cascading selects to choose:
- Proyecto
- Torre
- Piso (via
/api/pisos-por-torre/{id_torre})
Local Routes
Managing Parking (Parqueaderos)
Parking spaces can be:- Linked to apartments (
id_apartamentoset) – Included with unit - Additional/standalone (
id_apartamentoNULL) – Sold separately
Creating Parking Spaces
Associate with Apartment (Optional)
If this parking is included with a unit:
- Select apartment via
/api/apartamentos-por-torre/{id_torre} - Set
id_apartamento - Parking price is added to unit total
- Leave
id_apartamentoas NULL - Available for separate purchase during sales
Parking Routes
Managing Social Areas
Common amenity areas for projects.Creating Social Areas
Social Area Routes
Property States (Estados Inmueble)
All properties (apartments, locals, parking) have a state:| State | Description | Used For |
|---|---|---|
| Disponible | Available for sale | Initial state |
| Separado | Reserved with separation payment | Temporary hold |
| Vendido | Sold with payment plan active | Completed sale |
| Bloqueado | Administratively blocked | Hold for issues |
| Congelado | Temporarily frozen | Future release |
/estados-inmueble and transition automatically during sales:
Dynamic Pricing Integration
When apartments are created or sold, the PriceEngine service adjusts pricing:valor_final for all available units based on:
- Number of units sold
- Escalation thresholds
- Time-based factors
Validation & Business Rules
Required Relationships
Cascading Deletes
Deleting a tower requires:- No apartments in tower
- No locals in tower
- No floors in tower
Unique Constraints
Unit numbers must be unique within their scope:Bulk Operations
For large projects, use batch creation:- Tipos – Create all apartment types first
- Torres – Batch create all towers
- Pisos – Script to generate floors (e.g., 1-15 for each tower)
- Apartamentos – Generate units based on types and floors
Next Steps
Sales Module Overview
Learn how configured properties are used in the sales workflow.
Technical Reference
- Controllers:
app/Http/Controllers/Admin/AdminTorreController.phpapp/Http/Controllers/Admin/ApartamentoWebController.phpapp/Http/Controllers/Admin/TipoApartamentoWebController.phpapp/Http/Controllers/Admin/LocalWebController.phpapp/Http/Controllers/Admin/ParqueaderoWebController.php
- Views:
resources/js/Pages/Admin/Torres/,Apartamento/, etc. - Routes:
routes/web.php:98-217