{
  "schema": "busybee-agent-manifest",
  "schemaVersion": 1,
  "version": "1.1.0",
  "updated": "2026-10-13",
  "environment": "production",
  "production": {
    "website": "https://busybeelawn.net/",
    "customerPortal": "https://service.busybeelawn.net/"
  },
  "urls": {
    "website": "https://busybeelawn.net/",
    "customerPortal": "https://busybeelawn.net/service/",
    "startQuote": "https://busybeelawn.net/#estimate",
    "services": "https://busybeelawn.net/#services",
    "gardeningTips": "https://busybeelawn.net/gardeningtips/",
    "pricingRules": "https://busybeelawn.net/ai/pricing.json"
  },
  "pricing": {
    "url": "https://busybeelawn.net/ai/pricing.json",
    "version": "2026-10-13.0",
    "updatedAt": "2026-10-13T00:00:00-05:00",
    "status": "needs_review",
    "synthetic": false,
    "pricedServices": [],
    "needsReview": [
      "mowing",
      "edging",
      "mulch",
      "landscape",
      "cleanup",
      "shrubs"
    ]
  },
  "roughEstimate": {
    "procedure": [
      "Retrieve the current public pricing rules (/ai/pricing.json). Use them as published; don’t reuse old copies.",
      "Use only what the customer told you. Find the inputs each requested service needs (requiredInputs) and ask for any that are missing. Lot size is not lawn area. “Remulching” alone is not a quantity: ask for bed area and depth, or the mulch volume.",
      "Calculate an itemized rough estimate with the published rules, in the published order and rounding. Show the arithmetic. Keep per-visit (recurring) and one-time amounts separate; never add them together.",
      "State the rules version and date, your assumptions, and the exclusions. Say “about” when the customer’s figures are approximate. Give a range only when the customer gave a range.",
      "Say which requested services couldn’t be priced and why: no published rate (“needs review”), or missing figures. Never price them at zero.",
      "Offer the aerial quote tool link as the next step. It carries the services and the customer’s figures over; never add a price or personal details to the link."
    ],
    "invitation": "Want to explore it on your property? Open the aerial quote tool to adjust the lawn area, choose services, and add photos or preferences.",
    "quoteTool": {
      "url": "https://busybeelawn.net/#estimate",
      "steps": [
        "Enter the address (suggestions, or “Use my location”). The service area is checked first.",
        "The lawn is measured from aerial imagery (OpenLawn).",
        "The customer can redraw the lawn outline; the server recalculates the area.",
        "Choose services, how often, and preferences (preferred start, notes, contract term).",
        "After email sign-in, the customer can add photos in the customer portal (JPEG, PNG, WebP or HEIC, up to 4 MB each, 20 per request) and send the request for review. Other files, such as PDFs, can’t be uploaded.",
        "Busy Bee reviews the request and sets the price. The quote tool refines the details; it doesn’t guarantee a more accurate number or create a binding quote by itself."
      ]
    }
  },
  "guides": {
    "overview": {
      "html": "https://busybeelawn.net/ai/",
      "markdown": "https://busybeelawn.net/ai/index.md"
    },
    "agentGuide": {
      "html": "https://busybeelawn.net/agent/",
      "markdown": "https://busybeelawn.net/agent/index.md"
    }
  },
  "business": {
    "name": "Busy Bee Lawn",
    "description": "Father-and-son lawn care and landscaping for homes and businesses in Murfreesboro, Smyrna, and Christiana, Tennessee.",
    "phone": "615-621-5296",
    "phoneDisplay": "615-621-LAWN",
    "email": "Services@BusyBeeLawn.net",
    "towns": [
      "Murfreesboro",
      "Smyrna",
      "Christiana"
    ],
    "state": "Tennessee",
    "serviceAreaCheck": {
      "method": "Address check on the website before measuring",
      "counties": [
        "Rutherford",
        "Bedford",
        "Cannon",
        "Coffee",
        "Davidson",
        "Marshall",
        "Williamson",
        "Wilson"
      ]
    },
    "services": [
      {
        "name": "Mowing & Edging",
        "summary": "Crisp stripes and clean edges on a schedule that fits the property, from a single front yard to business grounds and storefront lots. The same care, whatever the size."
      },
      {
        "name": "Landscape Design & Installation",
        "summary": "Beds that curve like brushstrokes, plants chosen for color and texture through every season, and clean borders that frame the house. We design around how you use the space, then plant it."
      },
      {
        "name": "Lawn Repair",
        "summary": "Bring thin, tired turf back. Core aeration opens up compacted clay so water and roots reach deeper, overseeding fills bare and thin patches, and follow-up care helps the new grass take hold."
      },
      {
        "name": "Topiary & Pruning",
        "summary": "Shrubs and small trees shaped with intention, from rounded forms to crisp hedge lines, then trimmed through the growing season so they keep that shape instead of getting away from you."
      }
    ],
    "needsConfirmation": [
      "Business hours and response times",
      "Final prices (Busy Bee sets every price after review). Rough-estimate rules are published only for services Busy Bee has approved: see the pricing rules",
      "Licensing, insurance and years in business",
      "Whether a specific property outside the listed towns is served: the website’s address check gives the answer"
    ]
  },
  "states": {
    "available": "Available on the public website, no sign-in needed",
    "portal_only": "Available only to the signed-in customer in the customer portal",
    "planned": "Planned. Not available, and nothing to activate yet"
  },
  "agentAccess": {
    "api": "none",
    "delegatedAuthentication": "none",
    "note": "Assistants can explain and link. Customers complete every private step themselves in the customer portal after email sign-in. These resources do not connect assistants to Busy Bee systems."
  },
  "priceAndAppointmentStages": [
    {
      "term": "Lawn-area estimate",
      "meaning": "Square footage measured from aerial imagery (or the customer’s redrawn outline, recalculated by the server). It is not a price and is always “subject to review”."
    },
    {
      "term": "Rough estimate",
      "meaning": "A preliminary, itemized figure an assistant or the website works out from the customer’s own figures and Busy Bee’s published rules (/ai/pricing.json). Only for services with a published rate. Not a quote, not binding."
    },
    {
      "term": "Price",
      "meaning": "Set by Busy Bee after reviewing the request. There is no instant, binding price."
    },
    {
      "term": "Reviewed proposal",
      "meaning": "Prices per visit set by Busy Bee after review, shown in the customer portal with a projected yearly total and average per month. The projection is not a bill or payment schedule."
    },
    {
      "term": "Requested change",
      "meaning": "A change to an approved service or appointment, sent through the portal. It stays a request until Busy Bee acts on it."
    },
    {
      "term": "Confirmed appointment",
      "meaning": "Only a visit the portal shows as “Confirmed” after booking. A preferred start date or a request for help scheduling is not an appointment."
    }
  ],
  "capabilities": [
    {
      "id": "rough_estimate",
      "title": "Get a rough estimate",
      "state": "available",
      "requiresCustomerSignIn": false,
      "customerProvides": [
        "The services wanted",
        "The figures each rule needs (for example lawn area, number of shrubs, mulch bed area and depth)"
      ],
      "signInOrConfirmation": "None. Nothing is sent to Busy Bee.",
      "link": "https://busybeelawn.net/ai/pricing.json"
    },
    {
      "id": "learn_services",
      "title": "Learn about services and service area",
      "state": "available",
      "requiresCustomerSignIn": false,
      "customerProvides": [],
      "signInOrConfirmation": "None.",
      "link": "https://busybeelawn.net/"
    },
    {
      "id": "start_quote",
      "title": "Start a home or business quote request",
      "state": "available",
      "requiresCustomerSignIn": false,
      "customerProvides": [
        "Home or Business",
        "Email address"
      ],
      "signInOrConfirmation": "None to start.",
      "link": "https://busybeelawn.net/#estimate"
    },
    {
      "id": "add_property",
      "title": "Add the property address",
      "state": "available",
      "requiresCustomerSignIn": false,
      "customerProvides": [
        "Street address, city and state",
        "Property name (business, optional)"
      ],
      "signInOrConfirmation": "None.",
      "link": "https://busybeelawn.net/#estimate"
    },
    {
      "id": "measure_lawn",
      "title": "Measure the lawn from aerial imagery",
      "state": "available",
      "requiresCustomerSignIn": false,
      "customerProvides": [
        "An address inside the service area"
      ],
      "signInOrConfirmation": "None. The customer presses “Measure my lawn”.",
      "link": "https://busybeelawn.net/#estimate"
    },
    {
      "id": "redraw_outline",
      "title": "Redraw the lawn outline",
      "state": "available",
      "requiresCustomerSignIn": false,
      "customerProvides": [
        "A measured property"
      ],
      "signInOrConfirmation": "The customer presses “Accept outline”.",
      "link": "https://busybeelawn.net/#estimate"
    },
    {
      "id": "choose_services",
      "title": "Choose services and preferences",
      "state": "available",
      "requiresCustomerSignIn": false,
      "customerProvides": [
        "Services and frequency",
        "Optional: term, renewal, preferred start, notes"
      ],
      "signInOrConfirmation": "None.",
      "link": "https://busybeelawn.net/#estimate"
    },
    {
      "id": "submit_request",
      "title": "Send the request for review",
      "state": "portal_only",
      "requiresCustomerSignIn": true,
      "customerProvides": [
        "Access to the email inbox used for the request"
      ],
      "signInOrConfirmation": "Email sign-in link (one-time), then the customer presses “Send for review”.",
      "link": "https://busybeelawn.net/service/"
    },
    {
      "id": "view_proposal",
      "title": "See the reviewed proposal and prices",
      "state": "portal_only",
      "requiresCustomerSignIn": true,
      "customerProvides": [],
      "signInOrConfirmation": "Email sign-in link.",
      "link": "https://busybeelawn.net/service/"
    },
    {
      "id": "photos",
      "title": "Add or view photos",
      "state": "portal_only",
      "requiresCustomerSignIn": true,
      "customerProvides": [
        "Photos"
      ],
      "signInOrConfirmation": "Email sign-in link.",
      "link": "https://busybeelawn.net/service/"
    },
    {
      "id": "book_visit",
      "title": "Book a visit",
      "state": "portal_only",
      "requiresCustomerSignIn": true,
      "customerProvides": [
        "An approved proposal"
      ],
      "signInOrConfirmation": "Email sign-in link; the customer chooses a time. Confirmed only when the portal shows “Confirmed”.",
      "link": "https://busybeelawn.net/service/"
    },
    {
      "id": "reschedule_visit",
      "title": "Reschedule a visit",
      "state": "portal_only",
      "requiresCustomerSignIn": true,
      "customerProvides": [
        "A confirmed future visit"
      ],
      "signInOrConfirmation": "Email sign-in link; the customer chooses the new time.",
      "link": "https://busybeelawn.net/service/"
    },
    {
      "id": "request_change",
      "title": "Request a service change or cancellation",
      "state": "portal_only",
      "requiresCustomerSignIn": true,
      "customerProvides": [
        "What should change",
        "Optional notes"
      ],
      "signInOrConfirmation": "Email sign-in link. Busy Bee reviews every request.",
      "link": "https://busybeelawn.net/service/"
    },
    {
      "id": "new_project",
      "title": "Start a separate request for another project",
      "state": "available",
      "requiresCustomerSignIn": false,
      "customerProvides": [
        "Home or Business",
        "Email address"
      ],
      "signInOrConfirmation": "None to start.",
      "link": "https://busybeelawn.net/#estimate"
    }
  ],
  "planned": [
    {
      "id": "agent_quote",
      "title": "Authorized agent-assisted quote requests",
      "state": "planned",
      "available": false,
      "note": "An assistant acting for a customer, with the customer’s permission.",
      "currentAlternative": {
        "text": "Customer starts the quote on the website",
        "link": "https://busybeelawn.net/#estimate"
      }
    },
    {
      "id": "agent_booking",
      "title": "Agent booking and rescheduling",
      "state": "planned",
      "available": false,
      "note": "Booking or moving visits on the customer’s behalf.",
      "currentAlternative": {
        "text": "Customer books or reschedules in the portal",
        "link": "https://busybeelawn.net/service/"
      }
    },
    {
      "id": "agent_changes",
      "title": "Agent service-change requests",
      "state": "planned",
      "available": false,
      "note": "Sending change requests on the customer’s behalf.",
      "currentAlternative": {
        "text": "Customer requests changes in the portal",
        "link": "https://busybeelawn.net/service/"
      }
    },
    {
      "id": "notifications",
      "title": "Customer-authorized notifications",
      "state": "planned",
      "available": false,
      "note": "Reminders or updates by channels the customer chooses (for example text messages). Today Busy Bee sends sign-in and confirmation emails only.",
      "currentAlternative": {
        "text": "Call or check the portal",
        "link": "https://busybeelawn.net/service/"
      }
    },
    {
      "id": "custom_measurement",
      "title": "Busy Bee’s own GIS/AI lawn measurement",
      "state": "planned",
      "available": false,
      "note": "A future measurement method. Today every aerial measurement comes from OpenLawn, and the customer can redraw the outline.",
      "currentAlternative": {
        "text": "Measure with the aerial quote tool (OpenLawn)",
        "link": "https://busybeelawn.net/#estimate"
      }
    },
    {
      "id": "autopay",
      "title": "Payment-method setup and autopay",
      "state": "planned",
      "available": false,
      "note": "Placeholder only. Payment provider undecided. No payments, card details, mandates or charges are collected anywhere, and there is nothing to activate. Turning it on later will need the customer’s explicit authorization and agreed billing terms. Accepting a proposal or reading these pages never authorizes a payment.",
      "currentAlternative": null
    }
  ],
  "responseGuidance": [
    "Answer with the verified information on these pages and link to the page it came from.",
    "Say which kind of number you are giving: a lawn-area estimate, a rough estimate from the published rules, a reviewed proposal price, or no price yet.",
    "Ask only for what the next step needs: Home or Business and an email to start; an address to measure.",
    "Send the customer to the right place: the website to start a quote, the customer portal for anything that needs sign-in.",
    "Keep three things apart: explaining a step, a request that was submitted, and an action that is complete.",
    "Use a quote/service reference only when the website or portal has shown one to the customer. Never make one up; a reference does not give access to a request.",
    "Say what is still outstanding: email sign-in, Busy Bee’s review, an approved proposal, or a confirmed time."
  ]
}
