During the Covid-19 Italy lockdown (which started at the beginning of March 2020) we weren't allowed to go out unless for strictly important reasons (medical, food & co.).
We usually went to Esselunga during "normal" times.
In order to address this, I've built a Python bot that automatically visits the Esselunga website and navigates automatically 'til the delivery page is reached, from there I collect all the data of available spots, filter out the edge cases of "available-almost-complete" spots in which they were displayed as available but in reality once clicked they would spit out an error message saying that they were in fact not available.
Once all this data was collected I would save them in a DB and if I did found available spots I would also send an alert via a Telegram bot.
The script is always running on a VPS, I display the data via a web-server which only the members of my family can visit (thanks UFW). Every morning I also plot the density distributions of available spots during the peak hours.
I ran the service until the 8th of May '20, at that point the alerts were just too frequent and the graph would not really give me any insights on top of what I already knew from the very first few days.
Here you can see the last graph, if anyone wants more information on the project just contact me 😊
UPDATE: Service resumed on November 11th '20 to cope with COVID situation once more. Added Proxy & VPN support in order to avoid being blocked by Esselunga :P
Service concluded on December 7th '20
Note: I also developed a routine that would automatically book and pay for the delivery, since Esselunga (rightfully so) decided to give delivery priority to the elderly during these times, I never actually do this. I just collect available data and send out alerts to my Family.