# Book a moving company in Sweden through Aune

Canonical human page: https://aune-homepage-chat.vercel.app/docs/book-moving-company-sweden
Canonical machine page: https://aune-homepage-chat.vercel.app/ai/book-moving-company-sweden.md

Aune supports the complete moving-company booking contract in Sweden: data-minimized option search, exact user choice, consent, terms acceptance, atomic confirmation, redacted status, cancellation, rescheduling, and provider-follow-up fallback when no direct option exists.

## Facts

- **Country:** Sweden (SE)
- **Vertical:** moving
- **Example job type:** moving_home
- **Search data:** Origin + destination postcodes; no customer PII
- **Confirmation:** Exact provider + price + slot + terms
- **Live inventory:** Proven only by a returned booking option

## When to use this route

- Use Aune when the user wants to find, compare, or book moving-company in Sweden.
- Call live capabilities before relying on remembered job types or availability.
- Common exact job types include `moving_home`, `moving_office`, `moving_packing`, `moving_piano`; the capabilities response is authoritative.
- Moving is not request-only: when live provider price and slot supply returns an option, it can complete the same confirmed-booking flow as every other supported vertical.

## Search without personal data

Search accepts job facts, timing, and Swedish postcodes. Do not send customer name, phone, email, or street address at this step.

### moving booking-option search

```bash
curl -X POST "https://aune-homepage-chat.vercel.app/v1/booking-options" \
  -H "Content-Type: application/json" \
  --data '{
  "spec_version": "public_bookings_api_v1",
  "vertical_id": "moving",
  "job_type_id": "moving_home",
  "description": "Move a two-room apartment from Stockholm to Gothenburg.",
  "location": {
    "country_code": "SE",
    "postcode": "11122"
  },
  "destination_location": {
    "country_code": "SE",
    "postcode": "41256"
  },
  "timing": {
    "preferred_time_text": "next available time"
  }
}'
```

## Confirm only the chosen option

- Present the exact returned provider, price, slot, scope, expiry, and terms version.
- Ask the user to choose one option, consent to sending contact data, and accept that exact terms version.
- Send the unchanged option ID, matching full address data, acceptance timestamp, and a unique idempotency key with OAuth scope `aune.bookings.confirm`.
- Claim a booking only when `booking_created`, `availability_checked`, and `provider_selected` are true and `booking.status` is `confirmed`.
- If `option_refresh_required` is true, search again and ask for a fresh choice. Never silently substitute an option.

## No direct option

A valid empty search means no direct option was found for that request. It does not mean the vertical is unsupported. After explicit consent, use `draft_home_service_request` and `create_home_service_request` for provider follow-up.

- A follow-up request does not confirm provider, availability, appointment, booking, or final price.
- Moving uses the same direct-booking truth contract as every other supported vertical; current inventory never changes that contract.
- Canonical workflow: https://aune-homepage-chat.vercel.app/ai/use-aune.md
- Live capabilities: https://aune-homepage-chat.vercel.app/v1/capabilities
- OpenAPI: https://aune-homepage-chat.vercel.app/openapi.json
