User-Generated Platforms, chapter 38 of 57
Services Marketplaces: Pet Care, Home Services & Care
When the inventory is a person's labor in someone's home: two-tier supply, FCRA checks, boarding licenses, guarantees, recurring visits and credits.
The other chapters in this part rent things: a room, an RV, a car, a jacket. A services marketplace rents a person's time. The dog walker, the house sitter, the handyman and the babysitter are the inventory, and they do the work inside the customer's home, often alone, often with a key, and often in charge of something that can't be repaired or replaced at actual cash value: a dog, a cat, a child, an elderly parent. That changes what onboarding has to check (a criminal record matters more than a VIN), what a guarantee is promising (a vet bill, not a dent), what the calendar is counting (a caregiver's hours and a boarding facility's capacity, not one asset's nights), and what the platform's control over the work implies about whether the worker is its employee.
This chapter covers what is different when the listing is a person doing a service: how the platforms do it across pet care (Rover, Wag!, Yourgi), home services (Angi, Thumbtack, Taskrabbit) and family care (Care.com, Sittercity); the split between lead generation and booked-and-paid models; two-tier supply, where independent caregivers sit beside licensed businesses that run their own software; background checks under the FCRA and what they can't prove; boarding and kennel licensing; where a guarantee stops and insurance starts, with the vet emergency as the worked case; in-home access and visit evidence; recurring care; and guarantee credits and rewards as a liability. It doesn't repeat the gates, calendars, fees, claims, reviews and cancellations the earlier chapters cover; it extends them. Whether a caregiver is an employee, and the gig-worker law around it, belongs to Gig Work & Worker Law.
How the Platforms Do It#
As of October 2026:
| Platform | Supply | How it makes money | Vetting | Guarantee |
|---|---|---|---|---|
| Rover (pet care; private since February 2024) | Over 870,000 pet care providers by the end of 2022, in North America, the UK and Western Europe; boarding in the sitter's home, house sitting, drop-ins, day care, walking, training | Service fees from both pet parents and providers | All new US and Canadian providers pass third-party background checks; over half had also passed an enhanced check by the end of 2022; identity verification in the UK and Europe | Rover Guarantee: reimbursement up to $25,000 for certain injuries or damages, up to $1 million for owner property damage or certain third-party injuries, described as a commercial agreement |
| Wag! (pet care; reorganized in 2025) | Over 500,000 approved Pet Caregivers; scheduled and on-demand walks, drop-ins, boarding in the caregiver's home, in-home sitting, training | Fees charged to caregivers per completed service; a flat $14.99 booking fee on sitting, waived by Wag! Premium | All new caregivers pass a third-party criminal background check | Wag! Guarantee: $25,000 lifetime for pet injury, $100,000 lifetime for property, $200 minimum per request, "NOT INSURANCE" |
| Yourgi (pet care) | "Yourgi Pros" and local pet resorts; boarding, walking, house sitting, daycare, grooming, training, vet care; Denver, Dallas, Fort Worth, Houston, Boston and Portland | A percentage service fee on providers, service fees from pet parents, a profile review fee at signup | "Vetted" and "hand-picked"; its terms say it doesn't independently verify background check results | Yourgi Guarantee: coupon codes, not cash, up to $300 a month and $1,200 a year, Pro services only |
| Care.com (child, senior and pet care) | Individual caregivers and families | Premium subscriptions to hire | An initial criminal check on every individual caregiver, renewed annually while active; optional paid checks | None published as a guarantee |
| Sittercity (child, senior and pet care) | Individual sitters | Premium membership, required for a parent to run a check | Not automatic: the sitter or a parent buys a Checkr check (basic criminal, enhanced criminal, motor vehicle); the badge lasts 90 days | None published |
| Angi (home services; independent since March 2025) | About 111,000 average monthly active pros at the end of 2025 | Lead fees ($587.1 million in 2025), advertising, memberships, referral fees on pre-priced jobs | Owners or principals of pro businesses pass certain criminal background checks | A service guarantee, expensed in selling and marketing |
| Thumbtack (home services) | Pros who set their own lead budget | Pros pay for leads; no membership fee | Not confirmed | Money-back up to $2,500; property damage up to $100,000 |
| Taskrabbit (home services) | "Independent business owners" who set their own rates | Platform fees, with Tasker rates set "without deduction by Taskrabbit" | Identity and criminal checks "to the extent permitted by applicable law" | Taskprotect, at Taskrabbit's discretion and after personal insurance |
Five patterns run through the table:
- The person is checked, not the asset. Every platform runs a criminal background check, an identity check or both, and none of them claims the check proves the person is safe. The check is a consumer report with legal duties attached, which is where this chapter starts.
- Lead or booking decides what the platform knows. A platform that sells a lead to a pro never sees the price, the schedule or whether the work happened; a platform that takes the booking and the payment sees all of it, and can guarantee it.
- Guarantees are written not to be insurance. Wag! says so in capitals; Rover calls its program a commercial agreement backed by its own general liability policy above a retention; Taskrabbit says it "does not insure"; Yourgi pays in coupons. The construction (discretion, lifetime caps, minimums, excess of the customer's own insurance) is the industry's answer to state insurance law.
- Supply comes in two tiers. Individuals board a few dogs in their homes; licensed resorts and kennels board dozens under a state or local license and run their own software. A marketplace that mixes them needs both a license gate and an integration.
- Most of the revenue is repeat business. Rover reported that repeat bookings were 83% of its 2022 bookings. A weekly walk or a recurring cleaning is a schedule, not a sequence of unrelated reservations.
Leads or Bookings#
Two money models sit under the same "find a pro" search box, and they produce different systems:
| Lead generation | Booked and paid | |
|---|---|---|
| Examples | Angi's lead and advertising revenue; Thumbtack's pay-for-leads; Care.com and Sittercity's subscriptions to contact caregivers | Rover, Wag!, Yourgi, Taskrabbit, Angi's pre-priced offerings |
| Who pays the platform | The pro, per lead or per period; or the family, per subscription | The customer and the provider, per booking |
| What the platform sees | The request and the match | The price, schedule, payment, completion and evidence |
| What it can guarantee | Only what it can prove happened: Thumbtack requires proof of hire within 30 days of the request and before work started | The booked service, with on-platform payment as a precondition |
| Revenue risk | Lead price disputes and refunds; Angi's network revenue fell 72% in 2025 after it changed how homeowners choose pros | Off-platform leakage once the customer and provider know each other (Off-Platform Leakage) |
Angi runs both: in 2025 its US lead revenue was $587.1 million, advertising $214.9 million and services revenue from pre-priced offerings $72.4 million, of $1,030.5 million in total. Thumbtack tells pros they "control your pricing and budget for leads" and pay no membership fee; how an individual lead is priced isn't published.
The design consequence is that a lead marketplace's records end at the match, so its guarantee has to ask the customer to prove the hire, and its reviews can't be tied to a completed booking. A booked marketplace carries the whole lifecycle from The Core Data Model, and the rest of this chapter assumes it.
Two-Tier Supply#
A pet care marketplace has two kinds of supplier for the same search:
- Independents: a person who walks dogs, drops in, house-sits in the owner's home, or boards a few pets in their own. Rover's and Wag!'s 10-Ks list boarding in the caregiver's home as a core service. The independent's capacity is their own time and how many animals they'll take at once.
- Licensed businesses: a resort, kennel, daycare or grooming salon, with a facility, staff, a license, and its own booking system. Yourgi lists "local pet resorts" next to individual Pros. Home services have the same split (a solo handyman and a licensed plumbing company with dispatchers), and the field operations side of that business is the Field Operations volume.
The two tiers break different assumptions in the core model. The core bookings table allows one confirmed booking per listing per period, which is right for a house and wrong for a boarding sitter who takes three dogs from three families on the same nights, and wrong for a resort with forty runs. Capacity is a counter, not an exclusion (Counters for Pooled Inventory): pets per night for a sitter's home, runs by size for a resort, visit slots for a walker. A walker's drop-ins, by contrast, do exclude each other, because one person can't be in two homes at once, so time exclusion moves from the listing to the caregiver.
Integrating a Facility's System
A resort's inventory lives in its own software. Gingr publishes an API reference, and PetExec documents an API for developers building on its customers' accounts; neither public page describes an availability or capacity endpoint, so a marketplace typically derives open capacity from the facility's reservation list or asks the facility to hold an allotment. The patterns from External Calendars apply with one difference: iCal blocks a whole listing, while a facility needs counts by unit type (runs by dog size, suites, cat condos), and a booking has to land in the facility's system with the pet's vaccination records before check-in. My default is an allotment the facility controls, written back to its system on every booking, with the facility's confirmation as the step that moves the marketplace booking from requested to confirmed.
Licensing: Boarding in Someone's Home
The license gate is per jurisdiction and per tier, and the hard case is the independent who boards several animals in their own home, because the law may treat them as a facility:
- Colorado. The Pet Animal Care Facilities Act defines a pet animal facility as any place "used in whole or in part" for keeping pet animals for, among other purposes, boarding, grooming or handling (C.R.S. 35-80-102). The Department of Agriculture's rules define a boarding/training facility as one that "cares for, or houses more than three pet animals at one time, or trains pet animals in the absence of the owner" for compensation, and a pet handler as one without a permanent facility that transports or trains pets in the owner's absence (8 CCR 1202-15, Part 1). Each location is licensed separately, licenses expire every March 1, and the legislature's staff describe operating or advertising without a license as a deceptive trade practice under the Colorado Consumer Protection Act. My reading is that a sitter in Denver housing a fourth paying dog at once is a boarding facility under the rule. Neither the statute nor the rule addresses care in the owner's own home.
- Massachusetts. A "commercial boarding or training kennel" boards, holds, provides day care, overnight stays or training for animals the operator doesn't own, for payment, without the owner present; an individual who temporarily cares for others' animals outside the normal course of business is excluded (M.G.L. c.140 §136A). Kennels are licensed by the city or town after an animal control officer's inspection (§137A). Ollie's Law (§174G) directs the state to make licensing, inspection and enforcement rules for commercial boarding and training kennels, including those "located at a private residence," and requires kennels to report injuries to animals or people to the licensing authority.
- Texas and Oregon. I found no state boarding license in either. Texas's licensing department licenses dog and cat breeders, not boarding; Oregon defines a boarding kennel (ORS 609.035) but licenses dogs through counties. Local ordinances are where boarding rules would live, and I couldn't source a Dallas, Houston or Portland boarding permit.
Home services carry trade licenses (plumbing, electrical, pest control), which the Licenses & Permits chapter models. The marketplace version is the same credential record with one change: the platform verifies it against the state lookup (Verifying Against State Lookups) and gates the service, not the account, so a sitter who passes the boarding threshold in Colorado can keep walking dogs while the boarding offer waits for a license. That is gate the act, not the account with a jurisdictional rule.
Vetting: Background Checks#
A background report from a consumer reporting agency is a consumer report, and using one to decide whether someone can work brings the FCRA's employment-purpose duties: a clear and conspicuous disclosure "in a document that consists solely of the disclosure," the person's written authorization (15 U.S.C. 1681b(b)(2)), and before any adverse action "based in whole or in part on the report," a copy of the report and the summary of rights (1681b(b)(3)), followed by the adverse action notice. The FTC's employer guidance adds that the disclosure "cannot be in an employment application." The mechanics are in Adverse Action Notices and, for workers, Recruiting and Onboarding; Sanctions Screening and Background Checks covers the narrower use on guests.
Two twists apply to services marketplaces:
- The worker isn't an employee, and the duties may apply anyway. In a 1998 staff letter the FTC said a trucking operation using consumer reports to decide whether to engage drivers must follow the employment-purpose provisions, and its 2011 staff report says "employment purposes" may apply where an entity uses people "who are not technically employees." Courts have split on contractors. My default is to run the full disclosure, authorization and two-step adverse action flow for every provider, because the cost is a few notices and the alternative is a class action over the theory.
- The customer may be the one ordering the check. Sittercity doesn't check every sitter: the sitter or a parent buys a Checkr check, a Sittercity admin can request one, and only the person checked sees the report, while the parent sees a badge that lasts 90 days. Sittercity's own guidance adds that records vary by state, county and city, that there is "no single source of all crime everywhere," and that a result reflects one point in time. Care.com runs an initial check on every individual caregiver, renews it annually while they're active, and sells optional checks of criminal, social media and driving history. When a family pays for a check, the platform has to decide who the user of the report is, who owes the adverse action notice, and what the family may see; a badge with an expiry, not the report, is the answer both make.
What a Check Can't Prove
The platforms say it themselves. Care.com's safety page says checks are "not always 100% accurate" and "may not reveal a person's complete criminal or sex offender history"; Taskrabbit's terms say it can't "assume any responsibility or liability for the accuracy" of check results; Yourgi's say it doesn't independently verify them. The law adds limits of its own:
- Seven years, except convictions. A consumer report may not include civil suits, judgments and arrest records older than seven years, or other adverse items older than seven years "other than records of convictions of crimes" (1681c(a)). The limits don't apply to a job at $75,000 a year or more (1681c(b)(3)), which no caregiver's earnings will reach, so the seven-year rule applies to arrests.
- Public records need care. An agency reporting adverse public records for employment must notify the consumer at the time or keep strict procedures so the record is "complete and up to date" (1681k(a)).
- State and local fair-chance laws narrow what may be considered and when; the jurisdiction is the provider's, and the Criminal History and Fair-Chance Laws section shows the shape of the rules.
- A check is about the past. It says nothing about who else is in the provider's home when a dog is boarded there, or who comes along on a job.
Care.com's history is the industry's reference case. After press reports in March 2019 that the site had listed caregivers with police records who were later accused of crimes on the job, Care.com's April 2019 press release said it offered "three tiers of background checks that families can purchase," and its first-quarter 10-Q said it had decided "to implement additional screening on individual caregivers" in its US marketplace, disclosed a securities class action over its disclosures about screening, and a proposed settlement with district attorneys of about $4.9 million over auto-renewal and sex offender registry disclosures. By IAC's 2020 10-K, after IAC bought it, Care.com required every individual caregiver on its US matching platform to complete a check by a third-party consumer reporting agency, while warning that "no assurances can be provided regarding the future behavior of any caregiver." The FTC's 2024 action against Care.com was about something else (inflated job counts, unsupported earnings claims and a hard-to-cancel subscription, with $8.5 million for refunds), which is a reminder that the marketing claims about supply are regulated too.
Continuous Monitoring
A check at signup goes stale. Care.com renews annually; Sittercity's badge expires after 90 days; Checkr sells continuous monitoring that reruns county, national database and sex offender registry searches every 30 days and reports arrests from booking data. Three rules make monitoring safe to run:
- Consent covers it. The disclosure and authorization have to describe ongoing checks, and a new authorization is collected if the original didn't.
- Every new record is a new decision. A monitoring hit that would remove a provider goes through pre-adverse action, a waiting period (Checkr's guidance calls 7 calendar days "generally considered an adequate waiting period") and the final notice, never an automatic deactivation. Since June 2025 Checkr pauses a pending adverse action when the person disputes the report, and cancels it if the report changes.
- Bookings in flight are a safety question. Between a serious hit and the final decision, the provider's future bookings may need to be paused or reassigned, with the customer told only what the law and fairness allow. That pause is a restriction with a reason, recorded like any other (Account Standing).
Control and Classification#
Whether a caregiver is an employee is a legal determination the Gig Work & Worker Law chapter covers, along with the federal rule's status. What's specific to services is California's referral agency exemption: Labor Code 2777 takes referral agencies out of the ABC test (leaving the older Borello test) for providers of listed services, which include "animal services, dog walking, dog grooming," minor home repair, moving, errands and furniture assembly, and defines animal services as "daytime and nighttime pet care including pet boarding." It excludes "in-home care," among others, so child and senior care don't get it. Rover's and Wag!'s 10-Ks both cite it in their classification risk factors.
The exemption's conditions read like a product spec for what the platform may not control. The provider must be free from the agency's control, deliver services under their own name with their own tools, keep their own clients, set or negotiate their own hours and terms, accept or reject clients without penalty, and set their own rates "without deduction by the referral agency." Taskrabbit's terms echo the last one word for word ("without deduction by Taskrabbit") and say it doesn't "supervise, scope, direct, control or monitor Taskers' work." Massachusetts applies the ABC test with criminal and civil remedies, including debarment (M.G.L. c.149 §148B). So the controls a services platform builds have a legal cost:
- Rates: the provider sets the price; the customer's fee is added on top rather than taken out, where the exemption matters.
- Acceptance: declining requests can't carry a penalty that looks like discipline; ranking by responsiveness is a judgment call for counsel, and Supply Sanctions has to be reviewed with that in mind.
- Standards: safety rules (vaccination requirements, leash rules, lockbox handling) are easier to defend as conditions of the platform's guarantee and the customer's instructions than as work rules. Visit evidence is collected to pay and to resolve disputes, and is never framed as supervision.
Guarantee, Credit or Insurance#
The guarantees in the table share the parts Guarantee Programs describes, and add terms that only make sense for care:
| Program | Pays for | Limits and conditions | Paid as |
|---|---|---|---|
| Rover Guarantee (10-K, 2022) | Certain injuries or damages to pet parents and providers; owner property damage and certain third-party injuries | Up to $25,000; up to $1 million for property and third-party injury; claims above Rover's self-insured retention go to its general liability policy | Reimbursement |
| Wag! Guarantee (terms of September 25, 2025) | Vet costs for pet injury; property damage; third-party medical costs | $25,000 lifetime for pet injury; $100,000 lifetime for property; $200 minimum per request; only for services over $10 per date; notice during the service and within 72 hours; documents within 7 days; costs incurred within 30 days; only amounts above the customer's insurance; excludes pre-existing, chronic and breed-specific conditions | Reimbursement |
| Yourgi Guarantee | A Pro's late cancellation, care instructions not followed, below-standard care | File within 7 days; $300 a month, $1,200 a year, one claim a month; Yourgi Pro bookings only | Coupon codes valid 12 months |
| Yourgi provider guarantee | A pet parent's cancellation within 24 hours of a confirmed booking | The promise says "at least 50%" of the booking value and the FAQ says "up to 50%" | Payout |
| Thumbtack Guarantee | Work not done as agreed; property damage from a pro's negligence | $2,500 money-back within 45 days; $100,000 property damage within 14 days; proof of hire through Thumbtack | Not stated |
| Taskprotect (Taskrabbit) | Losses on a task; since July 2026, up to $1,000 for a Tasker injured through a client's negligence | At Taskrabbit's discretion, case by case; personal insurance first; within 30 days | Reimbursement |
Wag!'s own documents show how these drift: its 2024 10-K described "up to $1 million property damage protection," while its September 2025 guarantee terms cap property at $100,000 for the customer's lifetime. The program version in force on the booking date is the one that decides a claim, so the booking freezes it, as Host Plan Tiers does for rental plans.
Why They Aren't Insurance
California defines insurance as "a contract whereby one undertakes to indemnify another against loss, damage, or liability arising from a contingent or unknown event" (Insurance Code §22). New York's definition turns on a benefit that depends on a "fortuitous event," one "to a substantial extent beyond the control of either party," and treats making guaranty contracts "as a vocation and not as merely incidental" to another business as doing an insurance business (Insurance Law §1101). New York's insurance regulator has used the control test the other way, finding a cancel-for-any-reason refund not to be insurance because the trigger is "substantially under the control" of the customer. A pet's injury in a sitter's care is fortuitous from the owner's point of view, which is why the services guarantees are built to look incidental and discretionary: lifetime caps, minimum contributions, excess-of-insurance positioning, "at its discretion," coupons instead of cash, and the platform's own liability policy behind the program. The Insurance Law: Who May Sell It section covers producer licensing when a platform does sell real insurance; Wag! did that for pet insurance through an insurance comparison site whose subsidiary is a licensed producer.
The provider's own coverage is a separate layer. A pet sitter's general liability policy covers third-party injury and property damage; care, custody and control coverage is what covers the client's pets and property in the sitter's care; and a dishonesty bond covers theft, usually only after proof the accused committed a crime, with the bonding company then seeking restitution from them. A platform that asks providers for proof of insurance stores the certificate as a credential with an expiry (Bonds and Certificates of Insurance).
The Vet Emergency
The case every pet platform designs for is a sick or injured animal while the owner is unreachable. The pieces:
- Authorization before the booking. Yourgi's terms have the pet parent authorize the provider, their emergency contact or Yourgi to obtain veterinary care if they can't be reached, and make the owner responsible for the cost. The authorization is a versioned document acknowledged per booking, with the owner's vet of record and, where the platform allows it, a spending ceiling.
- An escalation ladder. Owner, then emergency contact, then the platform's support line, then the nearest emergency vet, each attempt timestamped. Wag! advertises support around the clock for this reason.
- The guarantee's clock. Wag!'s 72-hour notice, 7-day documentation and 30-day cost windows start at the injury, so the incident record captures the time it happened, not the time someone filed a form.
- Who pays the vet now. The provider is at the clinic with no money of the owner's; the guarantee reimburses later and excludes pre-existing conditions. The platform needs a policy for paying the clinic directly, reimbursing the provider, or charging the owner's card on file under the authorization, and the ledger needs all three.
In-Home Trust and Safety#
The service happens where the platform can't see it, so the system's job is to make the visit observable after the fact and to control the things that let a stranger into a home.
- Meet-and-greet first. My default is a recorded meet-and-greet before the first booking with a new provider, where the owner and provider agree on care instructions, access and the emergency plan. The thread is the record (Messaging as the Transaction Record), and the instructions become a structured part of the booking, because "didn't follow your care instructions" is a Yourgi Guarantee trigger and needs instructions to compare against.
- Access is a credential. A key, lockbox code, door code or smart-lock grant is a secret: stored encrypted (Envelope Encryption), revealed to the assigned caregiver only inside the booking's window, logged on every reveal, and handed back or rotated when the booking or series ends. A substitute caregiver gets a new grant, never a forwarded code.
- Visit proof is evidence and payroll. Wag!'s 10-K describes report cards with photos and videos and GPS mapping of walks; check-in, check-out, route, photos and notes are the visit's record. They pay the provider (a visit with no check-in isn't paid automatically), answer the owner, and become evidence for guarantee claims and chargebacks (Evidence for Disputes and Chargebacks). A location fix is evidence, not truth (Evidence, Not Truth), and the record keeps accuracy and device time beside server time, as The Handoff does for vehicles.
- Incidents are their own record. An escape, a bite, an injury, an illness, a death or a safety threat is reported once, with the time it happened, the animal or person involved, who was notified and when, and what followed (vet visit, guarantee case, report to a licensing authority where the law requires one, as Massachusetts does for kennels). A bite history follows the animal, because the next provider needs it, and the owner's statement of the pet's behavior at booking is evidence when it was wrong.
- People, not just pets. Child and senior care add a person who can't consent to the arrangement. Those platforms keep less: who the caregiver is, the booking and the safety reports, not a dossier on the child. The child-safety obligations elsewhere in this volume (Child Safety: Detection & Reporting) apply to the messaging around them.
Recurring Care#
A daily walk is a subscription to a person. Wag!'s 10-K separates pre-scheduled from on-demand walks, and Rover's repeat bookings were most of its volume. The recurrence engine is the one in Recurring Schedules (an RFC 5545 rule, a generation horizon, exceptions), and Missed Visits and Make-Ups covers what happens when a visit can't be done. What a marketplace adds:
- The series belongs to a pair. It's the owner and this caregiver, and the trust in the arrangement is personal. When the caregiver can't do a visit, the substitute is a different person entering the home, so the default is to ask the owner, with an opt-in to a pre-approved backup who has already met the pet. A substitute visit carries its own access grant, its own caregiver of record and its own payout.
- Billing per visit or per period. Per-visit billing charges each completed visit and refunds nothing; per-period billing (a week of walks) needs credits for missed visits and a policy for a caregiver's absence. Four Billing Models covers the choice; on a marketplace each visit is also a payout to a person, so the payout follows the visit even when the customer pays by period.
- The platform's own subscription is different. Wag! Premium is a monthly or annual membership for discounts, waived booking fees and priority support; it renews under automatic-renewal law (The Law of Automatic Renewal), the issue in the FTC's Care.com case. The care series is a schedule of bookings; the membership is a subscription; don't make one object do both.
Credits and Rewards Are a Liability#
Services platforms pay customers in platform money more than other marketplaces do: guarantee remedies as coupons, rewards on spend, and goodwill credits after a bad visit. Yourgi's program is a clear published example. Rewards accrue on eligible bookings at 2.5% up to $750 of annual spend (Bronze), 3.75% from $750 to $1,250 (Silver) and 5.0% above $1,250 (Gold); points "carry no cash value," expire "at the end of the twelfth month from the date earned," may be revoked "at any time and for any reason," and convert to a credit redeemable with participating providers. Its guarantee remedies are coupon codes valid 12 months. Each of those is a different liability:
| Balance | How it arises | Accounting | Consumer and property law |
|---|---|---|---|
| Purchased (gift cards) | Customer pays cash | A liability until redeemed; breakage recognized as redemption patterns allow (Breakage) | Federal gift card rule: funds can't expire within 5 years of issue or last load, dormancy fees limited (Reg E §1005.20); California bars expiration and requires cash redemption under $15 from April 1, 2026 (Civil Code §1749.5); unclaimed property dormancy varies by state |
| Earned (rewards on spend) | Part of the price the customer paid | A material right: part of each booking's price is deferred and recognized when the points are redeemed or expire (ASC 606-10-55-42) | Loyalty and promotional cards are excluded from the federal rule if they disclose they're promotional and their expiry; California exempts awards and loyalty certificates given without value in exchange |
| Remedial (guarantee coupons) | Settling a customer's claim | A cost or revenue reduction when issued (Rover's 10-K treats coupons and refunds as a reduction of revenue), with the expected redemption estimated | A credit given to settle a claim isn't plainly "without value in exchange"; whether it can expire is a question for counsel by state |
| Promotional | Marketing | Recognized as redeemed | Promotional disclosures; state rules vary |
What the build needs is the record that makes each treatment possible: every grant with its source, program version, amount, issue date, expiry, cash value or none, and the customer's jurisdiction; every redemption, expiry, revocation and escheat as a ledger entry; and a redemption order that's stated in the terms (my default is oldest-expiring first). State unclaimed property dormancy for gift certificates ranges from three years (California, Texas) to five (Colorado, whose act covers stored value cards, and New York), so a purchased balance's jurisdiction is stored when it's issued. Breakage estimates never expire a balance in the product that the terms and the law say is still spendable. Unclaimed balances owed to providers are the Payments volume's side of the same problem.
Tiers are computed, not stored: the tier is a view over the trailing year's eligible spend, so a refund moves a customer back across a threshold the next time it runs, and the rate in force on each booking is frozen on the booking.
How to Build It#
The chapter widens verifications once more, adds providers, capacity, care subjects, background checks, licenses, series and visits, access grants, incidents and a credit ledger:
-- Supply Onboarding's widening, plus the two kinds this chapter adds.
ALTER TABLE verifications
DROP CONSTRAINT verifications_kind_check,
ADD CONSTRAINT verifications_kind_check CHECK (kind IN ('identity', 'notability',
'organization', 'phone', 'email', 'payment_instrument', 'driver_license', 'business',
'tax_id', 'bank_account', 'background_check', 'facility_license'));
CREATE TABLE service_providers ( -- the supply side of a services listing
account_id UUID PRIMARY KEY REFERENCES accounts (id),
tier TEXT NOT NULL CHECK (tier IN ('independent', 'business')),
business_name TEXT,
facility_address JSONB, -- where boarding happens; a home for independents
service_area JSONB, -- radius or polygon for visits
external_system TEXT, -- 'gingr', 'petexec', ... for businesses
external_ref TEXT, -- location id in that system
sync_mode TEXT CHECK (sync_mode IN ('allotment', 'reservation_list', 'manual'))
);
CREATE TABLE capacity_counters ( -- pooled inventory: pets a night, runs, slots
provider_id UUID NOT NULL REFERENCES service_providers (account_id),
unit TEXT NOT NULL, -- 'pet_night', 'run_large', 'cat_condo', ...
day DATE NOT NULL,
capacity INT NOT NULL CHECK (capacity >= 0), -- license and provider limits applied
held INT NOT NULL DEFAULT 0 CHECK (held >= 0),
PRIMARY KEY (provider_id, unit, day),
CHECK (held <= capacity)
);
ALTER TABLE bookings
ADD COLUMN exclusive BOOLEAN NOT NULL DEFAULT TRUE; -- false when capacity_counters decide
ALTER TABLE bookings -- Postgres's default name for the core exclusion
DROP CONSTRAINT bookings_listing_id_service_period_excl,
ADD CONSTRAINT bookings_listing_period_excl EXCLUDE USING GIST
(listing_id WITH =, service_period WITH &&)
WHERE (status IN ('confirmed', 'in_progress') AND exclusive);
CREATE TABLE care_subjects ( -- the pet, or the person cared for
id UUID PRIMARY KEY DEFAULT uuidv7(),
owner_account_id UUID NOT NULL REFERENCES accounts (id),
kind TEXT NOT NULL CHECK (kind IN ('dog', 'cat', 'other_pet', 'child',
'adult')),
name TEXT NOT NULL,
attributes JSONB NOT NULL DEFAULT '{}', -- breed, weight, size class; minimal for people
care_notes TEXT, -- feeding, medication, behavior, as the owner states
medical_ref TEXT, -- vaulted; vet of record and conditions
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE subject_vaccinations (
subject_id UUID NOT NULL REFERENCES care_subjects (id),
vaccine TEXT NOT NULL, -- 'rabies', 'dhpp', 'bordetella', ...
administered_on DATE NOT NULL,
expires_on DATE NOT NULL,
evidence_asset_id UUID REFERENCES media_assets (id),
verified_by TEXT CHECK (verified_by IN ('vet_record', 'facility', 'owner_attested')),
PRIMARY KEY (subject_id, vaccine, administered_on)
);
CREATE TABLE booking_subjects (
booking_id UUID NOT NULL REFERENCES bookings (id),
subject_id UUID NOT NULL REFERENCES care_subjects (id),
instructions TEXT, -- frozen care instructions for this booking
PRIMARY KEY (booking_id, subject_id)
);
CREATE TABLE care_authorizations ( -- emergency vet consent, per booking
id UUID PRIMARY KEY DEFAULT uuidv7(),
booking_id UUID NOT NULL REFERENCES bookings (id),
kind TEXT NOT NULL CHECK (kind IN ('emergency_vet', 'medication', 'transport')),
spending_limit BIGINT, -- minor units; null means the terms' default
vet_of_record JSONB,
emergency_contact JSONB NOT NULL,
document_version TEXT NOT NULL,
authorized_at TIMESTAMPTZ NOT NULL
);
CREATE TABLE background_checks ( -- one consumer report request and its decision
id UUID PRIMARY KEY DEFAULT uuidv7(),
account_id UUID NOT NULL REFERENCES accounts (id),
verification_id UUID REFERENCES verifications (id), -- set when it passes
vendor TEXT NOT NULL,
vendor_ref TEXT NOT NULL,
package TEXT NOT NULL, -- 'basic_criminal', 'enhanced', 'mvr', 'monitoring_hit'
ordered_by TEXT NOT NULL CHECK (ordered_by IN ('platform', 'customer', 'self')),
disclosure_version TEXT NOT NULL, -- the stand-alone disclosure shown
authorized_at TIMESTAMPTZ NOT NULL,
monitoring_consent BOOLEAN NOT NULL DEFAULT FALSE,
jurisdiction TEXT NOT NULL, -- ISO 3166-2; fair-chance rules resolve from here
status TEXT NOT NULL CHECK (status IN ('pending', 'clear', 'consider',
'pre_adverse', 'disputed', 'adverse', 'approved', 'expired')),
pre_adverse_sent_at TIMESTAMPTZ, -- with the report copy and summary of rights
final_decision_after TIMESTAMPTZ, -- the waiting period, stored
adverse_sent_at TIMESTAMPTZ,
criteria_version TEXT, -- the adjudication rules applied
badge_valid_until TIMESTAMPTZ, -- what customers see, when a badge is shown
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE provider_credentials ( -- facility licenses, trade licenses, insurance
id UUID PRIMARY KEY DEFAULT uuidv7(),
provider_id UUID NOT NULL REFERENCES service_providers (account_id),
kind TEXT NOT NULL, -- 'co_pacfa_boarding', 'ma_kennel', 'liability_coi', ...
jurisdiction TEXT NOT NULL,
number TEXT,
location JSONB, -- licenses are per location
valid_during DATERANGE NOT NULL,
verified_by TEXT NOT NULL CHECK (verified_by IN ('state_lookup', 'document', 'attested')),
verified_at TIMESTAMPTZ NOT NULL
);
CREATE TABLE booking_series ( -- a recurring arrangement between two people
id UUID PRIMARY KEY DEFAULT uuidv7(),
listing_id UUID NOT NULL REFERENCES listings (content_item_id),
guest_account_id UUID NOT NULL REFERENCES accounts (id),
provider_id UUID NOT NULL REFERENCES service_providers (account_id),
rrule TEXT NOT NULL, -- RFC 5545
dtstart TIMESTAMPTZ NOT NULL,
visit_window INTERVAL NOT NULL, -- 'within 2 hours of the start'
billing_basis TEXT NOT NULL CHECK (billing_basis IN ('per_visit', 'per_period')),
substitute_policy TEXT NOT NULL CHECK (substitute_policy IN ('ask', 'approved_backups',
'skip')),
status TEXT NOT NULL CHECK (status IN ('active', 'paused', 'ended')),
guarantee_version INT NOT NULL -- frozen like a protection plan
);
CREATE TABLE visits ( -- one occurrence of care, the unit of pay and proof
id UUID PRIMARY KEY DEFAULT uuidv7(),
booking_id UUID NOT NULL REFERENCES bookings (id),
series_id UUID REFERENCES booking_series (id),
caregiver_id UUID NOT NULL REFERENCES accounts (id), -- a substitute is a new caregiver
substitute_for UUID REFERENCES accounts (id),
owner_approved_at TIMESTAMPTZ, -- required when substitute_for is set
scheduled TSTZRANGE NOT NULL,
status TEXT NOT NULL CHECK (status IN ('scheduled', 'checked_in', 'completed',
'missed', 'cancelled')),
check_in JSONB, -- server time, device time, position, accuracy
check_out JSONB,
route_ref TEXT, -- the walk's track, in the evidence store
report TEXT, -- the report card's notes; photos in content_media
EXCLUDE USING GIST (caregiver_id WITH =, scheduled WITH &&)
WHERE (status IN ('scheduled', 'checked_in')), -- one home at a time
CHECK ((substitute_for IS NULL) OR (owner_approved_at IS NOT NULL))
);
CREATE TABLE access_grants ( -- keys and codes to a home
id UUID PRIMARY KEY DEFAULT uuidv7(),
booking_id UUID REFERENCES bookings (id),
series_id UUID REFERENCES booking_series (id),
grantee_id UUID NOT NULL REFERENCES accounts (id),
kind TEXT NOT NULL CHECK (kind IN ('physical_key', 'lockbox', 'door_code',
'smart_lock', 'concierge')),
secret_ref TEXT, -- envelope-encrypted; never in this table
reveal_during TSTZRANGE NOT NULL,
returned_at TIMESTAMPTZ, -- key back, code rotated or grant revoked
CHECK ((booking_id IS NULL) <> (series_id IS NULL))
);
CREATE TABLE access_reveals ( -- append-only: who saw the code, when, from where
grant_id UUID NOT NULL REFERENCES access_grants (id),
revealed_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
device_ref TEXT
);
CREATE TABLE care_incidents (
id UUID PRIMARY KEY DEFAULT uuidv7(),
booking_id UUID NOT NULL REFERENCES bookings (id),
visit_id UUID REFERENCES visits (id),
subject_id UUID REFERENCES care_subjects (id),
kind TEXT NOT NULL CHECK (kind IN ('escape', 'bite', 'injury', 'illness',
'death', 'property_damage', 'safety_threat')),
occurred_at TIMESTAMPTZ NOT NULL, -- starts the guarantee's clocks
reported_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
owner_notified_at TIMESTAMPTZ,
vet_visit JSONB,
authority_report_due TIMESTAMPTZ, -- where a licensing authority must be told
authority_reported_at TIMESTAMPTZ,
protection_case_id UUID REFERENCES protection_cases (id)
);
CREATE TABLE credit_grants ( -- platform money owed to a customer
id UUID PRIMARY KEY DEFAULT uuidv7(),
account_id UUID NOT NULL REFERENCES accounts (id),
source TEXT NOT NULL CHECK (source IN ('purchase', 'reward', 'guarantee',
'goodwill', 'promotion')),
program_version TEXT NOT NULL,
booking_id UUID REFERENCES bookings (id), -- the booking that earned it
protection_case_id UUID REFERENCES protection_cases (id), -- the claim it settled
amount BIGINT NOT NULL CHECK (amount > 0),
currency CHAR(3) NOT NULL,
cash_value BOOLEAN NOT NULL, -- true only for purchased balances
jurisdiction TEXT NOT NULL, -- the customer's, at issue
issued_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
expires_at TIMESTAMPTZ -- null where law or terms forbid expiry
);
CREATE TABLE credit_entries ( -- every movement of a grant's balance
id UUID PRIMARY KEY DEFAULT uuidv7(),
grant_id UUID NOT NULL REFERENCES credit_grants (id),
kind TEXT NOT NULL CHECK (kind IN ('issue', 'redeem', 'reverse_redeem', 'expire',
'revoke', 'escheat')),
amount BIGINT NOT NULL, -- signed
booking_id UUID REFERENCES bookings (id),
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE VIEW reward_tiers AS -- tier from trailing-year eligible spend
SELECT b.guest_account_id AS account_id,
SUM(bl.amount) AS eligible_spend,
CASE WHEN SUM(bl.amount) > 125000 THEN 'gold'
WHEN SUM(bl.amount) > 75000 THEN 'silver'
ELSE 'bronze' END AS tier -- thresholds are program data in practice
FROM bookings b
JOIN booking_lines bl ON bl.booking_id = b.id
WHERE b.status = 'completed'
AND bl.kind IN ('rental', 'add_on') -- tips and taxes excluded
AND b.created_at >= NOW() - INTERVAL '12 months'
GROUP BY b.guest_account_id;
Design decisions behind it:
- Capacity and exclusion are both kept, on different things. A boarding booking claims counters (pets a night at a sitter's home, runs at a resort) and sets
exclusivefalse; a visit excludes on the caregiver's time, because one person can't be in two homes. Counters are capped by the lower of the provider's setting and any license threshold, so a Colorado sitter without a PACFA license can't be sold a fourth concurrent dog. - Care subjects are first-class. The pet's vaccinations, care notes and bite history follow the animal across providers and bookings; the booking freezes the instructions given for it. For people, the record holds what the care needs and no more, and medical details live in the vault.
- A background check is a consumer report workflow, not a boolean. Disclosure version, authorization, the pre-adverse notice, the stored waiting period, disputes and the final notice are columns; the passing check becomes a
verificationsrow with a validity range so the provider gate reads one model. Monitoring hits arrive as new checks withpackage = 'monitoring_hit'and go through the same flow. - Licenses gate offers. A credential is per location and jurisdiction with a validity range; a boarding offer checks it at publish and at booking, as asset eligibility does for vehicles (Asset Eligibility).
- The visit is the unit of proof and pay. Check-in and check-out with device and server time, the route, the report and photos make a visit payable and are the evidence when a claim arrives; a missed visit is a status with a reason, not a deleted row.
- Substitutes need consent in the schema. A visit by someone other than the series' caregiver can't exist without the owner's approval timestamp, and it gets its own access grant.
- Secrets are revealed, never stored in the clear. Access codes are envelope-encrypted references with a reveal window and an append-only reveal log, so "who had the code on the day the TV went missing" has an answer.
- Incidents start clocks.
occurred_atdrives the guarantee's notice and document deadlines and any report owed to a licensing authority, stored as computed deadlines (Deadlines Are Computed and Stored). - Credits are a ledger. Every grant has a source, a program version, a jurisdiction and an expiry the law allows; every movement is an entry; balances are sums. Finance estimates breakage from the entries; the product never expires a balance early because of the estimate.
- Events:
background_check.consider,background_check.adverse_sent,credential.expiring,visit.missed,visit.substitute_requested,incident.reported,access.revealedandcredit.expiringgo through the outbox (The Transactional Outbox) to notifications, standing, payouts and support.
Auditing#
- Every background check end to end: the disclosure shown, the authorization, the report reference, the criteria applied, both notices with their delivery records, the waiting period, any dispute and the outcome, kept for the FCRA's limitation period and per Retention Schedules by Record Type.
- License and insurance gates over time: which credential allowed each boarding booking, so a licensing authority's question about a provider has the record as it was on that night.
- Visit evidence: check-ins, routes, reports and photos per visit, retained through the guarantee's claim windows and the chargeback window.
- Access: every grant, reveal, return and rotation per home.
- Incidents and their notifications: who was told, when, and the report to an authority where one was due.
- Guarantee decisions and the version in force, including credits issued as remedies and their link to the claim.
- Credit and reward ledgers: issues, redemptions, expiries, revocations and escheat reports by jurisdiction, reconcilable to the liability on the balance sheet.
Tradeoffs#
- Lead generation or bookings. Selling leads is cheaper to build and avoids holding customer money, guarantee liability and visit evidence; it also gives up the data to guarantee anything, rank on outcomes or stop leakage. Booking and payment are worth the build when the platform wants to stand behind the work.
- Licensed businesses or independents. Resorts bring licensed capacity, staff and their own insurance, but they arrive with software the platform must integrate and margins that resist a take rate. Independents bring neighborhood coverage and a classification question. A marketplace that starts with one tier should model both from the start, because the capacity model differs.
- Guarantees paid in credit. Coupons keep the remedy inside the platform and cost less than cash, and customers can read them as a refusal; they also create a liability the accounting and the law treat by source. A cash reimbursement with a clear cap is simpler to explain and to account for.
- Control. Every quality control a services platform adds (required response times, uniform pricing, mandatory training) improves the customer's experience and weakens the independent contractor position. When the controls are what the customer is paying for, an employee or agency model may be the honest one, and the Gig Work & Worker Law chapter covers the tests.
- Child and senior care. The referral agency exemption doesn't cover in-home care, the safety stakes are higher, and checks alone don't make a caregiver safe. A family care marketplace that books and controls the work is close to a staffing agency, with that licensing and employment law; the subscription directory model Care.com and Sittercity use keeps the platform a directory with a background check product.
What This Means for the System You Build#
- Treat the provider as the inventory: time exclusion on the caregiver, capacity counters on homes and facilities, and the core model's one-booking-per-period rule only where it still fits.
- Pick leads or bookings deliberately, knowing a lead marketplace can only guarantee what the customer can prove.
- Run the full FCRA flow for contractors, with stand-alone disclosure, authorization, pre-adverse notice, a stored waiting period and the final notice, and route monitoring hits through the same flow.
- Don't let a badge say more than the check proved, and expire it.
- Gate boarding offers on location licenses where state or local law reaches into homes (Colorado above three animals, Massachusetts kennels including private residences).
- Write guarantees so they stay guarantees: caps, minimums, excess of insurance, discretion, a frozen program version, and real insurance sold only through a licensed producer.
- Model the vet emergency before it happens: a per-booking authorization, an escalation ladder, an incident record whose time starts the guarantee's clocks, and a payment path for the clinic.
- Treat access codes as secrets with reveal windows, logs and rotation, and give every substitute their own grant with the owner's approval.
- Make the visit the unit of proof and payout, linking to the field operations evidence model rather than inventing a new one.
- Keep credits in a ledger by source, with jurisdiction and lawful expiry on each grant, rewards as material rights, and breakage as finance's estimate, never the product's deletion.
References#
Law and regulation
- 15 U.S.C. 1681b: Permissible purposes of consumer reports, the stand-alone disclosure and authorization in (b)(2) and the pre-adverse action copy and summary of rights in (b)(3)
- 15 U.S.C. 1681c: Requirements relating to information contained in consumer reports, the seven-year limits, the conviction exception and the $75,000 salary exception
- 15 U.S.C. 1681k: Public record information for employment purposes, notice at the time of reporting or strict procedures
- FTC: Using Consumer Reports: What Employers Need to Know, the stand-alone disclosure, not in an application, and the two notices
- FTC: Staff opinion letter to Allison (February 23, 1998), employment-purpose provisions applied to engaging drivers who aren't employees
- FTC: 40 Years of Experience with the Fair Credit Reporting Act (July 2011), "employment purposes" may apply to people who aren't technically employees
- California Labor Code §2777: Referral agencies, the exemption's listed services including animal services, dog walking and dog grooming, the definition of animal services, the in-home care exclusion and the conditions including rates set without deduction
- M.G.L. c.149 §148B: Persons performing service not authorized under this chapter deemed employees, Massachusetts' ABC test and its remedies including debarment
- C.R.S. 35-80-102: Pet Animal Care Facilities Act definitions, the definition of a pet animal facility
- 8 CCR 1202-15, Part 1: PACFA rule definitions, boarding/training facility above three animals at one time and pet handler
- 8 CCR 1202-15, Part 3: PACFA licensing, per-location licenses and the March 1 expiry
- Colorado Legislative Council: Issue Brief 17-18, the Pet Animal Care Facilities Act, unlicensed operation as a deceptive trade practice
- M.G.L. c.140 §136A: Definitions, commercial boarding or training kennel and its exclusions
- M.G.L. c.140 §137A: Kennel licenses, local licensing after inspection by an animal control officer
- M.G.L. c.140 §174G: Commercial boarding or training kennels (Ollie's Law), rules including kennels at a private residence and injury reporting
- ORS 609.035: Definitions, Oregon's boarding kennel definition
- TDLR: Licensed Breeders, Texas licensing of breeders, not boarding
- California Insurance Code §22, the definition of insurance
- New York Insurance Law §1101, insurance contract, fortuitous event, and guaranty contracts made as a vocation
- NY DFS: Office of General Counsel opinion 09-01-09, a refund triggered by the customer's choice isn't insurance
- 12 CFR 1005.20: Requirements for gift cards and gift certificates, the five-year expiration floor, dormancy fee limits and the loyalty and promotional exclusion
- California Civil Code §1749.5, no expiration, cash redemption under $15 from April 1, 2026, and the award and loyalty exemption
- NAUPA: Gift certificates, state dormancy periods for gift certificates and stored value cards
Filings and enforcement
- Rover Group: Form 10-K for 2022, providers, services, fees from both sides, background checks, the Rover Guarantee and its insurance, repeat bookings, the classification risk factor and the referral agency exemption, coupons as a reduction of revenue
- Rover Group: Fourth quarter and full year 2022 results (8-K exhibit), revenue, gross booking value and bookings for 2022
- Rover Group: Completion of the Blackstone acquisition (8-K exhibit, February 27, 2024), private since February 2024 at $11.00 a share
- Wag! Group: Form 10-K for 2024, caregivers, services, Wag! Premium, background checks, report cards and GPS, the $1 million property damage description, the classification risk factor, the licensed insurance producer subsidiary
- Wag! Group: 8-K on the Chapter 11 filing (July 2025), the prepackaged plan with the lender taking the equity
- Wag! Group: 8-K on plan confirmation (September 2025), confirmation on August 29 and consummation on September 1, 2025
- Angi: Form 10-K for 2025, the spin-off from IAC, active pros, lead, advertising and services revenue, pre-priced offerings, pro background checks, service guarantee expense, the network revenue decline and the classification risk factor
- Care.com: Press release correcting media reports (8-K exhibit, April 1, 2019), three tiers of checks families could buy
- Care.com: Form 10-Q for the first quarter of 2019, the decision to add screening, the securities class action and the district attorneys' settlement
- IAC: Form 10-K for 2020, required checks for US individual caregivers and the limits of screening
- FTC: Action against Care.com (August 26, 2024), job counts, earnings claims, cancellation and $8.5 million for refunds
Platform documentation
- Wag!: Wag! Guarantee terms of service, "NOT INSURANCE," lifetime limits, the $200 minimum, notice, documentation and cost windows, excess of insurance and exclusions
- Wag!: Safety, background checks for every applicant and 24/7 support
- Wag!: Pet sitting, the $14.99 booking fee waived by Premium and GPS walk tracking
- Yourgi, services, Pros and local pet resorts, and markets
- Yourgi: Guarantee, coupon remedies, monthly and annual caps, the 7-day window and the provider cancellation guarantee
- Yourgi: Rewards, tiers, rates and thresholds, and no cash redemption
- Yourgi: Terms and Conditions (October 26, 2026), points expiry and revocation, fees, background check verification, contractor status, not a party and emergency veterinary authorization
- Care.com: Safety, initial and annual checks, optional checks and their limits
- Care.com: Pet care, pet care services and Premium required to hire
- Sterling: Care.com support FAQs, the checks Care.com runs
- Sittercity: Background checks and screening child care providers, checks not automatic, Premium required to run one, and the limits of records
- Sittercity: How background checks work for sitters, Checkr, the three checks, who orders them, 90-day badges and who sees the report
- Thumbtack: Guarantee, money-back and property damage limits, deadlines and proof of hire
- Thumbtack: For pros, lead budgets and no membership fees
- Taskrabbit: Terms of Service (July 25, 2026), independent business owners, rates without deduction, no supervision or control, not a party, background checks
- Taskrabbit: What kind of insurance does Taskrabbit offer, "does not insure," discretionary reimbursement, personal insurance first and the 30-day window
- Taskrabbit: Introducing Taskprotect (July 8, 2026), up to $1,000 for a Tasker injured through a client's negligence
Vendor documentation
- Checkr: Continuous Check, 30-day reruns and arrest data
- Checkr: The basics of adverse action, the 7-day waiting period
- Checkr: Adverse action updates for disputed reports (June 5, 2025), disputes pause pending adverse actions
- PetExec: API for developers, a documented API for facility software
- Gingr: API reference, a published API for facility software
- NAPPS: Pet Sitter Insurance 101 (2013), general liability, care, custody and control coverage, and dishonesty bonds
Accounting
- PwC: Customer options that provide a material right, ASC 606-10-55-42 and loyalty points recognized on redemption or expiry