Products
A product is anything sellable that isn't a room or a trip: equipment rental, courses, airport transfers, meals, retail items, insurance, surcharges, and more. Products can be added to a booking, sold at the POS, offered in your online booking widget, and — optionally — tracked in stock.
Who can access this: requires the Products (read) permission. Creating and editing require Products (create) / Products (update).
Product list with category and asset filters
The product list
Open Master Data → Products → All Products. Filter by category, status, and asset, and export to CSV. Click a product to edit it, Create to add one, or use Copy to duplicate an existing product as a starting point.
Creating a product
Click Create. A new product opens on the Product tab. Fill in the essentials:
| Field | What it does |
|---|---|
| Name | The product name (required). |
| Status | Active, Draft, or Archived. |
| Product Category | One or more categories (required). Drives grouping and commission. |
| POS menu category | The category the product appears under on the POS screen. |
| Asset | Which resort(s)/vessel(s)/dive center(s) sell this product. |
| Internal ID | An optional internal code. |
| Ignore date range | When on, the product is always available. When off, set the from/to dates it can be sold. |
Save to create the product. The remaining tabs (translations, price, stock, images) appear once the product exists.
How the product behaves
Below the main fields, three cards control where and how the product can be used.
POS & stock
- Available in POS — show the product on the POS counter.
- Product with Stock — track inventory for this product (see Product stock).
- Stock Type — Consumption Good (used up when sold, e.g. a drink), Reusable Good (rental gear that comes back), or Individual Item (serialized equipment tracked one unit at a time — see Equipment items).
- Has delivery chain — for products that go through a kitchen/delivery display.
Booking behaviour
- Type — how the line is treated on a booking: Mandatory for new bookings (added to every new booking automatically) or Optional (offered, but only added when staff or the guest chooses it).
- Mandatory for online bookings — the customer must take it when booking online.
- Can be added by the customer for direct bookings — the product is offered in online booking.
- Add up for all customers and add only once to each booking — combine the quantity across guests into a single line.
- Can be changed in a booking / Can be removed from a booking — whether staff can edit or delete the line.
- Add with quantity equal to 1 — always add as a single line (adding more raises the unit price instead of the quantity). Not available for stock products.
- Requires a date range selection when adding to booking — force a from/to choice, e.g. for rental days.
- Always add to deposit / Always ignore from deposit — force the line in or out of the deposit calculation.
- Default customer type — Direct, On-site, or For free.
Guest form
- Additional information is needed after booking and The product is available in the guest form surface the product in the pre-arrival guest form so guests can add or configure it.
- When available in the guest form is on, a per-language comment field appears for each of your active languages. Whatever you type there is shown to the guest next to the product on the form — use it for a short instruction such as "State your shoe size".
Tip: If the Transfers module is on, a product can carry a default route template, so turning a sold "Airport transfer" line into a real transfer pre-fills the route. See Transfers.
Translations
The Translations tab holds a title and rich-text description for each of your active languages. The chips below the editor list the placeholders (such as number of nights or dive days) you can drop into the text; they fill in automatically per booking.
Price
The Price tab is where you set what the product costs and how the price is worked out.
- Unit — how the product is added: per person, per booking, per night, and so on. Optionally set a minimum amount and a custom unit amount.
- Purchasing Price — your cost, used for margin reporting. For stock products you can instead use the average stock purchase price.
- Price — one selling price per currency you enabled.
- Graduated Price — charge a different price at higher quantities (for example, cheaper per unit from 5 upwards). Choose how it rounds and calculates.
- Use a price per season — set separate prices for each price season.
- Tax — exclude the product from tax, or from specific on-site taxes.
- On-site — options for how the product behaves on the on-site bill, including an optional relative (percentage) value and whether it can be discounted.
Note: Only the currencies you tick under Price get their own price fields everywhere else on this tab, including graduated and seasonal prices.
Unit options
The Unit is the single biggest driver of the final price — it decides how many times the price is multiplied on a booking:
| Unit | Charges the price… |
|---|---|
| Person | once per guest. |
| Booking | once per booking, whatever the party size. |
| Booking (no of pax) | once per booking, multiplied by the number of guests. |
| Day/Person | per day, per guest. |
| Night/Person | per night, per guest. |
| Dive/Person | per dive, per guest. |
| Dive day/Person | per dive day, per guest. |
| Per Week (rounded) / Per Week (rounded up) | per week of stay, rounded down or up. |
Graduated pricing, worked through
Say a T-shirt sells for €20 each and you add a graduated row From quantity 5 → €16. A guest buying 6 shirts is then charged at the €16 tier instead of €20. The Rounding type controls how the resulting total is rounded, and the Price Type controls whether each graduated figure is read as a per-unit price or as the complete price for that tier. Graduated prices need a value in every currency you enabled — the same rule as the base Price.
On the on-site bill
The On-site box also lets you add a Sub Total row before the product on the on-site invoice (useful for a service charge that applies to everything above it), set a relative (percentage) value instead of a fixed price, and control whether the line can be discounted.
Product commission
Products participate in commission through the commission records defined in Master Data — Accommodation & Pricing. A commission can have a rule scoped to a product or a product category; when a booking contains a matching product line, the agency earns that commission on it.
Gurita can also re-add a rate-sheet commission automatically when a booking gains a matching product line — but only when the agency has that commission active with a value above zero, and the booking actually contains something the commission applies to. Assign product commissions to an agency on the agency's Commission tab.
Product categories
Master Data → Products → Product Categories groups products for the menu, reports, and commission.
Product category dialog
| Field | What it does |
|---|---|
| Name | The category name. |
| Key | A short code (auto-suggested from the name). |
| Status | Draft, Active, or Archived. |
| Available in POS | Show this category on the POS. |
| Type | Optional usage type(s) for reporting. |
| Asset | Restrict the category to certain assets. |
You can also add per-language titles/descriptions and images. To reorganise, use Move products (folder icon on a row, or the dialog) to move every product from one category to another in one step.
Product stock
If you sell physical goods, turn on Product with Stock on the product and manage levels under Master Data → Products → Stock.
Who can access this: requires the Products (read) permission and the Stock module.
Product stock list with inline stock editing
The stock list shows every stocked product with an available (reserved / total) chip. Filter by Active, Negative stock, or Out of stock, by category, and by asset, and print a stock sheet from a template.
Working with stock
- Click a stock chip to adjust the amount inline, or open the product's Stock tab.
- On the product's Stock tab you get four totals — Stock, Reserved, Available, and Consumed — plus a full log of every movement.
- Add records a purchase (an incoming quantity, with a date, cost, and currency).
- Consum records a manual removal (loss, breakage, internal use).
- Reset recalculates the whole stock from the underlying sales and purchases (admin only) — use it if the totals ever look wrong.
How selling deducts stock
- Selling a stock product at the POS removes it from stock.
- When a POS bill is charged to a guest's room bill, the deduction moves from the POS to the booking, so it is only counted once.
- Every sale first reserves stock. It only becomes consumed when the booking is confirmed and resolved (a committed stay), or when the POS bill is settled.
- Cancelled or replaced bookings — and tentative bookings that never became a real stay — release their reservation back into available stock.
A worked example — reserve vs. consume
Suppose you stock 40 wetsuits as a Reusable Good and 200 cans of cola as a Consumption Good.
- A guest books next week and takes a wetsuit. The wetsuit is reserved for the rental dates, so Available drops by one while it is out, then returns to the pool once the rental period ends — nothing is ever used up.
- The same guest buys a cola at the POS. One can is reserved immediately and Available shows 199. When the bill is settled — or the confirmed stay is resolved — the can moves from Reserved to Consumed and Stock drops to 199 for good.
- If that guest's booking is cancelled before it happens, both reservations are released back into Available. A tentative booking that never becomes a real stay never consumes stock.
That is why the Stock Type matters: a Reusable Good only ever counts what is out right now, while a Consumption Good is drawn down permanently.
Warning: If a product's totals show everything as available with nothing reserved or consumed even though it has been selling, check its Stock Type. A Reusable Good is counted like rental gear (only what is out today is "reserved"); set it to Consumption Good and reset if it should be sold and used up.
