| Field | Required | Notes |
|---|
| Name | Yes | Display name at POS and in reports |
| SKU | No | Optional package SKU; shown as monospace chip in list |
| Description | No | Short text; searchable |
| Active | Yes (default on) | Inactive packages hidden from counter selection |
Line items
| Field | Notes |
|---|
| Product | Must exist in tenant catalog; no duplicates per package |
| Quantity | Integer ≥ 1 |
| Price mode | default = retail price at sale time; custom = adjustment |
| Adjustment | % or fixed Rs when custom; applied to base retail price |
Service charge
| Type | Behavior |
|---|
| Fixed | Flat Rs added to items subtotal |
| Percentage | % of items subtotal |
Stored on package_products.include_service_charge, service_charge_amount, service_charge_type.
Permissions
Users need catalog product permissions to access /pims/package-products. Create, edit, and delete use the same route guard as the Products area.
Data model
package_products — header row per bundle
package_product_items — product lines with qty and pricing overrides
- RPCs:
fetch_package_products, fetch_package_product_details, search_products_prefix