There may be a better solution to what you are trying to do, such as a Times of Day sensor or Input select. If you still want to use booleans you can use the following as an example of how to entrain them so that only one can be on at a time:
alias: Entrained Booleans (only 1 on at a time)
description: ''
trigger:
- platform: state
entity_id:
- input_boolean.test_bool_1
- input_boolean.test_bool_2
- input_boolean.test_bool_3
to: 'on'
condition: []
action:
- service: input_boolean.turn_off
target:
entity_id: '{{ inactive_bools }}'
variables:
inactive_bools: >-
{{ ['input_boolean.test_bool_1', 'input_boolean.test_bool_2', 'input_boolean.test_bool_3']
| reject('eq', trigger.to_state.entity_id) | list -}}
mode: single
It’s just an automation, so you can paste it into automations.yaml or you can use the GUI automation editor to create a new automation then use the “Edit in YAML” option.