Skip to content

Key Concepts

Contracts

A contract is the central record in FoxCLM: an agreement you draft, review, approve, send for signature, and then track through its life. Each contract has a number (e.g. CT-2026-0105), a type, a value, start/end dates, and a status. The editor organises everything on a contract into tabs: Details, Parties, Obligations, Signatures, Amendments, and History.

Supporting concepts:

  • Template - a reusable starting point for a contract type, with default content and an obligation schedule
  • Clause library - reusable paragraphs indexed by category and tags, dropped into contracts as you draft
  • Party - a person or company on the contract; parties marked requires signature sign via a public link
  • Obligation - a tracked commitment with a due date (e.g. "submit certificate of insurance within 14 days")
  • Amendment - a linked child contract that modifies an executed one
  • Renewal - end-date-driven alerts and optional auto-renewal

See Contracts Overview for the full picture.

The contract lifecycle

Every contract moves through a status workflow. The default contract lifecycle runs:

Draft -> Under Review -> Submitted for Approval -> Approved -> Out for Signature -> Active

with branches for Rejected, Expiring Soon, Renewed, Amended, Terminated, and Expired. Draft and Under Review are editable; once a contract is submitted for approval it locks, and Revert to Draft is how you unlock it to make changes.

A contract is pinned to one workflow for its entire life. The workflow is resolved when the contract is created (from an explicit choice, its template, or the tenant default) and is immutable after that - there is no repin. To change the process a contract will follow, set it on the template or change the default before creating the contract. This keeps every contract governed by a single, consistent process end to end.

Sessions and events

A session (or class, or event) is the core unit of scheduling. Each session has a start and end time, one or more linked clients, an optional staff assignment, and a status.

Sessions can be one-off or recurring (daily, weekly, monthly, or custom patterns).

Statuses and workflows

Workflows are not just for contracts - every contract, session, invoice, and client has a status (a label like "Scheduled", "Sent", "Active", or "Cancelled), and you arrange those statuses into a workflow with transitions between them.

The building blocks:

  • Status - a label on a record
  • Transition - a move from one status to another; fires manually (a button) or automatically
  • Condition - an optional rule on a transition (e.g. "only if due_date < today"), with operators, static or column comparisons, and and/or logic
  • Action - a side-effect that fires when the transition runs (send an email, call a webhook, create an invoice, share a link, and more)
  • Auto-advance - a background job that fires any transition whose condition has become true, so records move forward with no manual work

See Automation Overview and Workflows & Statuses for the full reference.

Clients

A client is a person or household that receives instruction. Clients are linked to sessions and invoices. You can add unlimited custom fields to capture any information specific to your business.

Staff vs. Collaborators

StaffCollaborators
Who they areInstructors you employBusiness partners or assistants
AccessStaff portal (own schedule + payroll only)Full workspace access (with permission limits)
Permission modelSet by ownerview / moderator / admin per resource
PayrollYes - hourly, per-session, or commissionNo

Booking requests

A booking request is an inbound session request from a prospective client via a public booking page. You review and approve or reject requests; approved requests create a session automatically.

FoxCLM Documentation