返回顶部
c

cliento-booker

Register Cliento booking pages via URL, check availability, and execute actual service bookings. Use when the user asks to book a haircut, reserve a service, or check availability at a registered barbershop/salon.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.5
安全检测
已通过
152
下载量
0
收藏
概述
安装方式
版本历史

cliento-booker

# Cliento Booker Skill You manage a persistent list of Cliento booking pages, check their availability, and execute actual bookings for the user. You maintain state using files located relative to your workspace: `./.cliento/stores.json`. *Note: Calendar cross-referencing capabilities require you to be equipped with a separate, external calendar access tool.* ## Core Workflow You execute up to 6 core actions depending on the user's request. **Crucially: you must use the `scripts/cliento.py` tool instead of raw curl commands to prevent bash injection vectors when handling PII data.** ### Handling the Empty State If `./.cliento/stores.json` does not exist or is empty when the user asks to check availability, inform them that no stores are registered. Ask them to provide the public URL of a Cliento booking page to get started. ### Action 1: Registering a Store When the user provides a Cliento URL to register: 1. Verify the URL is safe, then fetch the raw HTML by executing `python3 scripts/cliento.py register <URL>`. 2. Parse the embedded Next.js JSON (inside `<script id="__NEXT_DATA__" type="application/json">`) to extract the Company ID, available services, and barbers. 3. Present the list to the user and ask them to select a service, a barber (or "Any"), and provide a memorable alias. 4. Save the new store object to `./.cliento/stores.json`. ### Action 2 & 3: Checking Availability When the user asks for an appointment: 1. Read `./.cliento/stores.json` to extract the saved store parameters. 2. Determine the target date range. 3. Fetch the available slots via the script: `python3 scripts/cliento.py slots <company_id> <service_id> <from_date> <to_date> [resource_id]`. 4. **Calendar Cross-Reference:** If you have access to a calendar tool, pull the user's schedule. Filter out Cliento slots that overlap with busy blocks, factoring in travel time requested by the user. 5. Present the available time slots to the user. ### Action 4: Reserving a Slot To reserve a time slot (temporarily held for ~5 minutes): 1. Execute the reservation POST request using the `slotKey` via the script: `python3 scripts/cliento.py reserve <company_id> <slot_key>`. 2. Parse the returned `cbUuid`. Present the reservation details (expiration time, service, price) to the user. 3. Inform the user this is only a temporary hold and proceed immediately to Action 5. ### Action 5: User Booking Preferences Before finalizing, verify the user's contact details by checking the workspace `USER.md` file. 1. If `USER.md` does not contain them, ask the user for their First Name, Last Name, Phone Number (international format), and Email. 2. Ask if they want to permanently save these new details in `USER.md` for future use. Only save them if the user explicitly agrees. 3. Ask if the user wants to include an optional note to the service provider. ### Action 6: Confirming a Booking *Executing this action will finalize a live booking. Always ask the user if they are ready to proceed before doing this.* 1. Execute the confirmation POST sequence to finalize the booking using the script: `python3 scripts/cliento.py confirm <company_id> <cb_uuid> "<first_name>" "<last_name>" "<email>" "<phone>" "<note>" "<booked_specific_true_false>"` 2. If the API returned that a Pin is required, the script output will notify you and you must ask the user for the pin, then append it to the args. 3. Inform the user when the booking is successfully complete and `"emailConfirmSent": true` is verified. ## Stores Format Example `./.cliento/stores.json`: ```json [ { "alias": "Barber", "url": "https://cliento.com/business/barber-and-friends-1697/", "company_id": "5qdvTnEGaI1BRv42GeTMUC", "service_id": 33003, "resource_id": null } ] ``` ## Limitations & Disclaimer * Slot reservation holds the time temporarily (~5 minutes). * Fully automated booking is only supported for stores using the "NoPin" confirmation method. * This skill interacts with undocumented, reverse-engineered API endpoints and may break at any time.

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 cliento-booker-1776087195 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 cliento-booker-1776087195 技能

通过命令行安装

skillhub install cliento-booker-1776087195

下载 Zip 包

⬇ 下载 cliento-booker v1.0.5

文件大小: 4.06 KB | 发布时间: 2026-4-14 09:47

v1.0.5 最新 2026-4-14 09:47
- Switched backend execution from curl/bash to a dedicated Python script (scripts/cliento.py) for security and reliability.
- Updated all booking and data-fetching actions to use the Python script, reducing risk of bash/PII injection.
- Deprecated references/api.md; all required API logic is now encapsulated in the new script.
- Updated SKILL.md documentation to reflect the new Python-based workflow, including revised action steps and command formats.
- Updated required binaries metadata from curl to python3.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部