| name | Yes | Machine name/model, e.g. Dedica EC685 | |
| notes | No | | |
| photo | No | Photo path or URL | |
| tools | No | JSON or comma-separated tools, e.g., paper filters, flow control, metal mesh | |
| archived | No | 1 if archived, 0 if active | |
| prep_type | No | Preparation equipment type. One of: espresso_machine, lever_press, moka_pot, aeropress, french_press, v60_dripper, cold_brew. Lower snake_case. | |
| catalog_id | No | Optional — the maintenance catalog model this is (the `id` of a catalog row, e.g. rancilio-silvia), when it was registered from the catalog. Its maintenance then comes from that model's researched record. "none" says it is not in the catalog. | |
| prep_style | No | Preparation style. One of: espresso, filter, immersion, percolation. Only "espresso" is diagnosed by the dialing engine (G8) — anything else is recorded but never dialed, so do not guess this field. | |
| boiler_type | No | | |
| hardness_dh | No | Optional — the TOTAL hardness (GH) of the water this machine runs on, in °dH (German degrees; ppm as CaCO3 ÷ 17.85), as a test strip reports it. Picks the band of a maker's hardness table for descaling and filter life | |
| control_type | Yes | | |
| connected_device | No | Metadata mapping to smart hardware APIs | |
| basket_size_grams | No | | |
| built_in_grinder_id | No | id of a grinder built into this machine (bean-to-cup / integrated grinder) | |