# Seed: Q2 2026 cycle

Example of populating one cycle. Replace `gid://shopify/Product/…` with real product
GIDs from the store (use `search_products` / `graphql_query` to look them up).

The wines below map to the original mockup so the two can be compared 1:1:

| Wine (mockup)                     | type  | mockup price | role            |
|-----------------------------------|-------|--------------|-----------------|
| LVJ Viognier 2025                 | white | $50          | Classic-3 default #1 |
| Belharra Pinot Noir 2022          | red   | $52          | Classic-3 default #2 |
| Cutivar Cabernet Sauvignon 2022   | red   | $48          | Classic-3 default #3 |
| Fidem Firetree Chardonnay 2024    | white | $85          | swap pool (Reserve selection) |
| JF Platt Vineyard Pinot Noir 2022 | red   | $110         | swap pool (Reserve selection) |
| Somnium Cabernet 2021             | red   | $130         | swap pool (Reserve selection) |
| Fayard Blanc de Blancs 2023       | white | $62          | swap pool (Store catalog) |
| Domaine Leflaive Mâcon 2022       | white | $44          | swap pool (Store catalog) |
| Ridge Monte Bello 2019            | red   | $220         | swap pool (Store catalog) |
| Patz & Hall Pinot Noir 2021       | red   | $68          | swap pool (Store catalog) |
| Stag's Leap Artemis Cabernet 2020 | red   | $75          | swap pool (Store catalog) |

> Prices above are illustrative — the live system reads `variant.price` from Shopify,
> not these numbers.

## 1) Create the cycle

```graphql
mutation {
  metaobjectCreate(metaobject: {
    type: "wineclub_cycle"
    handle: "q2-2026"
    fields: [
      { key: "name",     value: "Q2 2026" }
      { key: "cadence",  value: "quarterly" }
      { key: "open_at",  value: "2026-04-15" }
      { key: "close_at", value: "2026-05-30" }
      { key: "status",   value: "open" }
    ]
  }) { metaobject { id handle } userErrors { field message } }
}
```

## 2) Create the Classic-3 tier pool for that cycle

```graphql
mutation {
  metaobjectCreate(metaobject: {
    type: "wineclub_tier_pool"
    handle: "q2-2026-classic-3"
    fields: [
      { key: "cycle",        value: "gid://shopify/Metaobject/<Q2_CYCLE_ID>" }
      { key: "tier",         value: "classic-3" }
      { key: "tier_label",   value: "Classic Club · 3 bottles" }
      { key: "bottle_count", value: "3" }
      { key: "base_price",   value: "{\"amount\":\"150.00\",\"currency_code\":\"USD\"}" }
      { key: "default_wines", value: "[\"gid://shopify/Product/<LVJ>\",\"gid://shopify/Product/<BELHARRA>\",\"gid://shopify/Product/<CUTIVAR>\"]" }
      { key: "swap_pool",     value: "[\"gid://shopify/Product/<FIDEM>\",\"gid://shopify/Product/<JFPLATT>\",\"gid://shopify/Product/<SOMNIUM>\",\"gid://shopify/Product/<BLANCDEBLANCS>\",\"gid://shopify/Product/<MACON>\",\"gid://shopify/Product/<MONTEBELLO>\",\"gid://shopify/Product/<PATZHALL>\",\"gid://shopify/Product/<STAGSLEAP>\"]" }
      { key: "upgrade_target", value: "gid://shopify/Metaobject/<Q2_RESERVE_3_ID>" }
    ]
  }) { metaobject { id handle } userErrors { field message } }
}
```

## 3) Link pools back onto the cycle

```graphql
mutation {
  metaobjectUpdate(
    id: "gid://shopify/Metaobject/<Q2_CYCLE_ID>"
    metaobject: { fields: [
      { key: "tier_pools", value: "[\"gid://shopify/Metaobject/<Q2_CLASSIC_3_ID>\",\"gid://shopify/Metaobject/<Q2_CLASSIC_6_ID>\",\"gid://shopify/Metaobject/<Q2_RESERVE_3_ID>\",\"gid://shopify/Metaobject/<Q2_RESERVE_6_ID>\",\"gid://shopify/Metaobject/<Q2_MAGNUM_ID>\"]" }
    ] }
  ) { metaobject { id } userErrors { field message } }
}
```

Repeat step 2 for `classic-6`, `reserve-3`, `reserve-6`, `magnum` (magnum cadence =
bi-annual; set `bottle_count: 3`, magnum products in the pool).
