sideshow.db.model.products

Data models for Products

class sideshow.db.model.products.LocalProduct(**kwargs)[source]

This table contains the local product records.

Sideshow will do customer lookups against this table by default, unless it’s configured to use external products instead.

Also by default, when a new order batch with pending product(s) is executed, new record(s) will be added to this local products table, for lookup next time.

brand_name

Brand name for the product - up to 100 chars.

case_size

Case pack count for the product, if known.

department_id

ID of the department to which the product belongs, if known.

department_name

Name of the department to which the product belongs, if known.

description

Description for the product - up to 255 chars.

external_id

ID of the true external product associated with this record, if applicable.

new_order_batch_rows

List of NewOrderBatchRow records associated with this product.

notes

Arbitrary notes regarding the product, if applicable.

order_items

List of OrderItem records associated with this product.

scancode

Scancode for the product, as string.

Note

This column allows 14 chars, so can store a full GPC with check digit. However as of writing the actual format used here does not matter to Sideshow logic; “anything” should work.

That may change eventually, depending on POS integration scenarios that come up. Maybe a config option to declare whether check digit should be included or not, etc.

size

Size of the product, as string - up to 30 chars.

special_order

Flag indicating the item is a “special order” - e.g. something not normally carried by the store. Default is null.

unit_cost

Cost of goods amount for one “unit” (not “case”) of the product, as decimal to 4 places.

unit_price_reg

Regular price for a “unit” of the product.

vendor_item_code

Item code (SKU) to use when ordering this product from the vendor identified by vendor_name, if known.

vendor_name

Name of vendor from which product may be purchased, if known. See also vendor_item_code.

weighed

Flag indicating the product is sold by weight; default is null.

class sideshow.db.model.products.PendingProduct(**kwargs)[source]

This table contains the pending product records, used when creating an order for new/unknown product(s).

Sideshow will automatically create and (hopefully) delete these records as needed.

By default, when a new order batch with pending product(s) is executed, new record(s) will be added to the local products table, for lookup next time.

brand_name

Brand name for the product - up to 100 chars.

case_size

Case pack count for the product, if known.

created

Timestamp when the product record was created.

created_by

Reference to the User who created the product record.

department_id

ID of the department to which the product belongs, if known.

department_name

Name of the department to which the product belongs, if known.

description

Description for the product - up to 255 chars.

new_order_batch_rows

List of NewOrderBatchRow records associated with this product.

notes

Arbitrary notes regarding the product, if applicable.

order_items

List of OrderItem records associated with this product.

product_id

ID of the true product associated with this record, if applicable.

scancode

Scancode for the product, as string.

Note

This column allows 14 chars, so can store a full GPC with check digit. However as of writing the actual format used here does not matter to Sideshow logic; “anything” should work.

That may change eventually, depending on POS integration scenarios that come up. Maybe a config option to declare whether check digit should be included or not, etc.

size

Size of the product, as string - up to 30 chars.

special_order

Flag indicating the item is a “special order” - e.g. something not normally carried by the store. Default is null.

status

Status code for the product record.

unit_cost

Cost of goods amount for one “unit” (not “case”) of the product, as decimal to 4 places.

unit_price_reg

Regular price for a “unit” of the product.

vendor_item_code

Item code (SKU) to use when ordering this product from the vendor identified by vendor_name, if known.

vendor_name

Name of vendor from which product may be purchased, if known. See also vendor_item_code.

weighed

Flag indicating the product is sold by weight; default is null.

class sideshow.db.model.products.ProductMixin[source]

Base class for product tables. This has shared columns, used by e.g.: