[{"data":1,"prerenderedAt":2863},["ShallowReactive",2],{"blog-little-hotelier-mcp-claude-code-cursor-vscode-de":3,"blog-langs-little-hotelier-mcp-claude-code-cursor-vscode":2407,"blog-list-de":2416},{"id":4,"title":5,"body":6,"description":2364,"extension":2365,"meta":2366,"navigation":1042,"path":2403,"seo":2404,"stem":2405,"__hash__":2406},"content/blog/de/little-hotelier-mcp-claude-code-cursor-vscode.md","Little Hotelier mit Claude Code, Cursor und VS Code nutzen: MCP einrichten (Anleitung)",{"type":7,"value":8,"toc":2346},"minimark",[9,22,25,30,45,87,93,96,106,140,157,160,164,167,172,181,217,235,269,275,370,385,389,405,463,478,482,505,649,666,674,678,697,755,758,783,842,852,855,970,974,987,991,994,1005,1008,1551,1562,1566,1573,2060,2078,2082,2087,2090,2094,2164,2170,2174,2177,2225,2229,2306,2309,2313,2342],[10,11,12,13,17,18,21],"p",{},"Fügen Sie einen Remote-MCP-Server, ",[14,15,16],"code",{},"https://dashboard.hotelier.tools/api/mcp",", mit einem Hotelier-Tools-API-Schlüssel hinzu, und Claude Code, Cursor, VS Code (Copilot-Agentenmodus), Windsurf oder Gemini CLI können Ihre Little-Hotelier-Reservierungen, Preise und Rechnungen lesen, während sie Code für Sie schreiben. In Claude Code ist es ein einziger Befehl: ",[14,19,20],{},"claude mcp add --transport http hotelier-tools https://dashboard.hotelier.tools/api/mcp --header \"Authorization: Bearer htk_YOUR_API_KEY\"",".",[10,23,24],{},"Unten stehen die genauen Konfigurationen für jedes Werkzeug (im Oktober 2026 gegen die Dokumentation des jeweiligen Anbieters geprüft), drei Dinge, die sich zu bauen lohnen, und wann Sie stattdessen direkt die REST-API aufrufen.",[26,27,29],"h2",{"id":28},"bevor-sie-starten-einen-api-schlüssel-erstellen","Bevor Sie starten: einen API-Schlüssel erstellen",[10,31,32,33,40,41],{},"Little Hotelier veröffentlicht keinen MCP-Server, und die eigene Partner-API-Dokumentation von SiteMinder sagt, dass Verfügbarkeits- und Preisdaten ",[34,35,39],"a",{"href":36,"rel":37},"https://developer.siteminder.com/smx-api/reference/availability-and-rates/publishers",[38],"nofollow","nicht von Little Hotelier bezogen werden können",". Hotelier Tools bietet beides, einen MCP-Server und eine REST-API, mit dem eigenen Little-Hotelier-Login Ihres Betriebs. Es steht in keiner Verbindung zu SiteMinder oder Little Hotelier und wird von ihnen weder unterstützt noch empfohlen. Hintergrund: ",[34,42,44],{"href":43},"/blog/little-hotelier-api","Hat Little Hotelier eine API?",[46,47,48,61,71,81],"ol",{},[49,50,51,52,56,57,60],"li",{},"Verbinden Sie in Hotelier Tools Little Hotelier unter ",[53,54,55],"strong",{},"Credentials"," (",[14,58,59],{},"/credentials","), falls noch nicht geschehen.",[49,62,63,64,56,67,70],{},"Öffnen Sie ",[53,65,66],{},"Developer → API & MCP → API Keys",[14,68,69],{},"/developer/api-keys",").",[49,72,73,74,77,78,21],{},"Geben Sie einen Namen ein, der sagt, wo der Schlüssel liegen wird, etwa ",[14,75,76],{},"cursor-laptop",", und klicken Sie auf ",[53,79,80],{},"Generate key",[49,82,83,84,21],{},"Kopieren Sie ihn sofort: „Copy this key now — it will not be shown again.“ (Kopieren Sie diesen Schlüssel jetzt, er wird nicht noch einmal angezeigt.) Er beginnt mit ",[14,85,86],{},"htk_",[88,89],"screenshot",{"alt":90,"caption":91,"path":69,"src":92},"Seite API keys in Hotelier Tools: das Formular Generate a new key mit Namensfeld und der Schaltfläche Generate key, ein aktiver Schlüssel (MCP internal (chat), maskiert) mit einer Schaltfläche Revoke und die Hinweise Good security practice","Ein Schlüssel pro Werkzeug macht es leicht, genau den zu widerrufen, den Sie nicht mehr nutzen.","/images/blog/demo/en/api-keys.webp",[10,94,95],{},"Ein Schlüssel hat dieselben Berechtigungen wie Ihr Hotelier-Tools-Konto, für den einen Betrieb, in dem Sie ihn erstellt haben. Sie können bis zu 10 Schlüssel haben.",[10,97,98,101,102,105],{},[53,99,100],{},"Halten Sie den Schlüssel aus Ihren Dateien heraus."," Speichern Sie ihn in einer Umgebungsvariablen namens ",[14,103,104],{},"HT_API_KEY"," und verweisen Sie in den Konfigurationen darauf:",[107,108,114],"pre",{"className":109,"code":110,"filename":111,"language":112,"meta":113,"style":113},"language-bash shiki shiki-themes github-light github-dark","echo 'export HT_API_KEY=\"htk_YOUR_API_KEY\"' >> ~/.zshrc   # oder ~/.bashrc\n","macOS / Linux","bash","",[14,115,116],{"__ignoreMap":113},[117,118,121,125,129,133,136],"span",{"class":119,"line":120},"line",1,[117,122,124],{"class":123},"sj4cs","echo",[117,126,128],{"class":127},"sZZnC"," 'export HT_API_KEY=\"htk_YOUR_API_KEY\"'",[117,130,132],{"class":131},"szBVR"," >>",[117,134,135],{"class":127}," ~/.zshrc",[117,137,139],{"class":138},"sJ8bj","   # oder ~/.bashrc\n",[107,141,146],{"className":142,"code":143,"filename":144,"language":145,"meta":113,"style":113},"language-powershell shiki shiki-themes github-light github-dark","setx HT_API_KEY \"htk_YOUR_API_KEY\"\n","Windows PowerShell","powershell",[14,147,148],{"__ignoreMap":113},[117,149,150,154],{"class":119,"line":120},[117,151,153],{"class":152},"sVt8B","setx HT_API_KEY ",[117,155,156],{"class":127},"\"htk_YOUR_API_KEY\"\n",[10,158,159],{},"Öffnen Sie ein neues Terminal (und starten Sie Ihren Editor neu), damit er die Variable übernimmt.",[26,161,163],{"id":162},"so-fügen-sie-den-mcp-server-zu-claude-code-cursor-vs-code-windsurf-und-gemini-cli-hinzu","So fügen Sie den MCP-Server zu Claude Code, Cursor, VS Code, Windsurf und Gemini CLI hinzu",[10,165,166],{},"Jedes Werkzeug speichert dieselben drei Angaben (Adresse, Transport, Schlüssel) in einer etwas anderen Datei. Wählen Sie Ihr Werkzeug.",[168,169,171],"h3",{"id":170},"claude-code","Claude Code",[10,173,174,175,180],{},"Claude Code hat einen eingebauten Befehl für Remote-Server (",[34,176,179],{"href":177,"rel":178},"https://code.claude.com/docs/en/mcp",[38],"Dokumentation von Anthropic","):",[107,182,185],{"className":109,"code":183,"filename":184,"language":112,"meta":113,"style":113},"claude mcp add --transport http hotelier-tools https://dashboard.hotelier.tools/api/mcp --header \"Authorization: Bearer htk_YOUR_API_KEY\"\n","Terminal",[14,186,187],{"__ignoreMap":113},[117,188,189,193,196,199,202,205,208,211,214],{"class":119,"line":120},[117,190,192],{"class":191},"sScJk","claude",[117,194,195],{"class":127}," mcp",[117,197,198],{"class":127}," add",[117,200,201],{"class":123}," --transport",[117,203,204],{"class":127}," http",[117,206,207],{"class":127}," hotelier-tools",[117,209,210],{"class":127}," https://dashboard.hotelier.tools/api/mcp",[117,212,213],{"class":123}," --header",[117,215,216],{"class":127}," \"Authorization: Bearer htk_YOUR_API_KEY\"\n",[10,218,219,220,222,223,226,227,230,231,234],{},"Starten Sie dann ",[14,221,192],{}," und geben Sie ",[14,224,225],{},"/mcp"," ein. Hotelier Tools sollte als ",[53,228,229],{},"connected"," erscheinen. Ein Status ",[14,232,233],{},"failed"," mit 401 bedeutet, dass der Schlüssel falsch ist.",[236,237,238,256],"ul",{},[49,239,240,243,244,247,248,251,252,255],{},[53,241,242],{},"Geltungsbereich (Scope)."," Standardmäßig wird der Server nur für den aktuellen Ordner gespeichert. Fügen Sie ",[14,245,246],{},"--scope user"," nach dem Namen hinzu, um ihn in jedem Projekt zu nutzen, oder ",[14,249,250],{},"--scope project",", um eine gemeinsame ",[14,253,254],{},".mcp.json"," zu schreiben.",[49,257,258,261,262,265,266,268],{},[53,259,260],{},"Anmelden statt Schlüssel."," Führen Sie den Befehl ohne ",[14,263,264],{},"--header"," aus, geben Sie dann in Claude Code ",[14,267,225],{}," ein und authentifizieren Sie sich im Browser. Wenn Sie Hotelier Tools schon als Connector auf claude.ai verbunden haben, kann Claude Code ihn übernehmen, sobald Sie sich mit demselben Claude-Konto anmelden.",[10,270,271,272,274],{},"Für ein Projekt, das Sie mit einem Kollegen teilen oder in Git halten, legen Sie den Server in ",[14,273,254],{}," ab und lassen jede Person ihren eigenen Schlüssel liefern:",[107,276,280],{"className":277,"code":278,"filename":254,"language":279,"meta":113,"style":113},"language-json shiki shiki-themes github-light github-dark","{\n  \"mcpServers\": {\n    \"hotelier-tools\": {\n      \"type\": \"http\",\n      \"url\": \"https://dashboard.hotelier.tools/api/mcp\",\n      \"headers\": { \"Authorization\": \"Bearer ${HT_API_KEY}\" }\n    }\n  }\n}\n","json",[14,281,282,287,296,304,319,332,352,358,364],{"__ignoreMap":113},[117,283,284],{"class":119,"line":120},[117,285,286],{"class":152},"{\n",[117,288,290,293],{"class":119,"line":289},2,[117,291,292],{"class":123},"  \"mcpServers\"",[117,294,295],{"class":152},": {\n",[117,297,299,302],{"class":119,"line":298},3,[117,300,301],{"class":123},"    \"hotelier-tools\"",[117,303,295],{"class":152},[117,305,307,310,313,316],{"class":119,"line":306},4,[117,308,309],{"class":123},"      \"type\"",[117,311,312],{"class":152},": ",[117,314,315],{"class":127},"\"http\"",[117,317,318],{"class":152},",\n",[117,320,322,325,327,330],{"class":119,"line":321},5,[117,323,324],{"class":123},"      \"url\"",[117,326,312],{"class":152},[117,328,329],{"class":127},"\"https://dashboard.hotelier.tools/api/mcp\"",[117,331,318],{"class":152},[117,333,335,338,341,344,346,349],{"class":119,"line":334},6,[117,336,337],{"class":123},"      \"headers\"",[117,339,340],{"class":152},": { ",[117,342,343],{"class":123},"\"Authorization\"",[117,345,312],{"class":152},[117,347,348],{"class":127},"\"Bearer ${HT_API_KEY}\"",[117,350,351],{"class":152}," }\n",[117,353,355],{"class":119,"line":354},7,[117,356,357],{"class":152},"    }\n",[117,359,361],{"class":119,"line":360},8,[117,362,363],{"class":152},"  }\n",[117,365,367],{"class":119,"line":366},9,[117,368,369],{"class":152},"}\n",[10,371,372,373,376,377,380,381,384],{},"Die Zeile ",[14,374,375],{},"\"type\": \"http\""," ist erforderlich: Claude Code wertet einen Eintrag mit ",[14,378,379],{},"url",", aber ohne ",[14,382,383],{},"type"," als Konfigurationsfehler.",[168,386,388],{"id":387},"cursor","Cursor",[10,390,391,392,395,396,399,400,180],{},"Cursor liest ",[14,393,394],{},"~/.cursor/mcp.json"," für alle Projekte oder ",[14,397,398],{},".cursor/mcp.json"," innerhalb eines Projekts (",[34,401,404],{"href":402,"rel":403},"https://cursor.com/docs/context/mcp",[38],"Cursor-Dokumentation",[107,406,408],{"className":277,"code":407,"filename":394,"language":279,"meta":113,"style":113},"{\n  \"mcpServers\": {\n    \"hotelier-tools\": {\n      \"url\": \"https://dashboard.hotelier.tools/api/mcp\",\n      \"headers\": { \"Authorization\": \"Bearer ${env:HT_API_KEY}\" }\n    }\n  }\n}\n",[14,409,410,414,420,426,436,451,455,459],{"__ignoreMap":113},[117,411,412],{"class":119,"line":120},[117,413,286],{"class":152},[117,415,416,418],{"class":119,"line":289},[117,417,292],{"class":123},[117,419,295],{"class":152},[117,421,422,424],{"class":119,"line":298},[117,423,301],{"class":123},[117,425,295],{"class":152},[117,427,428,430,432,434],{"class":119,"line":306},[117,429,324],{"class":123},[117,431,312],{"class":152},[117,433,329],{"class":127},[117,435,318],{"class":152},[117,437,438,440,442,444,446,449],{"class":119,"line":321},[117,439,337],{"class":123},[117,441,340],{"class":152},[117,443,343],{"class":123},[117,445,312],{"class":152},[117,447,448],{"class":127},"\"Bearer ${env:HT_API_KEY}\"",[117,450,351],{"class":152},[117,452,453],{"class":119,"line":334},[117,454,357],{"class":152},[117,456,457],{"class":119,"line":354},[117,458,363],{"class":152},[117,460,461],{"class":119,"line":360},[117,462,369],{"class":152},[10,464,465,466,469,470,473,474,477],{},"Speichern Sie und prüfen Sie dann in den MCP-Einstellungen von Cursor, ob der Server aktiviert ist (neuere Versionen listen Server in der Seitenleiste unter ",[53,467,468],{},"Customize","). Fragen Sie im ",[53,471,472],{},"Agent","-Chat. Cursor bittet standardmäßig um Freigabe, bevor es ein Werkzeug ausführt. Lassen Sie das für diesen Server so. Lassen Sie ",[14,475,476],{},"headers"," weg, bietet Cursor stattdessen die Anmeldung im Browser an.",[168,479,481],{"id":480},"vs-code-mit-github-copilot","VS Code mit GitHub Copilot",[10,483,484,485,488,489,492,493,56,495,500,501,504],{},"VS Code nutzt ",[14,486,487],{},".vscode/mcp.json",", mit ",[14,490,491],{},"servers"," als oberstem Schlüssel und einem erforderlichen ",[14,494,375],{},[34,496,499],{"href":497,"rel":498},"https://code.visualstudio.com/docs/agents/reference/mcp-configuration",[38],"VS-Code-Dokumentation","). Seine Funktion ",[14,502,503],{},"inputs"," fragt den Schlüssel einmal ab und bewahrt ihn im sicheren Speicher von VS Code auf, sodass er nie in der Datei steht:",[107,506,508],{"className":277,"code":507,"filename":487,"language":279,"meta":113,"style":113},"{\n  \"inputs\": [\n    {\n      \"type\": \"promptString\",\n      \"id\": \"ht-api-key\",\n      \"description\": \"Hotelier Tools API key (htk_…)\",\n      \"password\": true\n    }\n  ],\n  \"servers\": {\n    \"hotelier-tools\": {\n      \"type\": \"http\",\n      \"url\": \"https://dashboard.hotelier.tools/api/mcp\",\n      \"headers\": { \"Authorization\": \"Bearer ${input:ht-api-key}\" }\n    }\n  }\n}\n",[14,509,510,514,522,527,538,550,562,572,576,581,589,596,607,618,634,639,644],{"__ignoreMap":113},[117,511,512],{"class":119,"line":120},[117,513,286],{"class":152},[117,515,516,519],{"class":119,"line":289},[117,517,518],{"class":123},"  \"inputs\"",[117,520,521],{"class":152},": [\n",[117,523,524],{"class":119,"line":298},[117,525,526],{"class":152},"    {\n",[117,528,529,531,533,536],{"class":119,"line":306},[117,530,309],{"class":123},[117,532,312],{"class":152},[117,534,535],{"class":127},"\"promptString\"",[117,537,318],{"class":152},[117,539,540,543,545,548],{"class":119,"line":321},[117,541,542],{"class":123},"      \"id\"",[117,544,312],{"class":152},[117,546,547],{"class":127},"\"ht-api-key\"",[117,549,318],{"class":152},[117,551,552,555,557,560],{"class":119,"line":334},[117,553,554],{"class":123},"      \"description\"",[117,556,312],{"class":152},[117,558,559],{"class":127},"\"Hotelier Tools API key (htk_…)\"",[117,561,318],{"class":152},[117,563,564,567,569],{"class":119,"line":354},[117,565,566],{"class":123},"      \"password\"",[117,568,312],{"class":152},[117,570,571],{"class":123},"true\n",[117,573,574],{"class":119,"line":360},[117,575,357],{"class":152},[117,577,578],{"class":119,"line":366},[117,579,580],{"class":152},"  ],\n",[117,582,584,587],{"class":119,"line":583},10,[117,585,586],{"class":123},"  \"servers\"",[117,588,295],{"class":152},[117,590,592,594],{"class":119,"line":591},11,[117,593,301],{"class":123},[117,595,295],{"class":152},[117,597,599,601,603,605],{"class":119,"line":598},12,[117,600,309],{"class":123},[117,602,312],{"class":152},[117,604,315],{"class":127},[117,606,318],{"class":152},[117,608,610,612,614,616],{"class":119,"line":609},13,[117,611,324],{"class":123},[117,613,312],{"class":152},[117,615,329],{"class":127},[117,617,318],{"class":152},[117,619,621,623,625,627,629,632],{"class":119,"line":620},14,[117,622,337],{"class":123},[117,624,340],{"class":152},[117,626,343],{"class":123},[117,628,312],{"class":152},[117,630,631],{"class":127},"\"Bearer ${input:ht-api-key}\"",[117,633,351],{"class":152},[117,635,637],{"class":119,"line":636},15,[117,638,357],{"class":152},[117,640,642],{"class":119,"line":641},16,[117,643,363],{"class":152},[117,645,647],{"class":119,"line":646},17,[117,648,369],{"class":152},[10,650,651,652,654,655,658,659,662,663,665],{},"Öffnen Sie Copilot Chat, wechseln Sie in den Modus ",[53,653,472],{}," und sehen Sie über ",[53,656,657],{},"Configure Tools"," die Werkzeuge von Hotelier Tools. VS Code bittet Sie möglicherweise beim ersten Start, dem Server zu vertrauen. Für alle Arbeitsbereiche führen Sie ",[53,660,661],{},"MCP: Open User Configuration"," aus und fügen denselben Block dort ein. VS Code unterstützt auch die Anmeldung im Browser, wenn Sie ",[14,664,476],{}," weglassen.",[88,667],{"alt":668,"caption":669,"path":670,"src":671,"height":672,"width":673},"Tab VS Code / GitHub Copilot der MCP-Einrichtungsseite von Hotelier Tools: ein Ausschnitt .vscode/mcp.json mit servers, hotelier-tools, type http, der /api/mcp-URL der Demo und einem Header Authorization mit dem Platzhalter htk_YOUR_API_KEY, dann Turn on Agent mode in Copilot Chat","Die Seite MCP Setup hat für jeden Client einen fertigen Ausschnitt. Die Demo zeigt ihre eigene Adresse, Ihre lautet dashboard.hotelier.tools.","/developer/mcp-setup","/images/blog/demo/en/mcp-config-vscode-copilot.webp",446,1036,[168,675,677],{"id":676},"windsurf-und-gemini-cli","Windsurf und Gemini CLI",[10,679,680,683,684,687,688,691,692,180],{},[53,681,682],{},"Windsurf"," (dessen Dokumentation jetzt unter Devin liegt) liest ",[14,685,686],{},"~/.codeium/windsurf/mcp_config.json"," und nutzt ",[14,689,690],{},"serverUrl"," für Remote-Server (",[34,693,696],{"href":694,"rel":695},"https://docs.devin.ai/windsurf/plugins/cascade/mcp",[38],"Dokumentation",[107,698,700],{"className":277,"code":699,"filename":686,"language":279,"meta":113,"style":113},"{\n  \"mcpServers\": {\n    \"hotelier-tools\": {\n      \"serverUrl\": \"https://dashboard.hotelier.tools/api/mcp\",\n      \"headers\": { \"Authorization\": \"Bearer ${env:HT_API_KEY}\" }\n    }\n  }\n}\n",[14,701,702,706,712,718,729,743,747,751],{"__ignoreMap":113},[117,703,704],{"class":119,"line":120},[117,705,286],{"class":152},[117,707,708,710],{"class":119,"line":289},[117,709,292],{"class":123},[117,711,295],{"class":152},[117,713,714,716],{"class":119,"line":298},[117,715,301],{"class":123},[117,717,295],{"class":152},[117,719,720,723,725,727],{"class":119,"line":306},[117,721,722],{"class":123},"      \"serverUrl\"",[117,724,312],{"class":152},[117,726,329],{"class":127},[117,728,318],{"class":152},[117,730,731,733,735,737,739,741],{"class":119,"line":321},[117,732,337],{"class":123},[117,734,340],{"class":152},[117,736,343],{"class":123},[117,738,312],{"class":152},[117,740,448],{"class":127},[117,742,351],{"class":152},[117,744,745],{"class":119,"line":334},[117,746,357],{"class":152},[117,748,749],{"class":119,"line":354},[117,750,363],{"class":152},[117,752,753],{"class":119,"line":360},[117,754,369],{"class":152},[10,756,757],{},"Windsurf begrenzt Cascade auf insgesamt 100 Werkzeuge, und Hotelier Tools bietet mehr als 100. Sie müssen daher eventuell Werkzeuge, die Sie nicht nutzen, im MCP-Panel ausschalten.",[10,759,760,763,764,767,768,771,772,775,776,778,779,180],{},[53,761,762],{},"Gemini CLI"," liest ",[14,765,766],{},"~/.gemini/settings.json"," (oder ",[14,769,770],{},".gemini/settings.json"," in einem Projekt) und nutzt für diese Art Server ",[14,773,774],{},"httpUrl",". ",[14,777,379],{}," würde den älteren SSE-Transport bedeuten, den Hotelier Tools nicht bedient (",[34,780,696],{"href":781,"rel":782},"https://geminicli.com/docs/tools/mcp-server/",[38],[107,784,786],{"className":277,"code":785,"filename":766,"language":279,"meta":113,"style":113},"{\n  \"mcpServers\": {\n    \"hotelier-tools\": {\n      \"httpUrl\": \"https://dashboard.hotelier.tools/api/mcp\",\n      \"headers\": { \"Authorization\": \"Bearer $HT_API_KEY\" }\n    }\n  }\n}\n",[14,787,788,792,798,804,815,830,834,838],{"__ignoreMap":113},[117,789,790],{"class":119,"line":120},[117,791,286],{"class":152},[117,793,794,796],{"class":119,"line":289},[117,795,292],{"class":123},[117,797,295],{"class":152},[117,799,800,802],{"class":119,"line":298},[117,801,301],{"class":123},[117,803,295],{"class":152},[117,805,806,809,811,813],{"class":119,"line":306},[117,807,808],{"class":123},"      \"httpUrl\"",[117,810,312],{"class":152},[117,812,329],{"class":127},[117,814,318],{"class":152},[117,816,817,819,821,823,825,828],{"class":119,"line":321},[117,818,337],{"class":123},[117,820,340],{"class":152},[117,822,343],{"class":123},[117,824,312],{"class":152},[117,826,827],{"class":127},"\"Bearer $HT_API_KEY\"",[117,829,351],{"class":152},[117,831,832],{"class":119,"line":334},[117,833,357],{"class":152},[117,835,836],{"class":119,"line":354},[117,837,363],{"class":152},[117,839,840],{"class":119,"line":360},[117,841,369],{"class":152},[10,843,844,845,848,849,851],{},"Oder im Terminal: ",[14,846,847],{},"gemini mcp add --transport http --header \"Authorization: Bearer htk_YOUR_API_KEY\" hotelier-tools https://dashboard.hotelier.tools/api/mcp",". Geben Sie in Gemini CLI ",[14,850,225],{}," ein, um es zu prüfen.",[10,853,854],{},"Diese beiden Konfigurationen folgen der Dokumentation des jeweiligen Anbieters. Wir haben sie nicht in jeder Version getestet.",[856,857,858,877],"table",{},[859,860,861],"thead",{},[862,863,864,868,871,874],"tr",{},[865,866,867],"th",{},"Werkzeug",[865,869,870],{},"Konfigurationsdatei",[865,872,873],{},"Oberster Schlüssel",[865,875,876],{},"URL-Schlüssel",[878,879,880,901,917,936,953],"tbody",{},[862,881,882,885,889,894],{},[883,884,171],"td",{},[883,886,887],{},[14,888,254],{},[883,890,891],{},[14,892,893],{},"mcpServers",[883,895,896,898,899],{},[14,897,379],{}," + ",[14,900,375],{},[862,902,903,905,909,913],{},[883,904,388],{},[883,906,907],{},[14,908,398],{},[883,910,911],{},[14,912,893],{},[883,914,915],{},[14,916,379],{},[862,918,919,922,926,930],{},[883,920,921],{},"VS Code",[883,923,924],{},[14,925,487],{},[883,927,928],{},[14,929,491],{},[883,931,932,898,934],{},[14,933,379],{},[14,935,375],{},[862,937,938,940,945,949],{},[883,939,682],{},[883,941,942],{},[14,943,944],{},"mcp_config.json",[883,946,947],{},[14,948,893],{},[883,950,951],{},[14,952,690],{},[862,954,955,957,962,966],{},[883,956,762],{},[883,958,959],{},[14,960,961],{},"settings.json",[883,963,964],{},[14,965,893],{},[883,967,968],{},[14,969,774],{},[26,971,973],{"id":972},"drei-dinge-die-sich-zu-bauen-lohnen","Drei Dinge, die sich zu bauen lohnen",[10,975,976,977,981,982,986],{},"Der Trick: Lassen Sie den Agenten per MCP Ihre echten Daten ",[978,979,980],"em",{},"ansehen"," und dann Code schreiben, der die ",[34,983,985],{"href":984},"/tools/bot/api-mcp","REST-API"," aufruft, damit das Ergebnis jeden Monat ohne KI läuft.",[168,988,990],{"id":989},"ein-monatlicher-auslastungsbericht","Ein monatlicher Auslastungsbericht",[10,992,993],{},"Fragen Sie Claude Code (oder den Agenten von Cursor) in einem leeren Ordner:",[995,996,997],"prompt",{"label":171},[10,998,999,1000,1004],{},"Nutze den MCP-Server hotelier-tools, um dir meine Zimmertypen und die Reservierungen des letzten Monats anzusehen. Schreibe dann ein Node.js-Skript, das die REST-API von Hotelier Tools aufruft (Spezifikation: ",[34,1001,1002],{"href":1002,"rel":1003},"https://dashboard.hotelier.tools/api/v1/openapi.json",[38],"), mit dem Schlüssel aus HT_API_KEY, und für jeden Monat, den ich übergebe, Auslastung und durchschnittlichen Tagespreis je Zimmertyp ausgibt und in einer CSV speichert.",[10,1006,1007],{},"Ein gutes Skript beginnt so. Es holt die Zimmertypen und jede Reservierung, die den Monat überschneidet, und speichert die Rohantwort, damit Sie die Felder prüfen können, bevor gerechnet wird:",[107,1009,1014],{"className":1010,"code":1011,"filename":1012,"language":1013,"meta":113,"style":113},"language-js shiki shiki-themes github-light github-dark","// Aufruf: node fetch-month.mjs 2026-09   (HT_API_KEY muss in Ihrer Umgebung gesetzt sein)\nimport { writeFile } from \"node:fs/promises\";\n\nconst API = \"https://dashboard.hotelier.tools/api/v1\";\nconst headers = {\n  Authorization: `Bearer ${process.env.HT_API_KEY}`,\n  \"Content-Type\": \"application/json\",\n};\n\nasync function call(path, options = {}) {\n  const res = await fetch(`${API}${path}`, { ...options, headers });\n  if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);\n  return res.json();\n}\n\nconst month = process.argv[2];\nconst [year, mon] = month.split(\"-\").map(Number);\nconst startDate = `${month}-01`;\nconst endDate = new Date(Date.UTC(year, mon, 0)).toISOString().slice(0, 10);\n\nconst roomTypes = await call(\"/room-types\");\nconst reservations = await call(\"/methods/getReservationsByDateRange\", {\n  method: \"POST\",\n  body: JSON.stringify({ params: { startDate, endDate } }),\n});\n\nawait writeFile(\n  `raw-${month}.json`,\n  JSON.stringify({ roomTypes: roomTypes.data, reservations: reservations.result }, null, 2)\n);\nconsole.log(`Saved raw-${month}.json`);\n","fetch-month.mjs","js",[14,1015,1016,1021,1038,1044,1060,1072,1097,1109,1114,1118,1147,1187,1242,1255,1259,1263,1281,1321,1342,1392,1397,1418,1440,1451,1468,1474,1479,1490,1503,1526,1531],{"__ignoreMap":113},[117,1017,1018],{"class":119,"line":120},[117,1019,1020],{"class":138},"// Aufruf: node fetch-month.mjs 2026-09   (HT_API_KEY muss in Ihrer Umgebung gesetzt sein)\n",[117,1022,1023,1026,1029,1032,1035],{"class":119,"line":289},[117,1024,1025],{"class":131},"import",[117,1027,1028],{"class":152}," { writeFile } ",[117,1030,1031],{"class":131},"from",[117,1033,1034],{"class":127}," \"node:fs/promises\"",[117,1036,1037],{"class":152},";\n",[117,1039,1040],{"class":119,"line":298},[117,1041,1043],{"emptyLinePlaceholder":1042},true,"\n",[117,1045,1046,1049,1052,1055,1058],{"class":119,"line":306},[117,1047,1048],{"class":131},"const",[117,1050,1051],{"class":123}," API",[117,1053,1054],{"class":131}," =",[117,1056,1057],{"class":127}," \"https://dashboard.hotelier.tools/api/v1\"",[117,1059,1037],{"class":152},[117,1061,1062,1064,1067,1069],{"class":119,"line":321},[117,1063,1048],{"class":131},[117,1065,1066],{"class":123}," headers",[117,1068,1054],{"class":131},[117,1070,1071],{"class":152}," {\n",[117,1073,1074,1077,1080,1083,1085,1088,1090,1092,1095],{"class":119,"line":334},[117,1075,1076],{"class":152},"  Authorization: ",[117,1078,1079],{"class":127},"`Bearer ${",[117,1081,1082],{"class":152},"process",[117,1084,21],{"class":127},[117,1086,1087],{"class":152},"env",[117,1089,21],{"class":127},[117,1091,104],{"class":123},[117,1093,1094],{"class":127},"}`",[117,1096,318],{"class":152},[117,1098,1099,1102,1104,1107],{"class":119,"line":354},[117,1100,1101],{"class":127},"  \"Content-Type\"",[117,1103,312],{"class":152},[117,1105,1106],{"class":127},"\"application/json\"",[117,1108,318],{"class":152},[117,1110,1111],{"class":119,"line":360},[117,1112,1113],{"class":152},"};\n",[117,1115,1116],{"class":119,"line":366},[117,1117,1043],{"emptyLinePlaceholder":1042},[117,1119,1120,1123,1126,1129,1132,1136,1139,1142,1144],{"class":119,"line":583},[117,1121,1122],{"class":131},"async",[117,1124,1125],{"class":131}," function",[117,1127,1128],{"class":191}," call",[117,1130,1131],{"class":152},"(",[117,1133,1135],{"class":1134},"s4XuR","path",[117,1137,1138],{"class":152},", ",[117,1140,1141],{"class":1134},"options",[117,1143,1054],{"class":131},[117,1145,1146],{"class":152}," {}) {\n",[117,1148,1149,1152,1155,1157,1160,1163,1165,1168,1171,1174,1176,1178,1181,1184],{"class":119,"line":591},[117,1150,1151],{"class":131},"  const",[117,1153,1154],{"class":123}," res",[117,1156,1054],{"class":131},[117,1158,1159],{"class":131}," await",[117,1161,1162],{"class":191}," fetch",[117,1164,1131],{"class":152},[117,1166,1167],{"class":127},"`${",[117,1169,1170],{"class":123},"API",[117,1172,1173],{"class":127},"}${",[117,1175,1135],{"class":152},[117,1177,1094],{"class":127},[117,1179,1180],{"class":152},", { ",[117,1182,1183],{"class":131},"...",[117,1185,1186],{"class":152},"options, headers });\n",[117,1188,1189,1192,1194,1197,1200,1203,1206,1209,1211,1213,1216,1218,1221,1224,1227,1229,1231,1234,1237,1239],{"class":119,"line":598},[117,1190,1191],{"class":131},"  if",[117,1193,56],{"class":152},[117,1195,1196],{"class":131},"!",[117,1198,1199],{"class":152},"res.ok) ",[117,1201,1202],{"class":131},"throw",[117,1204,1205],{"class":131}," new",[117,1207,1208],{"class":191}," Error",[117,1210,1131],{"class":152},[117,1212,1167],{"class":127},[117,1214,1215],{"class":152},"res",[117,1217,21],{"class":127},[117,1219,1220],{"class":152},"status",[117,1222,1223],{"class":127},"} ${",[117,1225,1226],{"class":131},"await",[117,1228,1154],{"class":152},[117,1230,21],{"class":127},[117,1232,1233],{"class":191},"text",[117,1235,1236],{"class":127},"()",[117,1238,1094],{"class":127},[117,1240,1241],{"class":152},");\n",[117,1243,1244,1247,1250,1252],{"class":119,"line":609},[117,1245,1246],{"class":131},"  return",[117,1248,1249],{"class":152}," res.",[117,1251,279],{"class":191},[117,1253,1254],{"class":152},"();\n",[117,1256,1257],{"class":119,"line":620},[117,1258,369],{"class":152},[117,1260,1261],{"class":119,"line":636},[117,1262,1043],{"emptyLinePlaceholder":1042},[117,1264,1265,1267,1270,1272,1275,1278],{"class":119,"line":641},[117,1266,1048],{"class":131},[117,1268,1269],{"class":123}," month",[117,1271,1054],{"class":131},[117,1273,1274],{"class":152}," process.argv[",[117,1276,1277],{"class":123},"2",[117,1279,1280],{"class":152},"];\n",[117,1282,1283,1285,1288,1291,1293,1296,1299,1302,1305,1308,1310,1313,1315,1318],{"class":119,"line":646},[117,1284,1048],{"class":131},[117,1286,1287],{"class":152}," [",[117,1289,1290],{"class":123},"year",[117,1292,1138],{"class":152},[117,1294,1295],{"class":123},"mon",[117,1297,1298],{"class":152},"] ",[117,1300,1301],{"class":131},"=",[117,1303,1304],{"class":152}," month.",[117,1306,1307],{"class":191},"split",[117,1309,1131],{"class":152},[117,1311,1312],{"class":127},"\"-\"",[117,1314,70],{"class":152},[117,1316,1317],{"class":191},"map",[117,1319,1320],{"class":152},"(Number);\n",[117,1322,1324,1326,1329,1331,1334,1337,1340],{"class":119,"line":1323},18,[117,1325,1048],{"class":131},[117,1327,1328],{"class":123}," startDate",[117,1330,1054],{"class":131},[117,1332,1333],{"class":127}," `${",[117,1335,1336],{"class":152},"month",[117,1338,1339],{"class":127},"}-01`",[117,1341,1037],{"class":152},[117,1343,1345,1347,1350,1352,1354,1357,1360,1363,1366,1369,1372,1375,1378,1381,1383,1385,1387,1390],{"class":119,"line":1344},19,[117,1346,1048],{"class":131},[117,1348,1349],{"class":123}," endDate",[117,1351,1054],{"class":131},[117,1353,1205],{"class":131},[117,1355,1356],{"class":191}," Date",[117,1358,1359],{"class":152},"(Date.",[117,1361,1362],{"class":191},"UTC",[117,1364,1365],{"class":152},"(year, mon, ",[117,1367,1368],{"class":123},"0",[117,1370,1371],{"class":152},")).",[117,1373,1374],{"class":191},"toISOString",[117,1376,1377],{"class":152},"().",[117,1379,1380],{"class":191},"slice",[117,1382,1131],{"class":152},[117,1384,1368],{"class":123},[117,1386,1138],{"class":152},[117,1388,1389],{"class":123},"10",[117,1391,1241],{"class":152},[117,1393,1395],{"class":119,"line":1394},20,[117,1396,1043],{"emptyLinePlaceholder":1042},[117,1398,1400,1402,1405,1407,1409,1411,1413,1416],{"class":119,"line":1399},21,[117,1401,1048],{"class":131},[117,1403,1404],{"class":123}," roomTypes",[117,1406,1054],{"class":131},[117,1408,1159],{"class":131},[117,1410,1128],{"class":191},[117,1412,1131],{"class":152},[117,1414,1415],{"class":127},"\"/room-types\"",[117,1417,1241],{"class":152},[117,1419,1421,1423,1426,1428,1430,1432,1434,1437],{"class":119,"line":1420},22,[117,1422,1048],{"class":131},[117,1424,1425],{"class":123}," reservations",[117,1427,1054],{"class":131},[117,1429,1159],{"class":131},[117,1431,1128],{"class":191},[117,1433,1131],{"class":152},[117,1435,1436],{"class":127},"\"/methods/getReservationsByDateRange\"",[117,1438,1439],{"class":152},", {\n",[117,1441,1443,1446,1449],{"class":119,"line":1442},23,[117,1444,1445],{"class":152},"  method: ",[117,1447,1448],{"class":127},"\"POST\"",[117,1450,318],{"class":152},[117,1452,1454,1457,1460,1462,1465],{"class":119,"line":1453},24,[117,1455,1456],{"class":152},"  body: ",[117,1458,1459],{"class":123},"JSON",[117,1461,21],{"class":152},[117,1463,1464],{"class":191},"stringify",[117,1466,1467],{"class":152},"({ params: { startDate, endDate } }),\n",[117,1469,1471],{"class":119,"line":1470},25,[117,1472,1473],{"class":152},"});\n",[117,1475,1477],{"class":119,"line":1476},26,[117,1478,1043],{"emptyLinePlaceholder":1042},[117,1480,1482,1484,1487],{"class":119,"line":1481},27,[117,1483,1226],{"class":131},[117,1485,1486],{"class":191}," writeFile",[117,1488,1489],{"class":152},"(\n",[117,1491,1493,1496,1498,1501],{"class":119,"line":1492},28,[117,1494,1495],{"class":127},"  `raw-${",[117,1497,1336],{"class":152},[117,1499,1500],{"class":127},"}.json`",[117,1502,318],{"class":152},[117,1504,1506,1509,1511,1513,1516,1519,1521,1523],{"class":119,"line":1505},29,[117,1507,1508],{"class":123},"  JSON",[117,1510,21],{"class":152},[117,1512,1464],{"class":191},[117,1514,1515],{"class":152},"({ roomTypes: roomTypes.data, reservations: reservations.result }, ",[117,1517,1518],{"class":123},"null",[117,1520,1138],{"class":152},[117,1522,1277],{"class":123},[117,1524,1525],{"class":152},")\n",[117,1527,1529],{"class":119,"line":1528},30,[117,1530,1241],{"class":152},[117,1532,1534,1537,1540,1542,1545,1547,1549],{"class":119,"line":1533},31,[117,1535,1536],{"class":152},"console.",[117,1538,1539],{"class":191},"log",[117,1541,1131],{"class":152},[117,1543,1544],{"class":127},"`Saved raw-${",[117,1546,1336],{"class":152},[117,1548,1500],{"class":127},[117,1550,1241],{"class":152},[10,1552,1553,1554,1557,1558,1561],{},"Die eigene Spezifikation der API sagt, Reservierungsobjekte kämen aus Little Hotelier und ihre „shape may vary“ (Struktur kann variieren). Lassen Sie den Agenten also die gespeicherte Datei lesen, bevor er etwas berechnet. ",[14,1555,1556],{},"/room-types"," liefert ",[14,1559,1560],{},"totalRooms"," je Typ, die andere Hälfte der Auslastungsrechnung.",[168,1563,1565],{"id":1564},"ein-google-sheets-sync","Ein Google-Sheets-Sync",[10,1567,1568,1569,1572],{},"Für eine Tabelle, die die Anreisen der nächsten 30 Tage auflistet und sich jeden Morgen aktualisiert, öffnen Sie Ihre Tabelle, gehen zu ",[53,1570,1571],{},"Erweiterungen → Apps Script"," und fügen ein:",[107,1574,1577],{"className":1010,"code":1575,"filename":1576,"language":1013,"meta":113,"style":113},"function syncArrivals() {\n  const key = PropertiesService.getScriptProperties().getProperty('HT_API_KEY');\n  const fmt = d => Utilities.formatDate(d, Session.getScriptTimeZone(), 'yyyy-MM-dd');\n  const today = new Date();\n  const in30 = new Date(today.getTime() + 30 * 24 * 60 * 60 * 1000);\n  const url = 'https://dashboard.hotelier.tools/api/v1/reservations'\n    + '?startDate=' + fmt(today) + '&endDate=' + fmt(in30) + '&limit=100';\n\n  const res = UrlFetchApp.fetch(url, {\n    headers: { Authorization: 'Bearer ' + key },\n    muteHttpExceptions: true,\n  });\n  if (res.getResponseCode() !== 200) throw new Error(res.getContentText());\n\n  const rows = JSON.parse(res.getContentText()).data.map(r => [\n    r.id, r.guestName, r.status, r.checkIn, r.checkOut, r.roomType, r.totalAmount,\n  ]);\n  const book = SpreadsheetApp.getActive();\n  const sheet = book.getSheetByName('Arrivals') || book.insertSheet('Arrivals');\n  sheet.clearContents();\n  sheet.appendRow(['ID', 'Guest', 'Status', 'Check-in', 'Check-out', 'Room type', 'Total']);\n  if (rows.length) sheet.getRange(2, 1, rows.length, rows[0].length).setValues(rows);\n}\n","Code.gs",[14,1578,1579,1590,1617,1652,1667,1717,1729,1764,1768,1785,1798,1808,1813,1849,1853,1889,1894,1899,1916,1952,1962,2008,2056],{"__ignoreMap":113},[117,1580,1581,1584,1587],{"class":119,"line":120},[117,1582,1583],{"class":131},"function",[117,1585,1586],{"class":191}," syncArrivals",[117,1588,1589],{"class":152},"() {\n",[117,1591,1592,1594,1597,1599,1602,1605,1607,1610,1612,1615],{"class":119,"line":289},[117,1593,1151],{"class":131},[117,1595,1596],{"class":123}," key",[117,1598,1054],{"class":131},[117,1600,1601],{"class":152}," PropertiesService.",[117,1603,1604],{"class":191},"getScriptProperties",[117,1606,1377],{"class":152},[117,1608,1609],{"class":191},"getProperty",[117,1611,1131],{"class":152},[117,1613,1614],{"class":127},"'HT_API_KEY'",[117,1616,1241],{"class":152},[117,1618,1619,1621,1624,1626,1629,1632,1635,1638,1641,1644,1647,1650],{"class":119,"line":298},[117,1620,1151],{"class":131},[117,1622,1623],{"class":191}," fmt",[117,1625,1054],{"class":131},[117,1627,1628],{"class":1134}," d",[117,1630,1631],{"class":131}," =>",[117,1633,1634],{"class":152}," Utilities.",[117,1636,1637],{"class":191},"formatDate",[117,1639,1640],{"class":152},"(d, Session.",[117,1642,1643],{"class":191},"getScriptTimeZone",[117,1645,1646],{"class":152},"(), ",[117,1648,1649],{"class":127},"'yyyy-MM-dd'",[117,1651,1241],{"class":152},[117,1653,1654,1656,1659,1661,1663,1665],{"class":119,"line":306},[117,1655,1151],{"class":131},[117,1657,1658],{"class":123}," today",[117,1660,1054],{"class":131},[117,1662,1205],{"class":131},[117,1664,1356],{"class":191},[117,1666,1254],{"class":152},[117,1668,1669,1671,1674,1676,1678,1680,1683,1686,1689,1692,1695,1698,1701,1703,1706,1708,1710,1712,1715],{"class":119,"line":321},[117,1670,1151],{"class":131},[117,1672,1673],{"class":123}," in30",[117,1675,1054],{"class":131},[117,1677,1205],{"class":131},[117,1679,1356],{"class":191},[117,1681,1682],{"class":152},"(today.",[117,1684,1685],{"class":191},"getTime",[117,1687,1688],{"class":152},"() ",[117,1690,1691],{"class":131},"+",[117,1693,1694],{"class":123}," 30",[117,1696,1697],{"class":131}," *",[117,1699,1700],{"class":123}," 24",[117,1702,1697],{"class":131},[117,1704,1705],{"class":123}," 60",[117,1707,1697],{"class":131},[117,1709,1705],{"class":123},[117,1711,1697],{"class":131},[117,1713,1714],{"class":123}," 1000",[117,1716,1241],{"class":152},[117,1718,1719,1721,1724,1726],{"class":119,"line":334},[117,1720,1151],{"class":131},[117,1722,1723],{"class":123}," url",[117,1725,1054],{"class":131},[117,1727,1728],{"class":127}," 'https://dashboard.hotelier.tools/api/v1/reservations'\n",[117,1730,1731,1734,1737,1740,1742,1745,1747,1750,1752,1754,1757,1759,1762],{"class":119,"line":354},[117,1732,1733],{"class":131},"    +",[117,1735,1736],{"class":127}," '?startDate='",[117,1738,1739],{"class":131}," +",[117,1741,1623],{"class":191},[117,1743,1744],{"class":152},"(today) ",[117,1746,1691],{"class":131},[117,1748,1749],{"class":127}," '&endDate='",[117,1751,1739],{"class":131},[117,1753,1623],{"class":191},[117,1755,1756],{"class":152},"(in30) ",[117,1758,1691],{"class":131},[117,1760,1761],{"class":127}," '&limit=100'",[117,1763,1037],{"class":152},[117,1765,1766],{"class":119,"line":360},[117,1767,1043],{"emptyLinePlaceholder":1042},[117,1769,1770,1772,1774,1776,1779,1782],{"class":119,"line":366},[117,1771,1151],{"class":131},[117,1773,1154],{"class":123},[117,1775,1054],{"class":131},[117,1777,1778],{"class":152}," UrlFetchApp.",[117,1780,1781],{"class":191},"fetch",[117,1783,1784],{"class":152},"(url, {\n",[117,1786,1787,1790,1793,1795],{"class":119,"line":583},[117,1788,1789],{"class":152},"    headers: { Authorization: ",[117,1791,1792],{"class":127},"'Bearer '",[117,1794,1739],{"class":131},[117,1796,1797],{"class":152}," key },\n",[117,1799,1800,1803,1806],{"class":119,"line":591},[117,1801,1802],{"class":152},"    muteHttpExceptions: ",[117,1804,1805],{"class":123},"true",[117,1807,318],{"class":152},[117,1809,1810],{"class":119,"line":598},[117,1811,1812],{"class":152},"  });\n",[117,1814,1815,1817,1820,1823,1825,1828,1831,1834,1836,1838,1840,1843,1846],{"class":119,"line":609},[117,1816,1191],{"class":131},[117,1818,1819],{"class":152}," (res.",[117,1821,1822],{"class":191},"getResponseCode",[117,1824,1688],{"class":152},[117,1826,1827],{"class":131},"!==",[117,1829,1830],{"class":123}," 200",[117,1832,1833],{"class":152},") ",[117,1835,1202],{"class":131},[117,1837,1205],{"class":131},[117,1839,1208],{"class":191},[117,1841,1842],{"class":152},"(res.",[117,1844,1845],{"class":191},"getContentText",[117,1847,1848],{"class":152},"());\n",[117,1850,1851],{"class":119,"line":620},[117,1852,1043],{"emptyLinePlaceholder":1042},[117,1854,1855,1857,1860,1862,1865,1867,1870,1872,1874,1877,1879,1881,1884,1886],{"class":119,"line":636},[117,1856,1151],{"class":131},[117,1858,1859],{"class":123}," rows",[117,1861,1054],{"class":131},[117,1863,1864],{"class":123}," JSON",[117,1866,21],{"class":152},[117,1868,1869],{"class":191},"parse",[117,1871,1842],{"class":152},[117,1873,1845],{"class":191},[117,1875,1876],{"class":152},"()).data.",[117,1878,1317],{"class":191},[117,1880,1131],{"class":152},[117,1882,1883],{"class":1134},"r",[117,1885,1631],{"class":131},[117,1887,1888],{"class":152}," [\n",[117,1890,1891],{"class":119,"line":641},[117,1892,1893],{"class":152},"    r.id, r.guestName, r.status, r.checkIn, r.checkOut, r.roomType, r.totalAmount,\n",[117,1895,1896],{"class":119,"line":646},[117,1897,1898],{"class":152},"  ]);\n",[117,1900,1901,1903,1906,1908,1911,1914],{"class":119,"line":1323},[117,1902,1151],{"class":131},[117,1904,1905],{"class":123}," book",[117,1907,1054],{"class":131},[117,1909,1910],{"class":152}," SpreadsheetApp.",[117,1912,1913],{"class":191},"getActive",[117,1915,1254],{"class":152},[117,1917,1918,1920,1923,1925,1928,1931,1933,1936,1938,1941,1943,1946,1948,1950],{"class":119,"line":1344},[117,1919,1151],{"class":131},[117,1921,1922],{"class":123}," sheet",[117,1924,1054],{"class":131},[117,1926,1927],{"class":152}," book.",[117,1929,1930],{"class":191},"getSheetByName",[117,1932,1131],{"class":152},[117,1934,1935],{"class":127},"'Arrivals'",[117,1937,1833],{"class":152},[117,1939,1940],{"class":131},"||",[117,1942,1927],{"class":152},[117,1944,1945],{"class":191},"insertSheet",[117,1947,1131],{"class":152},[117,1949,1935],{"class":127},[117,1951,1241],{"class":152},[117,1953,1954,1957,1960],{"class":119,"line":1394},[117,1955,1956],{"class":152},"  sheet.",[117,1958,1959],{"class":191},"clearContents",[117,1961,1254],{"class":152},[117,1963,1964,1966,1969,1972,1975,1977,1980,1982,1985,1987,1990,1992,1995,1997,2000,2002,2005],{"class":119,"line":1399},[117,1965,1956],{"class":152},[117,1967,1968],{"class":191},"appendRow",[117,1970,1971],{"class":152},"([",[117,1973,1974],{"class":127},"'ID'",[117,1976,1138],{"class":152},[117,1978,1979],{"class":127},"'Guest'",[117,1981,1138],{"class":152},[117,1983,1984],{"class":127},"'Status'",[117,1986,1138],{"class":152},[117,1988,1989],{"class":127},"'Check-in'",[117,1991,1138],{"class":152},[117,1993,1994],{"class":127},"'Check-out'",[117,1996,1138],{"class":152},[117,1998,1999],{"class":127},"'Room type'",[117,2001,1138],{"class":152},[117,2003,2004],{"class":127},"'Total'",[117,2006,2007],{"class":152},"]);\n",[117,2009,2010,2012,2015,2018,2021,2024,2026,2028,2030,2033,2036,2038,2041,2043,2046,2048,2050,2053],{"class":119,"line":1420},[117,2011,1191],{"class":131},[117,2013,2014],{"class":152}," (rows.",[117,2016,2017],{"class":123},"length",[117,2019,2020],{"class":152},") sheet.",[117,2022,2023],{"class":191},"getRange",[117,2025,1131],{"class":152},[117,2027,1277],{"class":123},[117,2029,1138],{"class":152},[117,2031,2032],{"class":123},"1",[117,2034,2035],{"class":152},", rows.",[117,2037,2017],{"class":123},[117,2039,2040],{"class":152},", rows[",[117,2042,1368],{"class":123},[117,2044,2045],{"class":152},"].",[117,2047,2017],{"class":123},[117,2049,70],{"class":152},[117,2051,2052],{"class":191},"setValues",[117,2054,2055],{"class":152},"(rows);\n",[117,2057,2058],{"class":119,"line":1442},[117,2059,369],{"class":152},[10,2061,2062,2063,2066,2067,2069,2070,2073,2074,2077],{},"Speichern Sie den Schlüssel unter ",[53,2064,2065],{},"Projekteinstellungen → Skripteigenschaften"," als ",[14,2068,104],{},", führen Sie das Skript einmal aus, um den Zugriff zu erteilen, und legen Sie dann unter ",[53,2071,2072],{},"Trigger"," einen täglichen zeitgesteuerten Trigger an. ",[14,2075,2076],{},"/reservations"," liefert höchstens 100 Aufenthalte pro Aufruf, gefiltert nach Anreisedatum. Teilen Sie gut gebuchte Monate also in Wochen auf. Denken Sie daran: Die Tabelle enthält jetzt Gästenamen, geben Sie sie mit Bedacht frei.",[168,2079,2081],{"id":2080},"ein-kleines-eigenes-dashboard","Ein kleines eigenes Dashboard",[995,2083,2084],{"label":388},[10,2085,2086],{},"Baue eine kleine Node.js-Web-App, die die Auslastung von heute Nacht, die Anreisen und Abreisen von heute und Aufenthalte mit offenem Saldo zeigt, über die REST-API von Hotelier Tools. HT_API_KEY bleibt nur auf dem Server. Der Browser muss meinen Server aufrufen, nie direkt die API. Antworten werden fünf Minuten zwischengespeichert.",[10,2088,2089],{},"Zwei Regeln machen das sicher: Der Schlüssel bleibt auf dem Server (jeder, der eine Seite öffnet, kann Schlüssel im Browsercode lesen), und Sie nutzen einen Cache, denn die API erlaubt 100 Anfragen pro Minute und IP-Adresse.",[26,2091,2093],{"id":2092},"mcp-oder-rest-api-was-sollten-sie-nutzen","MCP oder REST-API: Was sollten Sie nutzen?",[856,2095,2096,2107],{},[859,2097,2098],{},[862,2099,2100,2102,2105],{},[865,2101],{},[865,2103,2104],{},"MCP-Server",[865,2106,985],{},[878,2108,2109,2120,2134,2149],{},[862,2110,2111,2114,2117],{},[883,2112,2113],{},"Am besten für",[883,2115,2116],{},"Fragen stellen, einen Agenten beim Programmieren erkunden lassen",[883,2118,2119],{},"Skripte, Sheets, Dashboards, die nach Zeitplan laufen",[862,2121,2122,2125,2129],{},[883,2123,2124],{},"Adresse",[883,2126,2127],{},[14,2128,16],{},[883,2130,2131],{},[14,2132,2133],{},"https://dashboard.hotelier.tools/api/v1",[862,2135,2136,2139,2142],{},[883,2137,2138],{},"Authentifizierung",[883,2140,2141],{},"API-Schlüssel oder Anmeldung im Browser",[883,2143,2144,2145,2148],{},"API-Schlüssel (",[14,2146,2147],{},"Authorization: Bearer htk_…",")",[862,2150,2151,2153,2158],{},[883,2152,696],{},[883,2154,2155,2156,2148],{},"Seite MCP Setup (",[14,2157,670],{},[883,2159,2160,2161,2148],{},"Swagger-Explorer (",[14,2162,2163],{},"/developer/rest-api",[10,2165,2166,2167,21],{},"Beide nutzen denselben Schlüssel und dieselben Berechtigungen. Die REST-Anleitung steht in ",[34,2168,2169],{"href":43},"Little Hotelier API",[26,2171,2173],{"id":2172},"lese-und-schreibwerkzeuge-halten-sie-den-agenten-an-der-kurzen-leine","Lese- und Schreibwerkzeuge: Halten Sie den Agenten an der kurzen Leine",[10,2175,2176],{},"Coding-Agenten führen Werkzeuge schnell aus, und genau deshalb sollten Sie sie hier ausbremsen.",[236,2178,2179,2185,2191,2209],{},[49,2180,2181,2184],{},[53,2182,2183],{},"Schreibzugriffe laufen, sobald der Agent sie aufruft."," Außerhalb des Hotelier-Tools-Dashboards gibt es keine Freigabekarte. Eine Reservierung zu ändern, eine Zahlung zu erfassen, Preise anzuwenden oder einen Stop-Sell zu setzen, geschieht, sobald das Werkzeug läuft. Lassen Sie die Einstellung Ihres Editors „vor dem Ausführen von Werkzeugen fragen“ an und nutzen Sie mit diesem Server keine Auto-Run-Modi.",[49,2186,2187,2190],{},[53,2188,2189],{},"Nicht umkehrbare Aktionen sind ohnehin gesperrt."," Acht Werkzeuge (Rechnungen per E-Mail an Gäste senden, Erstattungen, die INE-Erhebung einreichen, Team-Einladungen, Gästelinks per E-Mail senden, Booking.com-Fragen beantworten und die Wartelistenprüfung, die Gäste anschreibt) gibt es nur im Dashboard.",[49,2192,2193,2196,2197,2200,2201,2204,2205,2208],{},[53,2194,2195],{},"Reservierungsänderungen laufen in zwei Schritten."," ",[14,2198,2199],{},"propose_reservation_changes"," zeigt das Vorher und Nachher, ",[14,2202,2203],{},"apply_reservation_changes"," braucht ",[14,2206,2207],{},"confirmed: true",". Lesen Sie den Vorschlag.",[49,2210,2211,2214,2215,2218,2219,2222,2223,21],{},[53,2212,2213],{},"Committen Sie nie einen Schlüssel."," Nutzen Sie Verweise im Stil ",[14,2216,2217],{},"${HT_API_KEY}",", tragen Sie lokale Konfigurationsdateien in ",[14,2220,2221],{},".gitignore"," ein und widerrufen Sie jeden durchgesickerten Schlüssel unter ",[14,2224,69],{},[26,2226,2228],{"id":2227},"fehlersuche-server-wird-nicht-angezeigt","Fehlersuche: „Server wird nicht angezeigt“",[236,2230,2231,2237,2245,2256,2262,2270,2286,2296],{},[49,2232,2233,2236],{},[53,2234,2235],{},"Nach dem Bearbeiten einer Konfiguration erscheint nichts:"," Starten Sie Editor oder CLI neu. Die meisten Werkzeuge lesen MCP-Konfigurationen beim Start.",[49,2238,2239,2242,2243,21],{},[53,2240,2241],{},"Claude Code oder VS Code ignoriert den Server:"," Prüfen Sie ",[14,2244,375],{},[49,2246,2247,2250,2251,2253,2254,21],{},[53,2248,2249],{},"Gemini CLI verbindet, scheitert aber:"," Nutzen Sie ",[14,2252,774],{},", nicht ",[14,2255,379],{},[49,2257,2258,2261],{},[53,2259,2260],{},"401:"," falscher oder widerrufener Schlüssel, oder die Umgebungsvariable ist in diesem Terminal nicht gesetzt.",[49,2263,2264,2267,2268,21],{},[53,2265,2266],{},"400 „No Little Hotelier credentials configured“:"," Verbinden Sie Little Hotelier unter ",[14,2269,59],{},[49,2271,2272,2279,2280,2282,2283,21],{},[53,2273,2274,2275,2278],{},"423 ",[14,2276,2277],{},"lh_frozen",":"," Die Anmeldung bei Little Hotelier ist nach einem fehlgeschlagenen Login pausiert (oft ein abgelaufenes Passwort). Speichern Sie das neue Passwort unter ",[53,2281,55],{}," oder klicken Sie auf ",[53,2284,2285],{},"Check now & resume",[49,2287,2288,2291,2292,2295],{},[53,2289,2290],{},"429:"," zu viele Anfragen, warten Sie die Zeit in ",[14,2293,2294],{},"Retry-After"," ab.",[49,2297,2298,2301,2302,2305],{},[53,2299,2300],{},"Der Zeilenumbruch mit Backslash schlägt unter Windows fehl:"," PowerShell nutzt ",[14,2303,2304],{},"\\"," nicht zum Fortsetzen von Zeilen. Fügen Sie Befehle in einer Zeile ein, wie oben gezeigt.",[2307,2308],"demo-cta",{"path":670},[26,2310,2312],{"id":2311},"nächste-schritte","Nächste Schritte",[236,2314,2315,2328,2335],{},[49,2316,2317,2318,2322,2323,2327],{},"Kein Entwickler? ",[34,2319,2321],{"href":2320},"/blog/connect-claude-to-little-hotelier","Verbinden Sie Claude"," oder ",[34,2324,2326],{"href":2325},"/blog/connect-chatgpt-to-little-hotelier","ChatGPT"," stattdessen im Browser.",[49,2329,2330,2331,21],{},"Das Thema ist neu für Sie? Lesen Sie ",[34,2332,2334],{"href":2333},"/blog/what-is-mcp-server-hotels","Was ist ein MCP-Server?",[49,2336,2337,2338,21],{},"Tabellen ohne Code gewünscht? Siehe ",[34,2339,2341],{"href":2340},"/blog/export-little-hotelier-reservations-excel","Reservierungen nach Excel exportieren",[2343,2344,2345],"style",{},"html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}",{"title":113,"searchDepth":289,"depth":289,"links":2347},[2348,2349,2355,2360,2361,2362,2363],{"id":28,"depth":289,"text":29},{"id":162,"depth":289,"text":163,"children":2350},[2351,2352,2353,2354],{"id":170,"depth":298,"text":171},{"id":387,"depth":298,"text":388},{"id":480,"depth":298,"text":481},{"id":676,"depth":298,"text":677},{"id":972,"depth":289,"text":973,"children":2356},[2357,2358,2359],{"id":989,"depth":298,"text":990},{"id":1564,"depth":298,"text":1565},{"id":2080,"depth":298,"text":2081},{"id":2092,"depth":289,"text":2093},{"id":2172,"depth":289,"text":2173},{"id":2227,"depth":289,"text":2228},{"id":2311,"depth":289,"text":2312},"Hotelier-Tools-MCP-Server in Claude Code, Cursor, VS Code, Windsurf oder Gemini CLI einrichten und Auslastungsbericht, Sheets-Sync oder Dashboard bauen.","md",{"seoTitle":2367,"date":2368,"category":2369,"tags":2370,"keywords":2375,"feature":2384,"demoPath":670,"cover":2385,"coverAlt":2386,"faq":2387},"Claude Code MCP einrichten: Little Hotelier, Cursor, VS Code","2026-10-03","ai",[2371,2372,387,2373,2374],"mcp","claude code","vs code","api",[2376,2377,2378,2379,2380,2381,2382,2383],"claude code mcp einrichten","mcp claude code","claude code installieren","cursor mcp.json","vscode mcp.json","little hotelier mcp","gemini cli mcp","claude code verbinden","api-mcp","/images/blog/demo/en/mcp-setup.webp","MCP-Einrichtungsanleitung in Hotelier Tools: eine Erklärung What is MCP? und Client-Konfigurations-Tabs für Claude Desktop, VS Code, Cursor und Custom / SDK, mit ausgewähltem Claude Desktop und seinem Ausschnitt claude_desktop_config.json",[2388,2391,2394,2397,2400],{"q":2389,"a":2390},"Wie lautet der Befehl claude mcp add für Little Hotelier?","Führen Sie aus: claude mcp add --transport http hotelier-tools https://dashboard.hotelier.tools/api/mcp --header \"Authorization: Bearer htk_YOUR_API_KEY\". Ersetzen Sie den Schlüssel durch einen aus Developer, API Keys in Hotelier Tools und prüfen Sie ihn dann mit /mcp in Claude Code.",{"q":2392,"a":2393},"Wo liegt mcp.json in Cursor und VS Code?","Cursor liest ~/.cursor/mcp.json für alle Projekte und .cursor/mcp.json innerhalb eines Projekts. VS Code liest .vscode/mcp.json im Arbeitsbereich und eine Datei auf Benutzerebene, die Sie mit dem Befehl MCP: Open User Configuration öffnen. VS Code verwendet den Schlüssel servers, nicht mcpServers.",{"q":2395,"a":2396},"Muss ich Entwickler sein, um Claude Code mit meinen Hoteldaten zu nutzen?","Nein. Sie installieren Claude Code, fügen einen Befehl ein und fragen dann in normalen Worten. Es hilft zu wissen, wo Ihre Dateien liegen und wie man ein Skript ausführt, aber Claude Code kann jeden Schritt beim Arbeiten erklären.",{"q":2398,"a":2399},"Kann ich mich anmelden, statt einen API-Schlüssel zu nutzen?","Ja, in Clients, die OAuth unterstützen. Fügen Sie die Server-URL ohne Header hinzu und melden Sie sich an, wenn der Client danach fragt: In Claude Code führen Sie /mcp aus und wählen die Authentifizierung. Die Anmeldung gilt 30 Tage. Für Skripte, die unbeaufsichtigt laufen, sind Schlüssel besser.",{"q":2401,"a":2402},"Ist das eine offizielle API von Little Hotelier oder SiteMinder?","Nein. Hotelier Tools ist unabhängig, steht in keiner Verbindung zu SiteMinder oder Little Hotelier und wird von ihnen weder unterstützt noch empfohlen. Es verbindet sich mit dem eigenen Little-Hotelier-Login Ihres Betriebs und bietet eine eigene REST-API und einen eigenen MCP-Server.","/blog/de/little-hotelier-mcp-claude-code-cursor-vscode",{"title":5,"description":2364},"blog/de/little-hotelier-mcp-claude-code-cursor-vscode","p1qhJqSgSJZ8udPIxvlVqTVjaxKgomktd5pEISOE2iE",[2408,2409,2410,2411,2412,2413,2414,2415,865],"de","en-gb","en","es","fr","id","it","pt",[2417,2439,2460,2479,2496,2515,2534,2549,2571,2591,2608,2628,2648,2665,2684,2688,2708,2727,2745,2757,2776,2792,2807,2825,2844],{"path":2418,"title":2419,"description":2420,"meta":2421},"/blog/de/booking-com-invalid-card-no-show","Booking.com Kreditkarte ungültig oder No-Show: Was tun? Schritt für Schritt","Karte als ungültig markieren, dem Gast 24 Stunden geben, dann ohne Provision stornieren. Dazu No-Show-Fristen, abgelehnte virtuelle Karten, Früherkennung.",{"date":2368,"category":2422,"tags":2423,"keywords":2429,"feature":2436,"cover":2437,"coverAlt":2438},"operations",[2424,2425,2426,2427,2428],"booking.com","no-show","payments","little hotelier","automated checks",[2430,2431,2432,2433,2434,2435],"booking kreditkarte ungültig","booking.com kreditkarte ungültig hotel","no show hotel rechnung","booking.com no show gebühr","no show hotel umsatzsteuer","booking.com virtuelle kreditkarte abgelehnt","automated-checks","/images/blog/demo/en/automated-checks-issues.webp","Seite Issues in Hotelier Tools mit 20 offenen, 5 behobenen und 25 Problemen insgesamt sowie Reservierungen mit einer Warnung zu einem offenen Saldo bei der Anreise und einer Schaltfläche Verify",{"path":2440,"title":2441,"description":2442,"meta":2443},"/blog/de/booking-com-guest-messages","Booking.com-Nachrichten verwalten, ohne ständig im Extranet zu sein","Pulse, Vorlagen, geplante Nachrichten, automatische Antworten, gefälschte Nachrichten erkennen und ein Posteingang für Booking.com, WhatsApp und E-Mail.",{"date":2368,"category":2444,"tags":2445,"keywords":2449,"feature":2457,"cover":2458,"coverAlt":2459},"guests",[2424,2446,2447,2448,2427],"guest messages","inbox","templates",[2450,2451,2452,2453,2454,2455,2456],"booking.com nachrichten","booking nachrichten werden nicht angezeigt","booking.com nachrichten laden nicht","booking.com nachrichten übersetzen","booking.com nachrichten abrufen","booking.com phishing nachrichten","booking.com automatische antworten","guest-inbox","/images/blog/demo/en/guest-inbox-ai-draft-availability.webp","Gäste-Posteingang von Hotelier Tools mit den Filtern WhatsApp, Email und Booking.com, einer E-Mail eines Gastes mit Frage nach einem Doppelzimmer im September, dem KI-Plan als Entwurf mit bearbeitbarer englischer Antwort und dem privaten Assistenten-Bereich",{"path":2461,"title":2462,"description":2463,"meta":2464},"/blog/de/booking-com-commission","Booking.com-Provision: Wie hoch ist sie für Hotels? So sehen Sie Ihr echtes Netto in Little Hotelier","Kein Einheitssatz: Sie zahlen den Prozentsatz Ihres Vertrags plus Programme und Zahlungsgebühren. Worauf er anfällt, USt. und Ihr Netto je Buchung.",{"date":2368,"category":2465,"tags":2466,"keywords":2470,"cover":2477,"coverAlt":2478},"tips",[2424,2467,2427,2468,2469],"commission","userscript","vat",[2471,2472,2473,2474,2475,2476],"booking provision hotel","booking provision höhe","booking.com provision umsatzsteuer","booking.com provision rechner","booking genius provision","booking.com zahlungsgebühr","/images/scripts/show-booking-commissions/to.png","Reservierungsübersicht in Little Hotelier (spanische Oberfläche) mit Booking.com-Provision, Zahlungsgebühr und ungefährem Netto, ergänzt durch ein kostenloses Skript",{"path":2480,"title":2481,"description":2482,"meta":2483},"/blog/de/connect-chatgpt-to-little-hotelier","ChatGPT mit Little Hotelier verbinden (plus 18 Prompts für kleine Hotels)","ChatGPT mit Little Hotelier verbinden: Entwicklermodus und MCP-App, was Ihr Tarif erlaubt, und 18 Prompts für Anreisen, Zahlungen und Preise zum Kopieren.",{"date":2368,"category":2369,"tags":2484,"keywords":2487,"feature":2384,"cover":2494,"coverAlt":2495},[2485,2371,2369,2486,2427],"chatgpt","prompts",[2488,2489,2490,2491,2492,2493],"chatgpt mit little hotelier verbinden","chatgpt hotellerie","chatgpt mcp connector","chatgpt prompts hotel","chatgpt hotelverwaltung","chatgpt entwicklermodus mcp","/images/blog/demo/en/mcp-oauth-consent.webp","Seite Authorize MCP access von Hotelier Tools, die ein KI-Assistent beim Verbinden öffnet, mit Hinweis auf ein 30-Tage-Token und den Schaltflächen Deny und Allow access",{"path":2497,"title":2498,"description":2499,"meta":2500},"/blog/de/hotel-front-desk-checklist-automation","Checkliste Rezeption Hotel für Little Hotelier: 8 Probleme vor der Anreise erkennen","Tägliche Checkliste für die Rezeption mit Little Hotelier: 8 Reservierungsprobleme vor der Anreise, wo Sie sie finden und wie Sie fünf automatisieren.",{"date":2368,"category":2422,"tags":2501,"keywords":2506,"feature":2436,"cover":2513,"coverAlt":2514},[2502,2503,2504,2505,2427],"front desk","checklist","check-in","automation",[2507,2508,2509,2510,2511,2512],"checkliste rezeption hotel","checkliste check-in hotel","rezeption checkliste vorlage","little hotelier nicht zugewiesene reservierungen","automatisierung hotel","hotel rezeption tägliche aufgaben","/images/blog/demo/en/automated-checks-lifecycle.webp","Seite Automated Checks in Hotelier Tools: wie die Prüfungen in vier Schritten funktionieren, ein Hinweis Nothing runs any check yet, der Before they arrive vorschlägt, und The journey of a reservation durch ihre fünf Phasen",{"path":2516,"title":2517,"description":2518,"meta":2519},"/blog/de/little-hotelier-chrome-extensions","Chrome-Erweiterung für Little Hotelier: kostenlose Userscripts für schnelleres Arbeiten","Kostenlose Userscripts für Little Hotelier: Kalenderpreise, breitere Tabellen, Booking.com-Provision, Rechnung per Klick. So installieren Sie sie sicher.",{"date":2368,"category":2465,"tags":2520,"keywords":2525,"cover":2532,"coverAlt":2533},[2521,2522,2523,2427,2524],"chrome extension","tampermonkey","userscripts","productivity",[2526,2527,2528,2529,2530,2531],"chrome erweiterung little hotelier","little hotelier chrome extension","tampermonkey skripte","userscript chrome","little hotelier kalender preise","little hotelier booking.com provision","/images/scripts/prices-display/to.png","Little-Hotelier-Kalender (spanische Oberfläche) mit dem Preis jeder Nacht unter jedem Zimmertyp, eingefügt vom Skript Prices Display",{"path":2535,"title":2536,"description":2537,"meta":2538},"/blog/de/connect-claude-to-little-hotelier","Claude mit Little Hotelier verbinden (MCP, Schritt für Schritt)","Claude mit Little Hotelier verbinden per Custom Connector: URL einfügen, anmelden, Zugriff erlauben. Erste Prompts, sichere Schreibrechte, Fehlerbehebung.",{"date":2368,"category":2369,"tags":2539,"keywords":2541,"feature":2384,"cover":2385,"coverAlt":2548,"featured":1042},[192,2371,2369,2540,2427],"connectors",[2542,2381,2543,2544,2545,2546,2547],"claude mit little hotelier verbinden","claude mcp verbinden","claude desktop mcp einrichten","claude custom connector","mcp server claude","ki hotelsoftware","MCP-Einrichtungsanleitung von Hotelier Tools mit der Erklärung What is MCP? und dem ausgewählten Reiter Claude Desktop, der die Schritte und den Konfigurationsausschnitt mit der MCP-Server-URL zeigt",{"path":2550,"title":2551,"description":2552,"meta":2553},"/blog/de/little-hotelier-cta-ctd-stop-sell","CTA, CTD, Mindestaufenthalt und Stop-Sell im Hotel: Bedeutung in Little Hotelier","CTA sperrt Anreisen, CTD Abreisen, der Mindestaufenthalt legt die kürzeste Buchung fest, Stop-Sell stoppt den Verkauf. So geht es in Little Hotelier.",{"date":2368,"category":2554,"tags":2555,"keywords":2560,"feature":2568,"cover":2569,"coverAlt":2570},"pricing",[2556,2557,2558,2559,2427],"restrictions","cta","ctd","stop sell",[2561,2562,2563,2564,2565,2566,2567],"cta ctd hotel bedeutung","closed to arrival bedeutung","cta hotel","stop sell hotel bedeutung","mindestaufenthalt hotel","little hotelier cta ctd","siteminder stop sell","dynamic-pricing","/images/blog/demo/en/price-recommendations.webp","Preisempfehlungen in Hotelier Tools für das Zimmer Doble Estándar, 3. bis 16. Oktober 2026: aktueller und empfohlener Preis pro Nacht, eine Spalte CTA / CTD mit den Schaltern A und D, der Mindestaufenthalt, eine Spalte Channel und die Schaltfläche Apply to Little Hotelier",{"path":2572,"title":2573,"description":2574,"meta":2575},"/blog/de/little-hotelier-integrations","Die besten Little-Hotelier-Integrationen 2026: Buchhaltung, Check-in, Preise, Nachrichten und KI","Was sich 2026 mit Little Hotelier verbinden lässt: Xero- und QuickBooks-Export, Chekin und Duve, Preis-Tools, Nachrichten, KI und kostenlose Zusätze.",{"date":2368,"category":2374,"tags":2576,"keywords":2581,"feature":2384,"cover":2589,"coverAlt":2590},[2577,2578,2579,2580,2427],"integrations","app store","xero","chekin",[2582,2583,2584,2585,2586,2587,2588],"little hotelier integrationen","little hotelier schnittstellen","little hotelier app store","little hotelier xero","little hotelier buchungs-widget","little hotelier chekin","little hotelier zapier","/images/blog/demo/en/developer-portal.webp","Developer-Portal in Hotelier Tools mit Karten für REST API & Swagger, MCP setup, API keys und LH methods sowie einem Feld Authentication mit einem cURL-Beispiel mit Platzhalter-API-Schlüssel",{"path":2592,"title":2593,"description":2594,"meta":2595},"/blog/de/dynamic-pricing-little-hotelier","Dynamische Preise für kleine Hotels mit Little Hotelier: Mitbewerberpreise, Events und Regeln","Dynamische Preise mit Little Hotelier: eine einfache Wochenroutine, die Bordmittel und Empfehlungen mit Begründung, die erst nach Ihrer Freigabe gelten.",{"date":2368,"category":2554,"tags":2596,"keywords":2600,"feature":2568,"cover":2569,"coverAlt":2607},[2597,2598,2599,2427,2554],"dynamic pricing","revenue management","competitor prices",[2601,2602,2603,2604,2605,2606],"dynamische preise hotellerie","little hotelier dynamic pricing","dynamische preisgestaltung hotel","revenue management hotel kleine hotels","hotelpreise festlegen","mitbewerberpreise hotel vergleichen","Seite Price recommendations in Hotelier Tools für 14 Nächte: die Tabelle Doble Estándar mit aktuellem Preis, empfohlenem Preis, Änderung, Marktmedian und dem, was der Gast pro Nacht zahlt, sowie eine Leiste Apply to Little Hotelier ohne ausgewählte Preise",{"path":2609,"title":2610,"description":2611,"meta":2612},"/blog/de/little-hotelier-api","Hat Little Hotelier eine API (Schnittstelle)? Die Antwort 2026 und wie Sie Ihre Daten herausholen","Kein API-Schlüssel für Ihre Buchungen oder Gäste. Was SiteMinder offiziell bietet und wie Sie Ihre Little-Hotelier-Daten in Minuten per REST auslesen.",{"date":2368,"category":2374,"tags":2613,"keywords":2617,"feature":2384,"cover":2626,"coverAlt":2627,"featured":1042},[2374,2614,2427,2615,2616],"rest","siteminder","developers",[2618,2619,2620,2621,2622,2623,2624,2625],"little hotelier api","little hotelier schnittstelle","little hotelier api dokumentation","little hotelier api key","siteminder api","siteminder exchange api","little hotelier rest api","little hotelier integration","/images/blog/demo/en/rest-api-reference.webp","Seite REST API reference in Hotelier Tools mit Basis-URL, einem Download von openapi.json, dem Feld Quick authorize (Feld Bearer token, Authorize Swagger, Use my session) und Codevorlagen in cURL, JavaScript, Python und PowerShell",{"path":2629,"title":2630,"description":2631,"meta":2632},"/blog/de/ine-hotel-occupancy-survey","INE-Beherbergungsstatistik in Spanien: So füllen Sie die Hotelerhebung mit Little Hotelier aus","Pflicht, wenn das INE Ihr Hotel auswählt (bis 30.050 € Bußgeld): Inhalt der Erhebung, IRIA und wie Sie sie mit Little Hotelier ausfüllen.",{"date":2368,"category":2633,"tags":2634,"keywords":2638,"feature":2645,"cover":2646,"coverAlt":2647},"compliance",[2635,2636,2633,2637,2427],"ine","spain","reports",[2639,2640,2641,2642,2643,2644],"ine beherbergungsstatistik spanien","encuesta ocupación hotelera ine","ine umfrage hotel spanien","iria ine umfrage","ine hotelumfrage pflicht","beherbergungsstatistik hotel spanien","ine-reports","/images/blog/demo/en/ine-guest-origins-report.webp","Guest Origin Statistics (INE HOT survey) in Hotelier Tools für 27. September bis 3. Oktober 2026: 8 Anreisen, 24 Übernachtungen, 3,4 Gäste pro Tag und 3 mit fehlenden Daten, über den Tabs Daily summary, By guest origin, Rooms, ADR by client und Data quality",{"path":2649,"title":2650,"description":2651,"meta":2652},"/blog/de/ai-assistant-hotel-front-desk","KI-Rezeption im Hotel: Was ein KI-Assistent sicher übernehmen kann","Ein KI-Assistent sucht Buchungen heraus, entwirft Gästeantworten und bereitet Änderungen vor. Was sicher geht und warum Sie jede Änderung freigeben.",{"date":2368,"category":2369,"tags":2653,"keywords":2656,"feature":2662,"cover":2663,"coverAlt":2664},[2369,2654,2502,2655,2427],"ai assistant","approvals",[2657,2658,2659,2660,2547,2661],"ki rezeption hotel","ki assistent hotel","ki telefonassistent für hotels","ki in der hotellerie","ki agent hotel","ai-assistant","/images/blog/demo/en/ai-chat-start.webp","Startbildschirm des KI-Assistenten von Hotelier Tools mit dem Hinweis, dass alles, was Daten ändert, zuerst eine Bestätigung verlangt, mit Beispielfragen und dem Chatverlauf links",{"path":2666,"title":2667,"description":2668,"meta":2669},"/blog/de/little-hotelier-tips","Little Hotelier Anleitung: 20 Tipps und versteckte Funktionen, die die meisten nicht kennen (2026)","20 Little-Hotelier-Tipps: schnellerer Kalender, Passkeys, Mindestpreis, Lückennächte, Buchungslinks, Audit-Log, kostenlose Skripte für Preise im Kalender.",{"date":2368,"category":2465,"tags":2670,"keywords":2673,"feature":2681,"cover":2682,"coverAlt":2683},[2465,2671,2672,2523,2427],"how to","calendar",[2674,2675,2676,2677,2678,2679,2680],"little hotelier anleitung","little hotelier erfahrungen","little hotelier tipps","little hotelier handbuch","little hotelier bedienung","little hotelier kalender","little hotelier versteckte funktionen","dashboard","/images/scripts/full-width-reservation-table/to.png","Reservierungsseite von Little Hotelier (spanische Oberfläche), vom Skript Full Width Reservation Table auf die volle Bildschirmbreite gezogen: Suchfilter, die Schaltfläche Buscar, 36 gefundene Reservierungen und der Link Exportar",{"path":2403,"title":5,"description":2364,"meta":2685},{"date":2368,"category":2369,"tags":2686,"keywords":2687,"feature":2384,"cover":2385,"coverAlt":2386},[2371,2372,387,2373,2374],[2376,2377,2378,2379,2380,2381,2382,2383],{"path":2689,"title":2690,"description":2691,"meta":2692},"/blog/de/little-hotelier-alternatives","Little-Hotelier-Alternativen 2026: ehrlicher Vergleich mit Cloudbeds, Mews, Beds24, Lodgify, Smoobu und Hostaway","Cloudbeds, Mews, Beds24, Lodgify, Smoobu oder Hostaway? Für wen sie passen, wie sie abrechnen, API-Zugang und wann Little Hotelier die bessere Wahl bleibt.",{"date":2368,"category":2465,"tags":2693,"keywords":2698,"cover":2706,"coverAlt":2707},[2694,2695,2696,2427,2697],"pms","comparison","alternatives","cloudbeds",[2699,2675,2700,2701,2702,2703,2704,2705],"little hotelier alternativen","little hotelier kosten","little hotelier vs cloudbeds","hotelsoftware für kleine hotels","hotel pms vergleich","little hotelier vs lodgify","little hotelier kündigen","/images/blog/demo/en/dashboard-overview.webp","Startseite des Hotelier-Tools-Dashboards für das Demo-Haus Hotel Demo Sol: eine Karte Open AI chat, ein Hinweis, dass zwei Kanäle für Gästenachrichten Aufmerksamkeit brauchen, und Statuskacheln für Little Hotelier, Booking.com, AI knowledge und die Preisstadt",{"path":2709,"title":2710,"description":2711,"meta":2712},"/blog/de/download-all-little-hotelier-invoices","Little-Hotelier-Rechnungen herunterladen: alle auf einmal für die Quartalsabrechnung","Little Hotelier bündelt vorhandene Rechnungen als ZIP. So geht es, wie Sie fehlende erzeugen und dem Steuerberater pro Quartal ein ZIP und eine CSV senden.",{"date":2368,"category":2713,"tags":2714,"keywords":2719,"feature":2713,"cover":2725,"coverAlt":2726,"featured":1042},"invoicing",[2715,2716,2427,2717,2718],"invoices","accounting","quarterly tax","zip",[2720,2721,2722,2723,2724,2585],"little hotelier rechnungen herunterladen","little hotelier rechnung","little hotelier rechnungsbericht","little hotelier export rechnungen","rechnung herunterladen hotel","/images/blog/demo/en/invoices-by-quarter.webp","Seite Invoices in Hotelier Tools mit 66 Rechnungen insgesamt, Q4 und Q3 2026 jeweils mit den Schaltflächen Preview CSV und ZIP und dem geöffneten September 2026 als Tabelle mit Rechnungsnummern, Gästen, Steuernummern, Check-out-Daten und Summen",{"path":2728,"title":2729,"description":2730,"meta":2731},"/blog/de/export-little-hotelier-reservations-excel","Little-Hotelier-Reservierungen nach Excel exportieren: Gästelisten sichern, bevor Daten maskiert werden","Little Hotelier maskiert Gästedaten 180 Tage nach dem Check-out. So exportieren Sie Reservierungen und Gästelisten nach Excel, manuell oder automatisch.",{"date":2368,"category":2374,"tags":2732,"keywords":2736,"feature":2384,"cover":2589,"coverAlt":2744},[2733,2734,2735,2637,2427],"export","excel","google sheets",[2737,2738,2739,2740,2741,2742,2743],"little hotelier reservierungen exportieren","little hotelier export excel","little hotelier berichte","little hotelier csv","gästeliste hotel excel","hotel reservierungen tabelle","little hotelier gästedaten maskiert","Entwicklerportal von Hotelier Tools mit Karten für REST API und Swagger, MCP setup, API keys und LH methods, über einem Authentifizierungsbeispiel mit einem API-Schlüssel",{"path":2746,"title":2747,"description":2748,"meta":2749},"/blog/de/what-is-mcp-server-hotels","MCP-Server: Was ist das? Anleitung für Hoteliers (und welche PMS einen haben)","Ein MCP-Server lässt Claude oder ChatGPT Ihre Hotelsoftware lesen und bedienen. Einfach erklärt, mit Sicherheitstipps und welche PMS einen haben (10/2026).",{"date":2368,"category":2369,"tags":2750,"keywords":2751,"feature":2384,"cover":2385,"coverAlt":2756,"featured":1042},[2371,2369,192,2485,2694],[2752,2753,2754,2546,2543,2381,2755,2547],"mcp server bedeutung","mcp server was ist das","mcp server hotel","apaleo mcp server","MCP-Einrichtungsanleitung in Hotelier Tools mit einer Erklärung What is MCP? und Client-Konfigurations-Tabs für Claude Desktop, VS Code, Cursor und Custom / SDK, mit der Claude-Desktop-Konfiguration und der Serveradresse",{"path":2758,"title":2759,"description":2760,"meta":2761},"/blog/de/guest-registration-rules-by-country","Meldeschein und Meldepflicht im Hotel nach Land (2026): Spanien, Italien, Portugal, Deutschland, Frankreich, Brasilien, Thailand und Indonesien","Meldepflicht im Hotel: welche Gäste, welche Daten, welche Frist. Spanien, Italien, Portugal, Deutschland, Frankreich, Brasilien, Thailand, Indonesien.",{"date":2368,"category":2633,"tags":2762,"keywords":2765,"cover":2774,"coverAlt":2775},[2763,2633,2413,2764,2427],"guest registration","police",[2766,2767,2768,2769,2770,2771,2772,2773],"meldeschein hotel pflicht","digitaler meldeschein hotel","meldeschein hotel abgeschafft","meldeschein hotel ausländische gäste","online check in hotel personalausweis","warum hotel ausweis kopieren","alloggiati web","tm30 hotel","/images/blog/demo/en/automated-checks-moment-on-arrival.webp","Prüfungen When they arrive in Hotelier Tools: ID / passport (police register), physical room assignment und address and origin validation eingeschaltet, mit dem, was jede Prüfung kann und nicht kann",{"path":2777,"title":2778,"description":2779,"meta":2780},"/blog/de/send-invoice-to-guest-at-checkout","Rechnung an Gast senden: automatisch beim Check-out aus Little Hotelier","Booking.com stellt Ihren Gästen keine Rechnung aus, das tun Sie. Senden Sie sie aus Little Hotelier von Hand oder automatisch beim Check-out per E-Mail.",{"date":2368,"category":2713,"tags":2781,"keywords":2783,"feature":2713,"cover":2790,"coverAlt":2791},[2715,2782,2424,2427,2505],"checkout",[2784,2785,2786,2721,2787,2788,2789],"rechnung an gast senden","booking rechnung anfordern","booking rechnung auf firma","hotelrechnung beim check-out","gast bittet um rechnung hotel","booking.com rechnung gast","/images/blog/demo/en/invoice-at-checkout.webp","Seite Invoice on leave in Hotelier Tools: die Aufgabe Automatic invoicing at check-out, die täglich um 12:00 läuft, ein Zeitraum mit Search reservations und die Reservierungstabelle mit einer Schaltfläche Auto-invoice für jeden Aufenthalt",{"path":2793,"title":2794,"description":2795,"meta":2796},"/blog/de/ses-hospedajes-little-hotelier","SES Hospedajes mit Little Hotelier: Gäste melden (partes de viajeros) ohne doppelte Arbeit","Spaniens Gästemeldung SES.Hospedajes erklärt: wer, welche Daten, 24-Stunden-Fristen, Übermittlung und wie Little Hotelier die Meldung für Sie sendet.",{"date":2368,"category":2633,"tags":2797,"keywords":2799,"cover":2774,"coverAlt":2806},[2798,2636,2633,2763,2427],"ses hospedajes",[2798,2800,2801,2802,2803,2804,2805],"ses hospedajes deutsch","ses hospedajes little hotelier","parte de viajeros","ses hospedajes pflichtangaben","ses hospedajes anmelden","gästemeldung spanien hotel","Einstellungen When they arrive in Hotelier Tools mit den eingeschalteten Prüfungen ID / passport (police register), Physical room assignment und Address and origin validation, jeweils mit dem, was sie können und was nicht",{"path":2808,"title":2809,"description":2810,"meta":2811},"/blog/de/hotel-do-not-rent-list","Sperrliste für Gäste im Hotel: So führen Sie sie rechtssicher in Little Hotelier","Ein Hotel darf nach DSGVO eine Sperrliste führen, wenn es bei Fakten bleibt. Was Sie erfassen, was nie, und wie Sie in Little Hotelier Warnungen erhalten.",{"date":2368,"category":2422,"tags":2812,"keywords":2816,"feature":2436,"cover":2823,"coverAlt":2824},[2813,2814,2444,2815,2427],"do not rent list","gdpr","watchlist",[2817,2818,2819,2820,2821,2822],"sperrliste gäste hotel","hotel schwarze liste gäste","hotel gästesperre dsgvo","gast sperren booking.com","hotel hausverbot gast","little hotelier gastnotizen","/images/blog/demo/en/automated-checks-do-not-rebook-list.webp","Liste Do-not-rebook in Hotelier Tools: die Karte der nächtlichen Prüfung, eine Reservierungsprüfung mit einem starken Treffer und der sachlichen Begründung sowie ein Eintrag mit Edit, Deactivate und Delete",{"path":2826,"title":2827,"description":2828,"meta":2829},"/blog/de/hotel-waitlist-sold-out-dates","Warteliste im Hotel für ausgebuchte Termine: So vergeben Sie stornierte Zimmer schnell neu","Warteliste im Hotel: Gäste für ausgebuchte Termine notieren und frei werdende Zimmer zuerst ihnen anbieten. Per Tabelle, automatisch oder per Formular.",{"date":2368,"category":2444,"tags":2830,"keywords":2835,"feature":2831,"cover":2842,"coverAlt":2843},[2831,2832,2833,2427,2834],"waitlist","cancellations","direct booking","availability",[2836,2837,2838,2839,2840,2841],"warteliste hotel","hotel warteliste ausgebucht","hotel warteliste formular","hotel stornierungen nachbesetzen","ausgebucht hotel nachrücken","warteliste hotel software","/images/blog/demo/en/availability-waiting-list.webp","Seite Availability queue in Hotelier Tools mit History und Check the queue now, der Karte Checks on the queue mit dem Angebot Check every night at 01:00 und dem Formular Add a stay to watch mit Nächten, benötigten Zimmern, Zimmertypen und Gästedaten",{"path":2845,"title":2846,"description":2847,"meta":2848},"/blog/de/whatsapp-little-hotelier","WhatsApp mit Little Hotelier nutzen: Messaging hub, WhatsApp Business und Alternativen","Der Messaging hub von Little Hotelier nutzt die offizielle WhatsApp Business API. Vergleich mit der kostenlosen App und einem Posteingang, plus Vorlagen.",{"date":2368,"category":2444,"tags":2849,"keywords":2853,"feature":2457,"cover":2861,"coverAlt":2862},[2850,2851,2427,2852,2447],"whatsapp","messaging","guest engagement",[2854,2855,2856,2857,2858,2859,2860],"whatsapp business hotel","little hotelier whatsapp","whatsapp für hotels","whatsapp business api hotel","whatsapp vorlagen hotel check-in","gästekommunikation hotel","little hotelier messaging hub","/images/blog/demo/en/guest-inbox-ai-plan-late-arrival.webp","Gäste-Posteingang von Hotelier Tools mit einer WhatsApp-Unterhaltung von Ingrid Kowalski über eine späte Anreise (Identität verifiziert, Buchung verknüpft), einem KI-Plan im Entwurf mit bearbeitbarer Antwort und dem privaten Bereich Assistant",1791141227670]