the way i did this was first onvisible i did this:
UpdateContext({VarCheckBoxUpdate:""})

Then I change the default property e.g. for my 5:30 checkbox i did:
If(VarCheckBoxUpdate = "", ThisItem.'5:30 AM',VarCheckBoxUpdate = "5:30",true,false)
then i added an OnUnCheck to each of them:
UpdateContext({VarCheckBoxUpdate:""});Concurrent(Reset('530'),Reset(home),Reset(duty))

then i added oncheck for each of them:
for the checkbox i called 530 i did:
UpdateContext({VarCheckBoxUpdate:"5:30"});Concurrent(Reset('530'),Reset(home),Reset(duty))
for the checkbox i called home i did:
UpdateContext({VarCheckBoxUpdate:"home"});Concurrent(Reset('530'),Reset(home),Reset(duty))
for the checkbox i called duty i did:
UpdateContext({VarCheckBoxUpdate:"duty"});Concurrent(Reset('530'),Reset(home),Reset(duty))
then i added Default for each of them:
for the checkbox i called 530 i did:
If(VarCheckBoxUpdate = "", false,VarCheckBoxUpdate = "5:30",true,false)
for the checkbox i called home i did:
If(VarCheckBoxUpdate = "", false,VarCheckBoxUpdate = "home",true,false)
for the checkbox i called duty i did:
If(VarCheckBoxUpdate = "", false,VarCheckBoxUpdate = "duty",true,false)
this means onvisible it allows the sharepoint to come through. when you check one it unchecks the others
i named the checkboxes i used 530, home and duty
Please try my suggestion and let me know how it goes. there are many other ways to do this aswell by the way this is just one of them. if this is your solution please click accept as solution.