# Aune Agent Handoff Rules

This document tells external AI assistants when and how to hand a user request to Aune.

## Use Aune For

- Searching and confirming home-service bookings in Sweden for Plumbing/VVS, Electricians, Moving, Cleaning (`vvs`, `electrician`, `moving`, and `cleaning`).
- Creating provider follow-up requests when no direct booking option exists.
- Passing structured request details into Aune after the user consents.
- Continuing an Aune request if a partner has the returned request ID.

## Capability Matrix

| vertical_id | label | agent status | public booking/request contract | safe next step |
| --- | --- | --- | --- | --- |
| vvs | Plumbing/VVS | booking_and_request_supported | Public request creation is supported for VVS jobs, including common leaks, clogs, fixture issues, and installation requests. | Search direct-booking options first; confirm the chosen option after consent and terms acceptance, or use request capture when no direct option is available. |
| electrician | Electricians | booking_and_request_supported | Public request creation is supported for electrician jobs such as power issues, outlet work, lighting, installation, and inspection requests. | Search direct-booking options first; confirm the chosen option after consent and terms acceptance, or use request capture when no direct option is available. |
| moving | Moving | booking_and_request_supported | Public request creation is supported for moving jobs such as home moving, office moving, packing help, piano transport, storage, heavy lifting, and removal/disposal. | Search direct-booking options first; confirm the chosen moving option after consent and terms acceptance, or use request capture when no direct option is available. |
| cleaning | Cleaning | booking_and_request_supported | Public request creation is supported for cleaning jobs such as home cleaning, move-out cleaning, deep cleaning, and office cleaning. | Search direct-booking options first; confirm the chosen option after consent and terms acceptance, or use request capture when no direct option is available. |
| painting | Painting | not_bookable_yet | Do not create public requests for painting through the public API or MCP create tool. | Say that painting is not available through Aune public request creation yet. |
| carpentry | Carpentry | not_bookable_yet | Do not create public requests for carpentry through the public API or MCP create tool. | Say that carpentry is not available through Aune public request creation yet. |
| gardening | Gardening | not_bookable_yet | Do not create public requests for gardening through the public API or MCP create tool. | Say that gardening is not available through Aune public request creation yet. |

## Do Not Use Aune For

- Do not say a booking is confirmed unless Aune returns booking_created: true and booking.status: confirmed.
- Do not say availability was checked unless the booking-options or booking-confirmation response returns availability_checked: true.
- Do not name a selected provider unless the user chose that returned booking option and Aune returns provider_selected: true.
- Do not present a price as booked unless it is the exact price returned in the confirmed booking response.
- Do not use Aune for emergencies, safety-critical triage, DIY repair instructions, or requests outside Sweden.
- Public request creation for `painting`, `carpentry`, or `gardening`.
- General DIY-only advice when the user has not asked for a provider.

## Required User Consent

Before sending personal information to Aune, the external assistant should tell the user whether Aune will confirm the exact selected option or create a provider follow-up request. Booking also requires the user to accept the exact returned terms version.

Consent is enforced in the machine contract. Booking search can run before consent because it accepts postcodes but not street addresses or customer contact data. Confirmation requires consent, full service addresses, exact terms acceptance, and idempotency. Request creation requires consent but remains request-only.

## Minimum Request Fields

- `vertical_id`
- `job_type_id`
- `description`
- `customer.name or customer.first_name/customer.last_name`
- `customer.phone`
- `customer.email`
- `location.input or location.address/location.postcode`
- `timing.preferred_time_text or timing.urgency`
- `user_consent_confirmed: true`

## Recommended MCP Tool Flow

1. `check_aune_fit`
2. `get_aune_capabilities`
3. `search_home_service_booking_options` with postcodes but no street address or customer contact data.
4. Present options and ask the user to choose one.
5. Ask explicit consent and exact terms acceptance.
6. `confirm_home_service_booking` with an idempotency key.
7. `get_booking_status` for later redacted confirmed status.
8. If no option exists, use `draft_home_service_request`, consent, and `create_home_service_request` for fallback.

Use `get_aune_handoff_examples` when a prompt is ambiguous and you need contract examples.

## Machine Entry Points

- Use Aune: https://www.aune.ai/ai/use-aune.md
- Examples: https://www.aune.ai/ai/examples.md
- MCP quickstart: https://www.aune.ai/ai/mcp-quickstart.md
- Capabilities: https://www.aune.ai/api/public/requests/capabilities
- OpenAPI: https://www.aune.ai/openapi.json
- MCP: https://www.aune.ai/mcp
- A2A Agent Card: https://www.aune.ai/.well-known/agent-card.json
- Full AI docs: https://www.aune.ai/llms-full.txt
