lockstay/1 in your logs

lockstay/1 (+https://lockstay.io/bot)

These requests come from lockstay. Each one is made for a customer who gave us an address on your server.

Last updated

What lockstay is

lockstay is a channel manager for holiday homes and hotels. It keeps each property's calendar, prices and bookings the same on every site the property is listed on.

It is not open to the public yet.

Why we contact your server

Most requests are for a calendar feed: an iCal (.ics) address. A customer gave us that address so the nights booked on it close on their other sites.

We also call the APIs of sites such as Airbnb and Booking.com, for accounts our customers connected.

We never crawl. We request only the addresses customers give us. We do not follow links inside a calendar or a page.

How we request a calendar

How often
Every 15 minutes unless the customer chose otherwise. They can choose from every 5 minutes to once a day.
Request
One GET for the address, withAccept: text/calendar and Cache-Control: no-cache.
Conditional requests
If your server sent an ETag or Last-Modified, we sendIf-None-Match or If-Modified-Since. A 304 is all we need when nothing changed.
Pace
At most one request a second for any one calendar, with bursts of up to 3.
Retries
A failed request is not repeated immediately. The next scheduled read is the retry.
Backoff
Each failure in a row doubles the wait before the next read, up to 6 hours.
Retry-After
If an error response such as a 429 or 503 carriesRetry-After, we make the next read when it says. Seconds and HTTP dates both work.
Timeout
30 seconds for the whole exchange: connecting, any redirects and the full body.
Redirects
Followed for GET only, up to 3.
Size
We stop reading a response after 4 MiB. We accept gzip,br and deflate.

How to recognise us

Every request we send carries this user agent:

lockstay/1 (+https://lockstay.io/bot)

We do not publish our IP address ranges yet.

Contact

Email bot@lockstay.io. Include the address we are requesting and roughly when, so we can find the customer it belongs to. To stop the requests, see below.

How to stop it

Answer our requests with a 403, or block the user agent above. Only the people who run your server can do that, so we take it as your answer.

After an hour of failed reads, we tell the customer we cannot read their calendar. They can then fix it at their end. Until they do, we keep trying, with the wait between reads growing to 6 hours.