{"schema_version":1,"generated_at":"2026-08-05T15:09:38+00:00","customer":{"slug":"rock-and-lake","name":"Rock and Lake","locale":"fi","website":"https:\/\/www.rockandlake.com\/"},"branding":{"brand_label":"Rock and Lake","header_logo_url":"https:\/\/images.liquidblox.com\/683e8f8dc038a92262ddf51b\/683e9104a2b4d32269575bd7\/resized\/791562f94ac14ed412fcf8003dd1cf72c69524722ac88a5b7b36e31baf6e2db3de01119bf20bfc032ba2cd84c779d5043e4a7e6fa850eedd3aa0fcfda861ae76\/large\/rocklakelogosiniharmaapystyeialatekstia.png","footer_logo_url":"https:\/\/images.liquidblox.com\/683e8f8dc038a92262ddf51b\/683e9104a2b4d32269575bd7\/originals\/76827d1bad74cc711b388537fedb66f306b9b964f321672e8b22f096c0abb4b10442aa00a8b2695f4602ef31906db57792d1927a0830e1d18dad34d32ff1f5a2\/rockandlakecottagesoutdooractivitieswhite.webp","font_url":"https:\/\/fonts.googleapis.com\/css2?family=Bitter:ital,wght@0,400;0,500;0,600;0,700;0,800;1,800&display=swap","colors":{"forest":"#1e2430","gold":"#c19c56","sky":"#9ab1c5","paper":"#f3f2f1","sand":"#e9e4de"}},"navigation":{"home":"https:\/\/www.rockandlake.com\/","cottages":"https:\/\/www.rockandlake.com\/rental-cottages","fishing":"https:\/\/www.rockandlake.com\/fishing-in-finland-how-to-get-started","things_to_do":"https:\/\/www.rockandlake.com\/what-to-do-in-finland-in-the-summer","contact":"https:\/\/www.rockandlake.com\/contact-us","support":"https:\/\/www.rockandlake.com\/faq"},"booking":{"reservation_url":"https:\/\/varaa.rockandlake.com\/rock-and-lake","checkout_url":"https:\/\/varaa.rockandlake.com\/rock-and-lake\/checkout","embed_script_url":"https:\/\/varaa.rockandlake.com\/rock-and-lake\/embed.js","booking_embed_script_url":"https:\/\/varaa.rockandlake.com\/rock-and-lake\/booking-embed.js","supports_embed":true,"languages":["fi","en"],"bookable_categories":["cabin","boat","trip"],"known_item_ids":{"cabin":[10481,3551,3544,3556,3549,3523,3552,3543,3524,3558],"boat":[3944,3859,4032,11132],"trip":[3855,3857]}},"pricing":{"currency":"EUR","amount_format":"minor_currency_units","minor_units_per_currency_unit":100,"example":{"api_value":129000,"display_value":"1290.00 EUR"},"notes":"All price fields returned by the public API (for example total_price and dates[].price) are integers in minor currency units (cents). Divide by 100 to get the amount in euros."},"catalog":{"url":"https:\/\/varaa.rockandlake.com\/rock-and-lake\/ai\/catalog.json","content_type":"application\/json","method":"GET","description":"Public GET-only listing of bookable categories and item IDs. Use it before the POST proxy API for a simple product overview."},"public_api":{"proxy_url":"https:\/\/varaa.rockandlake.com\/rock-and-lake\/api\/proxy","method":"POST","content_type":"application\/json","actions":{"get_room_types":{"description":"Fetch public room type and bookable item data for the configured customer properties.","required_parameters":["action"],"optional_parameters":["room_types"],"example_payload":{"action":"get_room_types"},"response_shape":{"status":200,"message":"OK","data":[{"id":10481,"name":"Example room type","short_name":"Example","max_people":6,"quantity":1,"amenities":[],"optional_extra_services":[]}]},"response_notes":["The reservation UI indexes room types by data[].id.","The UI reads display fields such as name, short_name, max_people, quantity, amenities, and optional_extra_services when present."]},"get_availabilities":{"description":"Fetch availability ranges for one or more room type IDs.","required_parameters":["action","date_start","date_end","room_types"],"optional_parameters":[],"example_payload":{"action":"get_availabilities","date_start":"2026-07-01","date_end":"2026-07-07","room_types":[10481]},"response_shape":{"status":200,"message":"OK","data":[{"room_type_id":10481,"dates":[{"date":"2026-07-01","is_free":true,"blackout":false,"checkin_denied":false,"free_rooms":1,"min_duration":2}]}]},"response_notes":["The reservation UI indexes availability by data[].room_type_id and then by dates[].date.","The UI checks dates[].is_free, dates[].blackout, dates[].checkin_denied, dates[].free_rooms, and minimum-stay variants such as min_duration or minimum_nights."]},"get_prices":{"description":"Fetch calculated prices for selected room type IDs and guest counts.","required_parameters":["action","date_start","date_end","room_types"],"optional_parameters":["guests_adults","guests_children"],"example_payload":{"action":"get_prices","date_start":"2026-07-01","date_end":"2026-07-07","room_types":[10481],"guests_adults":2,"guests_children":0},"response_shape":{"status":200,"message":"OK","data":[{"room_type_id":10481,"total_price":129000,"dates":[{"date":"2026-07-01","price":21500}]}]},"response_notes":["The reservation UI indexes prices by data[].room_type_id.","The UI reads total_price for the full stay and dates[].price for per-day or per-item calculations.","Price values such as total_price and dates[].price are integers in minor currency units (cents); divide by 100 to get euros."]}}},"ai_documents":{"context_url":"https:\/\/varaa.rockandlake.com\/rock-and-lake\/ai\/context.json","discovery_url":"https:\/\/varaa.rockandlake.com\/.well-known\/ai.json","llms_txt_url":"https:\/\/varaa.rockandlake.com\/llms.txt"},"ai_guidance":{"intended_use":"Answer public questions about the booking flow, available booking categories, branding, navigation, and booking entry points.","do_not_answer":["private booking status","payment details","customer admin email","internal API configuration","API tokens"]}}