I believe, RSO looks at data from either in From & To Date OR Time Window Start & End OR Time From Promised & To. And Time From Promised & To requires a specific date not a date range. Correct me if i'm wrong Feifei.
"If Time From Promised and Time To Promised are set as shown in the following example, it indicates you want RSO to schedule a booking between 4 AM and 8 AM on 5/24/2018. It has to be a specific date and specific time range."
I'm not sure/forgot whether RSO considers both if Date Window Start & End and Time Window Start & End are filled. It's not mentioned in Microsoft documentation. Feifei can confirm this. Sorry, sharing my experience from one of my first CFS, RSO projects 2 years back, and I didn't use Date Window Start/End. RSO has evolved a lot since then.
Assuming automation requirement in this scenario, on the WO, store Date Range & Time Range on the Time From Promised & To fields. This data is passed to Requirements entity by default, have an update plugin on requirement creation, to update the date info alone (to current date) in Time From Promised & To fields. RSO will create bookings for the same date within time range.
Additionally read about "Locked bookings: Scheduling Lock Option - Time Range" feature mentioned in the link shared by Feifei. So created booking's Time Range is respected, but not date. In case, if the booking is not accepted by your resource, so RSO can reschedule to next day or same day within time range.
If date range is not very important, then RSO can easily handle this, just supply time information to the Time Window Start & End on WO/Requirement. You can even automate this by storing the Service Account working hours on Account record so WO can fetch it via WF.