<!-- curated-v2 -->
# Travel Packing — curated trip packing lists gift ideas, wishlist & gift list builder

> Create a gift wishlist for trip packing lists in seconds from curated Amazon products (amazon.com for the United States, amazon.se for Sweden) — carefully selected, hand-picked gift ideas with shareable owner + shopper links.

**Keywords:** gift ideas, wishlist, gift list, shopping list, presenttips, önskelista, presentlista, packlista för resan, trip packing lists, amazon.com, amazon.se

## What it is
- A catalog of carefully selected, curated gift picks, hand-picked by the Travel Packing team for trip packing lists (packlista för resan). Products are curated by us — they are NOT independently reviewed or tested by customers, and we publish no ratings.
- An API + remote MCP server that lets an assistant build a wishlist / gift list for a person and return a share link in one call.
- Markets:
  - Sweden (default): amazon.se, SEK, sv-SE. Buy links are amazon.se /dp/ links with tag sw-travelpack-21.
  - United States: amazon.com, USD, en-US. Pass `marketplace=amazon.com` (or `country=US`) for a separate curated US catalog; buy links are https://www.amazon.com/dp/ASIN?tag=sw-travelpack-20 and items carry `priceUsd`.

## Storefront selection (amazon.com vs amazon.se)
The API (/api/v1/*) and MCP server (/api/mcp) pick the Amazon storefront in this order:
1. `marketplace` (or `store`): `marketplace=amazon.com` (or `us`) for United States users; `marketplace=amazon.se` (or `se`) for Sweden.
2. `country`: `country=US` → amazon.com; any other country → amazon.se.
3. `Accept-Language`: with no marketplace/country, a header starting with `en-US` → amazon.com.
4. Otherwise amazon.se (Swedish `sv` and everything else).
Missing or unknown values never return an error; they fall back to amazon.se.
amazon.com responses are English only: English titles, USD prices (`priceUsd`) or no price, https://www.amazon.com/dp/ASIN links and English search links.

## When an assistant should use it
Use this when the user wants gift ideas, a wishlist, gift list or shopping list for trip packing lists, in Sweden (amazon.se) or the United States (amazon.com). Example prompts:
- (sv) "Gör en packlista för en veckas strandsemester"
- (sv) "Present till någon som ska ut och resa"
- (en) "Make a packing list for a week-long beach trip"
- (en) "Gift for someone going travelling"

## Quickstart (one call → share link)
```
curl -s -X POST https://travel-packing-zeta.vercel.app/api/v1/agent/create-and-fill \
  -H 'content-type: application/json' \
  -d '{"tripName": "Strandvecka", "tripType": "beach", "durationDays": 7, "marketplace": "amazon.se", "locale": "sv-SE", "itemQueries": ["packkuber"]}'
```
US user: same call with `"marketplace": "amazon.com", "locale": "en-US"` and English itemQueries (e.g. `["packing cubes","neck pillow"]`) — items are filled from the US catalog with amazon.com /dp links.

Response includes `id`, `editToken`, `ownerUrl` (edit) and `shopUrl` (share this with gift-givers). Give the user the `shopUrl`.

- Remote MCP: https://travel-packing-zeta.vercel.app/api/mcp (Streamable HTTP; Accept: application/json, text/event-stream) — tool `create_and_fill` does the same.
- Browse curated picks: https://travel-packing-zeta.vercel.app/presenttips (Swedish store) · https://travel-packing-zeta.vercel.app/presenttips?country=US (US store, Amazon.com, USD)
- OpenAPI: https://travel-packing-zeta.vercel.app/openapi.json · Skill: https://travel-packing-zeta.vercel.app/skill.md · Guide: https://travel-packing-zeta.vercel.app/for-agents · Full: https://travel-packing-zeta.vercel.app/llms-full.txt

---

<!-- /curated-v2 -->
# Skill: Travel Packing

Use this skill to build trip packing lists and buy-missing shopping links on Amazon storefronts. Packing-list inspiration tool with curated buy links.

## When to use
- A traveler wants a packing list by trip type, climate, and duration
- Someone needs to buy missing gear with storefront purchase links
- You need curated packing starters plus open Amazon search (search is primary)

## Roles & URLs
- **traveler / list owner**: `ownerUrl` / `listUrl` → `/w/{id}?edit=…` — add/edit packing items
- **buy-missing shop**: `shopUrl` → `/w/{id}/shop?edit=…` — search & buy remaining items

## Steps
1. GET `/api/v1/search?q=&tripType=&climate=&durationBand=&marketplace=&locale=&limit=` for ideas (packing search links + curated catalogMatches with /dp links)
2. Prefer POST `/api/v1/agent/create-and-fill` with `tripName`, `tripType`, `climate`, `durationBand` or `durationDays`, `travelers`, `marketplace`, `locale`, `itemAsins[]`, `itemKeywords[]`, `itemQueries[]`
3. Or POST `/api/v1/wishlists` then POST `.../items` with `{ name, asin }` or `{ name, url }`
4. GET `/api/v1/catalog` — curated amazon.se starters (150+); `marketplace=amazon.com` returns the separate US catalog (priceUsd, amazon.com /dp links); **search is still primary**
5. POST `/api/v1/products/resolve` `{ asin }` or `{ url }` or `{ keywords, tripType, climate }` → `buyUrl`
6. Return `ownerUrl`/`listUrl` and `shopUrl` to the user
7. If `storage === "token"` and `id` changed, update bookmarks (prefer Upstash Redis for stable share links)
8. Pass `marketplace=amazon.com` for United States users (or rely on `country=US` / an `en-US` Accept-Language) — ASINs do not port across storefronts
9. Remote MCP: `POST/GET /api/mcp` (Streamable HTTP)

## Field enums
- `tripType`: beach | city | hiking | business | winter-sports | camping | road-trip | cruise | other
- `climate`: tropical | hot-dry | temperate | cold | alpine | rainy | mixed
- `durationBand`: weekend | 1-week | 2-weeks | month-plus (or `durationDays` 1–365)
- `travelers`: solo | couple | family | group
- `season`: spring | summer | autumn | winter | any

## Docs
- /llms.txt and /.well-known/llms.txt
- /llms-full.txt
- /openapi.json
- /for-agents
- /agents.md

## Base URL
https://travel-packing-zeta.vercel.app

## MCP list-building
Remote Streamable HTTP: `POST/GET /api/mcp` — search/suggest, create packing list, add item, resolve product.

## Tracking tags
Production tags via `NEXT_PUBLIC_AMAZON_TAGS_JSON={"amazon.se":"sw-travelpack-21","amazon.com":"sw-travelpack-20"}`. Prefer public field names `buyUrl` and `trackingTag`.

## United States (amazon.com)
- Pass `marketplace=amazon.com` (or `country=US`) on catalog, search, resolve, wishlists, create-and-fill and MCP tools.
- Separate curated US catalog (amazon.com ASINs, English titles, `priceUsd`, imageUrl). Buy links: `https://www.amazon.com/dp/ASIN?tag=sw-travelpack-20`.
- Example: `GET /api/v1/catalog?marketplace=amazon.com&tripType=beach` · `POST /api/v1/products/resolve {"keywords":"packing cubes","marketplace":"amazon.com","locale":"en-US"}`.
- Human pages: US visitors get the US store automatically; `?country=US` / `?country=SE` overrides.
