required-info-{id} conditions and send reminders, but the portal does not offer a completion path.info (“Information — Can update required information for the job”) in PORTAL_PERMISSIONS / contactRolesSchema.ts, but it is not wired in the client job UI. The job timeline includes a “Collect Information” step that is currently always marked complete.RequiredInfoSection.tsx and WorkorderPriceChangeConfirmModal.tsx / recalculateChargesForRequiredInfo.hidden flag (excluded from online scheduler in PropertyMoreInfo.tsx); portal visibility needs a separate toggle.scheduleSettingsSchema.ts / Settings → Schedule) so companies explicitly enable portal required-info completion.WorkorderPriceChangeConfirmModal / WorkorderPriceChangeConfirmPanel).info portal permission on contact roles.ContactRoleListItem.tsx, PORTAL_PERMISSIONS).hidden, which controls online scheduler visibility).text, number, select, date, boolean, and indicator.RequiredInfoResolver / RequiredInfoAccordion — no type exclusions.n/a, true, false), matching internal behavior. Selecting N/A counts as a completed value (field no longer missing).attik-backend/src/models/scheduleSettingsSchema.ts — new company-level enable flag for portal required-info completion.attik-backend/src/models/requiredInfoSchema.ts — new portal visibility field (distinct from hidden).attik-backend/src/models/contactRolesSchema.ts — existing info permission; ensure portal PATCH routes enforce it plus schedule-settings flag and field visibility.inspection.ts / portal key permissions) — allow requiredInfoValues updates only for permitted, portal-visible, missing fields on the job.recalculateChargesForRequiredInfo before commit; portal save applies changes only after user confirms (no info-only escape hatch).attik-frontend/src/app/tools/settings/required-service-info/RequiredInfoListItem.tsx — portal visibility switch (alongside existing Required / Hidden controls).info permission; verify label/copy matches this feature once live.attik-frontend/src/app/client/job/[slug]/ — new “Information needed” section (or activate timeline “Collect Information” step) showing missing portal-visible fields.?section=… pattern consistent with agreements/invoice sections in JobAccordion.tsx / Timeline.tsx.WorkorderPriceChangeConfirmPanel without onSaveWithoutPrice).RequiredInfoAccordion / RequiredInfoResolver for all field types.required-info-{id} conditions should stop firing once values are saved (no new trigger strictly required for MVP).info permission.info → user sees only missing, portal-visible required fields for services on the job.hidden and portal visibility toggles operate independently (scheduler vs portal).attik-backend/src/models/scheduleSettingsSchema.tsattik-backend/src/models/requiredInfoSchema.tsattik-backend/src/models/contactRolesSchema.tsattik-frontend/src/util/types/serverTypeCollection/contact.ts (PORTAL_PERMISSIONS, info)attik-frontend/src/app/tools/inspections/[id]/components/RequiredInfoSection.tsxattik-frontend/src/app/tools/inspections/[id]/components/WorkorderPriceChangeConfirmModal.tsxattik-frontend/src/util/functions/schedulingHelpers/recalculateChargesForRequiredInfo.tsattik-frontend/src/components/scheduling/RequiredInfoResolver.tsxattik-frontend/src/app/client/job/[slug]/components/Timeline.tsxattik-frontend/src/app/client/job/[slug]/components/JobAccordion.tsxattik-frontend/src/components/scheduling/RequiredInfoAccordion.tsxPlease authenticate to join the conversation.
Planned
Main App
1 day ago
Linear
Get notified by email when there are changes.
Planned
Main App
1 day ago
Linear
Get notified by email when there are changes.