{"ok":true,"version":"99.61-company-setup-launch-readiness","production_url":"https://jarvixx.com/company-setup-settings","settings_synced":{"ok":true,"storage":"postgres","created_or_updated":14,"table":"jarvis_company_setup_launch_settings_v1","error":null},"score":86,"ready_count":12,"review_count":2,"total_count":14,"categories":[{"slug":"company-profile","title":"Company Profile","status":"Complete","state":"ready","summary":"Company identity, branding, legal information, address, timezone, language, and currency.","purpose":"This is the source of truth for invoices, quotes, customer emails, contracts, employee documents, customer portal pages, and reports.","action_url":"/company-setup-settings/company-profile","settings":[["Company identity and DBA","Controls the legal/public company name shown across the app and documents."],["Logo and brand assets","Controls logos/colors used in the sidebar, portal, invoices, quotes, emails, and reports."],["Business address","Feeds taxes, invoices, route origin, service-area rules, and company documents."],["Timezone, language, currency","Controls schedule times, reminders, reporting dates, bilingual behavior, and money formatting."],["Legal and tax profile","Stores EIN/state/legal details needed for documents, payroll, and accounting."]],"syncs":["Invoices","Quotes","Customer Portal","Emails","Payroll Documents","Reports"],"launch_checklist":["Branding source exists","Company address saved","Timezone/currency set","Legal details reviewed"]},{"slug":"booking-scheduling","title":"Booking & Scheduling","status":"Ready","state":"ready","summary":"Availability, arrival windows, exact appointments, capacity, buffers, service areas, and ZIP rules.","purpose":"These rules prevent overbooking and make booking forms, office scheduling, Smart Calendar, dispatch, and workforce capacity follow one source of truth.","action_url":"/company-setup-settings/booking-scheduling","settings":[["Arrival windows vs exact times","Controls whether customers choose windows like 8-10 AM or exact appointments."],["Daily capacity rules","Limits jobs by day/team/service duration so the calendar cannot overfill."],["Service area and ZIP rules","Controls allowed, blocked, surcharged, discounted, or day-specific areas."],["Booking buffers","Adds time between jobs for travel, late arrivals, and team reset."],["Online booking availability","Controls which services, days, hours, and areas customers can book online."]],"syncs":["Online Booking","Office Booking","Smart Calendar","Dispatch","Customer Portal"],"launch_checklist":["Capacity rules enabled","Service area rules present","Buffers configured","Booking pages use same rules"]},{"slug":"pricing-engine","title":"Pricing Engine","status":"Ready","state":"ready","summary":"Smart Pricing, production rates, labor assumptions, travel, overhead, ZIP rules, and profit margins.","purpose":"This decides minimum safe price, recommended price, premium price, profit warnings, and job health. Smart Pricing is included in every SaaS plan.","action_url":"/company-setup-settings/pricing-engine","settings":[["Smart Pricing mode","Keeps Smart Pricing active for Starter, Growth, Pro, and Enterprise plans."],["Production rates","Converts home size/service type into estimated labor hours and pricing."],["Labor cost","Uses hourly, contractor, team leader, and assistant costs to protect margin."],["ZIP/area pricing","Adjusts prices by service area, travel, demand, and local rules."],["Profit margin rules","Controls low, recommended, and premium price targets."]],"syncs":["Booking Forms","Quotes","Invoices","Financial Reports","AI Recommendations"],"launch_checklist":["Smart Pricing in all plans","Production rates present","Labor assumptions present","Margin rules present"]},{"slug":"payments-billing","title":"Payments & Billing","status":"Configured","state":"ready","summary":"Stripe subscriptions, 14-day trials, tenant billing, payment methods, invoices, failed payments, refunds, and gift cards.","purpose":"Controls how Jarvixx gets paid, how tenants start trials, how failed payment grace periods work, and how operational modules lock after billing failure.","action_url":"/company-setup-settings/payments-billing","settings":[["Stripe products and prices","Products/prices are stored in the database so pricing can change without code changes."],["14-day free trial","Every new tenant receives full access to the selected plan during trial."],["Billing lockout rules","Past-due tenants get billing-only access after the configured grace period."],["Manual payment verification","Cash, checks, Zelle, Venmo, and bank transfers stay pending until office verification."],["Billing history","Shows invoices, payments, failures, refunds, retries, and subscription changes."]],"syncs":["Stripe","Tenant Signup","Billing Dashboard","Financial Command Center","Lockout Middleware"],"launch_checklist":["Stripe secret configured","Webhook secret configured","Products/prices synced","14-day trial active"]},{"slug":"workforce-payroll","title":"Workforce & Payroll","status":"Ready","state":"ready","summary":"Employees, contractors, pay methods, clock-in/out, GPS, PTO, role rates, bonuses, travel pay, and payroll summaries.","purpose":"Connects assigned jobs, completed work, time records, travel time, and payroll calculations without storing real bank data.","action_url":"/company-setup-settings/workforce-payroll","settings":[["Worker types","Controls employee, contractor, team leader, assistant, supervisor, and office roles."],["Employee hourly rates","Feeds payroll checks, job labor cost, Smart Pricing, and financial reports."],["Contractor pay methods","Supports percentage, per-house, per-room, service-type pay, and role bonuses."],["Travel-time pay","Controls when travel is paid and how it appears in payroll summaries."],["Clock rules","Requires OTW, arrived, clock-in/out, GPS proof, and manager approvals."]],"syncs":["Dispatch","Completed Jobs","Payroll Summary","Smart Pricing Labor Cost","Financial Reports"],"launch_checklist":["Worker roles defined","Pay methods configured","Clock rules active","Payroll summaries connected"]},{"slug":"customer-experience","title":"Customer Experience","status":"Complete","state":"ready","summary":"Customer portal rules, cancellation/reschedule policies, complaints, reviews, referrals, retention, and win-back rules.","purpose":"Controls what customers can do before, during, and after service and keeps every customer event visible in Customer 360.","action_url":"/company-setup-settings/customer-experience","settings":[["Portal permissions","Controls booking, reschedule, cancel, card update, invoice, referral, review, and gift-card access."],["Cancellation and reschedule rules","Controls fees, time windows, warnings, and manager approval."],["Complaint and quality rules","Creates quality tickets, evidence requirements, reclean approvals, and damage review."],["Review requests","Controls when review requests are sent and how low ratings are routed."],["Referral and retention","Controls rewards, win-back offers, inactive-customer triggers, and growth attribution."]],"syncs":["Customer Portal","Customer 360","Communications","Quality","Growth","Billing"],"launch_checklist":["Portal rules configured","Complaint rules configured","Review/referral rules configured","Customer 360 sync enabled"]},{"slug":"communications","title":"Communications","status":"Google Ready","state":"review","summary":"SMS, email, templates, reminders, Gmail, translations, notifications, campaign messages, and customer replies.","purpose":"Controls how Jarvixx communicates with customers, staff, contractors, supervisors, and owners across every workflow.","action_url":"/company-setup-settings/communications","settings":[["SMS provider","Twilio powers reminders, alerts, replies, review requests, and campaign text messages."],["Gmail connection","Google OAuth connects Gmail and imports customer emails into timelines."],["Translation","Google Translate powers English/Spanish communication and language detection."],["Templates","Controls booking confirmations, reminders, failed payment notices, reviews, campaigns, and complaints."],["Notification rules","Controls who receives owner, manager, CSR, dispatcher, team, and customer alerts."]],"syncs":["Gmail","Twilio","Customer 360","Communications Center","Growth Campaigns","Booking Reminders"],"launch_checklist":["Google Translate configured","Gmail OAuth configured","Places configured","Twilio connected for SMS"]},{"slug":"dispatch-routing","title":"Dispatch & Routing","status":"Configured","state":"ready","summary":"Assignments, route rules, route optimizer mode, travel time, area grouping, inspections, and field workflow.","purpose":"Moves jobs from booking to assigned team to completed service while keeping route cost low by default.","action_url":"/company-setup-settings/dispatch-routing","settings":[["Low-cost route mode","Defaults to ZIP/area grouping, saved coordinates, nearest-neighbor sorting, and cache."],["Team assignment rules","Controls unassigned jobs, team capacity, role fit, and supervisor review."],["Travel buffers","Controls travel time between jobs and protects late arrival risk."],["Inspection workflow","Controls supervisor inspections, photo checks, and quality handoff."],["Field status rules","Controls OTW, arrived, started, completed, problem, and follow-up statuses."]],"syncs":["Booking Command Center","Smart Calendar","Workforce","Payroll Travel Pay","Customer Notifications"],"launch_checklist":["Low-cost mode default","No paid Routes API unless enabled","Coordinates saved","Dispatch and calendar synced"]},{"slug":"financial-accounting","title":"Financial & Accounting","status":"Ready Without App","state":"review","summary":"Invoices, revenue, open balances, refunds, manual verification, expenses, reconciliation, reports, and accounting app sync.","purpose":"Keeps owner financial visibility clean even before QuickBooks, Xero, or Wave is connected.","action_url":"/company-setup-settings/financial-accounting","settings":[["Invoice rules","Controls when invoices are created, sent, paid, failed, refunded, or written off."],["Manual payment buckets","Separates collected revenue from pending cash/check/Zelle/Venmo verification."],["Open balances","Feeds customer balance, collections, billing lockout, and financial reports."],["Accounting integrations","Prepares QuickBooks, Xero, Wave, CSV import, and PDF statement workflows."],["Revenue reports","Connects invoices, campaigns, bookings, memberships, gift cards, and referrals."]],"syncs":["Payments","Invoices","Customer Balances","Reports","Growth Revenue","Accounting Apps"],"launch_checklist":["Financial command center active","Manual verification protected","Invoices connected","Accounting app optional"]},{"slug":"ai-automation","title":"AI & Automation","status":"Active","state":"ready","summary":"Jarvix AI Operator, AI CEO Coach, Smart Pricing Coach, document AI, recommendations, and automations.","purpose":"Explains, recommends, drafts, flags risk, and helps run the business while respecting settings, permissions, and approvals.","action_url":"/company-setup-settings/ai-automation","settings":[["AI Operator permissions","Controls what AI can suggest, draft, automate, or require approval for."],["AI CEO Coach","Turns business data into owner-level recommendations and risk alerts."],["Smart Pricing Coach","Explains price recommendations, margin warnings, and job health."],["Document AI","Supports documents, proposals, emails, templates, and future uploads."],["Approval rules","Blocks sensitive actions unless owner/admin approval is granted."]],"syncs":["Pricing","Dispatch","Growth","Customer 360","Financial Reports","Settings"],"launch_checklist":["AI key configured","Approvals protected","Smart Pricing Coach active","Sensitive actions gated"]},{"slug":"security-permissions","title":"Security & Permissions","status":"Protected","state":"ready","summary":"Roles, permissions, audit logs, login security, MFA readiness, sensitive actions, and tenant isolation.","purpose":"Protects data, keeps tenant accounts separated, and controls which users can access modules or sensitive actions.","action_url":"/company-setup-settings/security-permissions","settings":[["Role access","Controls Owner, Admin, Office Manager, CSR, Dispatcher, Supervisor, Employee, and Contractor access."],["Sensitive actions","Requires approvals for refunds, payroll changes, customer bans, pricing overrides, and AI actions."],["Audit logs","Records settings, billing, login, payment, customer, and operational changes."],["Tenant isolation","Ensures email/password resolves the correct tenant without exposing tenant IDs at login."],["Credential safety","Shows only configured/missing status and never exposes secrets in the browser."]],"syncs":["Login","Billing Lockout","Admin Pages","Audit Logs","All Operational Modules"],"launch_checklist":["Tenant inference active","Tenant IDs hidden at login","Audit logs active","Secrets redacted"]},{"slug":"integrations","title":"Integrations","status":"5 Connected","state":"ready","summary":"Stripe, Google services, Gmail, Twilio, OpenAI, QuickBooks, Xero, Wave, and future connectors.","purpose":"Connects communication, payments, accounting, scheduling, maps, translation, and automation into one SaaS platform.","action_url":"/company-setup-settings/integrations","settings":[["Stripe","Connects SaaS billing, tenant trials, products, recurring prices, webhooks, and lockout rules."],["Google Services","Connects Translate, Places autocomplete, Gmail OAuth, Gmail Sync, usage logs, and low-cost routing."],["Twilio","Connects SMS reminders, replies, campaign texts, and operational alerts."],["OpenAI","Connects Jarvix AI recommendations, coaching, drafting, and automations."],["Accounting apps","Connects or prepares QuickBooks, Xero, Wave, CSV import, and statement import."]],"syncs":["Admin Google Services","Billing","Communications","Growth","Financial","AI"],"launch_checklist":["Connected count calculated","Secrets hidden","Stripe plans synced","Google routes and usage visible"]},{"slug":"company-protection","title":"Company Protection","status":"Active","state":"ready","summary":"Blacklist, blocked phones/emails/addresses, fraud prevention, booking risk, and serviceability blocking.","purpose":"Prevents banned customers or risky bookings from entering the schedule and protects the company from avoidable losses.","action_url":"/company-setup-settings/company-protection","settings":[["Customer ban rules","Blocks by customer ID, email, phone, and address."],["Blocked phones and emails","Stops repeat bookings from known-risk contacts."],["Blocked addresses","Prevents service to addresses marked unsafe, unserviceable, or banned."],["Risk messages","Controls internal and customer-facing messages when a booking is blocked."],["Fraud/risk checks","Feeds booking, billing, payment, and serviceability risk workflows."]],"syncs":["Booking Forms","Customer Profiles","Dispatch","Billing","Customer Portal"],"launch_checklist":["Ban rules active","Risk messages configured","Booking block enforced","Customer data preserved"]},{"slug":"advanced-system-settings","title":"Advanced System Settings","status":"Protected","state":"ready","summary":"Feature flags, diagnostics, API behavior, deployment checks, logs, developer options, and system health.","purpose":"Gives owner/admin/developer users a protected place to verify deployment health and troubleshoot safely.","action_url":"/company-setup-settings/advanced-system-settings","settings":[["Health checks","Links to /health, /version, billing health, Google services, and launch readiness APIs."],["Feature flags","Controls staged modules, coming-soon features, and tenant-specific access."],["Diagnostics","Shows route/API status, integration configuration, storage status, and sync results."],["System logs","Supports troubleshooting without exposing secrets or customer-sensitive data."],["Developer options","Keeps risky actions protected behind owner/admin permissions and explicit confirmation."]],"syncs":["Railway","Health","Version","Billing","Google Services","Diagnostics"],"launch_checklist":["/health passes","/version passes","Deployment green","No secrets exposed"]}],"integrations":{"items":{"database":{"label":"Railway Postgres","ready":true,"status":"Configured","env":["DATABASE_URL"],"purpose":"Stores tenants, settings, billing records, bookings, customer data, and audit history."},"stripe_billing":{"label":"Stripe Billing","ready":true,"status":"Configured","env":["STRIPE_SECRET_KEY","STRIPE_WEBHOOK_SECRET"],"purpose":"Creates trial subscriptions, syncs plans/prices, processes webhooks, and enforces billing lockout.","mode":"live"},"google_translate":{"label":"Google Translate","ready":true,"status":"Configured","env":["GOOGLE_TRANSLATE_API_KEY","TRANSLATION_ENABLED"],"purpose":"Powers English/Spanish translation and language detection."},"google_places":{"label":"Google Places","ready":true,"status":"Configured","env":["GOOGLE_PLACES_SERVER_API_KEY","GOOGLE_MAPS_SERVER_API_KEY"],"purpose":"Powers address autocomplete and place details for booking/customer forms."},"gmail_oauth":{"label":"Gmail OAuth","ready":true,"status":"Configured","env":["GOOGLE_OAUTH_CLIENT_ID","GOOGLE_OAUTH_CLIENT_SECRET","GOOGLE_REDIRECT_URI"],"purpose":"Connects Gmail, stores encrypted tokens, and imports customer email history."},"gmail_sync":{"label":"Gmail Sync","ready":true,"status":"Enabled","env":["GMAIL_SYNC_ENABLED"],"purpose":"Imports messages into Communications Center, Customer Email Center, and Customer 360."},"twilio_sms":{"label":"Twilio SMS","ready":false,"status":"Needs Connection","env":["TWILIO_ACCOUNT_SID","TWILIO_AUTH_TOKEN","TWILIO_PHONE_NUMBER"],"purpose":"Sends reminders, review requests, two-way SMS, alerts, and campaign texts."},"openai":{"label":"Jarvix AI","ready":true,"status":"Configured","env":["OPENAI_API_KEY","OPENAI_MODEL"],"purpose":"Powers AI recommendations, operator workflows, coaching, and automation assistance."},"route_optimizer_low_cost":{"label":"Low-Cost Route Optimizer","ready":true,"status":"Default","env":["GOOGLE_ROUTES_ENABLED"],"purpose":"Uses ZIP/area grouping, saved coordinates, nearest-neighbor sorting, and cache by default."}},"connected_count":5,"connected":["stripe_billing","google_translate","google_places","gmail_oauth","openai"],"credentials_hidden":true,"redirect_uri":"https://jarvixx.com/api/google/oauth/callback"},"billing_plans":{"ok":true,"plans_total":4,"active_plans":4,"trial_days":14,"stripe_synced":true,"smart_pricing_included_all_plans":true,"message":"Plans loaded from billing database."},"credentials_hidden":true,"proof_urls":{"settings":"/company-setup-settings","readiness_api":"/api/company-setup-settings/launch-readiness","billing_health":"/api/billing/health","billing_plans":"/api/platform/plans","google_services":"/admin/google-services","health":"/health","version":"/version"}}