Taxonomy Domain
Introduction
The taxonomy tables store system-level data about the categories and attributes that are associated with Products and Images.
These tables are all documented with a domain prefix of “Taxonomy” however at the time this document was last edited the tables actually exist without this prefix and a refactoring ticket is in the backlog.
Product Taxonomy
The product taxonomy is key to being able to classify Products and ensures that we can deliver the right products to any given consumer thus ensuring they are more likely to find what they are looking for and thus book.
Categories are often used in SecurityRules to eliminate products from certain root categories for given PartnerChannels. Commonly all products falling into the “Transportation & Travel” or “Multi-Day Tours” will be eliminated.
Database Tables
The following tables are defined in the domain:
Table Name | Purpose |
|---|---|
TaxonomyProductAttribute | Details the finite list of attributes that may be associated with a product. Examples include “Wheelchair Accessible”, “Skip the line”, “All Day” etc. Each record includes a |
TaxonomyProductCategory | Details a finite list of all attributes that may be associated with a product. Examples include “Hot-Air Ballooning”, “History & heritage”, “Food Experiences”. Categories are linked to parent categories in a hierarchy that ultimately resolved to top-level categories such as “Attractions”, “Experiences”, ”Transportation & Travel”. Each record includes a |
TaxonomyProductCategoryMatch TaxonomyProductAttributeMatch | It is common for external sources to have very different taxonomies to that defined by Holibob. Match tables are used by the sourceIntegrationServices when mapping products from external sources. When an unknown category or attribute is discovered on a source it will be written to the match table and our supply department frequently examine such records and map these to our own categories and attributes. |
Image Taxonomy
At the time of writing this document, we held around 1m images within our data almost all of which relate directly to Product.
In order to categorise images and indirectly to add further categorisation data to the product that they belong to, we store use AI to examine each image and detail the contents of the image. For example, if the system processes a picture of a kayak cascading down a river on a bright dummy day we may add categories for “Boat”, Kayak”, “Summer”, “Water“, “Adventure” and “Sport”.
Database Tables
The following tables are defined in the domain:
Table Name | Purpose |
|---|---|
TaxonomyImageCategory | Details the TaxonomyImageCategory table stores the finite list of all image categories that have been identified |
TaxonomyImageCategoryAssociation | Details the the relationships from one category to another allowing higher-level categories to be determined from lower levels. For example, the category “Kayak” may have a parent of “Boat” which in turn has a partner of “Vehicle”. |