Process customer carpet cleaning inquiries, extract job details, calculate dynamic quotes, generate branded PDFs via Claude Code, and email back to customer automatically.
When a customer submits a carpet cleaning inquiry (via website contact form, email, or phone), this skill processes it end-to-end:
quotes/)data/inquiries.csv/inquiry — Start an interactive inquiry/inquiry
/inquiry name="Jane Smith" phone="021 111 2222" email="[email protected]" service="Steam Carpet Cleaning" rooms=3
| Script | Purpose |
|---|---|
scripts/process_inquiry.py | Validates input, calculates quote, logs to CSV, orchestrates PDF + email |
scripts/generate_quote_pdf.py | Renders Jinja2 HTML template and exports branded PDF via WeasyPrint |
scripts/send_email.py | Sends the PDF quote to the customer via SMTP (Gmail or any SMTP server) |
scripts/xero_invoice.py | Creates a draft invoice in Xero via the Xero API |
| File | Purpose |
|---|---|
assets/quote_template.html | Branded Jinja2 HTML template for PDF quote generation |
| Service | Base (1 room) | Extra Room |
|---|---|---|
| Steam Carpet Cleaning | $89 | $69 |
| Dry Carpet Cleaning | $89 | $69 |
| Stain & Odour Removal | $99 | $79 |
| Upholstery Cleaning | $119 | $99 |
| Tile & Grout Cleaning | $129 | $99 |
| Commercial Cleaning | $199 | $149 |
All prices are GST-inclusive (15% NZ GST).
Set these before running. Add them to your .env file or shell profile:
export SMTP_USERNAME="[email protected]"
export SMTP_PASSWORD="your-app-password" # Gmail App Password (not your login password)
export XERO_API_KEY="your-xero-bearer-token"
export XERO_TENANT_ID="your-xero-tenant-id"
export CLAUDE_API_KEY="your-claude-api-key" # For future AI-powered inquiry parsing
pip install jinja2 weasyprint
For Xero integration:
XERO_API_KEYXERO_TENANT_IDFor Gmail SMTP:
SMTP_PASSWORDquotes/Quote_<CustomerName>_<Date>.pdfACC-0001, ACC-0002, …)data/inquiries.csvXERO_API_KEY is set)python scripts/process_inquiry.py \
--name "Sarah Mitchell" \
--phone "021 555 6789" \
--email "[email protected]" \
--service "Steam Carpet Cleaning" \
--rooms 3 \
--message "Has a red wine stain in the lounge"
Output:
[OK] Inquiry logged → data/inquiries.csv
── Quote Summary ──────────────────────────────
Customer : Sarah Mitchell | 021 555 6789
Email : [email protected]
Service : Steam Carpet Cleaning (3 rooms)
Subtotal : $227.00
GST (15%): $34.05
TOTAL : $261.05
────────────────────────────────────────────────
[OK] PDF quote generated → quotes/Quote_Sarah_Mitchell_2026-03-29.pdf
[OK] Quote email sent → [email protected]