Skip to main content
Stripe • Refunds

Refund & Cancellation Policy

Effective: July 15, 2026 · For direct lots (our allotment) and partner affiliate lots (ParkON, APR, Way, SpotHero)

Quick summary

  • Direct lots (we hold allotment): Free cancel until 2 hours before entry for 100% refund via Stripe. Within 2h or no-show, no refund unless operator approves.
  • How to cancel: Go to /account → enter email → Cancel or email support@parkatsea.com with booking ID + QR.
  • Timeline: Stripe refund issued instantly, appears 5-10 business days (card), Apple Pay/Google Pay same.
  • Partner affiliate lots (marked Partner · ParkON / APR / Way / SpotHero): refund per partner site where you booked (deep-link). We link mode, no liability, but we help contact operator.

1. Direct lots — our allotment (8 lots within 2mi)

When you book a lot without Partner badge, you book our allotment (e.g., 50 spots/day). We are Merchant of Record, payment via Stripe Checkout hosted, QR SEA-{lot}-{ts}.

When you cancelRefundHow
>2h before entry_at100% total = (subtotal-discount)+feeAirport+feeService/account Cancel → Stripe refund `re_...` → email `booking_cancelled` via Resend
<2h before entry or after entry startedNo refund, operator may approve partial per discretionContact support, we ask operator
No-show (did not arrive, did not cancel)No refund, spot held for youN/A
Checkout expired (30min hold, did not pay)No charge, booking `expired`, allotment released`checkout.session.expired` webhook
Payment failedNo charge, retry via /account → Pay via Stripe`payment_intent.payment_failed`

Commission: our `commission = (subtotal-discount)*rate (e.g., 20%)`, `payout_amount = (subtotal-discount-commission)+feeAirport`. On refund, we void commission + payout, refund full to you, Stripe fee non-refundable per Stripe (2.9%+30¢ not returned to us either after refund).

2. How to cancel direct lots

  1. Go to /account → enter booking email → Load My Account.
  2. Find booking ID (e.g., #123) → Cancel → confirm. If paid via Stripe (status paid, payment_intent pi_...), we call stripe.refunds.create with payment_intent.
  3. You see refund_id `re_...` and amount. Email confirmation from Resend + Stripe receipt email.
  4. Alternatively email support@parkatsea.com with subject "Cancel #ID QR CODE" + email. We cancel within 24h.
  5. Operator admin at `/operator` tab Bookings → Cancel also works (X-Admin-Token).
Stripe refund timeline: Refund issued instantly via API `POST /api/bookings/cancel` → Stripe `re_...` → appears 5-10 business days for card, 2-3 days for Apple Pay/Google Pay. Check Stripe dashboard receipt. Chargeback dispute window 90 days.

3. Partner affiliate lots (On-Site Booking)

Lots with badge Partner · ParkON / APR / Way / SpotHero are affiliate inventory from similar sites. We query them via `/api/search?include_external=true` (parkon, airportparkingreservations via CJ PID 8013741, way, spothero) and merge into search results. All bookings now happen on-site via our Stripe Checkout – no external redirect. Click Book Now → our checkout → QR + email via Resend, same as direct lots. Affiliate metadata stored in booking as source_type=affiliate_direct for commission tracking.

Refund for partner lots: Same as direct – free cancel until 2h before entry, 100% refund via Stripe. We handle refund, no need to contact partner. Commission via our direct margin (15% vs 20% direct).

  • ParkON / APR / Way / SpotHero: All booked on parkatsea.com, QR SEA-... issued by us, shuttle coordinated via lot address. If lot closure, we refund + rebook.
  • Legacy Link Mode (deprecated): Previously View Deal logged to affiliate_clicks and opened deep-link with UTM + CJ tracking utm_source=seatacpark & aff_id=8013741. No longer used – all transactions on-site.

4. Changes, overstay, early exit

  • Modify dates: Cancel + rebook (if >2h before). No edit endpoint yet for direct lots; for partner lots edit on partner site.
  • Overstay: If you exit after booked exit_at, lot charges extra day rate at desk per `extra_day_rate` (e.g., $14/day). Not via us.
  • Early exit: No partial refund for unused days unless operator approves (short-term lot). Contact operator via lot phone in confirmation.
  • License plate change: Email support with new plate before entry, we update `bookings.license_plate`.

5. No-show, force majeure, lot closure

No-show = no refund for direct. If lot closure due to weather, FAA, emergency, we refund 100% via Stripe or offer rebook to another lot with availability `MIN(inventory)-COUNT(bookings)`. Partner lot closure per partner.

6. Fraud, chargebacks, disputes

If you file chargeback without contacting us, we will provide Stripe evidence: booking confirmation, QR scan logs, entry/exit times, email events from Resend, IP + User-Agent. Fraudulent bookings (fake email, disposable) may be cancelled with no refund.

7. Taxes

Parking may be subject to city/county tax (SEA area). Currently airport fees $6.99 + service $2.00 include tax estimates. No extra tax added at Checkout unless local law changes — then we will show as line item.

8. Contact

Refund requests, cancel outside /account, or help:

  • Email: support@parkatsea.com · Operator: operator@parkatsea.com (24h response)
  • Include: booking ID (e.g., #123), QR SEA-..., email used at checkout, reason.
  • Phone / address: on confirmation email, or request via email.
  • For Stripe receipts: check email from Stripe or dashboard.

This page is for Stripe verification and customer clarity. It is not legal advice. We use Stripe Checkout hosted (SAQ-A) — card data never stored by us, only `stripe_session_id`, `payment_intent`, `stripe_payment_status`. © 2026 SeaTacPark · Refund email via Resend `bookings@notify.parkatsea.com`.