> ## Documentation Index
> Fetch the complete documentation index at: https://docs.erna.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# SolveOptions

Options for [Schedule.solve](./Schedule#solve) and [Schedule.compile](./Schedule#compile).

## Properties

<ResponseField name="dateRange" type="object" required>
  The date range to schedule.

  <Expandable title="properties">
    <ResponseField name="end" type="${number}-${number}-${number}" required />

    <ResponseField name="start" type="${number}-${number}-${number}" required />
  </Expandable>
</ResponseField>

<ResponseField name="pinned" type="pinned?: ShiftAssignment[]">
  Fixed assignments from a prior solve (e.g., rolling schedule).
  These are injected as fixed variables in the solver.

  Not yet implemented. Providing pinned assignments throws an error.
</ResponseField>

<ResponseField name="strategy" type="strategy?: SolveStrategy">
  Strategy used by the solver.

  `{ type: "optimize" }` optimizes objectives and soft constraints.
  `{ type: "feasibility-only" }` finds any hard-feasible solution, ignoring
  objectives, soft-constraint penalties, and objective-derived metadata such
  as cost.
</ResponseField>

<ResponseField name="timeLimitSeconds" type="timeLimitSeconds?: number">
  Solver time limit in seconds.
</ResponseField>
