One Product, One Type, and Room for Your Own Words
Listing a few words is only the start of a taxonomy; it also needs a door left open for new ones.
A seller’s products need a type: hotel, resort, villa, apartment, boutique or hostel. The decision is one type per product, six core words offered as suggestions, and room for a seller’s own words, with the entry form to follow. The value lives with the product’s existing content, and older products simply stay unclassified, with no migration.
Sellers organising their product library often want to group by what kind of place it is: hotel, resort, villa, apartment, boutique hotel or hostel. That field did not exist. The only thing in the system with the same name was one supplier’s room-type code for full-day versus hourly rooms, which has nothing to do with the kind of property and could not be borrowed.
Three options were on the table. A closed list of six values would let the database validate it, but it shuts the door on “or a new type,” and every new word would need a database change. Folding type into tags was another, yet tags are free and multi-valued while a type should be single; merging them breaks grouping by type and creates conflicts with existing tags.
The chosen design gives each product one type value. The six core words live on the server and only seed suggestions and import hints. Any other word a seller writes is kept as written, trimmed and capped at 64 characters, and the suggestion list is the core words plus words that seller already uses. The type sits inside the product’s existing content data, so the database does not change, and older products stay empty, meaning unclassified, with nothing guessed.
A seller’s product shares one copy of its content across all of that seller’s catalogues, so changing the type once shows up everywhere it is used. This step settles the data shape and how the type is saved and read; the type field on the product form and the import template comes next. If a stricter rule is ever needed, the same data can be upgraded to a closed list without moving anything.