Part of #1. All in app/Models/ via defineModel(), then buddy generate:migrations -> review -> buddy migrate per slice.
New models: Market (country/city, currency, taxMode, locale), Business (type restaurant|cafe|farm, capability flags delivery/pickup/dineIn/shop, address, lat/lng, priceTier, phone, website, slug, marketId, teamId, claimed/partner status; taggable for cuisine), BusinessHour, BusinessPhoto, BusinessReview (rating, text, photos, ownerResponse, helpfulVotes, verifiedOrderId), Favorite, Claim, Table (businessId, label, qrToken), Tab (open table tab + rounds), ModifierGroup/Modifier, OrderItemModifier, Address (customer book), CourierProfile (shiftState, vehicleType - app fields beyond the upstream Courier), DeliveryOffer (courierId, orderId, expiresAt, status), LedgerEntry (party, type, amountCents), PayoutAccount (Stripe Connect account id per party), CsaPlan/CsaSubscription.
Overrides: Product/Category gain businessId; Order gains businessId, scheduledFor, tableId/tabId, marketId, and a fee breakdown in cents.