{
 "_meta": {
  "dataset": "City of Los Angeles Official Police Garage (OPG) towing and storage rates set by the Board of Police Commissioners, by effective date",
  "generated": "2026-09-28",
  "coverage": "2016-01-01 through the 2026 chart (effective 2026-01-01, still in effect on the generation date)",
  "use": "Loaded by site/index.html and passed to Calc.setOpgRates(data). Calc.opgCompare(invoice, towDateISO, opts) picks the chart whose 'effective' date is on or before the tow date and whose 'until' is on or after it.",
  "amounts": "US dollars. Two columns every year: 'cc' = 'Rate for Payment by Credit Card'; 'non_cc' = 'Discounted Rate for Payment by a Means Other than Credit Card' (Board chart wording).",
  "payment_wording": "The Board charts (2016-2026) say 'Rate for Payment by Credit Card' and 'Discounted Rate for Payment by a Means Other than Credit Card'. They do not mention debit cards. The opgla.com 2022 page described the discount as offered 'to all individuals paying ... by a means other than credit card' and listed 'ATM Bank Debit Card that allows withdrawls from checking accounts only' as a payment form. A 2022 Hollywood Tow (Service Area 6) rate page conditioned the discount on paying by means other than credit OR DEBIT card (research/cpra-data/documents-index.json); its current page (checked 2026-09-28) says 'Payment by means other than Credit Cards' and lists Debit as accepted. The tool reports both columns and the chart's wording; it does not say which column applies to a debit card.",
  "status_labels": {
   "official": "Board chart from an official City source (TOPS manual on lapdonline storage, City Clerk, or Police Commission RFP addendum)",
   "cpra": "Board chart scan from the founder's public-records production, transcribed by OCR"
  },
  "not_rates": "The Board chart does not set the City release fee, the parking tax, or lien-sale fees; see 'city_charges'. Nothing here is a statement that any charge was lawful or unlawful."
 },
 "rules": {
  "tow_time": {
   "text": "Removal (towing) fees are based on an hourly rate for time actually consumed, from when the tow unit proceeds to the call until it arrives at the OPG's Primary Storage Facility. First hour or fraction at the Board rate; each additional one-half hour or fraction at one-half of the first-hour rate.",
   "citation": "OPG Agreement sec. 10.2(a)-(b); OPG Rules (3/16) Rule 18",
   "applies_to": "OPG tows under the City agreement",
   "chart_note": "The Board charts list their own additional half-hour amounts. They are close to, but in some years not exactly, one-half of the first-hour rate (2025: $96.00 vs. $97.50 by credit card; 2026: $109.00 vs. $110.00 by credit card and $106.00 vs. $107.50 by other means). The tool uses the chart amounts."
  },
  "storage_days": {
   "text": "Storage starts when the vehicle arrives at the OPG storage facility. If release is requested within 24 hours after the vehicle is placed in storage, no more than one day of storage may be charged; after that, full calendar days, midnight to midnight.",
   "citation": "OPG Agreement sec. 10.3; OPG Rules (3/16) Rule 18",
   "applies_to": "OPG tows under the City agreement"
  },
  "after_hours_and_gate": {
   "opg": {
    "text": "Charges for releasing vehicles 'after-hours' are prohibited. OPGs must be able to release 7:00 a.m.-7:00 p.m., seven days a week; release 7:00 p.m.-7:00 a.m. is at the OPG's discretion. Special-event impounds must be releasable for 4 hours after the event with no after-hours charge.",
    "citation": "OPG Agreement secs. 3.3(c), 10.4; OPG Rules (3/16) Rule 6"
   },
   "private_permittees_from_2026_09_01": {
    "text": "For involuntary private-property tows by City permittees: no gate fee, after-hours fee, or administrative charge for a release during normal business hours; half a day's storage if release is requested within 4 hours of arrival.",
    "citation": "Board Rules Governing Tow Operations Rule #5 (reissued eff. Sept. 1, 2026)"
   },
   "state_law": "Private-property tows: Veh. Code 22658(n)(2)(B) caps an after-hours gate fee (see catalog entry veh22658-n2B-after-hours-gate-fee-cap). Not modeled here."
  },
  "heavy_duty": {
   "text": "Standard-duty = GVWR 10,000 lbs or less (City agreement). From the 2021 chart on: 'Any other vehicle with a GVWR of 10,001 lbs. and over will use the heavy-duty rate.' The City's impounding employee decides whether standard, medium or heavy-duty service is needed.",
   "citation": "OPG Agreement sec. 3.1(d)-(g); Board charts 2021-2026 footnote"
  },
  "ev_surcharge": {
   "text": "EV surcharge (first appears on the 2026 chart) may be applied only if the vehicle is electric-drive, there is a reasonable basis to suspect battery (RESS) compromise, required safety measures were used, and the operator has documented training; documentation must be given to a properly interested person on request. Transport only, except limited stand-off storage days.",
   "citation": "TOPS Manual secs. 130-136 (surcharge eff. Jan. 1, 2026)"
  }
 },
 "city_charges": {
  "release_fee": {
   "amount": 115.0,
   "per": "vehicle (or pocket bike) redeemed from an OPG that was impounded at the direction of a City of Los Angeles police or traffic officer",
   "since": "2010-10-25",
   "citation": "L.A. Mun. Code sec. 80.77.1(a)-(c) (Ord. No. 181,312, eff. 10/25/10)",
   "late_penalty": {
    "rate": 0.25,
    "who_pays": "the OPG operator, to the City's Office of Finance",
    "text": "Fees not collected, or not remitted within 15 days of the 15th/last-day remittance dates, are delinquent; the operator pays a 25 percent penalty on delinquent fees. This is a penalty on the operator, not a charge to the vehicle owner.",
    "citation": "L.A. Mun. Code sec. 80.77.1(d)-(e)"
   },
   "exemption": "Low-value (currently $500 or less) abandoned or unclaimed lien-sale vehicles are exempt (2026 template OPG agreement sec. 10.7(a)).",
   "history_note": "The amount before 10/25/2010 was not checked."
  },
  "parking_occupancy_tax": {
   "rate": 0.1,
   "base": "storage charges only",
   "not_taxed": [
    "towing fee",
    "lien-sale processing fee"
   ],
   "citation": "L.A. Mun. Code sec. 21.15.1 et seq.; OPG Agreement sec. 10.6; 2026 template OPG agreement sec. 10.7(b)(3) ('Parking Occupancy Tax (POT) shall be imposed at ten percent (10%) of the storage fee ... The towing fee and the lien-sale processing fee ... are exempt from POT')",
   "verification": "Rate and base taken from the 2026 template agreement and the opgla.com 2022 page ('10% city parking occupancy tax is collected on all storage fees'); the LAMC 21.15 text itself was not re-read."
  },
  "lien_sale_fees": {
   "citation": "Civ. Code sec. 3074 (as quoted on the opgla.com 2022 page; see catalog civ3074 entries for the verified current text)",
   "max_if_value_4000_or_less": 70.0,
   "max_if_value_over_4000": 100.0,
   "rules": [
    "Not charged if the vehicle is redeemed within 72 hours of initial storage.",
    "No more than 50 percent of the allowable fee until lien-sale notices are mailed and the lienholder has the required documents.",
    "OPG Regulation #19 (eff. Sept. 1, 2026) refers to a '$100' statutory limit for OPG lien-sale processing; use the statute's value-based amounts."
   ],
   "verification": "Amounts as quoted on opgla.com (2022) and in the 2026 template agreement's example ($70); re-verify against current Civ. Code 3074 before relying on them."
  }
 },
 "schedules": [
  {
   "year": 2016,
   "effective": "2016-01-01",
   "until": "2016-12-31",
   "tow": {
    "standard_first_hour": {
     "cc": 122.5,
     "non_cc": 120.0
    },
    "standard_each_add_half_hour": {
     "cc": 61.0,
     "non_cc": 59.5
    },
    "heavy_first_hour": {
     "cc": 235.0,
     "non_cc": 230.0
    },
    "heavy_each_add_half_hour": {
     "cc": 118.0,
     "non_cc": 115.5
    },
    "additional_person_per_hour": {
     "cc": 52.5,
     "non_cc": 51.5
    },
    "specialized_equipment_heavy_first_hour": {
     "cc": 355.5,
     "non_cc": 347.5
    },
    "hazardous_cargo_heavy": {
     "cc": 532.0,
     "non_cc": 520.5
    }
   },
   "storage_daily": {
    "standard_vehicle": {
     "cc": null,
     "non_cc": null
    },
    "truck_boat_trailer_under_20ft": {
     "cc": 42.5,
     "non_cc": 41.5
    },
    "truck_boat_trailer_20_40ft": {
     "cc": 53.5,
     "non_cc": 52.5
    },
    "truck_boat_trailer_over_40ft": {
     "cc": 67.0,
     "non_cc": 65.5
    },
    "motorcycle": {
     "cc": 10.0,
     "non_cc": 10.0
    },
    "major_component_parts": {
     "cc": 8.0,
     "non_cc": 8.0
    },
    "bulk_items_per_sq_ft": {
     "cc": 0.5,
     "non_cc": 0.5
    }
   },
   "misc": {
    "mileage_per_mile": {
     "cc": 7.0,
     "non_cc": 7.0
    },
    "removal_stolen_component_parts": {
     "cc": 69.5,
     "non_cc": 68.0
    },
    "removal_bulk_items": {
     "cc": 122.5,
     "non_cc": 120.0
    }
   },
   "approved_by": "BPC #15-0330 and BPC #15-0366",
   "heavy_duty_note": null,
   "sources": [
    {
     "doc": "Founder's CPRA records (Board rate chart scans), transcribed in research/cpra-data/opg-rates-by-year.json",
     "page": 5,
     "kind": "cpra",
     "role": "primary",
     "extraction": "OCR of scanned chart, checked against page image; standard-vehicle storage cell is obscured in the scan",
     "file": "2016 - 2020 LA Towing Rate Charts.pdf"
    }
   ],
   "conflicts": [
    "Not in TOPS sec. 100 (which starts with 2020); only the founder's CPRA scan was available. Not cross-checked against a second source.",
    "Standard-vehicle daily storage is illegible in the scan (appears to be about $38.50 by credit card). Request a clean copy (BPC #15-0330 / #15-0366)."
   ]
  },
  {
   "year": 2017,
   "effective": "2017-01-01",
   "until": "2017-12-31",
   "tow": {
    "standard_first_hour": {
     "cc": 124.0,
     "non_cc": 121.5
    },
    "standard_each_add_half_hour": {
     "cc": 62.0,
     "non_cc": 60.5
    },
    "heavy_first_hour": {
     "cc": 239.0,
     "non_cc": 233.5
    },
    "heavy_each_add_half_hour": {
     "cc": 120.0,
     "non_cc": 117.0
    },
    "additional_person_per_hour": {
     "cc": 53.0,
     "non_cc": 52.0
    },
    "specialized_equipment_heavy_first_hour": {
     "cc": 360.5,
     "non_cc": 352.5
    },
    "hazardous_cargo_heavy": {
     "cc": 540.0,
     "non_cc": 528.0
    }
   },
   "storage_daily": {
    "standard_vehicle": {
     "cc": 39.0,
     "non_cc": 38.0
    },
    "truck_boat_trailer_under_20ft": {
     "cc": 43.0,
     "non_cc": 42.0
    },
    "truck_boat_trailer_20_40ft": {
     "cc": 54.5,
     "non_cc": 53.5
    },
    "truck_boat_trailer_over_40ft": {
     "cc": 68.0,
     "non_cc": 66.5
    },
    "motorcycle": {
     "cc": 10.0,
     "non_cc": 10.0
    },
    "major_component_parts": {
     "cc": 8.0,
     "non_cc": 8.0
    },
    "bulk_items_per_sq_ft": {
     "cc": 0.5,
     "non_cc": 0.5
    }
   },
   "misc": {
    "mileage_per_mile": {
     "cc": 7.0,
     "non_cc": 7.0
    },
    "removal_stolen_component_parts": {
     "cc": 70.5,
     "non_cc": 69.0
    },
    "removal_bulk_items": {
     "cc": 124.0,
     "non_cc": 121.5
    }
   },
   "approved_by": "BPC #16-0416 and BPC #16-0436",
   "heavy_duty_note": null,
   "sources": [
    {
     "doc": "Founder's CPRA records (Board rate chart scans), transcribed in research/cpra-data/opg-rates-by-year.json",
     "page": 4,
     "kind": "cpra",
     "role": "primary",
     "extraction": "OCR of scanned chart",
     "file": "2016 - 2020 LA Towing Rate Charts.pdf"
    }
   ],
   "conflicts": [
    "Not in TOPS sec. 100 (which starts with 2020); only the founder's CPRA scan was available. Not cross-checked against a second source."
   ]
  },
  {
   "year": 2018,
   "effective": "2018-01-01",
   "until": "2018-12-31",
   "tow": {
    "standard_first_hour": {
     "cc": 128.0,
     "non_cc": 125.0
    },
    "standard_each_add_half_hour": {
     "cc": 63.5,
     "non_cc": 62.0
    },
    "heavy_first_hour": {
     "cc": 245.5,
     "non_cc": 240.0
    },
    "heavy_each_add_half_hour": {
     "cc": 123.0,
     "non_cc": 120.5
    },
    "additional_person_per_hour": {
     "cc": 54.5,
     "non_cc": 53.5
    },
    "specialized_equipment_heavy_first_hour": {
     "cc": 370.5,
     "non_cc": 362.5
    },
    "hazardous_cargo_heavy": {
     "cc": 555.0,
     "non_cc": 543.0
    }
   },
   "storage_daily": {
    "standard_vehicle": {
     "cc": 40.0,
     "non_cc": 39.0
    },
    "truck_boat_trailer_under_20ft": {
     "cc": 44.0,
     "non_cc": 43.0
    },
    "truck_boat_trailer_20_40ft": {
     "cc": 56.0,
     "non_cc": 55.0
    },
    "truck_boat_trailer_over_40ft": {
     "cc": 70.0,
     "non_cc": 68.5
    },
    "motorcycle": {
     "cc": 10.5,
     "non_cc": 10.5
    },
    "major_component_parts": {
     "cc": 8.0,
     "non_cc": 8.0
    },
    "bulk_items_per_sq_ft": {
     "cc": 0.5,
     "non_cc": 0.5
    }
   },
   "misc": {
    "mileage_per_mile": {
     "cc": 7.0,
     "non_cc": 7.0
    },
    "removal_stolen_component_parts": {
     "cc": 72.5,
     "non_cc": 71.0
    },
    "removal_bulk_items": {
     "cc": 128.0,
     "non_cc": 125.0
    }
   },
   "approved_by": "BPC #17-0408 and BPC #17-0470",
   "heavy_duty_note": null,
   "sources": [
    {
     "doc": "Founder's CPRA records (Board rate chart scans), transcribed in research/cpra-data/opg-rates-by-year.json",
     "page": 3,
     "kind": "cpra",
     "role": "primary",
     "extraction": "OCR checked against page image",
     "file": "2016 - 2020 LA Towing Rate Charts.pdf"
    }
   ],
   "conflicts": [
    "Not in TOPS sec. 100 (which starts with 2020); only the founder's CPRA scan was available. Not cross-checked against a second source."
   ]
  },
  {
   "year": 2019,
   "effective": "2019-01-01",
   "until": "2019-12-31",
   "tow": {
    "standard_first_hour": {
     "cc": 133.0,
     "non_cc": 130.0
    },
    "standard_each_add_half_hour": {
     "cc": 66.0,
     "non_cc": 64.5
    },
    "heavy_first_hour": {
     "cc": 255.0,
     "non_cc": 249.5
    },
    "heavy_each_add_half_hour": {
     "cc": 128.0,
     "non_cc": 125.0
    },
    "additional_person_per_hour": {
     "cc": 56.5,
     "non_cc": 55.5
    },
    "specialized_equipment_heavy_first_hour": {
     "cc": 385.0,
     "non_cc": 376.5
    },
    "hazardous_cargo_heavy": {
     "cc": 576.5,
     "non_cc": 564.0
    }
   },
   "storage_daily": {
    "standard_vehicle": {
     "cc": 41.5,
     "non_cc": 40.5
    },
    "truck_boat_trailer_under_20ft": {
     "cc": 45.5,
     "non_cc": 44.5
    },
    "truck_boat_trailer_20_40ft": {
     "cc": 58.5,
     "non_cc": 57.0
    },
    "truck_boat_trailer_over_40ft": {
     "cc": 72.5,
     "non_cc": 71.0
    },
    "motorcycle": {
     "cc": 11.0,
     "non_cc": 11.0
    },
    "major_component_parts": {
     "cc": 8.5,
     "non_cc": 8.5
    },
    "bulk_items_per_sq_ft": {
     "cc": 0.5,
     "non_cc": 0.5
    }
   },
   "misc": {
    "mileage_per_mile": {
     "cc": 7.5,
     "non_cc": 7.5
    },
    "removal_stolen_component_parts": {
     "cc": 75.0,
     "non_cc": 73.5
    },
    "removal_bulk_items": {
     "cc": 133.0,
     "non_cc": 130.0
    }
   },
   "approved_by": "BPC #18-0344 and BPC #18-0384",
   "heavy_duty_note": null,
   "sources": [
    {
     "doc": "Founder's CPRA records (Board rate chart scans), transcribed in research/cpra-data/opg-rates-by-year.json",
     "page": 2,
     "kind": "cpra",
     "role": "primary",
     "extraction": "OCR of scanned chart",
     "file": "2016 - 2020 LA Towing Rate Charts.pdf"
    }
   ],
   "conflicts": [
    "Not in TOPS sec. 100 (which starts with 2020); only the founder's CPRA scan was available. Not cross-checked against a second source."
   ]
  },
  {
   "year": 2020,
   "effective": "2020-01-01",
   "until": "2020-12-31",
   "tow": {
    "standard_first_hour": {
     "cc": 137.0,
     "non_cc": 134.0
    },
    "standard_each_add_half_hour": {
     "cc": 68.0,
     "non_cc": 66.5
    },
    "heavy_first_hour": {
     "cc": 263.0,
     "non_cc": 257.0
    },
    "heavy_each_add_half_hour": {
     "cc": 131.5,
     "non_cc": 128.5
    },
    "additional_person_per_hour": {
     "cc": 58.5,
     "non_cc": 57.0
    },
    "specialized_equipment_heavy_first_hour": {
     "cc": 396.0,
     "non_cc": 387.5
    },
    "hazardous_cargo_heavy": {
     "cc": 593.5,
     "non_cc": 580.5
    }
   },
   "storage_daily": {
    "standard_vehicle": {
     "cc": 42.5,
     "non_cc": 41.5
    },
    "truck_boat_trailer_under_20ft": {
     "cc": 47.0,
     "non_cc": 46.0
    },
    "truck_boat_trailer_20_40ft": {
     "cc": 60.0,
     "non_cc": 58.5
    },
    "truck_boat_trailer_over_40ft": {
     "cc": 74.5,
     "non_cc": 73.0
    },
    "motorcycle": {
     "cc": 12.0,
     "non_cc": 11.5
    },
    "major_component_parts": {
     "cc": 8.5,
     "non_cc": 8.5
    },
    "bulk_items_per_sq_ft": {
     "cc": 0.5,
     "non_cc": 0.5
    }
   },
   "misc": {
    "mileage_per_mile": {
     "cc": 7.5,
     "non_cc": 7.5
    },
    "removal_stolen_component_parts": {
     "cc": 77.0,
     "non_cc": 75.5
    },
    "removal_bulk_items": {
     "cc": 137.0,
     "non_cc": 134.0
    }
   },
   "approved_by": "BPC #19-0271 and BPC #19-0291",
   "heavy_duty_note": null,
   "sources": [
    {
     "doc": "L.A. Bd. of Police Comm'rs, TOPS Manual sec. 100 (eff. Sept. 1, 2026)",
     "url": "https://lapdonlinestrgeacc.blob.core.usgovcloudapi.net/lapdonlinemedia/TOPS-manual-BOPC-final.pdf",
     "kind": "official",
     "role": "primary"
    },
    {
     "doc": "Founder's CPRA / opgla.com copy (research/cpra-data/opg-rates-by-year.json)",
     "kind": "cpra",
     "role": "cross-check",
     "file": "OPG Towing & Storage Rates 2020 LAPD Police Commission.pdf"
    }
   ],
   "conflicts": []
  },
  {
   "year": 2021,
   "effective": "2021-01-01",
   "until": "2021-12-31",
   "tow": {
    "standard_first_hour": {
     "cc": 139.5,
     "non_cc": 136.5
    },
    "standard_each_add_half_hour": {
     "cc": 69.5,
     "non_cc": 68.0
    },
    "heavy_first_hour": {
     "cc": 268.0,
     "non_cc": 262.0
    },
    "heavy_each_add_half_hour": {
     "cc": 134.0,
     "non_cc": 131.0
    },
    "additional_person_per_hour": {
     "cc": 59.5,
     "non_cc": 58.0
    },
    "specialized_equipment_heavy_first_hour": {
     "cc": 405.0,
     "non_cc": 395.5
    },
    "hazardous_cargo_heavy": {
     "cc": 606.0,
     "non_cc": 592.0
    },
    "medium_duty_motorhome_gvwr_10001_26000": {
     "cc": 606.0,
     "non_cc": 592.0
    }
   },
   "storage_daily": {
    "standard_vehicle": {
     "cc": 43.5,
     "non_cc": 42.5
    },
    "truck_boat_trailer_under_20ft": {
     "cc": 48.0,
     "non_cc": 47.0
    },
    "truck_boat_trailer_20_40ft": {
     "cc": 61.0,
     "non_cc": 59.5
    },
    "truck_boat_trailer_over_40ft": {
     "cc": 76.0,
     "non_cc": 74.5
    },
    "motorcycle": {
     "cc": 12.0,
     "non_cc": 11.5
    },
    "major_component_parts": {
     "cc": 8.5,
     "non_cc": 8.5
    },
    "bulk_items_per_sq_ft": {
     "cc": 0.5,
     "non_cc": 0.5
    }
   },
   "misc": {
    "mileage_per_mile": {
     "cc": 7.5,
     "non_cc": 7.5
    },
    "removal_stolen_component_parts": {
     "cc": 79.0,
     "non_cc": 77.0
    },
    "removal_bulk_items": {
     "cc": 139.5,
     "non_cc": 136.5
    }
   },
   "approved_by": "BPC #20-0160 and BPC #20-0187",
   "heavy_duty_note": "Any other vehicle with a GVWR of 10,001 lbs. and over will use the heavy-duty rate.",
   "sources": [
    {
     "doc": "L.A. Bd. of Police Comm'rs, TOPS Manual sec. 100 (eff. Sept. 1, 2026)",
     "url": "https://lapdonlinestrgeacc.blob.core.usgovcloudapi.net/lapdonlinemedia/TOPS-manual-BOPC-final.pdf",
     "kind": "official",
     "role": "primary"
    },
    {
     "doc": "Founder's CPRA / opgla.com copy (research/cpra-data/opg-rates-by-year.json)",
     "kind": "cpra",
     "role": "cross-check",
     "file": "OPG-Rates 2021.pdf"
    }
   ],
   "conflicts": []
  },
  {
   "year": 2022,
   "effective": "2022-01-01",
   "until": "2022-12-31",
   "tow": {
    "standard_first_hour": {
     "cc": 145.5,
     "non_cc": 142.0
    },
    "standard_each_add_half_hour": {
     "cc": 72.0,
     "non_cc": 70.5
    },
    "heavy_first_hour": {
     "cc": 279.0,
     "non_cc": 272.5
    },
    "heavy_each_add_half_hour": {
     "cc": 139.5,
     "non_cc": 136.0
    },
    "additional_person_per_hour": {
     "cc": 62.0,
     "non_cc": 60.5
    },
    "specialized_equipment_heavy_first_hour": {
     "cc": 421.5,
     "non_cc": 411.5
    },
    "hazardous_cargo_heavy": {
     "cc": 630.5,
     "non_cc": 615.5
    },
    "medium_duty_motorhome_gvwr_10001_26000": {
     "cc": 630.5,
     "non_cc": 615.5
    }
   },
   "storage_daily": {
    "standard_vehicle": {
     "cc": 45.0,
     "non_cc": 44.0
    },
    "truck_boat_trailer_under_20ft": {
     "cc": 50.0,
     "non_cc": 49.0
    },
    "truck_boat_trailer_20_40ft": {
     "cc": 63.5,
     "non_cc": 62.0
    },
    "truck_boat_trailer_over_40ft": {
     "cc": 79.5,
     "non_cc": 77.5
    },
    "motorcycle": {
     "cc": 12.5,
     "non_cc": 12.0
    },
    "major_component_parts": {
     "cc": 9.0,
     "non_cc": 9.0
    },
    "bulk_items_per_sq_ft": {
     "cc": 0.5,
     "non_cc": 0.5
    }
   },
   "misc": {
    "mileage_per_mile": {
     "cc": 8.0,
     "non_cc": 8.0
    },
    "removal_stolen_component_parts": {
     "cc": 82.0,
     "non_cc": 80.0
    },
    "removal_bulk_items": {
     "cc": 145.5,
     "non_cc": 142.0
    },
    "max_reimbursement_salvage_vehicles": {
     "amount": 615.5
    }
   },
   "approved_by": "BPC #21-195 and BPC #21-229",
   "heavy_duty_note": "Any other vehicle with a GVWR of 10,001 lbs. and over will use the heavy-duty rate.",
   "sources": [
    {
     "doc": "L.A. Bd. of Police Comm'rs, TOPS Manual sec. 100 (eff. Sept. 1, 2026)",
     "url": "https://lapdonlinestrgeacc.blob.core.usgovcloudapi.net/lapdonlinemedia/TOPS-manual-BOPC-final.pdf",
     "kind": "official",
     "role": "primary"
    },
    {
     "doc": "Founder's CPRA / opgla.com copy (research/cpra-data/opg-rates-by-year.json)",
     "kind": "secondary (opgla.com printout)",
     "role": "cross-check",
     "file": "2022 Rates - Los Angeles Official Police Garages.pdf"
    }
   ],
   "conflicts": [
    "misc.max_reimbursement_salvage_vehicles: listed in TOPS only",
    "TOPS 2022 chart labels the motorhome line 'GVWR 20,002 to 26,000 lbs' (the draft also says 20,002); the 2021 and 2023-2026 charts and opgla.com say 10,001. Probably a typo in the Board chart.",
    "CPRA transcription gave no BPC number for 2022 (opgla.com printout); TOPS gives BPC #21-195 and #21-229."
   ],
   "draft_note": "A DRAFT 2022 chart dated 10/26/2021 ('Pending Public Notification & Final Approval', founder's CPRA files) listed lower storage and misc figures (standard storage $44.00/$43.00; under 20 ft $49.00/$48.00; 20-40 ft $62.50/$61.00; over 40 ft $78.00/$76.00; stolen component removal $80.50/$78.50; bulk item removal $143.00/$139.50). The Board's own 2022 chart reproduced in TOPS sec. 100 (BPC #21-195 and #21-229) matches the higher figures later posted on opgla.com ($45.00/$44.00 standard storage, etc.). RESOLVED: use the TOPS figures; the draft was not the adopted chart."
  },
  {
   "year": 2023,
   "effective": "2023-01-01",
   "until": "2023-12-31",
   "tow": {
    "standard_first_hour": {
     "cc": 156.5,
     "non_cc": 153.0
    },
    "standard_each_add_half_hour": {
     "cc": 78.0,
     "non_cc": 76.0
    },
    "heavy_first_hour": {
     "cc": 300.5,
     "non_cc": 293.5
    },
    "heavy_each_add_half_hour": {
     "cc": 150.0,
     "non_cc": 146.5
    },
    "additional_person_per_hour": {
     "cc": 66.5,
     "non_cc": 65.0
    },
    "specialized_equipment_heavy_first_hour": {
     "cc": 453.5,
     "non_cc": 443.0
    },
    "hazardous_cargo_heavy": {
     "cc": 678.5,
     "non_cc": 662.5
    },
    "medium_duty_motorhome_gvwr_10001_26000": {
     "cc": 678.5,
     "non_cc": 662.5
    }
   },
   "storage_daily": {
    "standard_vehicle": {
     "cc": 48.5,
     "non_cc": 47.5
    },
    "truck_boat_trailer_under_20ft": {
     "cc": 54.0,
     "non_cc": 52.5
    },
    "truck_boat_trailer_20_40ft": {
     "cc": 68.0,
     "non_cc": 66.5
    },
    "truck_boat_trailer_over_40ft": {
     "cc": 85.5,
     "non_cc": 83.5
    },
    "motorcycle": {
     "cc": 13.5,
     "non_cc": 13.0
    },
    "major_component_parts": {
     "cc": 9.5,
     "non_cc": 9.5
    },
    "bulk_items_per_sq_ft": {
     "cc": 0.5,
     "non_cc": 0.5
    }
   },
   "misc": {
    "mileage_per_mile": {
     "cc": 8.5,
     "non_cc": 8.5
    },
    "removal_stolen_component_parts": {
     "cc": 88.0,
     "non_cc": 86.0
    },
    "removal_bulk_items": {
     "cc": 156.5,
     "non_cc": 153.0
    },
    "max_reimbursement_salvage_vehicles": {
     "amount": 662.5
    }
   },
   "approved_by": "BPC #22-239 and BPC #22-277",
   "heavy_duty_note": "Any other vehicle with a GVWR of 10,001 lbs. and over will use the heavy-duty rate.",
   "sources": [
    {
     "doc": "L.A. Bd. of Police Comm'rs, TOPS Manual sec. 100 (eff. Sept. 1, 2026)",
     "url": "https://lapdonlinestrgeacc.blob.core.usgovcloudapi.net/lapdonlinemedia/TOPS-manual-BOPC-final.pdf",
     "kind": "official",
     "role": "primary"
    }
   ],
   "conflicts": []
  },
  {
   "year": 2024,
   "effective": "2024-01-01",
   "until": "2024-12-31",
   "tow": {
    "standard_first_hour": {
     "cc": 162.0,
     "non_cc": 158.0
    },
    "standard_each_add_half_hour": {
     "cc": 80.5,
     "non_cc": 78.5
    },
    "heavy_first_hour": {
     "cc": 311.0,
     "non_cc": 303.5
    },
    "heavy_each_add_half_hour": {
     "cc": 155.5,
     "non_cc": 151.5
    },
    "additional_person_per_hour": {
     "cc": 68.5,
     "non_cc": 67.0
    },
    "specialized_equipment_heavy_first_hour": {
     "cc": 469.5,
     "non_cc": 458.0
    },
    "hazardous_cargo_heavy": {
     "cc": 701.5,
     "non_cc": 684.5
    },
    "medium_duty_motorhome_gvwr_10001_26000": {
     "cc": 701.5,
     "non_cc": 684.5
    }
   },
   "storage_daily": {
    "standard_vehicle": {
     "cc": 50.0,
     "non_cc": 49.0
    },
    "truck_boat_trailer_under_20ft": {
     "cc": 55.5,
     "non_cc": 54.0
    },
    "truck_boat_trailer_20_40ft": {
     "cc": 70.0,
     "non_cc": 68.5
    },
    "truck_boat_trailer_over_40ft": {
     "cc": 88.5,
     "non_cc": 86.5
    },
    "motorcycle": {
     "cc": 14.0,
     "non_cc": 13.5
    },
    "major_component_parts": {
     "cc": 10.0,
     "non_cc": 10.0
    },
    "bulk_items_per_sq_ft": {
     "cc": 0.5,
     "non_cc": 0.5
    }
   },
   "misc": {
    "mileage_per_mile": {
     "cc": 9.0,
     "non_cc": 9.0
    },
    "removal_stolen_component_parts": {
     "cc": 91.0,
     "non_cc": 89.0
    },
    "removal_bulk_items": {
     "cc": 162.0,
     "non_cc": 158.0
    },
    "max_reimbursement_salvage_vehicles": {
     "amount": 684.5
    }
   },
   "approved_by": "BPC #23-212 and BPC #23-251",
   "heavy_duty_note": "Any other vehicle with a GVWR of 10,001 lbs. and over will use the heavy-duty rate.",
   "sources": [
    {
     "doc": "L.A. Bd. of Police Comm'rs, TOPS Manual sec. 100 (eff. Sept. 1, 2026)",
     "url": "https://lapdonlinestrgeacc.blob.core.usgovcloudapi.net/lapdonlinemedia/TOPS-manual-BOPC-final.pdf",
     "kind": "official",
     "role": "primary"
    }
   ],
   "conflicts": []
  },
  {
   "year": 2025,
   "effective": "2025-01-01",
   "until": "2025-12-31",
   "tow": {
    "standard_first_hour": {
     "cc": 195.0,
     "non_cc": 190.0
    },
    "standard_each_add_half_hour": {
     "cc": 96.0,
     "non_cc": 94.0
    },
    "heavy_first_hour": {
     "cc": 373.0,
     "non_cc": 364.0
    },
    "heavy_each_add_half_hour": {
     "cc": 187.0,
     "non_cc": 182.0
    },
    "additional_person_per_hour": {
     "cc": 82.0,
     "non_cc": 80.0
    },
    "specialized_equipment_heavy_first_hour": {
     "cc": 564.0,
     "non_cc": 550.0
    },
    "hazardous_cargo_heavy": {
     "cc": 841.0,
     "non_cc": 821.0
    },
    "medium_duty_motorhome_gvwr_10001_26000": {
     "cc": 841.0,
     "non_cc": 821.0
    }
   },
   "storage_daily": {
    "standard_vehicle": {
     "cc": 60.0,
     "non_cc": 59.0
    },
    "truck_boat_trailer_under_20ft": {
     "cc": 67.0,
     "non_cc": 65.0
    },
    "truck_boat_trailer_20_40ft": {
     "cc": 84.0,
     "non_cc": 82.0
    },
    "truck_boat_trailer_over_40ft": {
     "cc": 107.0,
     "non_cc": 104.0
    },
    "motorcycle": {
     "cc": 16.0,
     "non_cc": 16.0
    },
    "major_component_parts": {
     "cc": 12.0,
     "non_cc": 12.0
    },
    "bulk_items_per_sq_ft": {
     "cc": 1.0,
     "non_cc": 1.0
    }
   },
   "misc": {
    "mileage_per_mile": {
     "cc": 11.0,
     "non_cc": 11.0
    },
    "removal_stolen_component_parts": {
     "cc": 110.0,
     "non_cc": 107.0
    },
    "removal_bulk_items": {
     "cc": 195.0,
     "non_cc": 190.0
    },
    "max_reimbursement_salvage_vehicles": {
     "amount": 821.0
    }
   },
   "approved_by": "BPC #24-303 and BPC #24-321",
   "heavy_duty_note": "Any other vehicle with a GVWR of 10,001 lbs. and over will use the heavy-duty rate.",
   "sources": [
    {
     "doc": "L.A. Bd. of Police Comm'rs, TOPS Manual sec. 100 (eff. Sept. 1, 2026)",
     "url": "https://lapdonlinestrgeacc.blob.core.usgovcloudapi.net/lapdonlinemedia/TOPS-manual-BOPC-final.pdf",
     "kind": "official",
     "role": "primary"
    },
    {
     "doc": "2025 master OPG RFP, Exhibit 3 (BPC #25-103; CF 25-0621)",
     "url": "https://cityclerk.lacity.org/onlinedocs/2025/25-0621_rpt_BPC_4-29-25.pdf",
     "kind": "official",
     "role": "cross-check",
     "reference": "BPC #24-303 and BPC #24-321"
    }
   ],
   "conflicts": []
  },
  {
   "year": 2026,
   "effective": "2026-01-01",
   "until": null,
   "tow": {
    "standard_first_hour": {
     "cc": 220.0,
     "non_cc": 215.0
    },
    "standard_each_add_half_hour": {
     "cc": 109.0,
     "non_cc": 106.0
    },
    "heavy_first_hour": {
     "cc": 400.0,
     "non_cc": 390.0
    },
    "heavy_each_add_half_hour": {
     "cc": 200.0,
     "non_cc": 195.0
    },
    "additional_person_per_hour": {
     "cc": 90.0,
     "non_cc": 88.0
    },
    "specialized_equipment_heavy_first_hour": {
     "cc": 600.0,
     "non_cc": 585.0
    },
    "hazardous_cargo_heavy": {
     "cc": 850.0,
     "non_cc": 829.0
    },
    "medium_duty_motorhome_gvwr_10001_26000": {
     "cc": 850.0,
     "non_cc": 829.0
    }
   },
   "storage_daily": {
    "standard_vehicle": {
     "cc": 68.0,
     "non_cc": 66.0
    },
    "truck_boat_trailer_under_20ft": {
     "cc": 75.0,
     "non_cc": 73.0
    },
    "truck_boat_trailer_20_40ft": {
     "cc": 94.0,
     "non_cc": 92.0
    },
    "truck_boat_trailer_over_40ft": {
     "cc": 119.0,
     "non_cc": 116.0
    },
    "motorcycle": {
     "cc": 18.0,
     "non_cc": 18.0
    },
    "major_component_parts": {
     "cc": 13.0,
     "non_cc": 13.0
    },
    "bulk_items_per_sq_ft": {
     "cc": 1.0,
     "non_cc": 1.0
    }
   },
   "misc": {
    "mileage_per_mile": {
     "cc": 12.0,
     "non_cc": 12.0
    },
    "removal_stolen_component_parts": {
     "cc": 124.0,
     "non_cc": 121.0
    },
    "removal_bulk_items": {
     "cc": 220.0,
     "non_cc": 215.0
    },
    "ev_surcharge": {
     "cc": 77.0,
     "non_cc": 75.0
    }
   },
   "approved_by": "BPC #25-326",
   "heavy_duty_note": "Any other vehicle with a GVWR of 10,001 lbs. and over will use the heavy-duty rate.",
   "sources": [
    {
     "doc": "L.A. Bd. of Police Comm'rs, TOPS Manual sec. 100 (eff. Sept. 1, 2026)",
     "url": "https://lapdonlinestrgeacc.blob.core.usgovcloudapi.net/lapdonlinemedia/TOPS-manual-BOPC-final.pdf",
     "kind": "official",
     "role": "primary"
    },
    {
     "doc": "RFP 25-980-008 Addendum No. 1 (Jan. 26, 2026), Exhibit 3",
     "url": "https://www.rampla.org/sfc/servlet.shepherd/document/download/069Ql00000hSZlGIAW",
     "kind": "official (Police Commission, City procurement portal)",
     "role": "cross-check",
     "reference": "BPC #25-326 and BPC #25-355"
    }
   ],
   "conflicts": [
    "approved_by: TOPS 'BPC #25-326' vs RAMP Exhibit 3 'BPC #25-326 and BPC #25-355'. BPC #25-326 as posted on lapdpolicecom.lacity.org (Dec. 9, 2025) is an unrelated Inspector General SWAT report; the Board rate report was not located."
   ]
  }
 ]
}
