For a hotel management system, I have the following php array which contains dates on which a hotel room is booked. New guests can't be booked into the room on these dates.
Array([0] => '2017-02-23'
[1] => '2017-02-24'
[2] => '2017-04-01'
[3] => '2017-04-02'
[4] => '2017-04-03'
[5] => '2017-04-04'
[6] => '2017-04-05'
[7] => '2017-04-06'
[8] => '2017-04-07'
[9] => '2017-04-08'
[10] => '2017-04-09'
[11] => '2017-04-10'
[12] => '2017-04-11'
[13] => '2017-04-12'
[14] => '2017-04-13'
[15] => '2017-04-14'
[16] => '2017-04-15'
[17] => '2017-04-16'
[18] => '2017-04-17'
[19] => '2017-04-18'
[20] => '2017-04-19'
[21] => '2017-04-20'
[22] => '2017-04-21'
[23] => '2017-04-22'
[24] => '2017-04-23'
[25] => '2017-04-24'
[26] => '2017-04-25'
[27] => '2017-04-26'
[28] => '2017-04-27'
[29] => '2017-04-28'
[30] => '2017-04-29'
[31] => '2017-04-30'
)
This array tell us that the room is reserved 2 different periods:
2017-02-23
to2017-02-24
2017-04-01
to2017-04-30
I would like to find the date ranges where the room is available, within a certain broad window.
For example, if someone wanted to stay in the room from 2017-02-15
to 2017-05-07
, then I would like the system to return the following date ranges for availability:
2017-02-15
to2017-02-22
2017-02-25
to2017-03-31
2017-05-01
to2017-05-07
If someone want to stay in the room from 2017-02-22
to 2017-03-30
, then I would like the system to return the following date ranges for availability:
2017-02-25
to2017-03-30