rattail.db.model.batch.product

Data model for generic “product” batches

class rattail.db.model.batch.product.ProductBatch(**kwargs)[source]

Primary data model for product batches.

cognized

Date and time when the batch data was last cognized.

cognized_by

Reference to the User who last cognized the batch data.

cognized_by_uuid
complete

Flag to indicate whether the batch is complete. This may be used to assist with workflow when entering/executing new batches.

created

Date and time when the batch was first created.

created_by

Reference to the User who first created the batch.

created_by_uuid
data_rows

Collection of data rows for the batch.

Note

I would prefer for this attribute to simply be named “rows” instead of “data_rows”, but unfortunately (as of this writing) “rows” is essentially a reserved word in FormAlchemy.

description

Basic (loosely identifying) description for the batch.

executed

Date and time when the batch was (last) executed.

executed_by

Reference to the User who (last) executed the batch.

executed_by_uuid
extra_data

Extra field for arbitrary data, useful to the batch handler etc. Note that there is no structure assumed here, it can be JSON or whatever is needed.

id

Numeric ID for the batch, unique across all “new-style” batches within the Rattail database.

input_filename

Base name of the input data file, if applicable.

notes

Any arbitrary notes for the batch.

params

Extra parameters for the batch, encoded as JSON. This hopefully can be useful for “many” batches, to avoid needing to add extra flags to the schema etc.

purge

Date after which the batch may be purged.

row_class

alias of ProductBatchRow

rowcount

Cached row count for the batch. No guarantees perhaps, but should be accurate.

status_code

Status code for the batch as a whole. This indicates whether the batch is “okay” and ready to execute, or (why) not etc.

status_text

Text which may briefly explain the batch status code, if needed.

uuid
class rattail.db.model.batch.product.ProductBatchRow(**kwargs)[source]

Row of data within a product batch.

batch

Reference to the parent batch to which the row belongs.

batch_uuid
brand_name

Brand name of the product.

category

Reference to the category for the item.

current_cost

The “true” unit cost for the item, i.e. with discounts applied.

current_cost_ends

Date/time when the current cost ends, if applicable.

current_cost_starts

Date/time when the current cost starts, if applicable.

current_price

The “current” unit price for the item.

current_price_ends

Date/time when the current price ends, if applicable.

current_price_starts

Date/time when the current price starts, if applicable.

department

Reference to the department to which the product belongs.

department_name

Name of the department to which the product belongs.

department_number

Number of the department to which the product belongs.

description

Description of the product.

family

Reference to the family for the item.

item_entry

Raw entry value, as obtained from the initial data source, and which is used to locate the product within the system. This raw value is preserved in case the initial lookup fails and a refresh must attempt further lookup(s) later. Only used by certain batch handlers in practice.

item_id

Generic ID string for the product associated with the row.

modified

Last modification time of the row. This should be automatically set when the row is first created, as well as anytime it’s updated thereafter.

product

Reference to the product with which the row is associated, if any.

product_uuid
regular_cost

The “base” unit cost for the item, i.e. with no discounts applied.

regular_price

The “regular” unit price for the item.

removed

Flag to indicate a row has been removed from the batch.

reportcode

Reference to the “report code” object for the item.

sequence

Sequence number of the row within the batch. This number should be from 1 to the actual number of rows in the batch.

size

Size of the product, as string.

status_code

Status code for the data row. This indicates whether the row’s product could be found in the system, etc. Ultimately the meaning of this is defined by each particular batch type.

status_text

Short description of row status. Ultimately the meaning and use of this is defined by each particular batch type.

subdepartment

Reference to the subdepartment to which the product belongs.

subdepartment_name

Name of the subdepartment to which the product belongs.

subdepartment_number

Number of the subdepartment to which the product belongs.

suggested_price

The “suggested” retail price for the item.

upc

UPC for the product associated with the row.

uuid
vendor

Reference to the “preferred” vendor from which product may be purchased.

vendor_item_code

Vendor-specific item code (SKU) for the product.