Pular para o conteúdo principal

BeautyScale (Escala)

A BeautyScale representa uma escala de trabalho de um profissional ou estacao de trabalho no centro de estetica.

Descricao

A escala define os horarios disponiveis para agendamento, associando um profissional (ou recurso) a slots de tempo especificos. E usada para validar disponibilidade e organizar a agenda.

Dados

Informacoes da Escala

CampoTipoObrigatorioDescricao
nameTextoSimNome da escala (ex: "Maria - Banho")
colorTextoNaoCor para exibicao no calendario
activeBooleanoSimSe escala esta ativa

Configuracao de Horarios

CampoTipoDescricao
work_daysArrayDias da semana trabalhados
start_timeHoraHorario de inicio
end_timeHoraHorario de termino
slot_durationNumeroDuracao de cada slot (minutos)
break_startHoraInicio do intervalo
break_endHoraFim do intervalo

Relacionamentos

Pertence a

EntidadeObrigatorioDescricao
AccountSimConta do petshop
StoreSimFilial
ProfessionalNaoProfissional associado

Possui

EntidadeDescricao
BeautyAppointmentsAgendamentos nesta escala

Dias da Semana

ValorDia
0Domingo
1Segunda
2Terca
3Quarta
4Quinta
5Sexta
6Sabado

Slots de Tempo

Calculo de Slots

slots_por_dia = (end_time - start_time - intervalo) / slot_duration

Exemplo

Inicio: 08:00
Fim: 18:00
Intervalo: 12:00 - 13:00
Duracao slot: 30 min

Slots: 08:00, 08:30, 09:00, ..., 11:30, 13:00, 13:30, ..., 17:30

Validacao de Disponibilidade

Verificacao

Quando usuario tenta agendar:

  1. Verifica se dia esta em work_days
  2. Verifica se horario esta no range start_time - end_time
  3. Verifica se nao esta no intervalo
  4. Verifica se slot esta livre

Conflitos

Visualizacao no Calendario

Agrupamento

  • Agendamentos sao agrupados por BeautyScale
  • Cada escala aparece como uma coluna/recurso
  • Cor da escala e usada para identificacao

Disponibilidade Visual

  • Slots livres: clicaveis para criar agendamento
  • Slots ocupados: exibem agendamento existente
  • Fora do horario: bloqueado

Uso em Agendamentos

Obrigatoriedade

  • BeautyScale e obrigatoria para agendamentos (schedule = true)
  • Nao e obrigatoria para atendimentos imediatos (walk-in)

Associacao

Um agendamento pertence a uma escala:

  • Define onde/quem vai atender
  • Usado para validar horario

Permissoes

AcaoDescricao
CriarCriar nova escala
EditarAlterar horarios e configuracao
DesativarMarcar como inativa
VisualizarVer agenda da escala

Regras de Negocio

  1. Escala deve ter pelo menos um dia de trabalho
  2. Horario de inicio deve ser antes do fim
  3. Intervalo deve estar dentro do horario de trabalho
  4. Duracao do slot deve ser maior que 0

Integracoes

Com Profissional

Se escala esta vinculada a um Professional:

  • Profissional aparece nos agendamentos
  • Pode receber comissao pelos servicos
  • Disponibilidade segue a escala

Com BeautyAppointment

  • Agendamento herda informacoes da escala
  • Validacao de conflitos usa a escala
  • Calendario exibe por escala