Section 01

Strategic Overview

OneSummer is free for parents — always. This is a deliberate strategic choice: eliminating friction on the demand side maximizes application volume, which is the core value proposition the platform sells to camps. Monetization lives entirely on the supply side (camps) and within the transaction itself.

The fundamental architectural implication of this model is that OneSummer must function as a payment marketplace, not a simple payment processor. Money flows from parent to platform and then from platform to camp. This two-sided flow requires infrastructure built specifically for marketplace payouts — most notably Stripe Connect or an equivalent.

Why "marketplace" matters

A simple payment integration (e.g., Stripe Checkout on a SaaS product) collects money into one account and stops. A marketplace integration must collect funds, hold them, calculate splits, route the platform's cut to its own account, and route the camp's net proceeds to the camp's connected bank account — all in compliance with financial regulations for money transmission. This distinction drives every architectural decision in this document.

Core Principles

  • Free for parents, forever. No paywall, no subscription, no hidden fee on the parent booking flow beyond the disclosed booking convenience fee.
  • Camps are the merchants of record. The camp sets the tuition price. OneSummer facilitates but does not own the transaction.
  • Platform takes a cut before camps are paid. The take rate is deducted at the time of payout — camps see net proceeds, not gross.
  • Refund policy is camp-defined, not platform-defined. OneSummer enforces the camp's stated policy; the platform does not absorb refund risk.
Section 02

Revenue Model

OneSummer has four near-term revenue streams, with two additional future streams. All streams are camp-side or transaction-side — never parent-side in a way that increases the cost of applying.

💸
Marketplace Take Rate
10–15%
Of tuition processed through OneSummer. Primary revenue engine.
🎟
Parent Booking Fee
$2.99–4.99
Per application submitted. Charged to parent at checkout, disclosed upfront.
Featured Listings
$50–500/mo
Placement boost in search and discovery. Camp-facing subscription.
Premium Profiles
$25–100/mo
Enhanced profile, video gallery, verified reviews badge.

Unit Economics at Scale

At a hypothetical 10,000 bookings per season with average tuition of $2,000 and a 12% take rate:

Example: 10,000 bookings × $2,000 avg tuition at 12% take rate
Total GMV
$20M
Gross merchandise volume flowing through platform per season
Platform Revenue
$2.4M
Take rate @ 12% + $4.99 booking fee × 10K apps = ~$2.45M gross
Camp Net Proceeds
$17.6M
After take rate, before Stripe processing fees (~2.9% + $0.30)
Stripe fees are separate from the take rate

Stripe Connect charges ~2.9% + $0.30 per transaction for card processing. On a $2,000 tuition, that is ~$58.30. This is in addition to the platform take rate and must be factored into camp-facing economics. The platform can absorb Stripe fees or pass them through — this is a product decision to be made before launch. Recommendation: absorb them at the 12–15% take rate tier (effectively net take rate is ~9–12%), or clearly disclose as a separate line item.

Revenue Stream Maturity

Stream Type Who Pays Launch Priority Infrastructure Required
Marketplace take rate Transaction fee Camp (deducted from payout) Day 1 Stripe Connect, split payments
Parent booking fee Convenience fee Parent (charged at apply) Day 1 Stripe Checkout, separate charge
Featured listings SaaS subscription Camp Month 3 Stripe Billing, camp dashboard
Premium profiles SaaS subscription Camp Month 3 Stripe Billing, feature flags
BNPL for parents Financing (future) Parent / lender Season 2 Affirm/Klarna partner integration
Early payout for camps Float / financing Camp (fee for instant payout) Season 2 Stripe Instant Payouts or banking partner
Section 03

Marketplace Payment Model

The defining capability of the OneSummer payment stack is split payments with connected accounts. Unlike a standard merchant accepting payment for its own goods, OneSummer must accept payment on behalf of third-party merchants (camps) and route net proceeds to them after deducting the platform fee.

Why Standard Stripe Checkout Is Insufficient

A standard Stripe integration would collect 100% of tuition into OneSummer's bank account, then require the platform to manually wire or ACH money to each camp. This is:

  • Operationally unsustainable at scale (manual reconciliation for every camp payout).
  • A potential money transmitter liability (holding funds on behalf of third parties without a money transmitter license in many states).
  • A trust problem for camps (no programmatic guarantee of payout timing).
Money Transmitter License Risk

Platforms that collect and hold funds on behalf of third-party merchants can be classified as money transmitters in the US, which requires a license in each state (there are 50+ licensing regimes). Using Stripe Connect's "platform" model shifts this liability to Stripe, which holds the appropriate licenses. Do not build a custom payout system without legal review.

Required Capabilities

Payment Collection
  • Accept cards (Visa, MC, Amex, Discover)
  • ACH / bank transfer for large tuitions
  • Saved payment methods (cards on file for installments)
  • 3D Secure / SCA compliance
  • Apple Pay / Google Pay support
Platform Routing
  • Split the gross charge at source
  • Route camp net to connected account
  • Route platform fee to OneSummer account
  • Hold in escrow until session confirmed (optional)
  • Programmable payout schedules per camp
Camp Onboarding
  • KYC (Know Your Customer) identity verification
  • Business entity verification (EIN / LLC / 501c3)
  • Bank account connection (routing + account)
  • Terms of Service acceptance
  • Dashboard for camp payout history
Compliance & Reporting
  • 1099-K generation and filing for camps over threshold
  • Chargeback handling and dispute management
  • Refund processing (full or partial)
  • PCI DSS compliance (offloaded to processor)
  • OFAC screening (handled by Stripe Connect)
Section 04

Processor Recommendation

Three processors offer first-class marketplace / platform payment capabilities at the scale OneSummer needs for launch. The recommendation is Stripe Connect.

PayPal Commerce Platform
Broader consumer trust, weaker DX
Processing fee2.89% + $0.49
Platform feeNegotiated
Instant payoutsYes (PayPal acct)
1099-K generationSemi-automated
KYC/identityBuilt-in (weaker)
Developer docsModerate
Time-to-integrateModerate (4–8 wks)
BNPL partnersPayPal Pay Later
Adyen for Platforms
Enterprise-grade, high minimum volume
Processing feeInterchange + 0.3%
Platform feeNegotiated (high floor)
Instant payoutsYes
1099-K generationAvailable
KYC/identityFull suite
Developer docsGood, complex
Time-to-integrateLong (2–4 mo)
BNPL partnersAffirm, Klarna
Recommendation: Stripe Connect — Express Accounts

Use Stripe Connect with Express accounts for camps. Express is the right tier: Stripe handles the KYC/onboarding UI and compliance, camps get a Stripe-hosted dashboard for their payout history, and OneSummer retains full control over the charge and split logic. "Custom" accounts offer more control but require building onboarding UX from scratch. "Standard" accounts give camps too much autonomy over the payment flow. Express is the correct balance for a marketplace at this stage.

Stripe Connect Account Types

TypeKYC OwnershipPayout DashboardPlatform ControlRecommendation
Standard Stripe + Camp Full Stripe Dashboard Low Too autonomous
Express Stripe (hosted UI) Stripe Express Dashboard High Use This
Custom Platform builds it Build your own Full Phase 2 option
Section 05

Payment Flow Diagrams

Flow A — Standard Tuition Payment

The primary flow: a parent pays tuition for a confirmed camp session. Money moves from parent's card through Stripe's systems, with OneSummer's take rate deducted at source and net proceeds routed to the camp's connected account.

Standard Tuition Payment — Happy Path
Parent
Card / Bank
payer
$2,000 charge
Stripe
Payment Intent
processor
funds held
OneSummer
Platform Acct
platform
$1,760 net
Camp
Connected Acct
payee
T+2 days
Camp
Bank Account
bank
Parent Charge
$2,000.00
Tuition for 2-week session
Stripe Processing
− $58.30
2.9% + $0.30 card fee
Platform Take Rate
− $240.00
12% of gross tuition
Camp Net Payout
$1,701.70
After take rate + processing

Flow B — Parent Booking Fee (Separate Charge)

The booking fee is charged to the parent as a separate, non-refundable convenience fee at the point of application submission. It is not routed to the camp — it goes directly to the OneSummer platform account.

Parent Booking Fee — Separate Charge
Parent
Card
payer
$4.99 charge
Stripe
Payment Intent
processor
100% routed
OneSummer
Platform Acct
platform
No camp split
UX Requirement

The $2.99–4.99 booking fee must be disclosed before the parent submits payment. It must appear as a clearly labeled line item on the checkout screen: "Application Processing Fee — $4.99 (non-refundable)." Burying this fee is a regulatory and trust risk.

Flow C — Full Session Application-to-Payout Timeline

End-to-End Timeline — From Application to Camp Bank Account
1
Parent submits application
Parent completes OneSummer application form. Booking fee ($2.99–4.99) is charged immediately via Stripe. No tuition yet.
2
Camp reviews and accepts application
Camp admin reviews in the OneSummer Camp Dashboard. Sends acceptance. System triggers tuition payment flow.
3
Parent pays tuition
Parent receives payment link / in-app prompt. Stripe PaymentIntent is created with application_fee_amount set to the platform take rate. Charge is captured immediately or on a deferred schedule per camp settings.
4
Stripe processes and splits
Stripe deducts its processing fee, routes platform fee (application_fee_amount) to OneSummer's platform account, and routes remaining balance to the camp's connected Express account. Both happen atomically — no manual reconciliation needed.
5
Camp receives payout
Stripe pays out to camp bank account on the configured payout schedule — daily, weekly, or manual. Default is T+2 standard. Camps can upgrade to Instant Payout (1% fee) once early payout feature launches.
6
Post-season 1099 reporting
For camps whose annual payments through OneSummer exceed $600 (or applicable threshold), Stripe generates and files 1099-K automatically. Camp-facing annual summary also available in Camp Dashboard.

Flow D — Refund Flow

Refund — Camp-Initiated or Policy-Triggered
1
Refund triggered
Either camp admin initiates refund in their dashboard, or parent cancellation meets a policy-qualifying window. OneSummer system checks camp's configured refund policy.
2
Platform calls stripe.refunds.create()
Refund is issued against the original PaymentIntent. Stripe reverses the transfer to the camp's connected account automatically. Note: if funds have already been paid out to the camp's bank, the camp's Stripe balance goes negative and is recovered from future payouts.
3
Platform take rate treatment
For full refunds: the platform's application_fee_amount is also reversed — OneSummer earns nothing on a fully refunded transaction. For partial refunds: the take rate is prorated. Parent booking fee is non-refundable regardless.
4
Parent receives funds
Credit appears on parent's card within 5–10 business days (card network SLA). Parent is notified by email with refund amount confirmation.
Section 06

Camp Onboarding & KYC

Before a camp can receive payouts, it must complete identity and business verification via Stripe Connect's onboarding flow. This is a regulatory requirement (Bank Secrecy Act / USA PATRIOT Act) and Stripe's own terms. OneSummer does not need to build this — Stripe provides a hosted onboarding link.

Onboarding Steps

1
Camp claims their listing
Camp admin signs up for OneSummer with email + password. They verify their association with the camp (email domain match or invite code). No payment info required yet.
2
OneSummer creates a Stripe Connect Express account
Backend calls stripe.accounts.create({ type: 'express' }). Stores the returned account_id on the camp record. This is a shell account — not yet active.
3
Camp completes Stripe-hosted KYC
OneSummer generates an account link (stripe.accountLinks.create()) and redirects the camp admin to Stripe's hosted onboarding. Stripe collects: legal name, SSN/EIN, date of birth, business address, and bank account details. OneSummer never touches this data directly.
4
Stripe verifies and activates account
Stripe runs OFAC screening, identity verification, and bank account micro-deposit verification. OneSummer listens to the account.updated webhook and marks the camp as "payout-enabled" once charges_enabled and payouts_enabled are both true.
5
Camp profile goes live
Only after payout-enabled status is confirmed does the camp appear in search results with payment-enabled applications. Pre-verified camps can be listed with a "Coming Soon — applications open [date]" state.
KYC for Nonprofit Camps (501c3)

Many summer camps are registered nonprofits. Stripe Connect handles nonprofit entities — the EIN replaces the SSN and the onboarding flow adjusts accordingly. OneSummer should add a checkbox in the camp onboarding UI: "This camp is a registered 501(c)(3) nonprofit" to route them to the correct Stripe onboarding variant and to flag them for correct 1099 handling (nonprofits are generally exempt from 1099-K filing requirements).

KYC Requirements by Entity Type

Entity TypeID RequiredBusiness Docs1099-K Applies?
Sole proprietor / individual SSN + govt photo ID None Yes
LLC / S-Corp / C-Corp EIN + beneficial owner SSN Articles of incorporation Yes
501(c)(3) Nonprofit EIN + officer ID IRS determination letter Exempt (generally)
Government / public school EIN Authorization letter Exempt
Section 07

Take Rate Implementation

The take rate is implemented via Stripe Connect's application_fee_amount parameter on the PaymentIntent. This is the cleanest technical implementation: the fee is defined in cents at the time of charge creation, Stripe atomically routes it to the platform account, and it appears as a separate line item on Stripe's reporting dashboard.

Stripe API Implementation

stripe — create payment intent with application fee
const paymentIntent = await stripe.paymentIntents.create({
  amount: 200000,             // $2,000.00 in cents
  currency: 'usd',
  payment_method_types: ['card'],
  application_fee_amount: 24000, // $240.00 = 12% take rate
  transfer_data: {
    destination: 'acct_camp_connected_account_id',
  },
  metadata: {
    camp_id: 'camp_abc123',
    application_id: 'app_xyz789',
    session: '2026-summer-wk2',
    take_rate_bps: 1200,        // 12% = 1200 basis points
  }
});

Take Rate Tiers

The take rate can vary by camp tier (linked to their listing subscription) and by volume. Higher-paying camps get a lower take rate as a negotiated incentive.

Camp TierTake RateEffective at $2K TuitionRationale
Free Listing 15% $300 platform / $1,700 camp Default — no subscription offset
Listed 12% $240 platform / $1,760 camp Camp pays listing fee; rate offset
Featured 10% $200 platform / $1,800 camp Highest monthly fee; loyalty pricing
Take Rate Storage

Store the take rate as basis points (bps) on the camp database record: e.g., take_rate_bps: 1200 for 12%. Always compute the fee in cents from the gross amount using integer arithmetic to avoid floating-point errors. Example: Math.round(grossAmountCents * takeRateBps / 10000).

Section 08

Parent Booking Fee

The parent booking fee is a separate, standalone charge that funds the platform for the cost of processing applications — regardless of whether the camp accepts the applicant. It is not a deposit on tuition. It is a non-refundable convenience and processing fee.

Pricing and Positioning

ScenarioFeeNotes
Single application $4.99 Standard per-application fee
Second application (same session) $3.99 Volume discount — encourages multi-camp applying
Third+ application (same session) $2.99 Further discount — maximize GMV potential
Free tier rollout (Year 1) $0 Consider waiving entirely in Year 1 to drive adoption. Revisit after 1,000 camps.

UX Disclosure Requirements

The booking fee must be presented clearly at multiple points in the flow. Failure to disclose upfront is a regulatory and reputational risk (CFPB junk fee scrutiny, app store review policies).

  • Camp detail page: Small disclosure: "Applications processed through OneSummer include a $4.99 processing fee."
  • Application checkout screen: Explicit line item before payment confirmation — fee cannot be hidden in fine print.
  • Email receipt: Both the booking fee and tuition (if charged simultaneously) itemized separately.
  • Refund policy display: Explicitly state "Application processing fees are non-refundable."

Technical Implementation

The booking fee is a separate PaymentIntent with no transfer_data or application_fee_amount. It routes entirely to the OneSummer platform account.

booking fee — separate payment intent (platform only)
const bookingFee = await stripe.paymentIntents.create({
  amount: 499,               // $4.99 in cents
  currency: 'usd',
  payment_method_types: ['card'],
  // No transfer_data — stays in platform account
  description: 'OneSummer Application Processing Fee',
  metadata: {
    fee_type: 'booking_fee',
    application_id: 'app_xyz789',
    camp_id: 'camp_abc123',
    refundable: 'false',
  }
});
Timing: Charge on Submit, Not on Acceptance

The booking fee is charged when the parent submits the application, not when the camp accepts. This mirrors the model of college application fees — you pay to apply, not to enroll. This is more favorable for the platform's revenue recognition and aligns with user expectation. The UX must make this timing explicit.

Section 09

Refund & Cancellation Policy

OneSummer does not own the refund policy. Camps set their own cancellation and refund terms — the platform enforces and automates them. This is both a product principle (camps retain tuition ownership) and a liability management strategy (platform is not responsible for camp closures, session cancellations, or waitlist outcomes).

Policy Architecture

Each camp configures a refund policy at the listing level. The platform offers a set of configurable policy templates plus a custom option:

Policy TemplateFull Refund WindowPartial Refund WindowNo Refund After
Flexible Up to 30 days before session 50% up to 14 days before 14 days before session
Moderate Up to 60 days before session 25% up to 30 days before 30 days before session
Strict Up to 14 days of payment None 14 days after payment
Non-refundable None None Immediately upon payment
Custom Camp-defined Camp-defined Camp-defined

Example: Flexible Policy Timeline

Day 0
Payment
Payment captured
Tuition charged. Full refund eligible (minus booking fee). Camp's Stripe balance credited.
30 days
before start
Full refund window closes
After this point, only 50% partial refund is available. Camp retains 50% of tuition.
14 days
before start
Partial refund window closes
No refunds issued after this date. Parent may still cancel but forfeits full tuition (per camp policy).
Session
start
Session begins — no refund eligible
Platform automatically locks refund eligibility 14 days before this date. Camp payout released on session start (if held in escrow).

Platform-Level Protections

Camp Closure / Cancellation Exception

If a camp cancels a session (not the parent), OneSummer must issue full refunds to all enrolled parents, regardless of the camp's stated policy. This is a consumer protection baseline. The platform will: (1) claw back the camp's payout via Stripe Connect transfer reversal, (2) issue full refunds to all affected parents, (3) refund the booking fee as a goodwill gesture. The camp bears all costs. This must be in the Camp Terms of Service.

  • Booking fee is always non-refundable (parent-initiated cancellations).
  • Chargebacks are disputed on behalf of the camp. Chargeback disputes reference the camp's stated refund policy.
  • OneSummer does not guarantee refund outcomes in chargeback scenarios — the camp's connected account bears the liability.
  • Platform maintains a small operational reserve (see Risk section) to cover edge case refund scenarios.
Section 10

Tax & Compliance

The tax treatment of OneSummer transactions turns on a single principle: camps are the merchants of record, not OneSummer. OneSummer is a payment facilitator and marketplace — it does not sell camp sessions; it enables camps to sell sessions to parents.

Merchant of Record Implications

Camp Responsibilities (MoR)
  • Collects and remits sales tax where applicable (state-specific for camp services — most states exempt educational/recreational camps, but this varies)
  • Bears liability for chargebacks and disputes on their transactions
  • Responsible for compliance with state-specific camper deposit and trust account laws (e.g., some states require camp deposits be held in escrow)
  • Issues refunds subject to their own stated policy
OneSummer Platform Responsibilities
  • Collects and remits sales tax on platform-specific revenue: booking fees, subscription fees (SaaS), featured listing fees
  • Generates and files 1099-Ks for qualifying camp payouts
  • Maintains PCI DSS compliance via Stripe (offloaded)
  • Complies with state money transmitter regulations (offloaded to Stripe Connect)
  • OFAC/AML compliance (offloaded to Stripe Connect)

Sales Tax on Camp Tuition

Camp tuition is generally not subject to sales tax in most US states because overnight camps and educational programs qualify for exemptions. However, this is not universal:

State CategoryTax TreatmentAction Required
Most states (CA, NY, TX, FL...) Exempt — educational/recreational Camp confirms exemption status
States with day camp taxation Day camps may be taxable Camp consults state tax advisor
Specialty camps (coding, sports) May not qualify for exemption Camp confirms with counsel
Platform Tax Advice Disclaimer

OneSummer should not provide tax advice to camps. The Camp Terms of Service should clearly state that camps are responsible for their own tax compliance and that OneSummer provides financial facilitation only. Recommend camps consult a CPA or tax attorney for state-specific guidance. Consider partnering with a camp industry CPA firm as a resource/referral partner.

Section 11

1099 Reporting for Camps

IRS regulations require payment platforms (payment settlement entities) to issue Form 1099-K to sellers who receive payments above the reporting threshold. As of 2024, the threshold is $5,000 (transitional threshold; eventually moving to $600 under the American Rescue Plan). OneSummer must file 1099-Ks for qualifying camps.

Filing Mechanics

1
Collection during onboarding
Stripe Connect collects the camp's TIN (EIN or SSN) during KYC onboarding. Stored securely by Stripe — OneSummer does not receive or store raw TIN data.
2
Threshold monitoring
Stripe automatically tracks cumulative payouts per connected account. Platform dashboard can surface camps approaching the threshold so they're not surprised.
3
Automated 1099-K generation (Stripe)
Stripe generates 1099-K forms for all qualifying connected accounts and makes them available in the Express Dashboard by January 31. Stripe also handles IRS electronic filing. Platform can use stripe.tax.forms.list() to retrieve status for support purposes.
4
Camp notification
OneSummer sends an email to camp admins in January notifying them their 1099-K is available in their Stripe Express Dashboard. Include a link to IRS guidance on 1099-K reporting for camps.

1099-K Thresholds Reference

Tax YearReporting ThresholdSource
2023 $20,000 / 200 transactions (pre-ARP) IRS Notice 2023-74
2024 $5,000 (transitional) IRS Notice 2024-85
2025+ $2,500 → $600 (phased in) American Rescue Plan / IRS guidance
Stripe Handles This — Platform Just Needs to Communicate It

The actual 1099-K generation, delivery, and IRS filing is handled automatically by Stripe for connected Express accounts. OneSummer's responsibility is (1) ensuring KYC completion during onboarding, (2) communicating the process to camps, and (3) providing a support path for camps with 1099-related questions. No custom tax filing infrastructure is needed at launch.

Section 12

Camp Pricing Tiers

The following is the camp-facing monetization structure. Camps choose a listing tier that determines their visibility, features, and transaction take rate. All tiers include free application processing for parents.

Free
Get started, no commitment
$0
per month
  • Basic camp profile page
  • Appear in search results
  • Receive applications via OneSummer
  • Standard payout (T+2)
  • Featured placement in search
  • Video gallery (up to 5 videos)
  • Verified reviews badge
  • Priority support
  • Analytics dashboard
  • 15% transaction take rate
Listed
For growing camps
$49
per month, billed annually · $59/mo monthly
  • Everything in Free
  • Enhanced profile (rich text, photos)
  • Analytics dashboard (views, CTR)
  • Application management tools
  • Email support
  • Featured placement in search
  • Video gallery
  • Verified reviews badge
  • Priority support
  • 12% transaction take rate
Premier
For camp networks & enterprises
Custom
Contact sales — volume pricing
  • Everything in Featured
  • Multi-location / multi-session management
  • Sponsored homepage placement
  • Dedicated account manager
  • Custom take rate (negotiated)
  • Early payout access
  • White-glove onboarding
  • API access for camp management systems
  • Custom transaction take rate

Add-On: Featured Listing Boosts

Camps on any paid tier can purchase time-limited placement boosts:

Boost TypePlacementDurationPrice
Search Results Boost Top 3 results for matching queries 30 days $50–150
Category Spotlight Top of category page (e.g., "Overnight STEM") 30 days $100–300
Homepage Feature Homepage hero / "Editor's Picks" section 7 days $200–500
Email Spotlight Featured in OneSummer parent newsletter One-time $150–400
Section 13

Future Capabilities

Buy Now, Pay Later (BNPL) for Parents

Summer camp tuition is a high-ticket item — often $1,500–$8,000+ for multi-week overnight programs. BNPL meaningfully expands the addressable market by making these amounts accessible to families who budget monthly. This is a Season 2 feature due to integration complexity and regulatory considerations.

Implementation Path
  • Integrate Klarna via Stripe (available on Stripe Payment Element)
  • Alternatively: Affirm direct integration (larger US market share)
  • Camp receives full payout upfront — BNPL lender absorbs repayment risk
  • Platform take rate still applies on gross tuition at time of BNPL approval
Economics
  • BNPL providers charge 2–6% merchant fee (passed to platform or camp TBD)
  • Increases conversion rate on high-ticket camps (est. 20–35% lift from industry benchmarks)
  • Potential for OneSummer to white-label as "OneSummer Pay"
  • Must display BNPL as an explicit payment option at checkout — not default

Early Payout for Camps

Camps often have significant upfront costs (staff hiring, facility prep) months before the season starts. Early payout allows camps to access their earned deposits before standard T+2 settlement.

Two Implementation Models

Model A — Stripe Instant Payouts: Available today via stripe.payouts.create({ method: 'instant' }). Stripe charges 1% of payout amount. Available to debit card connected accounts (not bank ACH). Fast to implement — launch as a premium feature for Featured/Premier camps.

Model B — Revenue-Based Advance: OneSummer fronts a portion of anticipated season revenue to the camp, recovers via future payout deductions. Requires underwriting, carries credit risk, and may require lending licenses. Reserve for a dedicated fintech phase (Year 2+) in partnership with a banking partner (e.g., Stripe Treasury, Unit, or Moov).

Section 14

Risk & Open Questions

Key Risks

RiskSeverityMitigation
Camp cancels season post-payout; insufficient funds to refund parents High Hold first-season payouts in reserve until session confirms. Escrow model for new camps.
Stripe changes Connect pricing or terms Medium Abstract payment layer — design for processor swap. Evaluate Adyen after $1M GMV.
Chargebacks from disputed tuition charges Medium Clear refund policies displayed prominently. Dispute support team. Camp bears chargeback liability per ToS.
Booking fee perceived as "junk fee" Medium Full transparency, clear UX disclosure. Consider waiving Year 1 to build trust.
State money transmitter liability if Stripe Connect model changes High Legal review before launch. Stripe Connect offloads this risk — never build custom payout plumbing.
1099 threshold changes create unexpected camp compliance burden Low Stripe handles mechanically. Proactive communication to camps each January.
Camp listing fee churn if take rate feels too high Medium Tiered take rate tied to listing subscription. Show ROI in camp dashboard.

Open Questions for Legal / Finance Review

  • Should first-season camp payouts be held in escrow until session begins? (Consumer protection vs. camp cash flow tension)
  • Is the parent booking fee a "junk fee" under current CFPB guidance? Does it need to be included in the advertised tuition price?
  • Which states require summer camp deposits to be held in trust accounts? (New York has specific camp deposit laws.)
  • Does the 501(c)(3) exemption from 1099-K apply to all nonprofit camps, or only those with no unrelated business income from the sessions?
  • At what GMV level should OneSummer engage a dedicated payments counsel and begin evaluating a proprietary money transmitter license?
  • For BNPL: does offering parent financing require OneSummer to register as a credit service organization or credit broker in any state?
Recommended: Payments Counsel Before Launch

Before processing any live transactions, engage an attorney specializing in fintech / payment facilitation law to review (1) the Camp Terms of Service, (2) the Parent Terms of Service, (3) the merchant of record framing, and (4) the money transmitter question. Stripe Connect's structure should shield OneSummer from most MTL exposure, but this must be confirmed in writing for the specific operating model.

OneSummer
Payment Architecture v1.0 — April 2026 — Internal Draft
Not for distribution. Subject to legal review before implementation.