SIGNALS Documentation
API Reference

Accessories

Link related catalogue items together so accessories are suggested and tracked alongside a parent catalogue item.

Overview

Accessories let you associate one catalogue item with others that typically go out together — for example, a moving-head fixture with its clamp, safety bond, and power cable. Each accessory is a link between a parent catalogue item and an accessory catalogue item (both are ordinary catalogue items in your catalogue), carrying a quantity and a couple of pricing flags. Accessories are managed per-catalogue item from the catalogue item detail page and exposed over the REST API as a nested resource.

Accessories Tab

Route: /catalogue-items/{id}/accessories

The Accessories tab on the catalogue item detail page lists every catalogue item currently linked as an accessory of the catalogue item you are viewing.

Column Description
Accessory The linked accessory catalogue item (links through to that catalogue item)
Type The accessory catalogue item's type badge (Rental, Sale, Service, Loss & Damage)
Quantity How many of the accessory go with one of the parent catalogue item

The tab header shows the total accessory count. Each row has a Remove action that unlinks the accessory (with a confirmation prompt).

Adding an Accessory

Click Add Accessory to open the picker modal:

  • Search catalogue item — type at least two characters to search the catalogue by name. The catalogue item you are editing and any catalogue items already linked are excluded from the results.
  • Quantity — how many of the accessory accompany one parent catalogue item (defaults to 1, minimum 1).

Select a catalogue item from the search results and click Add to create the link.

Note: A catalogue item cannot be an accessory of itself, and the same accessory catalogue item cannot be linked to the same parent twice — both are enforced when you add an accessory.

Accessory Fields

Each accessory link stores the following:

Field Description
catalogue_item_id The parent catalogue item
accessory_catalogue_item_id The linked accessory catalogue item
quantity How many accessories per parent catalogue item
included Whether the accessory is included by default when the parent is added to an order
zero_priced Whether the accessory is charged at zero when included
sort_order Display order among a catalogue item's accessories

included and zero_priced have separate runtime meanings. An included link is materialised automatically when its parent is added to a rental. zero_priced makes that materialised line an explicit manual zero; without it, normal pricing is retained. Nested included accessories multiply exact quantities through the tree, parent quantity changes update the generated subtree, and removing the parent removes that subtree. Manual additions remain manual rather than being reclassified as automatic.

Each accessory link has a stable logical identity. Reorder and edit preserve it; removal retires it; restoring the same relationship reuses it. Rental lines pin the immutable catalogue composition revision they were created from, so a later accessory edit does not change an existing rental's definition.

Deletion Behaviour

Accessory links are scoped to their parent catalogue item. Deleting either the parent catalogue item or the accessory catalogue item removes the link automatically (the database cascades on delete), so there are never orphaned accessory rows.

API Access

Accessories are fully manageable over the REST API as a resource nested under catalogue items. See the Accessories API reference for endpoints, request bodies, and response shapes.