MCP Module Reference

Product types module — JetSetGo MCP reference

The producttypes module manages the product-type taxonomy: product types (broad categories such as Ferry, Tour, Bus, Accommodated Cruising) and their product sub-types (e.g. "Dinner Cruise" under a type). Every resource must carry a product type to exist; sub-types are an optional second level of classification.

What the operator uses it for

Operators curate the classification scheme the rest of the platform filters and reports by. A product type carries a name and a required icon identifier; a road_service flag (trace the planned route on roads) exists on newer deployments. Sub-types let operators group related products within a type — for reporting, filtering, and allocation-rule targeting in Pricing, Commissions, and GL rules — without changing booking behaviour.

Classification is deliberately inert: assigning a product type does not affect what can be booked or how capacity is consumed. Those decisions belong to the consumption rule set bound on each resource.

Where it sits

Downstream consumers: every resource references a product type id (required, NOT NULL) and optionally a sub-type id; pricing price lists, commissions, and GL rules reference types/sub-types in their allocation rules as grouping dimensions. Upstream: none — this is pure reference data at the top of the catalogue taxonomy.

Key concepts

  • Product type — broad category (Ferry, Tour, Bus, …); name plus icon identifier.
  • Product sub-type — optional refinement under a type ("Dinner Cruise" under Tour); parent id plus name.
  • Icon class — required identifier for the type's display icon.
  • Road-service flag — boolean indicating route tracing on roads; only present where the tenant's schema tracks it.
  • Soft delete — both levels retire by setting deleted=true; reversible, and listings exclude retired rows.

Tools

Write tools follow the two-phase guarded pattern (preview returns a previewToken; confirm executes).

Tool Class Purpose
producttypes_list Read List non-deleted product types with their nested sub-types.
producttypes_get Read Fetch one product type by id, including nested sub-types.
producttypes_list_subtypes Read List one product type's sub-types (with parent name where tracked).
producttypes_save_type Guarded write Create (requires name + icon class) or update any subset of fields.
producttypes_delete_type Guarded write (destructive) Soft-delete a type (deleted=true, reversible).
producttypes_save_subtype Guarded write Create (requires parent type + name) or rename a sub-type.
producttypes_delete_subtype Guarded write (destructive) Soft-delete a sub-type (deleted=true, reversible).

Rules worth knowing

  • Name and icon class are mandatory on create and must be non-empty after trimming; updates accept any subset but reject empty-after-trim values.
  • Sub-types cannot be reparented via update. The update path accepts a new name only; the parent type is fixed at creation.
  • Deleting a type does not cascade. Its sub-types remain independent rows; soft-delete is per record.
  • road_service is availability-gated. The module probes once per tenant whether the column is tracked and includes it in reads/writes only where available; on create where available it defaults to false.
  • Reads always filter out soft-deleted rows, so retired types and sub-types disappear from list results rather than appearing with a status flag.
  • No ordering guarantees beyond id are documented for lists; do not assume sort order when presenting results.
  • Resources — every resource references a product type (required) and optionally a sub-type.
  • Pricing — uses types/sub-types as grouping dimensions in allocation rules.
  • Fare items (passenger & vehicle types) — the separate bookable-entity taxonomy; product types classify products, fare items classify who/what is booked.

See it on your operation

A 30-minute call. We show you the platform with your routes, your fleet, your numbers. No slideshow, no high-pressure sales.

Book a Demo