<feed xmlns='http://www.w3.org/2005/Atom'>
<title>shuttlebot, branch main</title>
<subtitle>Bot to find available bookings at better.org.uk
</subtitle>
<id>https://git.fennell.dev/shuttlebot/atom?h=main</id>
<link rel='self' href='https://git.fennell.dev/shuttlebot/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.fennell.dev/shuttlebot/'/>
<updated>2026-05-19T19:10:51Z</updated>
<entry>
<title>Add sun? helper</title>
<updated>2026-05-19T19:10:51Z</updated>
<author>
<name>Matthew Fennell</name>
<email>matthew@fennell.dev</email>
</author>
<published>2026-05-19T19:10:51Z</published>
<link rel='alternate' type='text/html' href='https://git.fennell.dev/shuttlebot/commit/?id=eaf2bfcf569e5c789f0207d051e6f2263b38127f'/>
<id>urn:sha1:eaf2bfcf569e5c789f0207d051e6f2263b38127f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Score fake booking as 0</title>
<updated>2026-05-14T16:07:24Z</updated>
<author>
<name>Matthew Fennell</name>
<email>matthew@fennell.dev</email>
</author>
<published>2026-05-14T16:07:24Z</published>
<link rel='alternate' type='text/html' href='https://git.fennell.dev/shuttlebot/commit/?id=9ef2768939305ee9eb933514034fd527100aa7a6'/>
<id>urn:sha1:9ef2768939305ee9eb933514034fd527100aa7a6</id>
<content type='text'>
This allows the prevention of bookings fulfilling certain conditions from being
booked, if they have a negative score. This can be useful if, for instance, I
want to prevent any bookings on a given day.

-inf always compared as less than another proposed score, meaning that it would
be possible for a negative-scoring new booking to be booked as long as there
was nothing better available. This commit means that a negatively scored
booking will not be booked, even if it is the only option.
</content>
</entry>
<entry>
<title>Fix off-by-one error in 10pm-adjusted-date</title>
<updated>2026-04-19T21:10:00Z</updated>
<author>
<name>Matthew Fennell</name>
<email>matthew@fennell.dev</email>
</author>
<published>2026-04-19T21:10:00Z</published>
<link rel='alternate' type='text/html' href='https://git.fennell.dev/shuttlebot/commit/?id=9c2d127368a3cf3ed7f1d1fd6f1bd77dd08d81c5'/>
<id>urn:sha1:9c2d127368a3cf3ed7f1d1fd6f1bd77dd08d81c5</id>
<content type='text'>
The bookings are released at 22:00 Europe/London time. When we check (&gt;
(date-hour date) 22), we are not checking whether the time is greater than
22:00, but whether the hour 22 is greater than 22! This means that we do not
adjust the date until an hour later, when all the bookings will be gone!

Fix this by checking if the hour &gt;= 22 instead.
</content>
</entry>
<entry>
<title>Do not check for new slots in the next 3 days</title>
<updated>2026-04-16T17:35:06Z</updated>
<author>
<name>Matthew Fennell</name>
<email>matthew@fennell.dev</email>
</author>
<published>2026-04-16T17:30:17Z</published>
<link rel='alternate' type='text/html' href='https://git.fennell.dev/shuttlebot/commit/?id=1a86583160fbf10a68828958e80a7aa52e5c9db8'/>
<id>urn:sha1:1a86583160fbf10a68828958e80a7aa52e5c9db8</id>
<content type='text'>
This is in order to prevent last-minute booking switches.
</content>
</entry>
<entry>
<title>Add days-after helper</title>
<updated>2026-04-16T17:34:56Z</updated>
<author>
<name>Matthew Fennell</name>
<email>matthew@fennell.dev</email>
</author>
<published>2026-04-16T15:26:08Z</published>
<link rel='alternate' type='text/html' href='https://git.fennell.dev/shuttlebot/commit/?id=824f10b7301d8053212b8b2f0dcf105b0c41f28c'/>
<id>urn:sha1:824f10b7301d8053212b8b2f0dcf105b0c41f28c</id>
<content type='text'>
Currently, shuttlebot doesn't take the number of days before the booking into
consideration, apart from not changing bookings on today's date.

To help with fixing this, add days-after Given a base date and number of days,
it will produce a consecutive list of days. Then, when searching for available
bookings, we can use this list to ask "is the date I'm booking for in the list
of days-after?"
</content>
</entry>
<entry>
<title>Extract 10pm-adjusted-date to a function</title>
<updated>2026-04-16T17:34:46Z</updated>
<author>
<name>Matthew Fennell</name>
<email>matthew@fennell.dev</email>
</author>
<published>2026-04-16T15:24:05Z</published>
<link rel='alternate' type='text/html' href='https://git.fennell.dev/shuttlebot/commit/?id=635960c4a470bbbd0f25120bdc65fa1b060f5b03'/>
<id>urn:sha1:635960c4a470bbbd0f25120bdc65fa1b060f5b03</id>
<content type='text'>
This is useful in other functions as well, as it's essentially "better.org.uk's
definition of the current date regarding what bookings are available".
</content>
</entry>
<entry>
<title>Simplify score function</title>
<updated>2026-04-16T17:34:37Z</updated>
<author>
<name>Matthew Fennell</name>
<email>matthew@fennell.dev</email>
</author>
<published>2026-04-16T15:37:56Z</published>
<link rel='alternate' type='text/html' href='https://git.fennell.dev/shuttlebot/commit/?id=7770aa9aa15f35997b75a0da961ca778af542557'/>
<id>urn:sha1:7770aa9aa15f35997b75a0da961ca778af542557</id>
<content type='text'>
Every line is passing the booking separately for no reason. By putting it in
the lambda, we can make each score read more fluently.
</content>
</entry>
<entry>
<title>Initial commit</title>
<updated>2026-04-16T07:15:35Z</updated>
<author>
<name>Matthew Fennell</name>
<email>matthew@fennell.dev</email>
</author>
<published>2026-04-16T07:15:35Z</published>
<link rel='alternate' type='text/html' href='https://git.fennell.dev/shuttlebot/commit/?id=5dce88bcad0a1263984b71fa19ef26393d781960'/>
<id>urn:sha1:5dce88bcad0a1263984b71fa19ef26393d781960</id>
<content type='text'>
</content>
</entry>
</feed>
