Under feature_new_option_form_gem it loos like that availability conditions does not saved from option form.
Intercept empty arryay even if setup something
array(6){
[
0
]=>object(mod_booking\bo_availability\conditions\customform)#728(2){
[
"id"
]=>int(16)[
"customsettings"
]=>NULL
}[
1
]=>object(mod_booking\bo_availability\conditions\enrolledincourse)#727(3){
[
"id"
]=>int(15)[
"overridable"
]=>bool(true)[
"customsettings"
]=>NULL
}[
2
]=>object(mod_booking\bo_availability\conditions\previouslybooked)#726(3){
[
"id"
]=>int(13)[
"overridable"
]=>bool(true)[
"customsettings"
]=>NULL
}[
3
]=>object(mod_booking\bo_availability\conditions\selectusers)#724(3){
[
"id"
]=>int(14)[
"overridable"
]=>bool(true)[
"customsettings"
]=>NULL
}[
4
]=>object(mod_booking\bo_availability\conditions\userprofilefield_1_default)#725(3){
[
"id"
]=>int(11)[
"overridable"
]=>bool(true)[
"customsettings"
]=>NULL
}[
5
]=>object(mod_booking\bo_availability\conditions\userprofilefield_2_custom)#723(3){
[
"id"
]=>int(12)[
"overridable"
]=>bool(true)[
"customsettings"
]=>NULL
}
}
Additional issues related to name pattern for controls:
bocond{$shortclassname}_restrict
Hovewer, for date_time restrictions:
id = 'restrictanswerperiodclosing'
does not fit pattern for save_json_conditions_from_form() method (bo_info.php)
"bocond{$shortclassname}_restrict"