It is possible to use filter groups, using the trick from @helloitse I found the correct syntax:
"q/where": [
"q/and",
[
">",
[
"q/start",
[
"Appointments/Timeslots"
]
],
"$yesterday-date-time-end"
],
[
"or",
[
">",
{
"q/from": [
"Appointments/Available Coach Skills"
],
"q/select": [
"q/count",
[
"fibery/id"
]
],
"q/where": [
"=",
[
"fibery/id"
],
"$coachType"
],
"q/limit": "q/no-limit"
},
0
],
[
">",
{
"q/from": [
"Appointments/Available Fixer Skills"
],
"q/select": [
"q/count",
[
"fibery/id"
]
],
"q/where": [
"=",
[
"fibery/id"
],
"$coachType"
],
"q/limit": "q/no-limit"
},
0
]
]
],