Skip navigation

Proposals / follow-ups

  • Category names. The xls has no code→name mapping for categories — we emit "Kategorie NN" placeholders. Source the real Czech + English names from the original SW's admin screens or a separate CSV, then re-run build_yaml.py (which is why category names live in categories.yml and not inline with assets).
  • Price refresh. Replace the 2014 snapshot with a fresh catalog once available. The generator is keyed off PČV, so dropping a newer xls and re-running will update prices without losing any DRS placements, as long as PČV codes stay stable.
  • Description split. qualitative_indicators mixes "what it is" with "what it has" — consider splitting off a structured specs: list[Spec] (bullets) and keeping qualitative_indicators as free HTML for the editor.
  • FX / foreign pricing. foreign_price and installation_foreign_price have no currency column. If it's always EUR, hard-code the label; if mixed, add a foreign_currency field before refreshing.
  • Media. No images in the xls. Add an !image_link field and seed product photos per PČV once a source is available.
  • DRS ingestion. imports/Finální DRS/ has per-floor DGN/DWG/PDF files named H1-<N> Pôdorys <N>.NP.*. A future build_drs_yaml.py can parse the filenames into !building { code: "H1" } + !floor { code: "1.NP" } stubs, and attach each PDF as a !document on Floor.drawing_reference.
  • Bulk placement workflow. With 11 876 catalog items × hundreds of rooms, editing RoomAsset one-by-one in admin is not viable. Plan for (a) a CSV/xlsx import keyed by room number + PČV, and (b) a Wagtail ViewSet for Room with an asset-picker that autocompletes over PČV/name.
  • Search backend. The default Wagtail search on 11 876 rows works but scales poorly once we add descriptions. Evaluate Postgres full-text or the Wagtail Postgres search backend before shipping.