Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz Source: /opt/alga-psa on psa.joliet.tech
2.8 KiB
PRD — Service Request Template Starter Pack
- Slug:
service-request-template-starter-pack - Date:
2026-04-16 - Status: Draft
Summary
Expand the CE built-in service request starter pack from a single New Hire template to six common MSP service templates.
The starter pack should provide practical, balanced forms that are immediately useful in CE with ticket-only execution, basic form behavior, and all-authenticated-client-users visibility.
Problem
The current built-in template set is too thin to demonstrate the service request feature well. MSP admins only see one starter template, which makes the feature feel incomplete and reduces first-run value.
Goals
- Add six common MSP starter templates to the CE starter pack.
- Keep templates compatible with the current CE field builder and execution model.
- Use polished process-style names and realistic portal copy.
- Keep template instantiation behavior unchanged: templates become ordinary detached drafts.
- Avoid mutating tenant billing/service categories as part of template creation.
Non-goals
- Adding request-specific category tables or a broader category refactor.
- Auto-creating
service_categoriesrows during template creation. - Adding EE-only workflow assumptions to the CE starter pack.
- Changing template/provider registry architecture.
Target Templates
- New Hire Onboarding
- Employee Offboarding
- Access Request
- Hardware Request
- Software / License Request
- Shared Mailbox / Distribution List Request
Functional Requirements
Template content
Each template must define:
- user-facing name
- description
- icon
- basic-form schema with balanced fields
- CE-safe provider defaults
- a default ticket title template
Provider defaults
Each built-in template must use:
- execution provider:
ticket-only - form behavior provider:
basic - visibility provider:
all-authenticated-client-users
Category handling
Because template metadata only supports tenant-scoped category_id values and current service request categories reuse service_categories, built-in templates must leave category unset in v1.
This avoids hidden category creation or billing taxonomy coupling.
Detached draft behavior
Instantiating a template must still create a normal editable draft row with no persistent template linkage.
Acceptance Criteria
- The CE starter provider exposes six templates.
listServiceRequestTemplateOptions()returns all six templates.- Instantiating any template creates a draft definition with:
- expected metadata
- expected form schema
- expected CE-safe providers
category_id = null
- Re-instantiating the same template produces a fresh draft unaffected by edits to prior template-derived drafts.
- Tests cover template discovery and representative instantiation behavior.