カレンダーでの時間予約で重複を防ぐ方法

現在、カレンダーにて時間予約ができるシステムを
作成しております。


スクリーンショット 2022-04-24 0.12.58

overlapsを活用して
重複する予定が入らないようにしようとしたのですが
今度は、重なっている時間の予約ができなくなりました
スクリーンショット 2022-04-24 0.09.39

スクショのような間の時間は予約を取れるようにするには
どのようにすればいいでしょうか?

このケースの場合
13:00-14:00
の予約を取ろうとすると
12:00-13:00
および
14:00-15:00
のそれぞれの前後の瞬間(13:00、14:00)が重複と判定されると思います。
ですので、検索したい値を前後1秒や1分ずつ内側にずらして検索すると重複判定されずに処理ができると思います。
例)
13:00→13:01
14:00→13:59
として検索

注意事項として、range検索する場合rangeの前半はその場で計算が可能ですが、後半の部分は計算ができないため、別途custom stateなどで計算済みの値を持っておく必要があります。
また、実際に予約される値は内側にずらした値にならないように割り当ててください。

「いいね!」 3