Combinando calendários
Um dos recursos mais poderosos do SuperSaaS é a capacidade de combinar vários calendários para criar cenários complexos de agendamento. Por exemplo:
| Caso de uso | Tipo de combinação |
|---|---|
| A reserva de um tratamento exige que uma sala e um terapeuta estejam disponíveis ao mesmo tempo. Isso significa que o sistema precisa garantir que ambos os recursos estejam livres no mesmo horário. | Vários recursos são necessários para uma única reserva |
| O usuário recebe uma escolha de tratamentos ao marcar um compromisso. Tratamentos diferentes exigem recursos diferentes disponíveis. | Serviços diferentes exigem recursos diferentes |
| A assistência só pode ser reservada se um voluntário tiver se inscrito para ajudar. Isso garante que sempre haja alguém disponível para fornecer o suporte necessário. | Ocupar um recurso torna outro disponível |
| Há 20 itens idênticos disponíveis para aluguel, mas, em vez de deixar que o cliente escolha um item específico, você prefere que ele receba um aleatoriamente. | Recursos agrupados, apresentados como uma única entidade |
| O clube permite que os membros reservem uma quadra de tênis, mas também atende clientes sem reserva. Os membros podem ter permissão para reservar a mesma quadra por um preço menor ou com mais antecedência. | Recurso único, apresentado como múltiplas entidades |
| Você precisa de uma restrição diferente em apenas um dia da semana. É possível criar uma agenda separada para esse dia e combiná-la para apresentar ao usuário uma visão semanal unificada. | Combinar agendas em uma única visualização |
Agendas de Serviço podem usar Agendas de Recurso
Dos três tipos de agenda no SuperSaaS, a agenda do tipo “serviço” é a única que pode se conectar a outras agendas do tipo “recurso”. (Isso traz uma contrapartida: em uma Agenda de Serviço, você não pode criar compromissos recorrentes nem compromissos com durações diferentes.)
Vários recursos são necessários para uma única reserva
Um serviço frequentemente exige que um ou mais recursos estejam disponíveis ao mesmo tempo. Para garantir que isso funcione, o sistema verifica se todos os recursos necessários estão livres antes de permitir a reserva. Para configurar isso, crie uma ou mais agendas do tipo recurso das quais o serviço dependa. Você pode fazer isso antes de criar a Agenda de Serviço ou depois. Quando ambas estiverem prontas, conecte a agenda de recurso em Configurar > Serviços na Agenda de Serviço.
Todos os recursos podem ficar em uma única Agenda de Recurso ou em agendas separadas. Como regra, se você tiver recursos intercambiáveis, por exemplo, várias salas e o serviço puder ser prestado em qualquer uma delas, é melhor colocá-los na mesma Agenda de Recurso.
Como variação, às vezes pode ser útil especificar que dois recursos idênticos são necessários para uma única reserva. Por exemplo, se você tiver uma sala de reuniões que pode ser dividida em duas usando divisórias, ou uma quadra de tênis que pode ser dividida em duas quadras de pickleball. Nesse caso, você pode criar um serviço separado para a quadra de tênis que exija duas quadras de pickleball, ao mesmo tempo, permitindo reservar cada uma delas separadamente.
Serviços diferentes exigem recursos diferentes
Você pode permitir que os usuários escolham entre diferentes serviços ao fazer um agendamento. Cada serviço pode exigir um ou mais recursos específicos, dependendo do que for necessário. Por exemplo, um determinado tratamento pode estar disponível apenas com um terapeuta que tenha a habilidade necessária. Assim que o usuário seleciona um serviço, o calendário é atualizado automaticamente para mostrar apenas datas e horários em que um terapeuta adequado esteja disponível.
Ocupar um recurso torna outro disponível
Normalmente, um serviço só fica disponível quando todos os recursos conectados estão disponíveis e, quando um serviço é reservado, todos os recursos conectados são marcados como ocupados. No entanto, você pode alterar esse comportamento ao configurar um serviço. Ao clicar no botão e depois selecionar o botão ao lado de um recurso, essa lógica será invertida. O serviço passará a ficar disponível apenas se o recurso estiver ocupado. Reservar o serviço não afetará a disponibilidade desse recurso marcado como “ocupado”. Para evitar que o serviço seja reservado várias vezes, talvez seja necessário conectar também um recurso normal, “disponível”, além do recurso “ocupado”.
Recursos agrupados, apresentados como uma única entidade
Pode ser inconveniente ou indesejável permitir que o usuário escolha entre vários recursos semelhantes. Por exemplo, em vez de deixar um candidato escolher um entrevistador, talvez você prefira atribuir o primeiro disponível ou selecionar um aleatoriamente.
Ao conectar um serviço a uma Agenda de Recurso com vários recursos, você verá a opção de conectá-lo a os recursos. Você também pode combinar recursos de agendas diferentes clicando no botão . Na página Configurar > Serviços da Agenda de Serviço, há uma opção . Com ela, você pode deixar o usuário escolher um recurso, selecionar um recurso aleatoriamente ou atribuir o primeiro disponível na ordem listada na agenda.
Recurso único, apresentado como múltiplas entidades
Você pode apresentar agendas diferentes a grupos diferentes, garantindo ao mesmo tempo que o número total de recursos não seja reservado em excesso. Um exemplo seria um consultor que trabalha em vários locais e quer oferecer uma agenda adaptada a cada local. Cada local pode ter um preço diferente, serviços diferentes e horários de funcionamento diferentes.
Nesse caso, você criaria uma Agenda de Recurso como base e, em seguida, criaria uma ou mais Agendas de Serviço conectadas à mesma Agenda de Recurso. Você pode definir grupos de usuários para garantir que usuários destinados a uma agenda não acabem indo para outra.
Combinar agendas em uma única visualização
Se você precisar de mais flexibilidade do que as configurações de uma única agenda podem oferecer, combinar agendas pode ser uma solução. Por exemplo, nos fins de semana você pode precisar de um tempo de intervalo diferente entre reservas do usado nos dias úteis, porque o tempo de deslocamento muda no fim de semana. Ou talvez você queira que o limite por usuário seja diferente nas sextas-feiras para incentivar mais pessoas a reservar nesse dia.
Nesse caso, você pode criar duas, ou mais, agendas do tipo recurso, chamando-as, por exemplo, de “Dia útil” e “Fim de semana”, e aplicar restrições diferentes a cada uma. Depois, crie uma agenda do tipo serviço e defina um serviço que dependa de “Dia útil” ou “Fim de semana”. O resultado será uma combinação lógica das configurações de cada agenda. Veja a próxima seção para entender como as agendas interagem.
Como as agendas interagem
Quando o sistema verifica disponibilidade, ele leva em consideração qualquer compromisso conflitante para os recursos solicitados. No entanto, há muitas outras restrições de agendamento que você pode configurar:
- Horários de funcionamento
- Dias especiais, como feriados
- Limite de antecedência para uma reserva
- Limite de compromissos por período ou no total
- Garantir que um Google Calendar ou Outlook sincronizado esteja disponível
Um período só estará disponível se atender a todas as restrições, incluindo as restrições de cada recurso do qual o serviço depende.
Para recursos marcados como ⊗ “disponível quando ocupado”, todas as restrições, horários de funcionamento e outras limitações de disponibilidade são ignoradas. O único fator que afeta a disponibilidade do serviço é o período em que esses recursos estiverem ocupados por compromissos.
Todas as outras configurações da agenda só se aplicam às reservas feitas naquela agenda específica. Por exemplo, apenas um lembrete por e-mail é enviado, conforme definido pela configuração de confirmação da agenda em que o usuário criou a reserva. Também apenas as configurações de preço e pagamento da agenda em que o compromisso foi criado se aplicam.
Além disso, é importante entender como a combinação lógica é aplicada na definição do serviço. Por exemplo, se a Agenda A estiver disponível às 9:00 e às 10:00, e a Agenda B estiver disponível às 10:00 e às 11:00, então um serviço que depende da Agenda A E da Agenda B estará disponível apenas às 10:00. Já se um serviço depender da Agenda A OU da Agenda B, ele estará disponível às 9:00, às 10:00 e às 11:00.
Acionando notificações em agendas dependentes
Na página Configurar > Processo da Agenda de Serviço, você pode indicar se um compromisso também deve acionar notificações e webhooks em qualquer agenda conectada. Se um compromisso afetar várias agendas, será enviado um e-mail adicional para cada agenda afetada e um webhook para cada recurso afetado. Assim, um compromisso para um passeio que reserva bicicleta 1, bicicleta 2 e bicicleta 3 pode acionar um e-mail e um webhook na agenda do passeio, e depois mais um e-mail e três webhooks na agenda das bicicletas.
Se uma alteração em uma Agenda de Serviço mover um compromisso de uma agenda para outra, apenas um evento de atualização será enviado, para a nova agenda. Isso não acionará e-mail nem webhook na agenda em que o recurso foi removido.