MCP Module Reference

Passenger & vehicle types (fare items) module — JetSetGo MCP reference

The pattypes module manages JetSetGo's taxonomy of bookable people and things — internally called PATs (People And Things). It is a strictly two-level hierarchy: fare item types are the top-level categories (Passenger, Vehicle, Cabin, Equipment, …), and fare categories ("PAT sub-types") are the atomic kinds beneath them (Adult/Child under Passenger; Car/Truck under Vehicle). Fare categories are the unit everything downstream references — consumption rules, price rows, inventory allocation, and manifests all attach to categories, never to types.

What the operator uses it for

Operators maintain the shared vocabulary of booking. On a fare item type they set display labels (singular/plural descriptors), booking-flow phrasing (the question asked when adding one, the question shown for its sub-types, the "add another" button label, summary title), icons, an abbreviation, and operational flags: whether it issues tickets, appears on manifests, is staff-manageable, allows multiple per booking, and whether it is a gift-voucher type. A type can also link a custom field as its descriptor field.

On a fare category they set singular and plural names, icon, sort order within the parent type, an internal comment, and — when the parent type is a voucher type — the voucher value and currency.

Where it sits

Upstream: custom-field definitions (a type may reference one via its descriptor field). Downstream consumers of fare categories: consumption rule sets (behaviours) decide which categories are bookable per resource and their capacity cost; Pricing holds price rows per category; inventory allocates capacity against them; check-in surfaces them on manifests; and resources inherit eligibility through their bound rule set. Because categories carry operational weight, deletion is deliberately not exposed over MCP.

Key concepts

  • Fare item / passenger-or-vehicle type ("PAT type") — top-level category carrying labels, phrasing, and operational flags.
  • Fare category ("PAT sub-type") — atomic bookable kind under a type; the unit referenced by every other module.
  • Booking-flow phrasingbooking_question, pst_question, add_another_button, summary_title, and singular/plural descriptors that shape customer-facing copy.
  • Operational flags — issue tickets, show on manifest, staff-manageable, allow multiple per reservation.
  • Voucher types — a type flagged is_voucher whose categories should carry a value and currency; used by gift vouchers.
  • Sort key — 1-indexed display order within the parent; user-visible.

Tools

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

Tool Class Purpose
pattypes_list Read List fare-item types ordered by sort key; filters: name contains, status.
pattypes_get Read Fetch one fare-item type by id.
pattypes_subtypes_list Read List a type's fare categories ordered by sort key; optional status filter.
pattypes_subtypes_get Read Fetch one fare category by id (with parent type name where tracked).
pattypes_save Guarded write Create (requires name) or update a fare-item type; any subset of fields on update.
pattypes_subtypes_save Guarded write Create (requires name, plural name, parent type) or update a fare category.

Rules worth knowing

  • No delete tools exist. Deletion is handled outside the MCP with reference-integrity checks because categories are referenced by rule sets, pricing, and inventory; retire records instead with status='inactive' through the save tools.
  • Two levels only. Types contain categories; there is no deeper nesting, and no cross-parent moves beyond supplying a new parent id on update.
  • Create requirements differ by level. A type needs only a name; a category needs name + plural name + parent type id, and defaults to status active.
  • Sort keys auto-assign on create. If omitted, a new category gets the parent's current count + 1; reorder by updating sort_key.
  • Voucher validation. When supplied, voucher_value must be greater than zero, and voucher_currency is uppercased and truncated to three characters.
  • Change detection uses full-row fingerprints. These tables expose no reliable last-updated column to the reads, so concurrent-modification checks compare complete row content rather than a timestamp.
  • Status is an enum, not free text: only 'active' or 'inactive'.
  • Behaviours — consumption rule sets choose which types/categories are bookable and define each category's capacity consumption.
  • Pricing — holds price rows per fare category.
  • Resources — sell fare items subject to their bound rule set's eligibility.

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