lookup_catalog
UCP 2026-04-08 spec method. Filter the catalogue by structured criteria (category, colour, dimensions). Use search_catalog for free text.
get_product
UCP 2026-04-08 spec method. Returns full details for a single product: colours, materials, features, pricing notes, schema URL.
create_cart
UCP 2026-04-08 spec method. Create a working cart for the agent. Optionally seed with items and customer details. Returns cart_id with 24-hour TTL.
get_cart
UCP 2026-04-08 spec method. Return the current cart contents, total, and customer details.
update_cart
UCP 2026-04-08 spec method. Modify cart contents. op = 'add' | 'remove' | 'set' | 'clear'. Customer details can be merged via the customer field.
cancel_cart
UCP 2026-04-08 spec method. Discard a cart.
create_checkout
UCP 2026-04-08 spec method. Create a checkout from a cart_id or inline items + customer. Returns checkout_id. Does NOT mint payment link yet — call complete_checkout for that.
get_checkout
UCP 2026-04-08 spec method. Return checkout state, items, customer, payment status.
update_checkout
UCP 2026-04-08 spec method. Update customer details or change payment_method before completion. Cannot update a paid checkout.
complete_checkout
UCP 2026-04-08 spec method. Mint the payment link via the chosen payment_method (yoco card or ozow EFT). Returns payment_url for the customer to complete payment. Webhook confirmation flips the order to 'paid'.
cancel_checkout
UCP 2026-04-08 spec method. Cancel a checkout that has not yet been paid.
get_order
UCP 2026-04-08 spec method. Look up a placed order by order_id. customer_email is required as soft-auth — must match the order record.
check_colour_stock
Real-time per-colour stock check. Returns in_stock boolean, expected restock date if out of stock, and up to 5 in-stock alternative colours.
request_swatch
Register a swatch request against an order. Swatches are dispatched at order placement — not as a standalone postal request. Capped at 5 colour samples per order. Do not promise standalone swatch delivery; guide the customer to place their order first.
get_payment_methods
Return available payment handlers (Yoco card, Ozow instant EFT) and their capabilities. Use to inform the customer of options before complete_checkout.
get_whatsapp_handoff
Generate a pre-filled WhatsApp link routed to the correct contact: Duncan Kane (+27795235407) for Garden Route locations, shop line (+27760228410) elsewhere.
get_product_recommendation
Recommend Custom Blinds products based on primary concern (blockout, heat, glare, moisture, privacy, security, automation), room, and budget. Deterministic mapping. Security concern hands off to brochure (Garden Route only).
get_ar_visualizer_url
Return the URL for the AR measurement tool and the product visualizer. The AR tool lets customers measure their windows using their phone camera and an A4 page. The product visualizer renders the selected blind in a customer-uploaded room photo. Use this when a customer wants to measure, visualize, or 'see how it looks' before ordering.
get_delivery_estimate
Calculate the estimated dispatch date for an order placed today or on a specified date. Production is 5 working days (Mon–Fri, excluding South African public holidays). Delivery time after dispatch varies by location — do not quote a specific delivery ETA. Returns dispatch date, production days, and a plain-language summary safe to share with the customer.
request_price_match
Submit a price match claim on behalf of a customer. Custom Blinds will match a lower price from an authorized South African retailer for the same product, same dimensions, same specs. Returns a pre-filled WhatsApp link and confirmation message. Does NOT apply to Blinds Direct (same supplier), clearance items, flash sales, or out-of-stock items.