@ossy/consultancy
v1.16.3
Published
Consultancy feature package — schemas for employees, contracts, opportunities, and proposals
Downloads
6,483
Readme
@ossy/consultancy
Consultancy feature package for the Ossy platform — schemas and UI for employees, contracts, company information, vacations, and the opportunity → proposal sales pipeline.
What's included
Pages
| File | Page id | Default paths |
|---|---|---|
| consultancy.page.jsx | consultancy/home | /consultancy (en), /konsultverksamhet (sv) |
The home page shows company overview data (fiscal years, registration, VAT) via @ossy/calendar's useCompany hook.
Schemas (ADR 0006)
Document types are defined in *.schema.js. Import canonical ids from ConsultancySchema.
| Schema | Id | Purpose |
|--------|-----|---------|
| Employee | @ossy/consultancy/schema/employee | Consultant employment records |
| Contract | @ossy/consultancy/schema/contract | Client contracts linked to employees |
| Company Basic Info | @ossy/consultancy/schema/company-basic-info | Company registration and VAT details |
| Vacation | @ossy/consultancy/schema/vacation | Employee vacation periods |
| Opportunity | @ossy/consultancy/schema/opportunity | Sales pipeline leads and qualification |
| Proposal | @ossy/consultancy/schema/proposal | Draft and sent proposals linked to opportunities |
Document instances are stored under /@ossy/consultancy/ (see the location export in locations.js).
Opportunity → proposal pipeline
These schemas support platform automation workflows:
- Opportunity — tracks lead status (
new→qualified→proposal→won/lost/deferred), fit scoring, contact details, and a link to a proposal vialinkedProposalId. - Proposal — references its parent opportunity via
opportunityIdand progresses throughdraft→sent→accepted/rejected.
Exports
| Export | Description |
|---|---|
| ConsultancySchema | Canonical schema id constants |
| employeeSchema, contractSchema, … | Schema definitions for manifest build |
| location | Workspace storage path (/@ossy/consultancy/) |
| Definition | Feature metadata for store/sidebar (statuses: ['beta']) |
Usage
npm install @ossy/consultancy
npm run build@ossy/app discovers pages automatically via "ossy": { "src": "./src" } in package.json. Schemas are picked up from *.schema.js files at build time.
import { ConsultancySchema, employeeSchema } from '@ossy/consultancy'
ConsultancySchema.employee
// => '@ossy/consultancy/schema/employee'Migration from resource templates
This package migrated from *.resource.js to ADR 0006 schemas. Stored resource.type values changed:
| Before | After |
|--------|-------|
| @ossy/consultancy/employee | @ossy/consultancy/schema/employee |
| @ossy/consultancy/contract | @ossy/consultancy/schema/contract |
| @ossy/consultancy/companyBasicInfo | @ossy/consultancy/schema/company-basic-info |
| @ossy/consultancy/vacation | @ossy/consultancy/schema/vacation |
Dependencies
| Package | Role |
|---|---|
| @ossy/schema | Canonical id grammar and schema validation |
| @ossy/calendar | DataLoader, useCompany on overview page |
| @ossy/design-system | Layout primitives and Page component |
| @ossy/router-react | Page routing |
| react | UI |
