# DIMA Pro Services — AI blueprint

FALOUSE = For Always Learn, Own, Use, Self-Execute (construction example).
MILOS = Manage It Like Owners Should (mechanic example).
Shared line: Do-It-Myself Always.

These sites teach a property manager or shop owner how to build a Jobber-shaped machine on Cloudflare + Stripe instead of renting Jobber at $49–$499/month (Jobber public pricing, 2026).

Connect MCP:
- https://mcp.falouseproservices.com/mcp
- https://mcp.milosproservices.com/mcp
- Also served at /mcp on each public host.

Human dump: GET /context.md
Health: GET /health

## Lead routing (do not freelance)

- Safety / training / screening / OSHA / default → HR Testing Solutions team (hrtestingsolutions.com)
- IT / software / Cloudflare / Stripe / Jobber-clone → RJ Employer Consulting (rjemployerconsulting.com)
- Every lead email goes to BOTH:
  - rjec@teamrjec.com
  - rjemployerconsulting@gmail.com

Do not charge cards. Do not invent PCI. Do not treat Stripe as the general ledger.


---

# BUSINESS.md — how the shop works

Do not tell the AI “build an ERP.” That recreates SAP.

Tell it: you are the computer that runs this business. Here is how the business works. Turn those rules into a system. Ask when a rule is ambiguous. Do not invent rules.

We sell products and work to customers.

A customer may purchase:
- merchandise
- delivery
- installation
- service
- accessories

An order has:
- customer
- location
- products
- delivery charge
- installation charge
- tax
- discount
- total
- payment status

An order moves through these states:

QUOTE → APPROVED → SCHEDULED → DELIVERED → INSTALLED → COMPLETED → PAID

Some orders require delivery. Some require installation. Some require both.

A delivery requires:
- date
- time window
- vehicle
- driver
- delivery address

An installation requires:
- date
- technician
- estimated duration
- required equipment
- completion status

When installation is complete:
- record completion
- record technician
- capture customer signature
- attach photographs
- mark job complete
- generate any remaining invoice
- request payment if necessary

If payment fails:
- mark account delinquent
- notify office
- do not automatically schedule additional work unless management overrides.

Version 0.1 loop (ship this first):

Customer → Quote → Order → Payment → Delivery → Installation → Invoice → Accounting

Then add, one at a time: inventory, purchasing, employees, vehicles, service calls, communications, reporting, AI assistant.


---

# Object model

CUSTOMER
  ├── CONTACTS
  ├── LOCATIONS
  ├── ORDERS
  ├── INVOICES
  ├── PAYMENTS
  └── COMMUNICATIONS

PRODUCT
  ├── SKU
  ├── COST
  ├── PRICE
  ├── INVENTORY
  └── SUPPLIER

ORDER
  ├── PRODUCTS
  ├── DELIVERY
  ├── INSTALLATION
  ├── PAYMENT
  └── DOCUMENTS

DELIVERY
  ├── CUSTOMER
  ├── LOCATION
  ├── VEHICLE
  ├── DRIVER
  └── DELIVERY STATUS

INSTALLATION
  ├── CUSTOMER
  ├── TECHNICIAN
  ├── JOB
  ├── MATERIALS
  ├── PHOTOS
  └── SIGNATURE

You are not building “software.” You are building a machine representation of the company.


---

# Stripe policy — money movement, not the company books

Own:
  Customer + product + order + delivery + installation + inventory + business rules + accounting data + AI + UI

Rent/buy:
  Card network + payment processing + PCI + banking rails

Use Stripe for:
- Online payments (standard US domestic card: 2.9% + 30¢ — confirm live Stripe pricing)
- In-person via Stripe Terminal (standard US domestic card: 2.7% + 5¢ — confirm live)
- Payment links, invoices, Checkout, Billing for recurring service
- ACH, cards, later financing only via a Stripe-supported method or licensed partner
- Tax tooling only after an active Stripe Tax registration exists

Do NOT:
- Build a credit-card processor
- Write a PCI compliance module
- Let Stripe become the accounting system
- Send the amount due from the browser as gospel — server computes
- Include payment_method_types on Checkout (dynamic payment methods)
- Skip webhooks. Fulfill on checkout.session.completed AND checkout.session.async_payment_succeeded, gated on payment_status
- Autonomously refund, transfer, or enroll Autopay from an AI without a human gate

Stripe is evidence that money moved. The shop database is authoritative for what the sale means.

Example:

Order #18492
  Merchandise       $2,400
  Delivery             $150
  Installation         $175
  Tax                  $121.50
  ----------------------------
  Total              $2,846.50

Payment
  Stripe transaction XXXXXX
  $2,846.50
  successful

Then derive:
Revenue, COGS, AR, cash, tax collected, refunds, processing expense, inventory, profit.

Double-entry is required for the operational books. A real accountant validates. Example:

Customer pays $1,000:
  Debit   Cash                 $1,000
  Credit  Accounts Receivable  $1,000

Sell $600 of inventory that cost $350:
  Debit   AR / Cash            $600
  Credit  Revenue              $600
  Debit   COGS                 $350
  Credit  Inventory            $350


---

# Cloudflare OS → Stripe stack (is it free?)

Mostly free to start. Not magically free forever.

Cloudflare Workers Free (confirm live docs):
- 100,000 Worker requests / day
- Static assets: free and unlimited
- D1: 5 million rows read / day, 100k rows written / day, 5 GB
- SQLite Durable Objects on the free plan
- Workers AI: 10,000 Neurons / day (some frontier models need Workers Paid at $5/mo)
- AI Search: free in open beta within limits

Stripe:
- No monthly SaaS seat like Jobber
- You pay when money moves (card %, ACH %, Terminal reader hardware)

Not free:
- Domain registration
- SMS (Twilio 10DLC)
- A Shopify store subscription if you want a Shopify storefront
- Workers Paid ($5/mo) if you outgrow free
- Jobber AI receptionist-class phone ($ add-on at Jobber; you would still pay a carrier)

Shopify path:
- Shopify Partner account is free
- A custom app can be the parts/catalog storefront
- Do not fight Shopify Payments inside the App Store; use Stripe on the Cloudflare ops app
- The Jobber-shaped machine lives on Cloudflare. Shopify is optional merchandising.

GitHub Jobber-style samples (study, do not blindly fork licenses):
- https://github.com/clawnify/OpenFieldService — open-source Jobber/Housecall/ServiceTitan-shaped FSM (Preact + Hono + SQLite, has wrangler.toml)
- https://github.com/Beveren-Software-Inc/Field_Service_Management — ERPNext FSM
- Do not confuse https://github.com/almoghindi/Jobber (freelance marketplace) with Jobber the field-service product


---

# Jobber map — what they sell vs what we build

Jobber (getjobber.com) is field-service software: quotes, schedule, invoices, payments, CRM, client hub. Public 2026 plans (verify): Core ~$49/mo month-to-month / ~$29/mo annual, Connect ~$139 / ~$99, Grow ~$199 / ~$149, Plus ~$499 / ~$399 with extra users ~$29. Card processing extra (~2.9% + 30¢). Add-ons for marketing/AI receptionist.

Feature → our machine:
- Client manager → CUSTOMER + CONTACTS + LOCATIONS
- Quotes → ORDER in QUOTE, then APPROVED
- Schedule / dispatch → DELIVERY + INSTALLATION windows, vehicle, technician
- Invoices + payments → your invoice object + Stripe Checkout/Invoicing/Terminal
- Recurring → Stripe Billing after a service agreement exists
- Job costing → PRODUCT cost + labor + materials on INSTALLATION
- Online booking → public request form; AI may draft the order; human or rule confirms
- Two-way SMS → later, Twilio; not version 0.1
- QuickBooks sync → export journal; do not make QBO the system of record

Property-manager translation:
- Tenant request = quote
- Unit = location
- Vendor / tech = technician
- Work order = installation
- Deposit / rent / invoice = Stripe
- Delinquent tenant = payment failed rule (no extra work without override)


---

# Worked examples

## Construction — FALOUSE Pro Services
Quote a tenant turn or a deck. Approve. Schedule delivery of materials. Install. Photograph. Signature. Invoice remainder. Stripe collects. Accounting entries follow.

Example spoken order:
“John Smith wants the gray sectional delivered Friday and installed.”
System checks customer, SKU, stock, install requirements, delivery area, crew, tax, prior balance, then proposes the order. Employee says yes. Payment confirmed → inventory reserved → delivery + install scheduled → warehouse notified → customer confirmation.

## Mechanic — MILOS Pro Services
Live bay example: Reese Kadel at the JM Mini Storage yard. Labor $50/hr. Detailing draft pick sedan $25 / SUV $50. BYO oil change labor $25. Calendar: https://calendar.app.google/zQArM453MDdCVgaf8

Same states: quote (diagnosis) → approved → scheduled in a bay → work done (install/repair) → completed → paid.

Do not pretend Falouse is a licensed GC with fake reviews. It is the construction example of the same machine. Milo’s is a real mechanic shop used as the mechanic example.


---

# How to instruct every AI

Prompt:

You are the computer that runs this business. Read BUSINESS, OBJECTS, STRIPE, STACK, JOBBER, LEADS. Do not invent business rules. Ask when a rule is ambiguous. Build the database, web interface, APIs, workflows, permissions, tests, and documentation necessary to operate version 0.1. Stripe takes the money. Our database records what the payment means.

MCP is the internal + backend instruction set. Any agent (Grok, Claude, ChatGPT, Stripe agents, Cloudflare Workers AI) should call get_blueprint / get_doc before writing code.

Forbidden for the AI:
- PCI module
- Silent refunds / transfers / Autopay
- Changing a lease, opening a gate, revealing a gate code
- Treating Stripe as chart of accounts
- Building 200 modules before the 0.1 loop works


---

# Lead routing

Safety division: hrtestingsolutions.com (HR Testing Solutions).
IT division: rjemployerconsulting.com (RJ Employer Consulting).

Every lead from falouseproservices.com, milosproservices.com, hrtestingsolutions.com, and rjemployerconsulting.com emails:
- rjec@teamrjec.com
- rjemployerconsulting@gmail.com

Kind:
- safety (default, training, OSHA, screening) → desk hrtestingsolutions.com
- it (software, Jobber clone, Cloudflare, Stripe, MCP) → desk rjemployerconsulting.com
- service (book the construction example or the mechanic bay) → still emails both; tagged SERVICE

POST /api/lead and POST /api/book (HRTS form) write D1 and send mail.
