// Real data lifted from the company's price list.
// Six properties × five service categories. Stored as structured rows so
// the pricing grid can re-pivot by property or service.

const PROPERTIES = [
  { id: "biscayne",   name: "1800 Biscayne",                  short: "1800 Bisc.", city: "Miami, FL" },
  { id: "wyn",        name: "29 Wyn Apartments",              short: "29 Wyn",     city: "Miami, FL" },
  { id: "casero",     name: "Casero",                         short: "Casero",     city: "South Florida" },
  { id: "harbour",    name: "Cortland at Harbour Cove",       short: "Harbour",    city: "Miami, FL" },
  { id: "hammocks",   name: "Cortland at The Hammocks",       short: "Hammocks",   city: "Miami, FL" },
  { id: "elite",      name: "Elite Riverview Apts.",          short: "Elite",      city: "South Florida" },
  { id: "midtown",    name: "Midtown Aventura",               short: "Midtown",    city: "Aventura, FL" },
  { id: "palms",      name: "Palms of Doral",                 short: "Palms",      city: "Doral, FL" },
  { id: "paraiso",    name: "Paraiso at Fountain Square",     short: "Paraiso",    city: "South Florida" },
  { id: "vistalago",  name: "Vista Lago at The Hammocks",     short: "Vista Lago", city: "Miami, FL" },
];

// Each service row carries a per-property price string. `null` = not on that property's list.
const PRICING = [
  {
    group: "Carpet",
    service: "Vacant carpet cleaning",
    note: "Pre-condition, cleaning, deodorizer. 1 bed / 2 bed / 3 bed.",
    prices: {
      alvista:   "$55 / $65 / $75",
      hammocks:  "$75 (1–2 bed) / $85 (3 bed)",
      bluecoast: "$75 (1–2 bed) / $85 (3 bed)",
      chglobal:  "$75 (1 bed) / $150 (2 bed)",
      harbour:   "$85 (3 bed)",
      general:   "$75 (1–2 bed) / $85 (3 bed)",
    },
  },
  {
    group: "Carpet",
    service: "Occupied / Renewal cleaning",
    note: "Renewal turns. Same inclusions as vacant.",
    prices: {
      alvista:   "$75 (1–2 bed) / $85 (3 bed)",
      hammocks:  "$75 (1–2 bed) / $85 (3 bed)",
      bluecoast: "$75 (1–2 bed) / $85 (3 bed)",
      chglobal:  "$65 (1 bed) / $130 (2 bed)",
      harbour:   "$75 (3 bed)",
      general:   "$75 (1–2 bed) / $85 (3 bed)",
    },
  },
  {
    group: "Carpet",
    service: "Deep cleaning · stains · stretch · repair",
    note: "Add-on to any carpet service.",
    prices: {
      alvista:   "$35 – $65",
      hammocks:  "$50 – $95",
      bluecoast: "$50 – $95",
      chglobal:  "$35 – $65",
      harbour:   "$35 – $75",
      general:   "$50 – $95",
    },
  },
  {
    group: "Carpet",
    service: "Pet damage / urine treatment",
    note: "Enzymatic treatment and re-clean.",
    prices: {
      alvista:   "$75 – $105",
      hammocks:  "$135 – $150",
      bluecoast: "$135 – $150",
      chglobal:  "$135 – $150",
      harbour:   "$135 – $150",
      general:   "$135 – $150",
    },
  },
  {
    group: "Hard floors",
    service: "Tile & grout cleaning",
    note: "Degrease, extract, seal on request.",
    prices: {
      alvista:   "$145 – $175",
      hammocks:  "$200 – $250",
      bluecoast: "$200 – $250",
      chglobal:  null,
      harbour:   "$200 – $250",
      general:   "$150 – $200",
    },
  },
  {
    group: "Hard floors",
    service: "Vinyl cleaning & stripping",
    note: "Does not include removal of old wax unless quoted.",
    prices: {
      alvista:   "$150",
      hammocks:  "$145 (1 bed) / $175 (2–3 bed)",
      bluecoast: "$200 – $250",
      chglobal:  null,
      harbour:   "$200 – $250",
      general:   "$150 – $200",
    },
  },
  {
    group: "Air",
    service: "A/C duct cleaning",
    note: "Cleaning + paint of outlet grilles; deodorized.",
    prices: {
      alvista:   "$135 (1–2 bed) / $175 (3 bed)",
      hammocks:  "$155 / $175 / $195",
      bluecoast: "$195 (1–2 bed) / $225 (3 bed)",
      chglobal:  null,
      harbour:   "$195 (1–2 bed) / $225 (3 bed)",
      general:   "Call for estimate",
    },
  },
  {
    group: "Air",
    service: "Dryer vent cleaning",
    note: "From the roof — $200. Call for full-property quote.",
    prices: {
      alvista:   "$65 – $95",
      hammocks:  "$65 – $95",
      bluecoast: "$65 – $95",
      chglobal:  null,
      harbour:   "$65 – $95",
      general:   "$65 – $95",
    },
  },
  {
    group: "Water damage",
    service: "Emergency water extraction",
    note: "Extraction, pad removal if needed, mildewcide, deodorizer, sanitizing. Price scales with volume.",
    prices: {
      alvista:   "$85 and up",
      hammocks:  "$85 and up",
      bluecoast: "$85 and up",
      chglobal:  "$85 and up",
      harbour:   "$85 and up",
      general:   "$85 and up",
    },
  },
  {
    group: "Water damage",
    service: "Equipment — per day",
    note: "Blowers · dehumidifier · ozone · air scrubber.",
    prices: {
      alvista:   "Blower $35 · Dehu $150 · Ozone $100 · Scrubber $175",
      hammocks:  "Blower $45 · Dehu $200–250 · Ozone $100–150 · Scrubber $195–225",
      bluecoast: "Blower $45 · Dehu $200–250 · Ozone $100–150 · Scrubber $195–225",
      chglobal:  "Blower $45 · Dehu $200–250 · Ozone $100–150 · Scrubber $195–225",
      harbour:   "Blower $45 · Dehu $200–250 · Ozone $100–150 · Scrubber $195–225",
      general:   "Blower $40 · Dehu $150–200 · Ozone $100–150 · Scrubber $195–225",
    },
  },
  {
    group: "Water damage",
    service: "Remove & re-install padding",
    note: "Billed from $85 and up per unit of affected area.",
    prices: {
      alvista:   "$85 and up",
      hammocks:  "$85 and up",
      bluecoast: "$85 and up",
      chglobal:  "$85 and up",
      harbour:   "$85 and up",
      general:   "$85 and up",
    },
  },
];

const SERVICES = [
  {
    n: "01",
    kind: "Carpet",
    title: "Carpet cleaning & repair",
    body: "Pre-conditioned hot-water extraction, deodorized, with optional deep-stain treatment, stretch and seam repair. Priced per bedroom count, vacant or renewal.",
    items: ["Vacant turns", "Renewal cleaning", "Stretch · re-seam", "Stain removal", "Pet / urine"],
  },
  {
    n: "02",
    kind: "Hard floors",
    title: "Tile, grout, vinyl",
    body: "Degrease and extract grout lines. Strip and re-coat vinyl where specified. Sealing on request.",
    items: ["Tile & grout", "Vinyl strip · re-coat", "Sealant", "Grout color restore"],
  },
  {
    n: "03",
    kind: "Air",
    title: "A/C ducts & dryer vents",
    body: "Supply and return cleaning, grille paint, deodorizer. Dryer vents cleaned from unit or roof. Full-property walks quoted flat.",
    items: ["Duct cleaning", "Grille paint", "Dryer vents", "Roof-side vent"],
  },
  {
    n: "04",
    kind: "Water",
    title: "Emergency water damage",
    body: "24-hour extraction with mildewcide, deodorizer and sanitizing. Blowers, dehumidifiers, ozone and air scrubbers priced per day on-site.",
    items: ["Extraction", "Pad removal", "Drying equipment", "Mildewcide · ozone"],
    urgent: true,
  },
  {
    n: "05",
    kind: "Property",
    title: "Full-property services",
    body: "Property-wide A/C line flushes, dryer-vent campaigns and pool/deck furniture cleaning on request. Bundle pricing for management companies.",
    items: ["A/C lines", "Dryer vents", "Pool furniture", "Deck washdown"],
  },
];

const PROCESS = [
  { n: "01", title: "Work order", body: "PM sends unit list, turn date, access notes. We confirm within the hour during business days." },
  { n: "02", title: "Site assessment", body: "Tech notes stains, stretch, pad condition and any water events. Scope adjusted before invoice." },
  { n: "03", title: "Clean & treat", body: "Pre-condition, extract, deodorize. Deep-stain, repair and pet treatments as flagged." },
  { n: "04", title: "QC & turnover", body: "Walk-through photos sent with invoice. Unit ready for move-in inspection the same day." },
];

const FAQS = [
  { q: "How soon can you respond to a water event?", a: "Most calls in Broward or Miami-Dade get a truck on-site within 90 minutes. Overnight and weekend extractions are billed at the standard day rate — no surcharge." },
  { q: "Do you invoice per unit or per property?", a: "Either. Most partners run a monthly turn PO against the unit-level rates on their property's card. Full-property work (A/C lines, dryer vent campaigns, pool furniture) is quoted flat." },
  { q: "What's included in a standard carpet turn?", a: "Pre-condition, hot-water extraction, deodorizer and a basic spot-treat. Deep stains, stretch, re-seam and pet / urine treatments are add-ons and priced on each property's card." },
  { q: "Do you certify for insurance claims?", a: "Yes. For water-damage events we document moisture readings on intake and at release, and itemize extraction volume, pad removal and equipment days so the carrier can match the loss." },
  { q: "Is my property not on the list?", a: "Use the Standard rate card as a starting point and call for a walk-through. New multifamily partners get a property-specific card within a week of the first job." },
];
