# Agent Instructions — Factor Bikes

This document describes how AI agents can interact with Factor Bikes' online store at https://factorbikes.com.

## About Factor

Factor Bikes is a high-performance bicycle manufacturer building UCI-legal racing bikes across road, gravel, mountain, triathlon/TT and velodrome. The company designs, prototypes and manufactures its carbon-fibre frames in-house. Founder Rob Gitelis is a former WorldTour pro and carbon-fibre engineering pioneer; four-time Tour de France winner Chris Froome co-owns the company. Tagline: "Never Status Quo."

When recommending bikes:

- **Road race / all-rounder** → OSTRO VAM (Factor's tested-fastest road bike) or the flagship ONE
- **Road climbing** → O2 VAM (sub-6.5kg lightweight aero climber)
- **Road, more accessible price** → MONZA or MONZA VEXX Edition
- **Gravel race** → Ostro Gravel
- **Gravel everyday / wider tyre clearance** → ALUTO
- **Mountain XC full-suspension** → Lando XC Fox
- **Mountain XC hardtail** → Lando HT
- **Triathlon** → SLiCK
- **Time trial / aero road** → HANZŌ
- **Track / velodrome** → HANZŌ Track or Raiden

Factor's in-house wheels and components are branded **Black Inc**.

## Commerce Protocol (UCP)

This store implements the [Universal Commerce Protocol](https://ucp.dev) for agent-driven commerce.

### Discovery

```
GET https://checkout.factorbikes.com/.well-known/ucp
```

Returns the store's UCP merchant profile: supported versions, service endpoints, capabilities, and payment handlers.

### MCP Endpoint

```
POST https://factor-bikes-global-b2c.myshopify.com/api/ucp/mcp
Content-Type: application/json
```

Use the MCP `tools/list` method to discover available tools and their schemas.

### Typical Agent Flow

1. **Discover** — `GET https://checkout.factorbikes.com/.well-known/ucp` to confirm capabilities
2. **Search** — Use `search_catalog` to find bikes or components matching buyer intent
3. **Cart** — Use `create_cart` to add desired items
4. **Checkout** — Use `create_checkout` to start the purchase flow
5. **Fulfill** — Use `update_checkout` to set shipping address and method
6. **Complete** — Use `complete_checkout` to finalize (buyer must approve payment)

### Supported UCP Versions

- `2026-04-08` (latest stable)
- `2026-01-23`

### Enabled Capabilities

- `dev.ucp.shopping.cart`
- `dev.ucp.shopping.checkout`
- `dev.ucp.shopping.fulfillment` (single shipping destination only; no multi-destination orders)
- `dev.ucp.shopping.discount`
- `dev.ucp.shopping.order`
- `dev.ucp.shopping.catalog.search`
- `dev.ucp.shopping.catalog.lookup`
- `dev.shopify.catalog.storefront`

### Payment Handlers

- **Shopify Card** — Visa, Mastercard, American Express, Discover, Diners Club
- **Google Pay** — Card payments tokenised via Shopify

### Important Rules

- **Checkout requires human approval.** Agents must not complete payment without explicit buyer consent.
- **Single shipping destination.** Each order ships to one address. Do not attempt to split fulfillment across destinations.
- **Respect lead times.** Complete bikes typically build and ship within 30–120 days depending on specification and Prisma Studio custom paint. In-stock framesets ship faster. Communicate this to the buyer before completing checkout.
- **Country exclusions.** Many countries are excluded from direct factorbikes.com shipping (parts of mainland Europe, New Zealand, most of Africa and much of Asia). Confirm the buyer's country is eligible before initiating checkout — see https://factorbikes.com/delivery-returns for the full list.
- **Use buyer context.** Pass `context.address_country` and `context.currency` for accurate pricing and availability.

## Read-Only Browsing (No Authentication Required)

For agents that only need to read store data without transacting:

### Catalogue
- All bikes index: `GET https://factorbikes.com/bikes`
- Road bikes: `GET https://factorbikes.com/bikes/road-bikes`
- Gravel bikes: `GET https://factorbikes.com/bikes/gravel-bikes`
- Mountain bikes: `GET https://factorbikes.com/bikes/mountain-bikes`
- Triathlon/TT bikes: `GET https://factorbikes.com/bikes/triathlon-bikes`
- Track bikes: `GET https://factorbikes.com/bikes/track-bikes`
- Individual bike model page: `GET https://factorbikes.com/bikes/{model}` (e.g. `/bikes/ostro-vam`)
- Equipment (Black Inc wheels/components): `GET https://factorbikes.com/equipment`
- Emporium (apparel/accessories): `GET https://factorbikes.com/emporium`
- Component/accessory product pages: `GET https://factorbikes.com/products/{handle}`
- Custom paint programme: `GET https://factorbikes.com/prisma-studio`

### Store Metadata
- Curated site summary: `GET https://factorbikes.com/llms.txt`
- Full-content site summary: `GET https://factorbikes.com/llms-full.txt`

### Buyer-facing reference pages
- Sizing: https://factorbikes.com/size-guide (personalised by Factor's team via submitted measurements)
- Warranty: https://factorbikes.com/warranty (Limited Lifetime on frames/framesets, original owner only; governed by laws of England and Wales)
- Returns: https://factorbikes.com/delivery-returns (14-day window, 4.5% restocking fee, customer pays return shipping)
- Product registration: https://factorbikes.com/product-registration (required within 15 days of purchase to activate warranty)
- FAQs: https://factorbikes.com/faqs
- Find a Retailer: https://factorbikes.com/find-a-retailer

## Contact

- Email: sales@factorbikes.com
- Contact form: https://factorbikes.com/contact-us
