---
id: SCR-PFM-QRY-005
title: Schedule editor
route: >-
  /console/{tenantId}/queries/schedules/{id}/edit and /console/{tenantId}/queries/schedules/new
  (both open the editor dialog)
surface: console
product_area: platform
module: queries
revision: 1
status: draft
design_intent: proposed
implementation_evidence: observed
inference: []
source_sha:
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
purpose: 'Configure a recurring delivery’s source values, recurrence, file format, recipients and message.'
supports:
  - JNY-PFM-QRY-002
  - JNY-PFM-QRY-004
  - CAP-PFM-QRY-015
permission: >-
  platform.queries.read with platform.query-schedules.use or .manage; external addresses need
  .external-recipients; report schedules need platform.reports.use
entry_from:
  - Saved query workspace (New Schedule)
  - Report view (Schedule)
  - Schedules list (Edit)
  - Schedule detail (Edit)
exits_to:
  - Schedule detail
  - the page it was opened over
displays:
  - field: 'Readable recurrence preview with problems, warnings and five upcoming occurrences.'
    source: previewQuerySchedule
  - field: Permitted delivery templates and initial message content.
    source: 'listDeliveryTemplates, getDeliveryTemplateStarter'
  - field: 'Matching active recipient users, limited to twenty candidates.'
    source: findRecipientUsers
  - field: 'Existing source, recurrence and delivery fields for editing.'
    source: getQuerySchedule
actions:
  - label: Create
    operation_id: createQuerySchedule
    permission: platform.query-schedules.use
    confirm: false
  - label: Save
    operation_id: replaceQuerySchedule
    permission: platform.query-schedules.use
    confirm: false
  - label: Preview timetable
    operation_id: previewQuerySchedule
    permission: platform.queries.read
    confirm: false
states:
  - editor loading
  - not owner or manager
  - scheduling access refused
  - source query unavailable
  - schedule unavailable
  - form problems
  - version conflict
validation:
  - BR-CAP-PFM-QRY-015-02
  - BR-CAP-PFM-QRY-015-07
  - BR-CAP-PFM-QRY-015-09
  - BR-CAP-PFM-QRY-015-10
  - BR-CAP-PFM-QRY-015-12
  - BR-CAP-PFM-QRY-015-15
patterns:
  - ScheduleEditorDialog over the source page
  - sectioned form
  - recurrence editor
  - recipients input with user picker
  - email section with sample preview
  - export options fields
  - create-template drawer
component: components/queries/delivery/schedule-editor-dialog.tsx
evidence:
  - >-
    react-console at baf6dae: app/(console)/console/[tenantId]/queries/schedules/new/page.tsx,
    [id]/edit/page.tsx (redirects); components/queries/delivery/schedule-editor-dialog.tsx,
    recipients-input.tsx, email-section.tsx, export-options-fields.tsx
controls: [TC-AVL-004, TC-AVL-005, TC-AZ-001, TC-AZ-002, TC-AZ-003, TC-AZ-004, TC-DAT-001, TC-DAT-002, TC-DAT-003, TC-DAT-004, TC-DAT-005, TC-IAM-001, TC-IAM-002, TC-IAM-004, TC-IAM-005, TC-IAM-006, TC-LOG-001, TC-LOG-002, TC-LOG-003, TC-LOG-004, TC-LOG-005, TC-MON-001, TC-PI-001, TC-PI-002, TC-PI-003, TC-PI-004, TC-PI-005, TC-PRV-001, TC-PRV-002, TC-TEN-001, TC-TEN-002, TC-TEN-003, TC-TEN-004, TC-VEN-001, TC-VEN-002, TC-VEN-003]
---

# Schedule editor

## What the Screen Is For

Configure a recurring delivery’s source values, recurrence, file format, recipients and message.

## What It Shows and Lets People Do

The editor opens as a dialog over its source or schedule page. It resolves values and template choices, previews timing and saves a versioned definition. External recipients and report sources require their additional permissions.

## States and Errors

Unloaded sources or schedules prevent a usable edit. Field problems remain attached to the form, and a version conflict requires reloading rather than silently replacing a newer definition.

## Patterns It Must Respect

The recurrence field, recipient picker and message sections use the existing dialog form. Unsaved form state is guarded when closing or navigating.
