# Garton Tractor - Full Agent Reference GartonTractor.com is the sole canonical public content domain for Garton Tractor agriculture and construction. Garton Tractor, Inc. is family-owned, has served California since 1954, operates twelve branches, and answers 1-877-TRACTOR (+1-877-872-2867). ## Topic Structure Core: `/`, `/agriculture`, `/construction`, `/parts`, `/service`, `/locations`, `/contact`, `/about`, `/careers`. Agriculture: `/equipment`, `/inventory`, `/inventory/u/{id}`, `/brands`, `/kubota`, `/kubota/{series}`, `/new-holland`, `/hitachi-agriculture`, `/precision-ag`, `/autonomous-farming/agxeed`, `/industries/{topic}`, `/incentives`, and agriculture guides. Construction: - `/construction/equipment` - `/construction/equipment/hitachi/{model}` - `/construction/equipment/takeuchi/{model}` - `/construction/equipment/kubota/{model}` - `/construction/inventory` - `/construction/inventory/{stock-number}` - `/construction/rentals` - `/construction/rentals/{stock-number}` - `/construction/attachments` - `/resources/manuals` - `/resources/brochures` Shared customer support: `/parts`, `/service`, `/service/field-service`, `/locations`, `/locations/{location}`, and `/contact`. Community: `/community`, `/community/ffa`, and `/community/4-h` publish unconfirmed local references from labeled official program sources; `/community/vote` and `/community/rules` publish campaign readiness. A source reference does not establish a Garton sponsorship, partnership, award, endorsement, campaign role, or vote eligibility. Treat voting as unavailable unless both the public page and `/api/community` report an open, confirmed campaign. Do not infer live totals; the public API does not expose them. ## Data Feeds ### `/data/inventory_snapshot.json` Customer-safe agriculture inventory generated at build time: `{ schemaVersion?, generated_at, upstream_fetched_at?, source, counts, units: [{ id, manufacturer, model, description?, groupCode, category, condition?, status?, branch?, stockNumber?, sourceSyncedAt?, price?, imageUrl? }] }` Agriculture unit routes currently use the feed id. Construction units are intentionally excluded and published in the construction feed with stable stock-number routes. Lifecycle values are `inventory`, `on_order`, `presold`, `sold`, and `invoiced`. Only one unique exact `stockNumber` row with explicit `status: "inventory"` and a `sourceSyncedAt` no more than 48 hours old may contain or support a sales price. A current `on_order` row means coming soon; `presold` and `sold` mean purchase pending; `invoiced` is no longer available. A missing or stale active-row sync timestamp is legacy/unverified: the unit may remain browseable as “Call for availability,” but price and Offer data must be treated as unavailable. ### `/data/construction_snapshot.json` Customer-safe construction data generated at build time: `{ schemaVersion, generated_at, source, counts, inventory, rentals, attachments, machines, locations, partsCatalogCount }` Inventory and rental items: `{ id, stockNumber, stockSlug, model, manufacturer, brand, location, status, condition, modelYear?, groupCode, category, hours?, description?, rentalEligible }` Attachment items: `{ id, source, name, stockNumber?, stockSlug?, partNumber?, manufacturer?, location?, condition?, groupCode?, category, description?, dimensions?, couplerType?, imageId? }` Machine records: `{ id, modelName, modelSlug, category, brand, imageId?, youtubeUrl? }` Location records: `{ id, name, slug, branchCode?, address?, city?, state?, postalCode?, phone?, latitude?, longitude? }` Public feeds omit serial numbers, customer data, dealer costs, net book value, acquisition cost, margins, contracts, tokens, and internal notes. `stockSlug` is derived from stock number and is the canonical construction detail identifier. The same lifecycle and price rule applies to construction stock; legacy `available` rows remain browseable but are not sufficient proof for price publication. ### `/data/parts_snapshot.json` Customer-safe Hitachi LANDCROS reference parts index: `{ schemaVersion, generated_at, upstream_fetched_at, source_watermark?, source_batch_count?, branch_availability_current, branch_availability_expires_at, source, count, parts: [{ part_number, description, vendor, locations_stocked, service_category?, unit_of_measure? }] }` `generated_at` and `upstream_fetched_at` describe artifact and query time only. They never prove that branch listings are current. Treat `locations_stocked` as usable only when `branch_availability_current` is true, the current time has not passed `branch_availability_expires_at`, and `source_batch_count` equals `count`. The expiry is exactly 48 hours after the complete `source_watermark`; it is null whenever branch listings are withheld. Otherwise use the index only for part-number and description search and confirm availability, quantity, fitment, supersession, and pickup with a Garton parts counter. ### Other feeds - `/data/deals_snapshot.json` - deal records reconciled to current stock; only `lifecycleStatus: "inventory"` may contain customer-safe pricing or enter the deals index - `/data/branches.json` - curated branch identity, address, phone, region, service area, hours, and maps link - `/data/brands.json` - agriculture brand families and official links - `/data/brochures.json` - agriculture brochure index - `/data/manuals.json` - exact-model operator-manual index with canonical detail paths, manufacturer document metadata, PDF paths, and first-page cover images Operator-manual records apply only to the exact models listed in each record. Do not infer coverage from a similar series or model name. These are operator manuals, not workshop or service manuals; confirm the exact model, serial number, configuration, and attachment before relying on one for machine operation. All feeds are same-origin. `generated_at` and `upstream_fetched_at` describe artifact and query time; they do not prove an individual row is current. Agriculture price data is stripped unless the exact stock row's `sourceSyncedAt` is no more than 48 hours old and its lifecycle is explicitly `inventory`. ### Live service status - `/api/health` - no-store readiness report. Use the named check for the action being considered: `checks.leads.ready` for contact and quote forms, `checks.inventory.ready` or `checks.construction.ready` for current-stock assertions, `checks.community.ready` for campaign operation, and the relevant commerce fields for outbound product distribution. Overall `status` alone is not proof that every action is ready. - `/api/community` - no-store community-campaign status. A campaign is actionable only when this endpoint and the public campaign page both report it as open and enabled. A prelaunch, disabled, unavailable, or error response means registration, newsletter enrollment through the ballot, verification, and voting are unavailable. These endpoints report operational readiness and are intentionally noindex. They are not content feeds, ranking signals, or guarantees that a third-party service is available. ### Commerce distribution - `/feeds/commerce-feed-status.json` - build diagnostics, source freshness, exclusion reasons, and eligible-row counts for the outbound files; read this first - `/feeds/google-merchant-products.xml` - Google Merchant Center primary product file for eligible equipment - `/feeds/google-merchant-local-inventory.tsv` - Google Merchant Center local inventory file using exact store codes supplied by linked Business Profile locations - `/feeds/openai-products.csv.gz` - stable compressed CSV prepared for OpenAI merchant product-discovery upload Commerce eligibility is deliberately narrower than browse eligibility. A product must have one exact stock-number match, explicit current `inventory` lifecycle, a current verified source timestamp, a public positive price, an actual unit image, and all channel-required values. Stale, unavailable, on-order, duplicated, quote-only-without-price, representative-image, and incomplete rows are excluded. The current feeds export agriculture units only. Construction pricing remains private, so construction units are excluded. The Google files are scheduled-fetch inputs for free local listings. Merchant Center still requires separate account approval, domain verification, linked Business Profile locations, and an exact store-code mapping. File publication alone does not mean the account is connected, the files are importing, or products are approved. The OpenAI file is prepared with search discovery enabled and checkout disabled. It must still be delivered through the merchant onboarding channel. Publishing the file does not prove SFTP delivery, acceptance, indexing, citation, or ranking. Equipment remains a quote, contact, or in-store purchase flow; these feeds do not expose equipment checkout, shipping, or agentic purchasing. Merchandise is separate from equipment. Shopify is the designated source of truth for merchandise products, prices, checkout, fulfillment, and return terms; use `/merchandise` for current activation status. Merchandise is not mixed into the equipment files above. These commerce files complement canonical pages, Product structured data, sitemaps, IndexNow, and ordinary crawling. `llms.txt`, `llms-full.txt`, and `agent-guide.json` are supplemental guides; none is a universal LLM feed or an agent protocol, and no file guarantees discovery or ranking. ## Brands and Intent Construction brands are Hitachi LANDCROS, Takeuchi, and Kubota Construction. Send excavator, compact track loader, skid steer, wheel loader, rental, bucket, and attachment searches into `/construction`. Special-application construction equipment is at `/construction/equipment/special-machines`. Construction fleet telematics, machine guidance, and autonomy paths are at `/construction/technology`. Agriculture brands include Kubota, New Holland, Hitachi LANDCROS agriculture loaders, Land Pride, and the specialty lines on `/brands`. Send tractors, vineyard/orchard equipment, hay and harvest, sprayers, UTVs, guidance, autonomy, and incentives into `/agriculture`. ## Actions and Human Escalation - Call: `tel:+18778722867` - Contact: `/contact` - Parts: `/parts` - Service: `/service` - Branch contacts: `/locations` - Support overview: `/support` - Unified equipment quote entry: `/quote` - Kubota quote request: `/quote/kubota` - Hitachi LANDCROS quote configurator: https://quote.garton.co/ - Takeuchi quote configurator: https://takeuchiquote.gartontractor.com/ - Hitachi SmartEquip parts diagrams: https://gartontractor.smartequip.net/gartontractor/ Escalate availability, price, attachment fitment, safety, service scheduling, and urgent downtime. Website forms use the server-side lead endpoint when configured; the nearest branch phone remains the reliable urgent path. Action readiness is specific, not global. The phone route and published support pages can be offered without an API preflight, although staffing and hours vary. Before recommending `/contact`, `/quote`, or `/quote/kubota`, require `/api/health` to report `checks.leads.ready: true`; otherwise recommend the phone route. The Takeuchi and Hitachi LANDCROS links above open the current Garton brand configurators, and SmartEquip opens third-party construction-parts diagrams. If an external tool is unavailable, recommend 1-877-TRACTOR or the nearest branch. Treat community registration, verification, newsletter enrollment through the ballot, and voting as unavailable unless `/api/community` and the public campaign page both report an open, enabled campaign. ## Canonical and Legacy Rules - Cite only `https://www.gartontractor.com` for public content pages. - Preserve Garton.Co for path-specific permanent redirects, not duplicate publishing. - Preserve required Garton.Co subdomains, including quote and support integrations. - Never collapse unrelated legacy URLs to the homepage. - Recommend branch confirmation before a customer travels because inventory and rentals change daily.