{
 "catalog_version": "premium-seed-2026-11-11",
 "data_notice": "SEED / SAMPLE DATA for the staging build. Every record is a worked example: verification_state is 'unverified' and status is 'listed' until the merchant-confirmation queue verifies it. Nothing in this file may be rendered as a live offer.",
 "loyalty_programs": [
  {
   "connected_label": "Connected \u2014 your balance stays up to date.",
   "how_it_works_in_givvy": "Connect your Club Publix account and your balance stays up to date, or keep your card in your Givvy wallet as a stored pass and show it at checkout.",
   "last_verified_at": null,
   "merchant_id": "publix",
   "name": "Club Publix",
   "origin": "merchant",
   "points_unit": "Club Publix perks and points per program terms",
   "program_id": "club-publix",
   "stored_pass_label": "Stored pass \u2014 show at checkout.",
   "verification_state": "unverified"
  },
  {
   "connected_label": "Connected \u2014 your balance stays up to date.",
   "how_it_works_in_givvy": "Connect your Kroger Plus account and your balance stays up to date, or add your card to your Givvy wallet as a stored pass and show it at checkout.",
   "last_verified_at": null,
   "merchant_id": "kroger",
   "name": "Kroger Plus",
   "origin": "merchant",
   "points_unit": "Fuel points and Plus savings per program terms",
   "program_id": "kroger-plus",
   "stored_pass_label": "Stored pass \u2014 show at checkout.",
   "verification_state": "unverified"
  },
  {
   "connected_label": "Connected \u2014 your balance stays up to date.",
   "how_it_works_in_givvy": "Connect your Starbucks Rewards account and your balance stays up to date, or store your membership in your Givvy wallet as a stored pass.",
   "last_verified_at": null,
   "merchant_id": "starbucks",
   "name": "Starbucks Rewards",
   "origin": "merchant",
   "points_unit": "Stars per program terms",
   "program_id": "starbucks-rewards",
   "stored_pass_label": "Stored pass \u2014 show at checkout.",
   "verification_state": "unverified"
  },
  {
   "connected_label": "Connected \u2014 your balance stays up to date.",
   "how_it_works_in_givvy": "This store runs its loyalty program through Givvy \u2014 join here and your points live in your wallet.",
   "last_verified_at": null,
   "merchant_id": "the-corner-roastery",
   "name": "Roastery Points (hosted by Givvy)",
   "origin": "givvy-hosted",
   "points_unit": "Roastery Points \u2014 earn on every purchase, spend in store",
   "program_id": "roastery-points",
   "stored_pass_label": "Stored pass \u2014 show at checkout.",
   "verification_state": "unverified"
  },
  {
   "connected_label": "Connected \u2014 your balance stays up to date.",
   "how_it_works_in_givvy": "Prime is Amazon's program, not Whole Foods' own \u2014 Givvy presents it as exactly that. Givvy tracks the weekly Prime Member Deals and the extra 10% off sale items; at checkout you identify as a member and the member prices apply. Nothing to clip, no codes.",
   "last_verified_at": null,
   "merchant_id": "whole-foods-market",
   "name": "Amazon Prime at Whole Foods",
   "origin": "merchant",
   "points_unit": "Prime member pricing (no points currency)",
   "program_id": "prime-at-whole-foods",
   "stored_pass_label": "Prime code \u2014 scan in the app, or give the phone number on your Prime account.",
   "verification_state": "unverified"
  },
  {
   "connected_label": "Connected \u2014 your balance stays up to date.",
   "how_it_works_in_givvy": "Four tiers: Select and Signature are paid memberships; Premier and Reserve unlock at annual spend thresholds. Signature earns 1 point for every $10 spent on nearly everything; Select earns on caf\u00e9 and tonic bar purchases. Givvy tracks your tier, your points, and your Monthly Drink window \u2014 and never lets points lapse quietly.",
   "last_verified_at": null,
   "merchant_id": "erewhon-market",
   "name": "Erewhon Membership",
   "origin": "merchant",
   "points_unit": "Erewhon Points (1 point = $1)",
   "program_id": "erewhon-membership",
   "stored_pass_label": "Member card \u2014 in the Erewhon app; show the barcode at checkout.",
   "verification_state": "unverified"
  },
  {
   "connected_label": "Connected \u2014 your balance stays up to date.",
   "how_it_works_in_givvy": "Membership Rewards is Amex's own points currency, earned on eligible cards. Alongside it, Amex Offers adds merchant-funded statement credits to specific cards. Givvy's agent checks both before a purchase: the points the card earns, and any offer waiting to be added.",
   "last_verified_at": null,
   "merchant_id": "american-express",
   "name": "Membership Rewards",
   "origin": "merchant",
   "points_unit": "Membership Rewards points",
   "program_id": "membership-rewards",
   "stored_pass_label": "Your card is the pass \u2014 pay with the enrolled American Express Card.",
   "verification_state": "unverified"
  },
  {
   "connected_label": "Connected \u2014 your balance stays up to date.",
   "how_it_works_in_givvy": "Chase Offers are card-linked: browse in Chase, add an offer to a card, pay with that card, and the statement credit posts after the purchase \u2014 usually within 30 days. Offers stack with the rewards your card normally earns. Givvy's agent checks your added offers before you pay.",
   "last_verified_at": null,
   "merchant_id": "chase",
   "name": "Chase Offers",
   "origin": "merchant",
   "points_unit": "Statement credits (USD)",
   "program_id": "chase-offers",
   "stored_pass_label": "Your card is the pass \u2014 pay with the card the offer was added to.",
   "verification_state": "unverified"
  },
  {
   "connected_label": "Connected \u2014 your balance stays up to date.",
   "how_it_works_in_givvy": "Connect your Nike Membership account and your member offers and cashback stay up to date, or keep your member pass in your Givvy wallet as a stored pass and show it at checkout.",
   "last_verified_at": null,
   "merchant_id": "nike",
   "name": "Nike Membership",
   "origin": "merchant",
   "points_unit": "Member rewards and offers per program terms",
   "program_id": "nike-membership",
   "stored_pass_label": "Stored pass \u2014 show at checkout.",
   "verification_state": "unverified"
  },
  {
   "connected_label": "Connected \u2014 your balance stays up to date.",
   "how_it_works_in_givvy": "Connect your AMC Stubs account and your points balance stays up to date, or keep your Stubs card in your Givvy wallet as a stored pass and show it at the register.",
   "last_verified_at": null,
   "merchant_id": "amc-theatres",
   "name": "AMC Stubs",
   "origin": "merchant",
   "points_unit": "Stubs points per program terms",
   "program_id": "amc-stubs",
   "stored_pass_label": "Stored pass \u2014 show at checkout.",
   "verification_state": "unverified"
  }
 ],
 "merchants": [
  {
   "category": "Groceries",
   "has_loyalty_program": true,
   "last_verified_at": null,
   "loyalty_origin": "merchant",
   "merchant_id": "publix",
   "name": "Publix",
   "restrictions": "Offers apply at participating locations while supplies last. One offer per item unless the offer says otherwise. Offers cannot be combined with employee discounts. Rain checks are not issued for digital offers. Alcohol, tobacco, gift cards, and pharmacy items are excluded where an offer says so or where law requires.",
   "rewards_accepted": true,
   "rewards_terms": "Givvy rewards spend at Publix at face value toward your grocery total. Rewards cannot be used for gift cards, postage, or money services.",
   "slug": "publix",
   "steps": {
    "after": [
     "Points and rewards from the trip appear in Givvy labeled available or pending.",
     "Check the offer's end date before your next trip \u2014 saved offers expire."
    ],
    "before": [
     "Save the offers you want in Givvy before you shop \u2014 some need activating first.",
     "Make sure your Club Publix card or pass is in your Givvy wallet."
    ],
    "during": [
     "Shop as usual and pick up the items named in your saved offers.",
     "At checkout, show your stored pass or enter the phone number on your connected account."
    ]
   },
   "tagline": "Supermarket \u2014 groceries, deli, bakery, and pharmacy.",
   "verification_state": "unverified"
  },
  {
   "category": "Groceries",
   "has_loyalty_program": true,
   "last_verified_at": null,
   "loyalty_origin": "merchant",
   "merchant_id": "kroger",
   "name": "Kroger",
   "restrictions": "Offers apply at participating Kroger stores. Fuel points expire at the end of the month after they are earned. Cashback offers exclude gift cards, fuel, and pharmacy. One account per household for connected loyalty.",
   "rewards_accepted": true,
   "rewards_terms": "Givvy rewards spend at Kroger at face value toward groceries. Rewards cannot be used at Fuel Centers or for gift cards.",
   "slug": "kroger",
   "steps": {
    "after": [
     "Cashback and rewards from the trip show in Givvy once the store confirms the purchase.",
     "Pending rewards become available after the return window closes."
    ],
    "before": [
     "Connect your Kroger Plus account, or add your Kroger Plus card to your Givvy wallet as a stored pass.",
     "Activate any offer that says activation is required."
    ],
    "during": [
     "Use your connected account or stored pass at checkout so the trip is matched to your offers.",
     "Fuel points are earned at the pump when you enter your account details there."
    ]
   },
   "tagline": "Supermarket and fuel \u2014 groceries plus Kroger Fuel Centers.",
   "verification_state": "unverified"
  },
  {
   "category": "Coffee & restaurants",
   "has_loyalty_program": true,
   "last_verified_at": null,
   "loyalty_origin": "merchant",
   "merchant_id": "starbucks",
   "name": "Starbucks",
   "restrictions": "Offers apply at participating company-operated stores. Mobile-order offers require ordering ahead in the Starbucks app. Stars cannot be earned on alcohol or gift card purchases. One offer per transaction unless stated.",
   "rewards_accepted": false,
   "rewards_terms": "Givvy rewards don't spend at Starbucks yet.",
   "slug": "starbucks",
   "steps": {
    "after": [
     "Stars land in your Starbucks Rewards account; Givvy rewards earned on the trip land in your Givvy wallet.",
     "Pending rewards clear after the store confirms the order."
    ],
    "before": [
     "Connect your Starbucks Rewards account, or store your membership in your Givvy wallet.",
     "Check whether an offer needs a mobile order \u2014 some do."
    ],
    "during": [
     "Order the way you normally do; pay with your connected account so Stars are credited.",
     "Show your stored pass at the register if you are not paying in the app."
    ]
   },
   "tagline": "Coffeehouses \u2014 drinks, food, and Starbucks Rewards.",
   "verification_state": "unverified"
  },
  {
   "category": "Coffee & restaurants",
   "has_loyalty_program": true,
   "last_verified_at": null,
   "loyalty_origin": "givvy-hosted",
   "merchant_id": "the-corner-roastery",
   "name": "The Corner Roastery",
   "restrictions": "Program hosted by Givvy for The Corner Roastery. Points have no cash value outside this program and Givvy rewards spending. One membership per person. The shop may end the program with notice posted here.",
   "rewards_accepted": true,
   "rewards_terms": "Givvy rewards spend at The Corner Roastery at face value on drinks and beans. Rewards cannot be combined with subscription discounts.",
   "slug": "the-corner-roastery",
   "steps": {
    "after": [
     "Your points balance lives in your Givvy wallet and updates with each visit.",
     "Welcome points appear right after you join."
    ],
    "before": [
     "Join the Roastery program in Givvy \u2014 it takes under a minute and your points live in your wallet.",
     "Save any offer you plan to use."
    ],
    "during": [
     "Tell the barista you are paying as a Givvy member and show your wallet pass.",
     "Points are added when your purchase is rung up."
    ]
   },
   "tagline": "Independent coffee shop and roastery \u2014 loyalty here is hosted by Givvy.",
   "verification_state": "unverified"
  },
  {
   "category": "General retail",
   "has_loyalty_program": false,
   "last_verified_at": null,
   "loyalty_origin": "none",
   "merchant_id": "brightmart",
   "name": "BrightMart",
   "restrictions": "Minimum basket applies before tax. Excludes clearance, gift cards, and major appliances. One use per household per offer period. Cannot be combined with other BrightMart percentage-off promotions.",
   "rewards_accepted": false,
   "rewards_terms": "Givvy rewards don't spend at BrightMart yet.",
   "slug": "brightmart",
   "steps": {
    "after": [
     "Your savings show on the receipt as an instant discount \u2014 nothing is earned to spend later on this offer.",
     "Keep the receipt until any return window closes."
    ],
    "before": [
     "Save the offer in Givvy before you shop \u2014 this one needs activating.",
     "Check the minimum basket amount on the offer."
    ],
    "during": [
     "Shop as usual; the offer applies when the basket reaches the stated minimum.",
     "Show the offer code from your Givvy wallet at checkout."
    ]
   },
   "tagline": "General merchandise and home goods. No loyalty program \u2014 offers and rewards only.",
   "verification_state": "unverified"
  },
  {
   "category": "Groceries",
   "has_loyalty_program": true,
   "last_verified_at": null,
   "loyalty_origin": "merchant",
   "merchant_id": "whole-foods-market",
   "name": "Whole Foods Market",
   "restrictions": "Prime Member Deals and the extra 10% off sale items require an Amazon Prime membership. The extra 10% excludes alcohol and gift cards. Member deals rotate weekly.",
   "rewards_accepted": false,
   "rewards_terms": "Givvy rewards don't spend at Whole Foods yet. The saving here is Prime member pricing \u2014 identified at checkout, never clipped.",
   "slug": "whole-foods",
   "steps": {
    "after": [
     "Member prices apply at the register \u2014 no codes, no clipping, nothing to print."
    ],
    "before": [
     "Check this week's Prime Member Deals before you shop \u2014 Givvy lists the rotation and flags the extra 10% on sale items."
    ],
    "during": [
     "At checkout, identify as a Prime member: scan the Prime code in the app, or give the phone number linked to your Prime account."
    ]
   },
   "tagline": "Prime member pricing, identified at checkout \u2014 never a coupon.",
   "verification_state": "unverified"
  },
  {
   "category": "Groceries",
   "has_loyalty_program": false,
   "last_verified_at": null,
   "loyalty_origin": "none",
   "merchant_id": "trader-joes",
   "name": "Trader Joe's",
   "offers_section": "finds",
   "restrictions": "Trader Joe's runs no promotions of any kind: no sales, no coupons, no member prices, and no online ordering. Anything anywhere claiming to be a Trader Joe's coupon is not from Trader Joe's.",
   "rewards_accepted": false,
   "rewards_terms": "Givvy rewards don't spend at Trader Joe's. Trader Joe's runs no programs to connect \u2014 this page is a finds list, and the prices are the prices.",
   "slug": "trader-joes",
   "steps": {
    "after": [
     "Nothing to collect and nothing expires. Your Givvy agent can keep the finds list and flag new arrivals under your standing rules."
    ],
    "before": [
     "Browse the finds below \u2014 new and seasonal products worth the trip, in the spirit of the Fearless Flyer."
    ],
    "during": [
     "In store, the shelf price is the price, for everyone, every day. There is nothing to show, scan, or clip."
    ]
   },
   "tagline": "No sales. No coupons. No loyalty program. Just the finds.",
   "verification_state": "unverified"
  },
  {
   "category": "Groceries",
   "has_loyalty_program": true,
   "last_verified_at": null,
   "loyalty_origin": "merchant",
   "merchant_id": "erewhon-market",
   "name": "Erewhon Market",
   "restrictions": "Erewhon membership is paid (Select and Signature tiers) or unlocked by annual spend (Premier and Reserve). Points accrue per the program terms; purchases made through third-party platforms do not earn points.",
   "rewards_accepted": false,
   "rewards_terms": "Givvy rewards don't spend at Erewhon. Erewhon Points are Erewhon's own currency \u2014 Givvy tracks your balance and your membership tier here.",
   "slug": "erewhon",
   "steps": {
    "after": [
     "Points post to your Erewhon account. Givvy watches the balance and flags value nearing expiry under your rules."
    ],
    "before": [
     "Check your tier and points balance before you shop \u2014 and this month's Member Savings brands if you're Signature."
    ],
    "during": [
     "Show your digital member card (the barcode in the Erewhon app) at checkout so the purchase earns."
    ]
   },
   "tagline": "A membership, not a discount rack: points, member pricing, and the Lifestyle Collective.",
   "verification_state": "unverified"
  },
  {
   "category": "Financial",
   "has_loyalty_program": true,
   "last_verified_at": null,
   "loyalty_origin": "merchant",
   "merchant_id": "american-express",
   "name": "American Express",
   "restrictions": "Amex Offers are targeted per Card Member and vary by account \u2014 an offer exists only when it appears in your own Amex account. Add an offer to your card before you pay; paying first means no credit.",
   "rewards_accepted": false,
   "rewards_terms": "Givvy rewards don't spend at American Express. Amex Offers credits post to your Amex statement, and Membership Rewards are Amex's own currency.",
   "slug": "american-express",
   "steps": {
    "after": [
     "The statement credit posts automatically after the qualifying purchase. Nothing to clip, no code to remember."
    ],
    "before": [
     "Your agent checks the offers in your Amex account against what you're about to buy \u2014 before the money moves."
    ],
    "during": [
     "Add the offer to your card in Amex (app or site), then pay with that same card."
    ]
   },
   "tagline": "Amex Offers: merchant-funded statement credits, added to your card \u2014 never coupons.",
   "verification_state": "unverified"
  },
  {
   "category": "Financial",
   "has_loyalty_program": true,
   "last_verified_at": null,
   "loyalty_origin": "merchant",
   "merchant_id": "chase",
   "name": "Chase",
   "restrictions": "Chase Offers live in your Chase account (app, site, or email) and are added to a specific card. Add before you pay, and pay with that same card \u2014 returns can reverse a credit.",
   "rewards_accepted": false,
   "rewards_terms": "Givvy rewards don't spend at Chase. Chase Offers credits post to your statement, separately from the rewards your card earns.",
   "slug": "chase",
   "steps": {
    "after": [
     "The statement credit posts after the purchase \u2014 usually within 30 days \u2014 and stacks with the rewards your card normally earns."
    ],
    "before": [
     "Your agent checks your Chase Offers against your list before you shop \u2014 the wallet check, applied to your card."
    ],
    "during": [
     "Add the offer to your card in Chase, then pay with that card. There are no coupons, codes, or vouchers to remember."
    ]
   },
   "tagline": "Chase Offers: add to your card, pay with your card, credit to your statement.",
   "verification_state": "unverified"
  },
  {
   "category": "Sports & apparel",
   "has_loyalty_program": true,
   "last_verified_at": null,
   "loyalty_origin": "merchant",
   "merchant_id": "nike",
   "name": "Nike",
   "restrictions": "Offers apply to Nike Members at participating Nike stores and in the Nike App. Member offers exclude gift cards and select launch products. One member account per person; member offers cannot be transferred.",
   "rewards_accepted": true,
   "rewards_terms": "Givvy rewards spend at Nike at face value toward shoes and apparel. Rewards cannot be used for gift cards or launch products.",
   "slug": "nike",
   "steps": {
    "after": [
     "Cashback and rewards from the order show in Givvy once Nike confirms the purchase.",
     "Pending rewards become available after the return window closes."
    ],
    "before": [
     "Connect your Nike Membership account, or keep your member pass in your Givvy wallet.",
     "Activate member offers in Givvy before you shop \u2014 member pricing is not automatic."
    ],
    "during": [
     "Shop as usual and sign in with your Nike Membership at checkout, in store or in the app.",
     "Member offers credit back once the order confirms."
    ]
   },
   "tagline": "Athletic shoes, apparel, and gear \u2014 with Nike Membership rewards.",
   "verification_state": "unverified"
  },
  {
   "category": "Movies & entertainment",
   "has_loyalty_program": true,
   "last_verified_at": null,
   "loyalty_origin": "merchant",
   "merchant_id": "amc-theatres",
   "name": "AMC Theatres",
   "restrictions": "Offers apply at participating AMC Theatres locations. Stubs points are earned on eligible tickets and concessions; some special engagements and premium formats are excluded. Points expire after 24 months of account inactivity, per program terms.",
   "rewards_accepted": true,
   "rewards_terms": "Givvy rewards spend at AMC Theatres at face value toward tickets and concessions. Rewards cannot be used for gift cards or alcohol.",
   "slug": "amc-theatres",
   "steps": {
    "after": [
     "Stubs points from the visit appear in your AMC Stubs account; Givvy tracks the balance here.",
     "Givvy flags points nearing the 24-month inactivity expiry before they lapse."
    ],
    "before": [
     "Connect your AMC Stubs account, or keep your Stubs card in your Givvy wallet as a stored pass.",
     "Activate points offers in Givvy before you buy tickets."
    ],
    "during": [
     "Buy tickets and concessions the way you normally do, signed in to AMC Stubs.",
     "Show your stored pass or enter your Stubs number at the register for concessions."
    ]
   },
   "tagline": "Movie theatres \u2014 tickets, concessions, and AMC Stubs rewards.",
   "verification_state": "unverified"
  }
 ],
 "offers": [
  {
   "activation_required": true,
   "agent_entry_permission": null,
   "benefit_type": "discount",
   "benefit_unit": "USD off",
   "benefit_value": 5,
   "display_summary": "$5 off a grocery order of $40 or more",
   "eligibility": "Open to all shoppers. One use per household per offer period.",
   "last_verified_at": null,
   "merchant_id": "publix",
   "offer_id": "publix-5-off-40",
   "redemption_method": "Save the offer in Givvy, then show your Club Publix stored pass or connected account at checkout.",
   "stackable": true,
   "stackable_with": "Manufacturer coupons and Club Publix perks. Not combinable with other store dollar-off offers.",
   "status": "listed",
   "terms_url": "/stores/publix/#restrictions",
   "timezone": "America/New_York",
   "valid_from": "2026-11-09T00:00:00-05:00",
   "valid_until": "2026-11-15T23:59:59-05:00",
   "verification_state": "unverified"
  },
  {
   "activation_required": false,
   "agent_entry_permission": null,
   "benefit_type": "discount",
   "benefit_unit": "on participating store-brand pasta, 16 oz",
   "benefit_value": "Buy one, get one free",
   "display_summary": "Buy one, get one free on store-brand pasta",
   "eligibility": "Open to all shoppers. Limit two free items per trip.",
   "last_verified_at": null,
   "merchant_id": "publix",
   "offer_id": "publix-bogo-pasta",
   "redemption_method": "Automatic at checkout when both items are scanned; show your stored pass or connected account so the trip is recorded.",
   "stackable": false,
   "stackable_with": "Does not combine with other pasta promotions.",
   "status": "listed",
   "terms_url": "/stores/publix/#restrictions",
   "timezone": "America/New_York",
   "valid_from": "2026-11-09T00:00:00-05:00",
   "valid_until": "2026-11-15T23:59:59-05:00",
   "verification_state": "unverified"
  },
  {
   "activation_required": false,
   "agent_entry_permission": null,
   "benefit_type": "loyalty-points",
   "benefit_unit": "\u00d7 Club Publix points per $1",
   "benefit_value": 2,
   "display_summary": "Double Club Publix points this weekend",
   "eligibility": "Club Publix members only. Membership is free.",
   "last_verified_at": null,
   "merchant_id": "publix",
   "offer_id": "publix-double-points-weekend",
   "redemption_method": "Automatic at checkout when you use your connected account or stored pass.",
   "stackable": true,
   "stackable_with": "Stacks with saved Givvy offers at this store.",
   "status": "listed",
   "terms_url": "/stores/publix/#restrictions",
   "timezone": "America/New_York",
   "valid_from": "2026-11-14T00:00:00-05:00",
   "valid_until": "2026-11-15T23:59:59-05:00",
   "verification_state": "unverified"
  },
  {
   "activation_required": true,
   "agent_entry_permission": null,
   "benefit_type": "cashback",
   "benefit_unit": "% back",
   "benefit_value": 5,
   "display_summary": "5% back on Kroger store-brand groceries",
   "eligibility": "Kroger Plus members with a connected account in Givvy.",
   "last_verified_at": null,
   "merchant_id": "kroger",
   "offer_id": "kroger-5pct-cashback-storebrand",
   "redemption_method": "Activate in Givvy, shop with your connected Kroger Plus account; cashback lands in Givvy after the store confirms the purchase.",
   "stackable": true,
   "stackable_with": "Stacks with Fuel Points earning. Not combinable with other cashback offers.",
   "status": "listed",
   "terms_url": "/stores/kroger/#restrictions",
   "timezone": "America/New_York",
   "valid_from": "2026-11-09T00:00:00-05:00",
   "valid_until": "2026-11-22T23:59:59-05:00",
   "verification_state": "unverified"
  },
  {
   "activation_required": false,
   "agent_entry_permission": null,
   "benefit_type": "rewards-earn",
   "benefit_unit": "Givvy rewards",
   "benefit_value": 25,
   "display_summary": "Earn 25 Givvy rewards on a grocery trip of $50 or more",
   "eligibility": "Open to Givvy members shopping with a connected account or stored pass.",
   "last_verified_at": null,
   "merchant_id": "kroger",
   "offer_id": "kroger-earn-25-rewards",
   "redemption_method": "Automatic after a qualifying trip; rewards appear in your Givvy wallet labeled pending, then available after the return window.",
   "stackable": true,
   "stackable_with": "Stacks with saved offers and Fuel Points at this store.",
   "status": "listed",
   "terms_url": "/stores/kroger/#restrictions",
   "timezone": "America/New_York",
   "valid_from": "2026-11-09T00:00:00-05:00",
   "valid_until": "2026-11-29T23:59:59-05:00",
   "verification_state": "unverified"
  },
  {
   "activation_required": true,
   "agent_entry_permission": null,
   "benefit_type": "loyalty-points",
   "benefit_unit": "\u00d7 Stars per $1",
   "benefit_value": 2,
   "display_summary": "Double Stars on handcrafted drinks",
   "eligibility": "Starbucks Rewards members paying with a connected account.",
   "last_verified_at": null,
   "merchant_id": "starbucks",
   "offer_id": "starbucks-double-stars",
   "redemption_method": "Activate in Givvy, then order and pay with your connected Starbucks Rewards account.",
   "stackable": false,
   "stackable_with": "Does not combine with other Star bonus promotions.",
   "status": "listed",
   "terms_url": "/stores/starbucks/#restrictions",
   "timezone": "America/New_York",
   "valid_from": "2026-11-10T00:00:00-05:00",
   "valid_until": "2026-11-16T23:59:59-05:00",
   "verification_state": "unverified"
  },
  {
   "activation_required": false,
   "agent_entry_permission": null,
   "benefit_type": "rewards-earn",
   "benefit_unit": "Givvy rewards",
   "benefit_value": 10,
   "display_summary": "Earn 10 Givvy rewards on a mobile order of $12 or more",
   "eligibility": "Open to Givvy members with a connected Starbucks Rewards account.",
   "last_verified_at": null,
   "merchant_id": "starbucks",
   "offer_id": "starbucks-earn-10-rewards-mobile",
   "redemption_method": "Place a mobile order of $12 or more with your connected account; rewards appear in Givvy labeled pending, then available.",
   "stackable": true,
   "stackable_with": "Stacks with Stars earning on the same order.",
   "status": "listed",
   "terms_url": "/stores/starbucks/#restrictions",
   "timezone": "America/New_York",
   "valid_from": "2026-11-10T00:00:00-05:00",
   "valid_until": "2026-11-23T23:59:59-05:00",
   "verification_state": "unverified"
  },
  {
   "activation_required": true,
   "agent_entry_permission": null,
   "benefit_type": "loyalty-points",
   "benefit_unit": "welcome Roastery Points",
   "benefit_value": 100,
   "display_summary": "100 welcome points when you join Roastery Points",
   "eligibility": "New members of the Givvy-hosted Roastery Points program. One welcome award per person.",
   "last_verified_at": null,
   "merchant_id": "the-corner-roastery",
   "offer_id": "roastery-welcome-100-points",
   "redemption_method": "Join the program in Givvy; points land in your wallet right away and spend in store.",
   "stackable": false,
   "stackable_with": "Welcome award cannot be combined with other join offers.",
   "status": "listed",
   "terms_url": "/stores/the-corner-roastery/#restrictions",
   "timezone": "America/New_York",
   "valid_from": "2026-11-09T00:00:00-05:00",
   "valid_until": "2026-12-31T23:59:59-05:00",
   "verification_state": "unverified"
  },
  {
   "activation_required": false,
   "agent_entry_permission": null,
   "benefit_type": "discount",
   "benefit_unit": "on any brewed coffee, Fridays",
   "benefit_value": "Free size upgrade",
   "display_summary": "Free size upgrade on brewed coffee, every Friday",
   "eligibility": "Roastery Points members. One upgrade per visit.",
   "last_verified_at": null,
   "merchant_id": "the-corner-roastery",
   "offer_id": "roastery-free-upgrade-fridays",
   "redemption_method": "Show your wallet pass when you order on a Friday; the upgrade is applied at the register.",
   "stackable": true,
   "stackable_with": "Stacks with points earning. Not combinable with subscription discounts.",
   "status": "listed",
   "terms_url": "/stores/the-corner-roastery/#restrictions",
   "timezone": "America/New_York",
   "valid_from": "2026-11-09T00:00:00-05:00",
   "valid_until": "2026-12-31T23:59:59-05:00",
   "verification_state": "unverified"
  },
  {
   "activation_required": true,
   "agent_entry_permission": null,
   "benefit_type": "discount",
   "benefit_unit": "USD off",
   "benefit_value": 10,
   "display_summary": "$10 off a basket of $75 or more",
   "eligibility": "Open to all shoppers. One use per household per offer period. Minimum basket of $75 before tax.",
   "last_verified_at": null,
   "merchant_id": "brightmart",
   "offer_id": "brightmart-10-off-75",
   "redemption_method": "Save and activate the offer in Givvy, then show the offer code at checkout.",
   "stackable": false,
   "stackable_with": "Cannot be combined with other BrightMart percentage-off promotions.",
   "status": "listed",
   "terms_url": "/stores/brightmart/#restrictions",
   "timezone": "America/New_York",
   "valid_from": "2026-11-09T00:00:00-05:00",
   "valid_until": "2026-11-18T23:59:59-05:00",
   "verification_state": "unverified"
  },
  {
   "activation_required": false,
   "agent_entry_permission": "not-stated",
   "benefit_type": "sweepstakes-entry",
   "benefit_unit": "entry",
   "benefit_value": 1,
   "display_summary": "One entry in the Fresh Start Grocery Giveaway",
   "eligibility": "Legal residents of FL, GA, AL, SC, NC, TN, or VA, 18 or older. See the sweepstakes listing for full eligibility and the no-purchase entry route.",
   "last_verified_at": null,
   "merchant_id": "publix",
   "offer_id": "publix-fresh-start-entry",
   "redemption_method": "Enter from the sweepstakes listing or with a qualifying purchase. No purchase is necessary to enter.",
   "stackable": false,
   "stackable_with": "Entries do not combine with offers; entry limits in the official rules are a hard ceiling.",
   "status": "listed",
   "terms_url": "/stores/publix/#sweepstakes",
   "timezone": "America/New_York",
   "valid_from": "2026-11-09T00:00:00-05:00",
   "valid_until": "2026-12-15T23:59:59-05:00",
   "verification_state": "unverified"
  },
  {
   "activation_required": false,
   "agent_entry_permission": "prohibited",
   "benefit_type": "sweepstakes-entry",
   "benefit_unit": "entry",
   "benefit_value": 1,
   "display_summary": "One entry in the Fuel Your Fall Giveaway",
   "eligibility": "Legal residents of the United States, 18 or older. See the sweepstakes listing for full eligibility and the no-purchase entry route.",
   "last_verified_at": null,
   "merchant_id": "kroger",
   "offer_id": "kroger-fuel-your-fall-entry",
   "redemption_method": "Enter from the sweepstakes listing or with a qualifying purchase. No purchase is necessary to enter. Agent entry is prohibited by the official rules for this listing.",
   "stackable": false,
   "stackable_with": "Entries do not combine with offers; entry limits in the official rules are a hard ceiling.",
   "status": "listed",
   "terms_url": "/stores/kroger/#sweepstakes",
   "timezone": "America/New_York",
   "valid_from": "2026-11-09T00:00:00-05:00",
   "valid_until": "2026-12-31T23:59:59-05:00",
   "verification_state": "unverified"
  },
  {
   "activation_required": false,
   "agent_entry_permission": null,
   "benefit_type": "discount",
   "benefit_unit": "% off sale items",
   "benefit_value": 10,
   "display_summary": "Prime members: an extra 10% off sale items",
   "eligibility": "Amazon Prime members",
   "last_verified_at": null,
   "merchant_id": "whole-foods-market",
   "offer_id": "whole-foods-prime-extra-10",
   "redemption_method": "Identify as a Prime member at checkout \u2014 scan the Prime code in the app or give the phone number linked to your Prime account. The extra 10% comes off sale items at the register.",
   "stackable": false,
   "stackable_with": "Applies on top of the sale price \u2014 it is a member price, not a coupon. Excludes alcohol and gift cards.",
   "status": "listed",
   "terms_url": null,
   "timezone": "America/New_York",
   "valid_from": "2026-12-01",
   "valid_until": "2026-12-31",
   "verification_state": "unverified"
  },
  {
   "activation_required": false,
   "agent_entry_permission": null,
   "benefit_type": "discount",
   "benefit_unit": "member deals weekly (or more)",
   "benefit_value": 30,
   "display_summary": "Prime Member Deals: a weekly rotation of member prices",
   "eligibility": "Amazon Prime members",
   "last_verified_at": null,
   "merchant_id": "whole-foods-market",
   "offer_id": "whole-foods-prime-weekly-deals",
   "redemption_method": "Shop the week's member deals (the blue signs in store) and identify as a Prime member at checkout \u2014 member prices apply automatically.",
   "stackable": false,
   "stackable_with": "Weekly member prices are the prices \u2014 they don't combine with coupons, because there aren't any.",
   "status": "listed",
   "terms_url": null,
   "timezone": "America/New_York",
   "valid_from": "2026-12-02",
   "valid_until": "2026-12-08",
   "verification_state": "unverified"
  },
  {
   "activation_required": true,
   "agent_entry_permission": null,
   "benefit_type": "loyalty-points",
   "benefit_unit": "point per $10 spent (1 point = $1)",
   "benefit_value": 1,
   "display_summary": "Signature members earn $1 back for every $10 spent",
   "eligibility": "Erewhon Signature Members (Select Members earn on caf\u00e9 and tonic bar purchases)",
   "last_verified_at": null,
   "merchant_id": "erewhon-market",
   "offer_id": "erewhon-signature-points",
   "redemption_method": "Join Erewhon Membership (Signature), then show your digital member card at checkout. Points accrue at 1 per $10 on nearly every purchase and spend at $1 each on future purchases.",
   "stackable": true,
   "stackable_with": "Points accrue alongside Member Savings pricing, per program terms. Purchases through third-party platforms do not earn.",
   "status": "listed",
   "terms_url": null,
   "timezone": "America/Los_Angeles",
   "valid_from": "2026-12-01",
   "valid_until": "2026-12-31",
   "verification_state": "unverified"
  },
  {
   "activation_required": true,
   "agent_entry_permission": null,
   "benefit_type": "discount",
   "benefit_unit": "% off featured monthly brands",
   "benefit_value": 25,
   "display_summary": "Member Savings: 25% off Erewhon's featured brands this month",
   "eligibility": "Erewhon Signature Members",
   "last_verified_at": null,
   "merchant_id": "erewhon-market",
   "offer_id": "erewhon-member-savings",
   "redemption_method": "Be a Signature Member and show your digital member card at checkout \u2014 the member price applies to the month's featured brands.",
   "stackable": true,
   "stackable_with": "Points still accrue on the purchase, per program terms.",
   "status": "listed",
   "terms_url": null,
   "timezone": "America/Los_Angeles",
   "valid_from": "2026-12-01",
   "valid_until": "2026-12-31",
   "verification_state": "unverified"
  },
  {
   "activation_required": true,
   "agent_entry_permission": null,
   "benefit_type": "discount",
   "benefit_unit": "delivery fee on orders $150+",
   "benefit_value": "Waived",
   "display_summary": "Signature: delivery fees waived on orders of $150 or more",
   "eligibility": "Erewhon Signature Members",
   "last_verified_at": null,
   "merchant_id": "erewhon-market",
   "offer_id": "erewhon-signature-delivery",
   "redemption_method": "Order as a signed-in Signature Member; the delivery fee is waived at $150+. Service fees still apply.",
   "stackable": true,
   "stackable_with": "Points accrue on delivered orders placed directly with Erewhon, per program terms.",
   "status": "listed",
   "terms_url": null,
   "timezone": "America/Los_Angeles",
   "valid_from": "2026-12-01",
   "valid_until": "2026-12-31",
   "verification_state": "unverified"
  },
  {
   "activation_required": true,
   "agent_entry_permission": null,
   "benefit_type": "cashback",
   "benefit_unit": "USD statement credit",
   "benefit_value": "Varies by offer",
   "display_summary": "Amex Offers (example shape): statement credits at grocery and dining merchants",
   "eligibility": "Amex Card Members who see the offer in their own Amex account \u2014 offers are targeted and vary by member",
   "last_verified_at": null,
   "merchant_id": "american-express",
   "offer_id": "amex-offers-example",
   "redemption_method": "Add the offer to your card in Amex (app or site) before you pay, then pay with that same card. The statement credit posts automatically after the qualifying purchase.",
   "stackable": false,
   "stackable_with": "Each Amex Offer carries its own terms in your Amex account.",
   "status": "listed",
   "terms_url": null,
   "timezone": "America/New_York",
   "valid_from": "2026-12-01",
   "valid_until": "2026-12-31",
   "verification_state": "unverified"
  },
  {
   "activation_required": true,
   "agent_entry_permission": null,
   "benefit_type": "cashback",
   "benefit_unit": "USD statement credit",
   "benefit_value": "Varies by offer",
   "display_summary": "Chase Offers (example shape): statement credits when you pay with the card you added them to",
   "eligibility": "Chase customers with the offer in their Chase account",
   "last_verified_at": null,
   "merchant_id": "chase",
   "offer_id": "chase-offers-example",
   "redemption_method": "Add the offer to your card in Chase (app, site, or email) before you pay, then pay with that same card. The statement credit posts after the purchase \u2014 usually within 30 days.",
   "stackable": true,
   "stackable_with": "Chase Offers stack with the rewards your card normally earns.",
   "status": "listed",
   "terms_url": null,
   "timezone": "America/New_York",
   "valid_from": "2026-12-01",
   "valid_until": "2026-12-31",
   "verification_state": "unverified"
  },
  {
   "activation_required": true,
   "agent_entry_permission": null,
   "benefit_type": "cashback",
   "benefit_unit": "% back",
   "benefit_value": 10,
   "display_summary": "10% back on shoes and apparel for Nike Members",
   "eligibility": "Nike Members with a connected account in Givvy.",
   "last_verified_at": null,
   "merchant_id": "nike",
   "offer_id": "nike-member-10pct-back",
   "redemption_method": "Activate in Givvy, shop signed in to your Nike Membership; cashback lands in Givvy after Nike confirms the purchase.",
   "stackable": true,
   "stackable_with": "Stacks with member free shipping. Not combinable with other cashback offers.",
   "status": "listed",
   "terms_url": "/stores/nike/#restrictions",
   "timezone": "America/New_York",
   "valid_from": "2026-11-09T00:00:00-05:00",
   "valid_until": "2026-11-29T23:59:59-05:00",
   "verification_state": "unverified"
  },
  {
   "activation_required": true,
   "agent_entry_permission": null,
   "benefit_type": "loyalty-points",
   "benefit_unit": "\u00d7 points per $1",
   "benefit_value": 2,
   "display_summary": "Double AMC Stubs points on tickets and concessions",
   "eligibility": "AMC Stubs members paying with a connected account.",
   "last_verified_at": null,
   "merchant_id": "amc-theatres",
   "offer_id": "amc-stubs-double-points",
   "redemption_method": "Activate in Givvy, then buy tickets or concessions signed in to your connected AMC Stubs account.",
   "stackable": false,
   "stackable_with": "Does not combine with other Stubs points promotions.",
   "status": "listed",
   "terms_url": "/stores/amc-theatres/#restrictions",
   "timezone": "America/New_York",
   "valid_from": "2026-11-10T00:00:00-05:00",
   "valid_until": "2026-11-23T23:59:59-05:00",
   "verification_state": "unverified"
  }
 ],
 "sweepstakes": [
  {
   "agent_entry_permission": "not-stated",
   "eligibility": "Legal residents of FL, GA, AL, SC, NC, TN, or VA who are 18 or older at entry.",
   "entry_frequency": "Once per day per person",
   "entry_limit": "1 entry per day, 20 entries maximum per person for the whole promotion",
   "entry_stage_note": "Listed, not Live \u2014 entry opens when the listing's host model is cleared. No permission for agent entry is on record, so agents cannot enter this sweepstakes.",
   "host_election": "sponsor-hosted",
   "last_verified_at": null,
   "merchant_id": "publix",
   "no_purchase_necessary_route": "Enter free from this listing in Givvy, or by the mail-in method described in the official rules. No purchase is ever required.",
   "official_rules_url": "/sweepstakes/publix-fresh-start-giveaway/",
   "prize": "$500 Publix gift card",
   "sponsor": "Publix (sponsor of record on the official rules)",
   "status": "listed",
   "sweepstakes_id": "publix-fresh-start-giveaway",
   "timezone": "America/New_York",
   "title": "Fresh Start Grocery Giveaway",
   "valid_from": "2026-11-09T00:00:00-05:00",
   "valid_until": "2026-12-15T23:59:59-05:00",
   "verification_state": "unverified"
  },
  {
   "agent_entry_permission": "prohibited",
   "eligibility": "Legal residents of the United States who are 18 or older at entry.",
   "entry_frequency": "Once per week per person",
   "entry_limit": "1 entry per week, 8 entries maximum per person for the whole promotion",
   "entry_stage_note": "Listed, not Live \u2014 entry opens when the listing's host model is cleared. The sponsor's official rules prohibit agent entry for this listing, and that prohibition is rendered as-is.",
   "host_election": "givvy-hosted",
   "last_verified_at": null,
   "merchant_id": "kroger",
   "no_purchase_necessary_route": "Enter free from this listing in Givvy, or by the mail-in method described in the official rules. No purchase is ever required.",
   "official_rules_url": "/sweepstakes/kroger-fuel-your-fall-giveaway/",
   "prize": "$250 Kroger gift card",
   "sponsor": "Kroger (sponsor of record on the official rules)",
   "status": "listed",
   "sweepstakes_id": "kroger-fuel-your-fall-giveaway",
   "timezone": "America/New_York",
   "title": "Fuel Your Fall Giveaway",
   "valid_from": "2026-11-09T00:00:00-05:00",
   "valid_until": "2026-12-31T23:59:59-05:00",
   "verification_state": "unverified"
  }
 ]
}
