Dollea Cosmetics Salon

Find Dollea salon services, current offers and appointments in Munich, and book.

사용해야 할까요

품질 및 안전성

A
설명 품질
86%
스키마 완전성
92%
이름 품질
80%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (1)

  • LOWTool 'salon_get_campaign' description lacks action verbsalon_get_campaign에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~5,358토큰 (도구 정의)
~4.7 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 4.19%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "salon": {
      "url": "https://www.dollea.de/mcp/salon"
    }
  }
}

원격 엔드포인트

https://www.dollea.de/mcp/salonstreamable-http

할 수 있는 일

도구 목록

도구 (11)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢dollea_get_profile

Genau das durch die aktuellen Zugangsdaten verbundene Konto erkennen. Die beständige Kennung bleibt bei Änderungen an E-Mail, Namen oder Zugangsdaten erhalten.

입력 스키마

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "pattern": "\\S"
    },
    "name": {
      "type": "string"
    },
    "email": {
      "type": "string"
    },
    "nickname": {
      "type": "string"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}
🔴salon_confirm_booking(quote_id, quote_token, accept_privacy, accept_terms, accept_cancellation, ...)

Das zuvor geprüfte Salonangebot nach ausdrücklicher Zustimmung zu Preis und Bedingungen buchen. Der Server prüft Preis, Mitarbeiter und Verfügbarkeit erneut. Wiederholte Bestätigung gibt dieselbe Buchung zurück. Es werden Buchungsbestätigungen versendet.

입력 스키마

{
  "type": "object",
  "properties": {
    "quote_id": {
      "type": "string",
      "format": "uuid",
      "description": "Kennung des zuvor vom Server vorbereiteten Buchungsangebots."
    },
    "quote_token": {
      "type": "string",
      "minLength": 32,
      "maxLength": 128,
      "description": "Nur beim Erstellen ausgegebener Zugriffsschlüssel des Angebots. Nicht veröffentlichen oder aus fremden Daten ableiten."
    },
    "accept_privacy": {
      "type": "boolean",
      "const": true,
      "description": "Nur true senden, wenn der Nutzer den gezeigten Datenschutzbedingungen zugestimmt hat."
    },
    "accept_terms": {
      "type": "boolean",
      "const": true,
      "description": "Nur true senden, wenn der Nutzer die gezeigten Nutzungsbedingungen und den Angebotspreis bestätigt hat."
    },
    "accept_cancellation": {
      "type": "boolean",
      "const": true,
      "description": "Nur true senden, wenn der Nutzer die gezeigten Stornierungsbedingungen bestätigt hat."
    },
    "confirm_partial_series": {
      "type": "boolean",
      "default": false,
      "description": "Bei einer verkürzten Mietserie nur nach ausdrücklicher Zustimmung zu allen ausgelassenen Tagen true senden."
    },
    "language": {
      "type": "string",
      "enum": [
        "de",
        "en",
        "ru"
      ],
      "default": "de",
      "description": "Gewünschte Sprache für Texte und Anzeigeformate: de, en oder ru."
    }
  },
  "required": [
    "quote_id",
    "quote_token",
    "accept_privacy",
    "accept_cancellation"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string"
    },
    "business": {
      "type": "string",
      "enum": [
        "salon",
        "coworking"
      ]
    },
    "language": {
      "type": "string",
      "enum": [
        "de",
        "en",
        "ru"
      ]
    },
    "timezone": {
      "type": "string"
    },
    "local_date": {
      "type": "string",
      "format": "date"
    },
    "quote_id": {
      "type": "string",
      "format": "uuid"
    },
    "status": {
      "type": "string",
      "const": "confirmed"
    },
    "booking": {
      "type": "object"
    }
  },
  "required": [
    "contract_version",
    "business",
    "language",
    "timezone",
    "local_date",
    "quote_id",
    "status",
    "booking"
  ],
  "additionalProperties": true
}
🟢salon_find_slots(service_ids, from_date, to_date, staff_id, language, ...)

Tatsächlich freie Termine für ausgewählte Salonleistungen finden. Mitarbeiterzuordnung, kombinierte Behandlungen und Buchungsfristen werden berücksichtigt. Eine Mitarbeiterpräferenz wird nicht stillschweigend ersetzt.

입력 스키마

{
  "type": "object",
  "properties": {
    "service_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 1
      },
      "minItems": 1,
      "maxItems": 12,
      "uniqueItems": true,
      "description": "Aktuelle numerische Leistungskennungen aus salon_search_services. Mehrere Leistungen werden als zusammenhängender Besuch geprüft."
    },
    "from_date": {
      "type": "string",
      "format": "date",
      "description": "Erster lokaler Kalendertag in München, im Format JJJJ-MM-TT."
    },
    "to_date": {
      "type": "string",
      "format": "date",
      "description": "Letzter lokaler Kalendertag des begrenzten Suchzeitraums, einschließlich dieses Tages."
    },
    "staff_id": {
      "type": "integer",
      "minimum": 1,
      "description": "Optionaler ausdrücklich gewünschter Mitarbeiter. Eine ungeeignete oder nicht verfügbare Präferenz wird nicht ersetzt."
    },
    "language": {
      "type": "string",
      "enum": [
        "de",
        "en",
        "ru"
      ],
      "default": "de",
      "description": "Gewünschte Sprache für Texte und Anzeigeformate: de, en oder ru."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "default": 100,
      "description": "Maximale Anzahl zurückgegebener Ergebnisse innerhalb der veröffentlichten Grenze."
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 10000,
      "default": 0,
      "description": "Ergebnisposition für die nächste Seite; next_offset aus der vorherigen Antwort verwenden."
    }
  },
  "required": [
    "service_ids",
    "from_date"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string"
    },
    "business": {
      "type": "string",
      "enum": [
        "salon",
        "coworking"
      ]
    },
    "language": {
      "type": "string",
      "enum": [
        "de",
        "en",
        "ru"
      ]
    },
    "timezone": {
      "type": "string"
    },
    "local_date": {
      "type": "string",
      "format": "date"
    },
    "service_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 1
      }
    },
    "slots": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "format": "date"
          },
          "time": {
            "type": "string"
          },
          "appointments": {
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        },
        "required": [
          "date",
          "time"
        ]
      }
    },
    "total": {
      "type": "integer",
      "minimum": 0
    },
    "next_offset": {
      "type": [
        "integer",
        "null"
      ]
    }
  },
  "required": [
    "contract_version",
    "business",
    "language",
    "timezone",
    "local_date",
    "service_ids",
    "slots",
    "total",
    "next_offset"
  ],
  "additionalProperties": true
}
🟢salon_get_booking(booking_token, language)

Mit dem privaten Buchungsschlüssel Terminablauf und Anfrageentscheidungen lesen. Kontaktdaten und Anamnese werden nicht ausgegeben.

입력 스키마

{
  "type": "object",
  "properties": {
    "booking_token": {
      "type": "string",
      "minLength": 16,
      "maxLength": 128,
      "description": "Privater Schlüssel des eigenen Salontermins aus der Buchungsbestätigung. Er berechtigt nicht zum Zugriff auf andere Termine."
    },
    "language": {
      "type": "string",
      "enum": [
        "de",
        "en",
        "ru"
      ],
      "default": "de",
      "description": "Gewünschte Sprache für Texte und Anzeigeformate: de, en oder ru."
    }
  },
  "required": [
    "booking_token"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string"
    },
    "business": {
      "type": "string",
      "enum": [
        "salon",
        "coworking"
      ]
    },
    "language": {
      "type": "string",
      "enum": [
        "de",
        "en",
        "ru"
      ]
    },
    "timezone": {
      "type": "string"
    },
    "local_date": {
      "type": "string",
      "format": "date"
    }
  },
  "required": [
    "contract_version",
    "business",
    "language",
    "timezone",
    "local_date"
  ],
  "additionalProperties": true
}
🟢salon_get_campaign(language)

Die aktuell im Hero veröffentlichte Salonaktion einschließlich Code, Kundenkreis und Gültigkeit abrufen. Ein angezeigter Code bestätigt noch keine persönliche Rabattberechtigung.

입력 스키마

{
  "type": "object",
  "properties": {
    "language": {
      "type": "string",
      "enum": [
        "de",
        "en",
        "ru"
      ],
      "default": "de",
      "description": "Gewünschte Sprache für Texte und Anzeigeformate: de, en oder ru."
    }
  },
  "required": [],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string"
    },
    "business": {
      "type": "string",
      "enum": [
        "salon",
        "coworking"
      ]
    },
    "language": {
      "type": "string",
      "enum": [
        "de",
        "en",
        "ru"
      ]
    },
    "timezone": {
      "type": "string"
    },
    "local_date": {
      "type": "string",
      "format": "date"
    },
    "campaign": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "code": {
          "type": "string"
        },
        "discount_percent": {
          "type": "string"
        },
        "customer_eligibility": {
          "type": "string"
        },
        "requires_contact_check": {
          "type": "boolean"
        },
        "source": {
          "type": "string",
          "const": "homepage_hero"
        }
      },
      "required": [
        "code",
        "discount_percent",
        "customer_eligibility",
        "requires_contact_check",
        "source"
      ]
    },
    "hero_highlight": {
      "type": [
        "object",
        "null"
      ]
    }
  },
  "required": [
    "contract_version",
    "business",
    "language",
    "timezone",
    "local_date",
    "campaign",
    "hero_highlight"
  ],
  "additionalProperties": true
}
🟢salon_get_price(service_ids, start_at, staff_id, customer, promo_code, ...)

Den aktuellen Preis für einen konkreten Salontermin berechnen. Für einen Promocode werden echte E-Mail-Adresse und Telefonnummer benötigt. Die Prüfung reserviert keinen Termin und verbraucht keine Einlösung.

입력 스키마

{
  "type": "object",
  "properties": {
    "service_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 1
      },
      "minItems": 1,
      "maxItems": 12,
      "uniqueItems": true,
      "description": "Aktuelle numerische Leistungskennungen aus salon_search_services. Mehrere Leistungen werden als zusammenhängender Besuch geprüft."
    },
    "start_at": {
      "type": "string",
      "format": "date-time",
      "description": "Konkreter Terminbeginn als ISO-Datum mit Zeitzonenoffset. Relative Zeiten zuerst anhand der mitgelieferten Münchner Ortszeit auflösen."
    },
    "staff_id": {
      "type": "integer",
      "minimum": 1,
      "description": "Optionaler ausdrücklich gewünschter Mitarbeiter. Eine ungeeignete oder nicht verfügbare Präferenz wird nicht ersetzt."
    },
    "customer": {
      "type": "object",
      "properties": {
        "first_name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "last_name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "email": {
          "type": "string",
          "format": "email",
          "maxLength": 254
        },
        "phone": {
          "type": "string",
          "minLength": 6,
          "maxLength": 50
        }
      },
      "required": [
        "email",
        "phone"
      ],
      "additionalProperties": false,
      "description": "Vom Kunden bereitgestellte Kontaktdaten. Für eine persönliche Aktionsprüfung müssen E-Mail und Telefonnummer vorhanden sein."
    },
    "promo_code": {
      "type": "string",
      "maxLength": 64,
      "description": "Vom Kunden gewünschter oder aktuell veröffentlichter Promocode. Seine Berechtigung wird serverseitig geprüft."
    },
    "language": {
      "type": "string",
      "enum": [
        "de",
        "en",
        "ru"
      ],
      "default": "de",
      "description": "Gewünschte Sprache für Texte und Anzeigeformate: de, en oder ru."
    }
  },
  "required": [
    "service_ids",
    "start_at"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string"
    },
    "business": {
      "type": "string",
      "enum": [
        "salon",
        "coworking"
      ]
    },
    "language": {
      "type": "string",
      "enum": [
        "de",
        "en",
        "ru"
      ]
    },
    "timezone": {
      "type": "string"
    },
    "local_date": {
      "type": "string",
      "format": "date"
    },
    "slot": {
      "type": "object"
    },
    "pricing": {
      "type": "object"
    },
    "subtotal": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "amount_cents": {
          "type": "integer",
          "minimum": 0
        },
        "amount": {
          "type": "string",
          "pattern": "^[0-9]+\\.[0-9]{2}$"
        },
        "currency": {
          "type": "string",
          "const": "EUR"
        },
        "display": {
          "type": "string"
        }
      },
      "required": [
        "amount_cents",
        "amount",
        "currency",
        "display"
      ]
    },
    "discount": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "amount_cents": {
          "type": "integer",
          "minimum": 0
        },
        "amount": {
          "type": "string",
          "pattern": "^[0-9]+\\.[0-9]{2}$"
        },
        "currency": {
          "type": "string",
          "const": "EUR"
        },
        "display": {
          "type": "string"
        }
      },
      "required": [
        "amount_cents",
        "amount",
        "currency",
        "display"
      ]
    },
    "total": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "amount_cents": {
          "type": "integer",
          "minimum": 0
        },
        "amount": {
          "type": "string",
          "pattern": "^[0-9]+\\.[0-9]{2}$"
        },
        "currency": {
          "type": "string",
          "const": "EUR"
        },
        "display": {
          "type": "string"
        }
      },
      "required": [
        "amount_cents",
        "amount",
        "currency",
        "display"
      ]
    }
  },
  "required": [
    "contract_version",
    "business",
    "language",
    "timezone",
    "local_date",
    "slot",
    "pricing",
    "subtotal",
    "discount",
    "total"
  ],
  "additionalProperties": true
}
🟢salon_get_quote(quote_id, quote_token, language)

Ein eigenes Salonangebot mit Kennung und Zugriffsschlüssel lesen. Aktuelle Änderungen werden als erneute Angebotsprüfung gekennzeichnet. Keine fremden Kontaktdaten werden offengelegt.

입력 스키마

{
  "type": "object",
  "properties": {
    "quote_id": {
      "type": "string",
      "format": "uuid",
      "description": "Kennung des zuvor vom Server vorbereiteten Buchungsangebots."
    },
    "quote_token": {
      "type": "string",
      "minLength": 32,
      "maxLength": 128,
      "description": "Nur beim Erstellen ausgegebener Zugriffsschlüssel des Angebots. Nicht veröffentlichen oder aus fremden Daten ableiten."
    },
    "language": {
      "type": "string",
      "enum": [
        "de",
        "en",
        "ru"
      ],
      "default": "de",
      "description": "Gewünschte Sprache für Texte und Anzeigeformate: de, en oder ru."
    }
  },
  "required": [
    "quote_id",
    "quote_token"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string"
    },
    "business": {
      "type": "string",
      "enum": [
        "salon",
        "coworking"
      ]
    },
    "language": {
      "type": "string",
      "enum": [
        "de",
        "en",
        "ru"
      ]
    },
    "timezone": {
      "type": "string"
    },
    "local_date": {
      "type": "string",
      "format": "date"
    },
    "quote_id": {
      "type": "string",
      "format": "uuid"
    },
    "status": {
      "type": "string"
    },
    "expires_at": {
      "type": "string",
      "format": "date-time"
    },
    "offer": {
      "type": "object"
    },
    "requires_confirmation": {
      "type": "boolean"
    }
  },
  "required": [
    "contract_version",
    "business",
    "language",
    "timezone",
    "local_date",
    "quote_id",
    "status",
    "expires_at",
    "offer",
    "requires_confirmation"
  ],
  "additionalProperties": true
}
⚪salon_prepare_booking(service_ids, start_at, staff_id, customer, promo_code, ...)

Ein kurzlebiges Angebot für die gewählten Salonleistungen, Kontaktdaten und den konkreten Termin erstellen. Dies bucht noch keinen Termin und sendet keine E-Mail. Vor Bestätigung die vollständige Preisübersicht und Bedingungen zeigen.

입력 스키마

{
  "type": "object",
  "properties": {
    "service_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 1
      },
      "minItems": 1,
      "maxItems": 12,
      "uniqueItems": true,
      "description": "Aktuelle numerische Leistungskennungen aus salon_search_services. Mehrere Leistungen werden als zusammenhängender Besuch geprüft."
    },
    "start_at": {
      "type": "string",
      "format": "date-time",
      "description": "Konkreter Terminbeginn als ISO-Datum mit Zeitzonenoffset. Relative Zeiten zuerst anhand der mitgelieferten Münchner Ortszeit auflösen."
    },
    "staff_id": {
      "type": "integer",
      "minimum": 1,
      "description": "Optionaler ausdrücklich gewünschter Mitarbeiter. Eine ungeeignete oder nicht verfügbare Präferenz wird nicht ersetzt."
    },
    "customer": {
      "type": "object",
      "properties": {
        "first_name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "last_name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "email": {
          "type": "string",
          "format": "email",
          "maxLength": 254
        },
        "phone": {
          "type": "string",
          "minLength": 6,
          "maxLength": 50
        }
      },
      "required": [
        "first_name",
        "last_name",
        "email",
        "phone"
      ],
      "additionalProperties": false,
      "description": "Vom Kunden bereitgestellte Kontaktdaten. Für eine persönliche Aktionsprüfung müssen E-Mail und Telefonnummer vorhanden sein."
    },
    "promo_code": {
      "type": "string",
      "maxLength": 64,
      "description": "Vom Kunden gewünschter oder aktuell veröffentlichter Promocode. Seine Berechtigung wird serverseitig geprüft."
    },
    "language": {
      "type": "string",
      "enum": [
        "de",
        "en",
        "ru"
      ],
      "default": "de",
      "description": "Gewünschte Sprache für Texte und Anzeigeformate: de, en oder ru."
    }
  },
  "required": [
    "service_ids",
    "start_at",
    "customer"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string"
    },
    "business": {
      "type": "string",
      "enum": [
        "salon",
        "coworking"
      ]
    },
    "language": {
      "type": "string",
      "enum": [
        "de",
        "en",
        "ru"
      ]
    },
    "timezone": {
      "type": "string"
    },
    "local_date": {
      "type": "string",
      "format": "date"
    },
    "quote_id": {
      "type": "string",
      "format": "uuid"
    },
    "status": {
      "type": "string"
    },
    "expires_at": {
      "type": "string",
      "format": "date-time"
    },
    "offer": {
      "type": "object"
    },
    "requires_confirmation": {
      "type": "boolean"
    }
  },
  "required": [
    "contract_version",
    "business",
    "language",
    "timezone",
    "local_date",
    "quote_id",
    "status",
    "expires_at",
    "offer",
    "requires_confirmation"
  ],
  "additionalProperties": true
}
🔴salon_request_cancellation(booking_token, submission_key, reason, language)

Eine Stornierung des eigenen Salontermins anfragen. Die Antwort enthält den tatsächlichen Entscheidungsstatus. Anfrage und genehmigte Stornierung nicht gleichsetzen.

입력 스키마

{
  "type": "object",
  "properties": {
    "booking_token": {
      "type": "string",
      "minLength": 16,
      "maxLength": 128,
      "description": "Privater Schlüssel des eigenen Salontermins aus der Buchungsbestätigung. Er berechtigt nicht zum Zugriff auf andere Termine."
    },
    "submission_key": {
      "type": "string",
      "format": "uuid",
      "description": "Neue UUID für eine neue Anfrage; bei Wiederholungen exakt dieselbe UUID verwenden."
    },
    "reason": {
      "type": "string",
      "maxLength": 2000,
      "description": "Vom Nutzer bereitgestellter Hinweis zur gewünschten Änderung oder Stornierung."
    },
    "language": {
      "type": "string",
      "enum": [
        "de",
        "en",
        "ru"
      ],
      "default": "de",
      "description": "Gewünschte Sprache für Texte und Anzeigeformate: de, en oder ru."
    }
  },
  "required": [
    "booking_token",
    "submission_key"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string"
    },
    "business": {
      "type": "string",
      "enum": [
        "salon",
        "coworking"
      ]
    },
    "language": {
      "type": "string",
      "enum": [
        "de",
        "en",
        "ru"
      ]
    },
    "timezone": {
      "type": "string"
    },
    "local_date": {
      "type": "string",
      "format": "date"
    }
  },
  "required": [
    "contract_version",
    "business",
    "language",
    "timezone",
    "local_date"
  ],
  "additionalProperties": true
}
🔴salon_request_change(booking_token, submission_key, new_start_at, reason, language)

Eine Änderung des eigenen Salontermins anfragen. Verfügbarkeit wird erneut geprüft. Die Anfrage ändert den Termin erst nach Genehmigung. Dieselbe Übermittlungskennung erzeugt keine zweite Anfrage.

입력 스키마

{
  "type": "object",
  "properties": {
    "booking_token": {
      "type": "string",
      "minLength": 16,
      "maxLength": 128,
      "description": "Privater Schlüssel des eigenen Salontermins aus der Buchungsbestätigung. Er berechtigt nicht zum Zugriff auf andere Termine."
    },
    "submission_key": {
      "type": "string",
      "format": "uuid",
      "description": "Neue UUID für eine neue Anfrage; bei Wiederholungen exakt dieselbe UUID verwenden."
    },
    "new_start_at": {
      "type": "string",
      "format": "date-time",
      "description": "Gewünschter neuer Beginn des Salontermins als ISO-Datum mit Zeitzonenoffset."
    },
    "reason": {
      "type": "string",
      "maxLength": 2000,
      "description": "Vom Nutzer bereitgestellter Hinweis zur gewünschten Änderung oder Stornierung."
    },
    "language": {
      "type": "string",
      "enum": [
        "de",
        "en",
        "ru"
      ],
      "default": "de",
      "description": "Gewünschte Sprache für Texte und Anzeigeformate: de, en oder ru."
    }
  },
  "required": [
    "booking_token",
    "submission_key",
    "new_start_at"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string"
    },
    "business": {
      "type": "string",
      "enum": [
        "salon",
        "coworking"
      ]
    },
    "language": {
      "type": "string",
      "enum": [
        "de",
        "en",
        "ru"
      ]
    },
    "timezone": {
      "type": "string"
    },
    "local_date": {
      "type": "string",
      "format": "date"
    }
  },
  "required": [
    "contract_version",
    "business",
    "language",
    "timezone",
    "local_date"
  ],
  "additionalProperties": true
}
🟢salon_search_services(query, language, limit, offset, category_slug, ...)

Aktuelle Salonleistungen in München nach Behandlung, Mitarbeiter, Dauer, Richtpreis und Datum finden. Ergebnisse enthalten Live-Kennungen und erfüllte Anforderungen. Preise werden vor der Buchung erneut berechnet.

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 500,
      "default": "",
      "description": "Kurze Suchbegriffe zur gewünschten Behandlung, Tätigkeit oder Ausstattung."
    },
    "language": {
      "type": "string",
      "enum": [
        "de",
        "en",
        "ru"
      ],
      "default": "de",
      "description": "Gewünschte Sprache für Texte und Anzeigeformate: de, en oder ru."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20,
      "description": "Maximale Anzahl zurückgegebener Ergebnisse innerhalb der veröffentlichten Grenze."
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 10000,
      "default": 0,
      "description": "Ergebnisposition für die nächste Seite; next_offset aus der vorherigen Antwort verwenden."
    },
    "category_slug": {
      "type": "string",
      "maxLength": 120,
      "description": "Optionaler unveränderter Kategorie-Slug aus dem aktuellen Katalog."
    },
    "staff_id": {
      "type": "integer",
      "minimum": 1,
      "description": "Optionaler ausdrücklich gewünschter Mitarbeiter. Eine ungeeignete oder nicht verfügbare Präferenz wird nicht ersetzt."
    },
    "max_price_cents": {
      "type": "integer",
      "minimum": 0,
      "description": "Höchster Richtpreis in EUR-Cent vor einer persönlichen Aktionsprüfung. Der endgültige Preis wird separat berechnet."
    },
    "max_duration_minutes": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1440,
      "description": "Maximale Behandlungsdauer in Minuten; Anzeigeformate sind kein Eingabeformat."
    },
    "available_on": {
      "type": "string",
      "format": "date",
      "description": "Nur Ressourcen mit tatsächlich freier Kapazität an diesem lokalen Datum anzeigen."
    }
  },
  "required": [],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string"
    },
    "business": {
      "type": "string",
      "enum": [
        "salon",
        "coworking"
      ]
    },
    "language": {
      "type": "string",
      "enum": [
        "de",
        "en",
        "ru"
      ]
    },
    "timezone": {
      "type": "string"
    },
    "local_date": {
      "type": "string",
      "format": "date"
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^(salon|coworking):[1-9][0-9]*$"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "price": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "amount_cents": {
                "type": "integer",
                "minimum": 0
              },
              "amount": {
                "type": "string",
                "pattern": "^[0-9]+\\.[0-9]{2}$"
              },
              "currency": {
                "type": "string",
                "const": "EUR"
              },
              "display": {
                "type": "string"
              }
            },
            "required": [
              "amount_cents",
              "amount",
              "currency",
              "display"
            ]
          },
          "url": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "price",
          "url"
        ]
      }
    },
    "total": {
      "type": "integer",
      "minimum": 0
    },
    "offset": {
      "type": "integer",
      "minimum": 0
    },
    "limit": {
      "type": "integer",
      "minimum": 1
    },
    "next_offset": {
      "type": [
        "integer",
        "null"
      ]
    },
    "campaign": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "code": {
          "type": "string"
        },
        "discount_percent": {
          "type": "string"
        },
        "customer_eligibility": {
          "type": "string"
        },
        "requires_contact_check": {
          "type": "boolean"
        },
        "source": {
          "type": "string",
          "const": "homepage_hero"
        }
      },
      "required": [
        "code",
        "discount_percent",
        "customer_eligibility",
        "requires_contact_check",
        "source"
      ]
    }
  },
  "required": [
    "contract_version",
    "business",
    "language",
    "timezone",
    "local_date",
    "items",
    "total",
    "offset",
    "limit",
    "next_offset",
    "campaign"
  ],
  "additionalProperties": true
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 11개