Accommodations at I Castagnini

Comfort in the Tuscan hills



I Castagnini offers welcoming accommodations with bright, comfortable interiors and relaxing views of the Tuscan countryside. Guests can enjoy peaceful indoor and outdoor spaces, creating an ideal setting for those seeking calm and connection with nature. Its warm atmosphere and scenic surroundings make it suitable for couples, families, or small groups looking to unwind in a rural environment.

Orange Apartment

This apartment features 1 living room, 1 separate bedroom and 1 bathroom with a shower and free toiletries. Guests will find a stovetop, a refrigerator, kitchenware and an oven in the kitchen. The...

More room info

Lemon Apartment

This apartment consists of 1 living room, 1 separate bedroom and 1 bathroom with a shower and free toiletries. Guests will find a stovetop, a refrigerator, kitchenware and an oven in the kitchen....

More room info

Lemon Room

Offering free toiletries, this double room includes a private bathroom with a shower, a bidet and a hairdryer. Among the room amenities are a wardrobe, a tiled floor, heating as well as outdoor...

More room info

I Castagnini
Ciao! Sono l'assistente virtuale de I Castagnini. Come posso aiutarti? 🌿
const IC_WORKER_URL = "https://castagnini-chatbot-proxy.marco-norchi.workers.dev/"; let icHistory = []; function icToggleChat() { const win = document.getElementById('ic-chat-window'); win.style.display = (win.style.display === 'flex') ? 'none' : 'flex'; } async function icSendMessage() { const input = document.getElementById('ic-chat-input'); const text = input.value.trim(); if (!text) return; icAddMessage('user', text); icHistory.push({ role: 'user', content: text }); input.value = ''; icAddMessage('bot', '...'); try { const response = await fetch(IC_WORKER_URL, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ messages: icHistory }) }); const data = await response.json(); icRemoveLastBotMessage(); if (data.reply) { icAddMessage('bot', data.reply); icHistory.push({ role: 'assistant', content: data.reply }); } else { icAddMessage('bot', 'Mi dispiace, si è verificato un errore. Riprova tra poco.'); } } catch (err) { icRemoveLastBotMessage(); icAddMessage('bot', 'Mi dispiace, non riesco a rispondere in questo momento.'); } } function icAddMessage(role, text) { const container = document.getElementById('ic-chat-messages'); const div = document.createElement('div'); div.className = 'ic-msg ' + role; div.innerHTML = ''; div.querySelector('.bubble').textContent = text; container.appendChild(div); container.scrollTop = container.scrollHeight; } function icRemoveLastBotMessage() { const container = document.getElementById('ic-chat-messages'); container.removeChild(container.lastElementChild); }