Unidades (Quartos, Camas, Apartamentos)
Uma Unidade e a menor entidade reservavel dentro de uma propriedade no Opero. Pode ser um quarto de hotel, uma cama em dormitorio, um apartamento ou uma villa. Toda reserva esta vinculada a exatamente uma unidade.
O que e uma Unidade
A unidade representa o espaco fisico que o hospede ocupa durante a estadia. No Opero, unidades pertencem sempre a uma propriedade e herdam o contexto de multi-tenancy dela. Exemplos:
| Tipo de Propriedade | Exemplos de Unidades |
|---|---|
| Hotel | Quarto 101, Suite Presidencial, Quarto Deluxe 305 |
| Hostel | Cama A1 (beliche superior), Cama B3 (individual) |
| Pousada | Chalé Jardim, Quarto Colonial |
| Flat/Apartamento | Apt 3B, Cobertura, Studio 12 |
Campos principais
| Campo | Descricao |
|---|---|
| Identificacao | Numero ou nome do quarto (ex: “101”, “Suite A”) |
| Nome | Nome descritivo opcional (ex: “Quarto Vista Mar”) |
| Andar | Localizacao vertical dentro da propriedade |
| Tipo de quarto | Vinculo com Room Type (standard, deluxe, suite, dormitorio) |
| Estilo | Privativo (private) ou compartilhado (shared) |
| Capacidade | Numero maximo de hospedes (adultos + criancas + bebes) |
| Preco base | Valor de referencia por diaria (em centavos) |
| Status | Estado atual da unidade (disponivel, ocupado, limpeza, etc.) |
Unidade vs. Tipo de Quarto (Room Type)
O Tipo de Quarto e uma entidade separada que agrupa unidades com caracteristicas semelhantes. Pense nele como uma “categoria” de quarto:
Tipo de Quarto: "Standard"
├── Quarto 101
├── Quarto 102
└── Quarto 103
Tipo de Quarto: "Suite"
├── Suite A
└── Suite BCada tipo de quarto possui um codigo unico por propriedade (ex: STD, DLX, STE), ocupacao maxima padrao e lista de amenidades base. As tarifas sao geralmente definidas por tipo de quarto, nao por unidade individual.
Para configurar tipos de quarto, acesse Configuracoes → Tipos de Quarto.
Criando Unidades
- Acesse Menu lateral → Unidades (ou a aba “Unidades” dentro da propriedade)
- Clique em Nova Unidade
- Preencha os campos obrigatorios:
- Propriedade — a qual propriedade esta unidade pertence
- Identificacao — numero ou nome unico dentro da propriedade
- Configure os campos opcionais conforme necessidade:
- Tipo de quarto, andar, capacidade, preco base, amenidades
- Configuracao de camas, vista, politica de fumantes, acessibilidade
- Salve
Dica: Para hostels, marque o estilo como “Compartilhado” (
shared). Isso habilita a venda por cama individual, permitindo multiplas reservas simultaneas na mesma unidade.
Ciclo de Vida do Status
Cada unidade possui um status que reflete sua situacao operacional atual. O ciclo padrao e:
available ──(check-in)──→ occupied ──(check-out)──→ cleaning ──(limpeza OK)──→ available
│ │
│ └── maintenance (se necessario)
│ │
└── out_of_service (longo prazo) ←───────────────────────────┘| Status | Descricao | Quando usar |
|---|---|---|
| available | Pronta para receber hospede | Apos limpeza concluida |
| occupied | Hospede em casa (checked in) | Automatico no check-in |
| cleaning | Governanca em andamento | Automatico no check-out |
| maintenance | Em reparo ou reforma | Problema tecnico reportado |
| out_of_service | Indisponivel por tempo indeterminado | Reforma longa, desativacao sazonal |
Nota: A transicao entre
cleaningeavailablepode ser feita automaticamente pelo modulo de Governanca quando a camareira conclui a tarefa de limpeza.
Configuracao de Camas
O Opero suporta uma configuracao de camas estruturada por unidade, compativel com OTAs (Booking.com, Expedia, etc.):
| Tipo de Cama | Lugares por Cama |
|---|---|
single (solteiro) | 1 |
double (casal) | 2 |
queen | 2 |
king | 2 |
twin (duas de solteiro) | 1 |
sofa_bed (sofa-cama) | 1 |
bunk (beliche) | 2 |
futon | 1 |
Exemplo de configuracao
Um quarto “Familia” com 1 cama queen e 1 beliche:
[
{ "type": "queen", "count": 1 },
{ "type": "bunk", "count": 1 }
]Capacidade calculada: (1 x 2) + (1 x 2) = 4 lugares
Camas para dormitorios (hostels)
Para dormitorios com venda por cama, o campo beds (JSONB) armazena cada cama individualmente com status proprio:
[
{ "id": "bed-1", "name": "Cama A1", "type": "single", "status": "available" },
{ "id": "bed-2", "name": "Cama A2", "type": "bunk_top", "status": "occupied" },
{ "id": "bed-3", "name": "Cama A3", "type": "bunk_bottom", "status": "reserved" }
]Calculo de Capacidade
A capacidade total de uma unidade e definida por tres campos independentes:
| Campo | Descricao | Padrao |
|---|---|---|
| maxAdults | Maximo de adultos | 2 |
| maxChildren | Maximo de criancas | 2 |
| maxInfants | Maximo de bebes (bercos) | 1 |
O campo capacity representa a capacidade total geral. Ao configurar a cama (bedConfiguration), o sistema calcula automaticamente os lugares disponiveis com base nos tipos de cama.
Boas Praticas
- Padronize a identificacao — Use um formato consistente dentro de cada propriedade (ex: “101, 102, 103” ou “Suite A, Suite B”)
- Use Tipos de Quarto — Vincule todas as unidades a um Room Type para facilitar a gestao de tarifas e relatorios
- Configure camas corretamente — A configuracao de camas alimenta o motor de reservas e as OTAs. Dados incorretos causam overbooking
- Mantenha o status atualizado — Unidades com status errado afetam a disponibilidade no motor de reservas e no painel de governanca
- Dormitorios = estilo compartilhado — Sempre marque unidades de hostel como
sharedpara habilitar venda por cama - Nao delete unidades com reservas — Desative (
isActive = false) em vez de excluir para manter o historico
Integracao com outros modulos
- Reservas → Cada reserva referencia uma unidade (ou cama, em dormitorios)
- Tarifas → Precos sao definidos por tipo de unidade ou unidade especifica
- Governanca → Tarefas de limpeza sao criadas automaticamente por unidade
- Motor de Reservas → Exibe unidades disponiveis com fotos, amenidades e capacidade
- Financeiro → Receita por unidade aparece nos relatorios de performance (RevPAR)
- Dashboard → Ocupacao e calculada a partir do status das unidades