Bulk products integration
Bulk products are products that are sold in shops without packaging. The consumers fills a container s/he brought her/himself or is offered by the shop. This way the consumer can buy as much as needed and there is no impact on the environment due to the consumer packaging. The shop keeper buys the product in bulk packaging and keeps the containers filled up.
OFF can support these kind of products by creating products without barcode, such as this one. The advent of OFF prices allows us to do things a bit differently.
But this raises also other issues that will be discussed. The end goal is to update OFF with Bulk products entered on OFF Prices.
Bulk product categories
OFF Prices allows the user to enter the prices of bulk products. For each product the user has to specify a category. As the variety of bulk products is not very large, there is no need to expose the user to the complexities of the Categories taxonomy, which consists of 72.000 products. A subset of the categories taxonomy is sufficient for OFF Prices.
Virtually all products are sold with a barcode on the packaging. Which product categories are however also available without "official" barcode. This will be a very small subset of the categories taxonomy. For prices we need to identify these product categories.
The identification of these bulk categories will be done by adding a property to each relevant category. The property sales_format will indicate whether that category is also sold by bulk. This can be by weight (for example almonds), by volume (for example olive oil) or by item (for example lemons).
By adding this property to each category that is sold as bulk, OFF Prices can figure out what categories need to be shown to the user.
Unfortunately the category name corresponding to the bulk product can be very extensive. For instance bulk almonds are only sold shelled, whole, unsalted, unroasted and unblanched. To simplify the category a specific convenience category has been created, called raw almonds. (better than Almonds(whole/unsalted/unroasted/unblanched). This might even be too large for OFF Prices, a shorted name would be more convenient to the user. Why not call them just almonds?
By adding a proxy category to be used for bulk categories, OFF Prices can show a more simple name. The property bulk_proxy_category can be used for that. This property points to the en:almonds category.
We could also add the supcategory en:Bulk for easy retrieval of bulk products.
Bulk product integration
Bulk product barcodes
Distinguish between what kind of info is available in the shop.
At the moment these bulk products stay in OFF Prices. It would be nice to create new products in OFF, especially when there a corresponding product labels.
Instead of just creating a next barcode in the sequence, we could create a specific barcode. This specific barcode should prevent some doubling.
Elements of this barcode could be:
- OSM type (node/way/relation) (1 digit)
- shop name as encoded in the OSM id (12 digits?);
- category as encoded in the agribalyse food code (5 digits);
Clearly this will not fit a standard 13 digit EAN-code.
For example the Almonds (agribalyse: 15000) I bought at the SuperU in Veynes (node: 486004903) could be encoded as: 1 00486004903 15000 00. This is a 19 digit code where some padding has been added just in case.
This would lead this product on OFF.