Product Catalogue Schema
The authoritative catalogue of everything PF TECH sells — one-time products, recurring plans, and the add-ons that attach to them.
What it stores
The authoritative catalogue of everything PF TECH sells — one-time products, recurring plans, and the add-ons that attach to them. It mirrors the billing system so what is offered and what is billed stay in lockstep.
Owned by the Revenue agent. Lives in the Internal Tools database · revenue schema.
The tables
Friendly names first, with the real table name underneath. Key fields only.
Productsrevenue.products
One-time purchases and bespoke services.
| Column | Type |
|---|---|
name | Text |
streamWhich line of business | Text |
price | Number |
currencyCAD or USD | Choice |
audienceWho it's for | List |
is_bespokeCustom-quoted service | Yes/no |
Subscription Plansrevenue.payment_plans
Recurring subscription plans.
| Column | Type |
|---|---|
name | Text |
recurring_amount | Number |
billing_periodweekly, monthly, or yearly | Choice |
currencyCAD or USD | Choice |
discount_schedulePrepay and bundle discounts | Structured |
Relationships
- many-to-many
revenue.addons. Linked through plan ↔ add-on
Add-onsrevenue.addons
Optional extras that attach to a plan.
| Column | Type |
|---|---|
name | Text |
amount | Number |
frequencyrecurring or one-time | Choice |
Relationships
- many-to-many
revenue.payment_plans. Attaches to many plans
Plan ↔ Add-on Linksrevenue.plan_addons
Which add-ons belong to which plans.
| Column | Type |
|---|---|
payment_plan_id→ a plan | ID |
addon_id→ an add-on | ID |
Relationships
- one-to-many
revenue.payment_plans. References a plan - one-to-many
revenue.addons. References an add-on
You don't need all of this to start
Most of what these agents rely on has a simpler equivalent. Anywhere we use a database, you can usually start with a spreadsheet or a document — whatever you're comfortable with. Anywhere we built a custom MCP server, you can reach for a prebuilt AI connector instead of building your own.
We go further because it's where our experience pays off. Years of hands-on database work make a custom data layer feasible for us, and purpose-built MCP servers let us hand each agent a short, sharp instruction file and exactly the tools it needs — custom descriptions, only the endpoints we want, and the occasional extra gate — instead of a long manifesto or playbook. Nothing more, nothing less.
Ready to build technology that works for your mission?
Tell us where your organisation is and what's slowing your team down. We respond personally.