import {z} from 'zod' export type SettingProperty = {session?: ({logoutTimeout?: number | undefined}) | undefined, welcome?: ({currentStep?: number | undefined, termsAgreementDate?: string | undefined}) | undefined, telehealth?: ({enabled?: boolean | undefined, sessionReminderMinutes?: number | undefined, sessionFinalReminderMinutes?: number | undefined, maximumNoShowMinutes?: number | undefined, vendor?: ('twilio' | 'zoom') | undefined, vendors?: ({zoom?: ({apiKey?: string | undefined, apiSecret?: string | undefined, type?: ('free' | 'pro' | 'business') | undefined}) | undefined}) | undefined, showTimer?: boolean | undefined, requireProviderLogin?: boolean | undefined, telehealthGroup?: ({createDefaultGroup?: ({enabled?: boolean | undefined}) | undefined, addProviderToDefaultGroup?: ({enabled?: boolean | undefined}) | undefined}) | undefined}) | undefined, labs?: ({enabled?: boolean | undefined}) | undefined, lumabot?: ({enabled?: boolean | undefined, includePoweredByLuma?: boolean | undefined, placement?: string | undefined, name?: string | undefined, header?: string | undefined, prompt?: string | undefined, avatar?: string | undefined, agentic?: ({enabled?: boolean | undefined}) | undefined, theme?: ({palette?: ({primary?: ({light?: string | undefined, main?: string | undefined, dark?: string | undefined, contrastText?: string | undefined}) | undefined, secondary?: ({light?: string | undefined, main?: string | undefined, dark?: string | undefined, contrastText?: string | undefined}) | undefined, tertiary?: ({light?: string | undefined, main?: string | undefined, dark?: string | undefined, contrastText?: string | undefined}) | undefined, background?: ({default?: string | undefined, paper?: string | undefined}) | undefined}) | undefined}) | undefined}) | undefined, communication?: ({defaultChatVisibility?: ('public' | 'internal') | undefined, defaultChatCommunicationSecurity?: ({level?: ('secure' | 'insecure') | undefined, acknowledgedBy?: string | undefined, acknowledgedAt?: string | undefined}) | undefined, useFacilityPhoneAsFromNumber?: boolean | undefined, useFacilityAlternativePhoneAsFromNumber?: boolean | undefined, useFacilityNumberFallback?: ({enabled?: boolean | undefined, phone?: string | undefined}) | undefined, unsubscribedMessages?: Array | undefined, blockedContacts?: Array | undefined, limitedContacts?: Array | undefined, expirePatientData?: ({enabled?: boolean | undefined, maxAgeInDays?: number | undefined}) | undefined, urlReplacers?: (Array<{find?: string | undefined, replace?: string | undefined, _id?: string | undefined}>) | undefined, disableAutomaticLinkShortening?: boolean | undefined, filterPatientMessageHistory?: Array | undefined, staffDisabledChannels?: (Array<'sms' | 'voice' | 'email' | 'fax' | 'whatsapp'>) | undefined, reopenChatsForUnclassifiedReplies?: boolean | undefined, minLengthToReopenChat?: number | undefined, minLengthToReopenChatPerTemplate: unknown, reopenChatsWithStatusUnassigned?: boolean | undefined, sendAfterHoursMessageForInboundChats?: boolean | undefined, broadcastSkipPatientLookup?: boolean | undefined, officeHoursPerDay?: (Array<{weekDay?: number | undefined, beginAt?: number | undefined, endAt?: number | undefined, _id?: string | undefined}>) | undefined, customHolidays?: ({dates?: (Array<{date?: string | undefined, description?: string | undefined, closed?: boolean | undefined, sendAppointmentReminders?: ('before' | 'as-scheduled') | undefined, sendReferralReminders?: ('after' | 'as-scheduled') | undefined, _id?: string | undefined}>) | undefined}) | undefined, officeHours?: ({beginAt?: number | undefined, endAt?: number | undefined}) | undefined, numberMasking?: ({enabled?: boolean | undefined}) | undefined, emailMasking?: ({enabled?: boolean | undefined, fromName?: string | undefined, fromEmail?: string | undefined}) | undefined, contactVerification?: ({enabled?: boolean | undefined}) | undefined, patientInitiatedTexting?: ({enabled?: boolean | undefined, lookupCallerId?: boolean | undefined, useRandomNumbersAsGeneratedName?: boolean | undefined}) | undefined, searchByToAndFrom?: boolean | undefined, systemMessagesExpiration?: ({enabled?: boolean | undefined, value?: number | undefined, unit?: ('years' | 'months' | 'weeks' | 'days' | 'hours') | undefined}) | undefined, inboundMessageReplies?: ({length?: number | undefined, keys?: Array | undefined}) | undefined, outboundMessages?: ({allowRetries?: boolean | undefined, skipSmsToLandline?: boolean | undefined, allowSmsOverLongCode?: ({enabled?: boolean | undefined}) | undefined, multiChannelRetries?: ({enabled?: boolean | undefined, shouldSmsNumberBeRetriedAsVoice?: ({enabled?: boolean | undefined}) | undefined, channels?: (Array<'sms' | 'voice' | 'email' | 'fax' | 'whatsapp'>) | undefined, failuresToIgnoreByChannel?: (Array<'sms' | 'voice' | 'email' | 'fax' | 'whatsapp'>) | undefined, refs?: Array | undefined, number?: number | undefined}) | undefined}) | undefined, filterChatsByGroupsFacilities?: boolean | undefined, suppressMessagesByProvisioning?: boolean | undefined, sortMessagesBy?: ('unreadMessages' | 'priorityUpdatedAt') | undefined, chatAssignmentOnHubSend?: ('reassign' | 'keepAssignee') | undefined, chatAssignmentOnProfileSend?: ('reassign' | 'keepAssignee') | undefined, useFixedNumber?: ({enabled?: boolean | undefined, vendor?: ('twilio' | 'bandwidth') | undefined, number?: string | undefined, allowAutoReplacement?: boolean | undefined, numbers?: (Array<{enabled?: boolean | undefined, default?: boolean | undefined, vendor?: ('twilio' | 'bandwidth') | undefined, number?: string | undefined, allowAutoReplacement?: boolean | undefined, _id?: string | undefined}>) | undefined}) | undefined, enableInboundCallForwardingToFacilityPhone?: boolean | undefined, enableInboundCallForwardingToFacilityAlternativePhone?: boolean | undefined, useExistentLumaContactOnBroadcastsWithEmptyValues?: boolean | undefined, broadcast?: ({patientsBatchLimit?: ({enabled?: boolean | undefined, value?: number | undefined, interval?: ({value?: number | undefined, unit?: ('minutes' | 'hours') | undefined}) | undefined}) | undefined, rolesToBeNotifiedOnRequiredAction?: ({shouldNotifyByGroup?: boolean | undefined, roles?: (Array<'admin' | 'manager'>) | undefined}) | undefined, messagesOverrides?: ({enabled?: boolean | undefined}) | undefined, uploadMapper?: ({enabled?: boolean | undefined}) | undefined, statusChangesNotifications?: ({enabled?: boolean | undefined}) | undefined}) | undefined, ignoreInactiveContactsToSendMessage?: ({enabled?: boolean | undefined}) | undefined}) | undefined, timezone?: string | undefined, useTimezoneFrom?: ('user' | 'facility') | undefined, localization?: ('en-US' | 'pt-BR') | undefined, scheduler?: ({enabled?: boolean | undefined, alwaysHideToolbar?: boolean | undefined, zipcodeMaxDistance?: number | undefined, daysAheadToShowAvailability?: number | undefined, hoursAheadToShowAvailability?: number | undefined, maxDaysToShow?: number | undefined, skipResettingAvailabilities?: boolean | undefined, skipTwoFactorAuthentication?: boolean | undefined, skipHeatMap?: boolean | undefined, requireForm?: boolean | undefined, confirmationQrcode?: ({enabled?: boolean | undefined, value?: string | undefined}) | undefined, providerAvailabilityFilter?: (Array<{dayOfMonth?: number | undefined, dayOfWeek?: number | undefined, startTime?: string | undefined, endTime?: string | undefined, _id?: string | undefined}>) | undefined, availabilityBlocks?: (Array<{dayOfWeek?: number | undefined, startTime?: number | undefined, endTime?: number | undefined, _id?: string | undefined}>) | undefined, maxAvailablitiesToRender?: number | undefined, patientAddress?: ({required?: boolean | undefined, visible?: boolean | undefined}) | undefined, patientEmailAddress?: ({required?: boolean | undefined}) | undefined, reschedulerRespectsSchedulerRules?: boolean | undefined, createPatientOnLookupFailure?: boolean | undefined, minimumIntervalRequiredForBooking?: number | undefined, forceAppointmentTypeDuration?: boolean | undefined, ignoreDurationOnAvailabilityLookup?: boolean | undefined, useAppointmentDurationOnAvailabilityCoalescing?: boolean | undefined, botResponses?: ({enabled?: boolean | undefined}) | undefined, showChatOnCompletion?: boolean | undefined, preQualificationFormTemplate?: string | undefined, allowMultiLinkedAppointments?: boolean | undefined, hideProviderDetails?: boolean | undefined, queryRealtimeAvailaiblitiesFromIntegration?: boolean | undefined, sampleAvailabilityQuery?: boolean | undefined, embeddedWidgetHtml?: string | undefined, useDependentProviderOnAnchorAvailability?: boolean | undefined, singleUseSchedulerLink?: ({enabled?: boolean | undefined}) | undefined, onlyNotifyStaffOnAnchorApptBooking?: boolean | undefined, minimumDaysFromLastAppointment?: ({enabled?: boolean | undefined, amount?: number | undefined, status?: (Array<'confirmed' | 'unconfirmed' | 'cancelled'>) | undefined}) | undefined}) | undefined, outboundReferral?: ({enabled?: boolean | undefined, attempts?: number | undefined, interval?: number | undefined, sendReferralFax?: boolean | undefined, sendReferralFaxCoversheet?: boolean | undefined, botResponses?: ({enabled?: boolean | undefined}) | undefined, displayVisitReasonDropdown?: boolean | undefined}) | undefined, referral?: ({enabled?: boolean | undefined, attempts?: number | undefined, useOutreachExperience?: ({enabled?: boolean | undefined}) | undefined, interval?: number | undefined, schedulableWindow?: ({earliest?: number | undefined, latest?: number | undefined}) | undefined, sendReferralFax?: boolean | undefined, sendReferralFaxCoversheet?: boolean | undefined, sendReferralFaxStatus?: ({scheduled?: boolean | undefined, cancelled?: boolean | undefined, incomplete?: boolean | undefined}) | undefined, sendReferralEmail?: boolean | undefined, requireFullMatchForAutoSchedule?: boolean | undefined, requireSpecificMatchForAutoSchedule?: boolean | undefined, skipAutoSchedule?: boolean | undefined, requireMaxHoursApartFromAppointmentForAutoSchedule?: number | undefined, includeInternalMessagingInFollowupFax?: boolean | undefined, formLink?: string | undefined, botResponses?: ({enabled?: boolean | undefined}) | undefined, recommendations?: ({timingPreferences?: ({enabled?: boolean | undefined}) | undefined}) | undefined, markReferralsIncompleteAfterLastOutreachInHours?: number | undefined, useFacilityAlternativeNumber?: boolean | undefined, suppressExpiration?: ({enabled?: boolean | undefined}) | undefined}) | undefined, reminder?: ({multipleRemindersPerDay?: ('onlySendEarliest' | 'multipleRemindersPerDay') | undefined, onlySendEarliestForApptTypesWithRemindersEnabled?: boolean | undefined, multipleRemindersPerDayShouldOnlyConsiderResourcesWithRemindersEnabledInSquiggly?: boolean | undefined, multipleRemindersPerDayRepliesOverride?: ('disabled' | 'allowed' | 'confirmationOnly' | 'none') | undefined, schedule?: Array | undefined, enabled?: boolean | undefined, onConfirmation?: ('skipFurtherReminders' | 'keepLastReminder') | undefined, repliesForLastReminder?: ('allowed' | 'confirmationOnly' | 'none') | undefined, replies?: ('allowed' | 'confirmationOnly' | 'none') | undefined, enabledChannels?: (Array<'sms' | 'voice' | 'email' | 'fax' | 'whatsapp'>) | undefined, treatCancellationsAsNoShows?: number | undefined, offerToJoinWaitlistOnCancellation?: ('disabled' | 'from-reminder' | 'from-integrator' | 'from-both') | undefined, schedulableWindow?: ({earliest?: number | undefined, latest?: number | undefined}) | undefined, allowSelfSchedule?: boolean | undefined, allowSelfReschedule?: boolean | undefined, allowSelfRescheduleAvailabilityFilter?: (Array<'appointment-cancellation' | 'ui' | 'referral' | 'integrator'>) | undefined, allowSelfRescheduleExpiry?: number | undefined, rescheduleSundayToSaturday?: boolean | undefined, forceVoiceCallsForSmsNonResponders?: boolean | undefined, cancelOrConfirmAllAppointmentsInDay?: boolean | undefined, cancelOrConfirmAppointmentsInDayOnlyIfTypeVisible?: boolean | undefined, shouldRespectCancelOrConfirmAllAppointmentsInDay?: boolean | undefined, allowConfirmAfterCancel?: boolean | undefined, allowCancelAfterConfirm?: boolean | undefined, allowCancelAfterAppointmentStart?: boolean | undefined, strictConfirmCancelTextHandling?: boolean | undefined, skipRedundantConfirmCancel?: boolean | undefined, disableCatchupReminders?: boolean | undefined, botResponses?: ({enabled?: boolean | undefined}) | undefined, forceMessageTime?: ({enabled?: boolean | undefined, until?: string | undefined}) | undefined, sendReminderOnHolidays?: ({enabled?: boolean | undefined}) | undefined}) | undefined, cancellation?: ({enabled?: boolean | undefined, expiration?: number | undefined, processAppointmentTypes?: boolean | undefined, requireFrontOfficeAcceptance?: boolean | undefined, shadowAppointment?: ({enabled?: boolean | undefined}) | undefined, allowDoubleBooks?: boolean | undefined, skipAvailabilityCreateFromCancellationStatusSources?: Array | undefined, maxDaysAheadsToProcessCancellation?: number | undefined, minMinutesAheadsToProcessCancellation?: number | undefined, minMinutesAheadsToProcessCancellationProviderOverridePolicy?: ('min' | 'max') | undefined, spotsDiscovery?: ({enabled?: boolean | undefined, maxSpots?: number | undefined, hoursAhead?: number | undefined, includeWhitespace?: boolean | undefined}) | undefined, autoAddToWaitlist?: ({enabled?: boolean | undefined, daysAhead?: number | undefined, maxDaysAhead?: number | undefined, minDaysFromLastAcceptedOfferToJoinWaitlist?: number | undefined}) | undefined, waitlistOfferFlexibility?: ('strict' | 'facility-match' | 'provider-match' | 'any') | undefined, waitlistOfferSortOrder?: ('longest-waiting' | 'most-recent-added') | undefined, waitlistLocationOfferLeadTimeOverrides?: (Array<{facilityId: unknown, minimumLeadTimeDays?: number | undefined}>) | undefined, sendYouveBeenAddedMessage?: boolean | undefined, skipOfferBasedOnLastSentOffer?: boolean | undefined, maxOffersPerWaitlist?: number | undefined, protocol?: ('serial' | 'parallel') | undefined, offerToJoinDuration?: number | undefined, autoCreateWaitlists?: boolean | undefined, delayOffers?: ({enabled?: boolean | undefined, until?: string | undefined, delayOn?: ('weekdays' | 'all-days') | undefined, weekdaysDelay?: ({enabled?: boolean | undefined, until?: string | undefined}) | undefined, weekendsDelay?: ({enabled?: boolean | undefined, until?: string | undefined}) | undefined}) | undefined, disableOnWeekends?: boolean | undefined, cancelFutureAppointment?: boolean | undefined, requireFutureAppointment?: boolean | undefined, botResponses?: ({enabled?: boolean | undefined}) | undefined}) | undefined, appointment?: ({duration?: number | undefined, recommendations?: ({timingPreferences?: ({enabled?: boolean | undefined}) | undefined}) | undefined, validateUpdatedAtTimestamp?: boolean | undefined}) | undefined, feedback?: ({multipleRemindersPerDay?: ('onlySendEarliest' | 'multipleRemindersPerDay') | undefined, enabled?: boolean | undefined, promoter?: ({type?: ('facebook' | 'yelp' | 'patientfusion' | 'betterdoctor' | 'zocdoc' | 'google' | 'generic' | 'healthgrades' | 'ratemds') | undefined, url?: string | undefined}) | undefined, promoterUrls?: (Array<{type?: ('facebook' | 'yelp' | 'patientfusion' | 'betterdoctor' | 'zocdoc' | 'google' | 'generic' | 'healthgrades' | 'ratemds') | undefined, url?: string | undefined, enabled?: boolean | undefined, _id?: string | undefined}>) | undefined, detractor?: ({type?: ('google' | 'luma') | undefined, url?: string | undefined}) | undefined, detractorUrls?: (Array<{type?: ('google' | 'surveymonkey' | 'luma') | undefined, url?: string | undefined, enabled?: boolean | undefined, _id?: string | undefined}>) | undefined, schedule?: number | undefined, interval?: ({enabled?: boolean | undefined, value?: number | undefined}) | undefined, limit?: ({enabled?: boolean | undefined, value?: number | undefined}) | undefined, allowFeedbackForPastAppointments?: boolean | undefined, forceMessageTime?: ({enabled?: boolean | undefined, until?: string | undefined}) | undefined, botResponses?: ({enabled?: boolean | undefined}) | undefined, recommendations?: ({timingPreferences?: ({enabled?: boolean | undefined}) | undefined}) | undefined, forceSkipBlackoutRules?: boolean | undefined}) | undefined, followup?: ({enabled?: boolean | undefined, recommendations?: ({timingPreferences?: ({enabled?: boolean | undefined}) | undefined}) | undefined, sendMessageForceTimeUsingTimezone?: boolean | undefined, ignoreCustomActionOperationsModelsFields?: ({operations?: Array | undefined, models?: Array | undefined, fields?: (Array<'user' | '_id' | 'deleted' | 'createdAt' | 'updatedAt' | 'createdBy' | 'updatedBy' | 'deletedBy' | 'deletedAt' | 'provider' | 'facility' | 'type' | 'patient' | 'source' | 'statusSource' | 'status' | 'statusReason' | 'notes' | 'date' | 'endDate' | 'duration' | 'stats' | 'cancelledAt' | 'confirmedAt' | 'arrivedAt' | 'createdFromReferral' | 'externalRawSource' | 'customerRawSource' | 'telehealth' | 'externalId.source' | 'externalId.value' | 'secondaryExternalId.source' | 'secondaryExternalId.value' | 'integratorUpdateResults.status' | 'integratorUpdateResults.error' | '__v'>) | undefined}) | undefined, sendImmediatelyWithPastSendAt?: boolean | undefined, triggerCustomActionForDeletion?: boolean | undefined}) | undefined, integrator?: ({requireLock?: boolean | undefined, lockExpiryInMinutes?: number | undefined, syncWindow?: ({earliest?: number | undefined, latest?: number | undefined, days?: number | undefined, currentWeekSyncPastDataInDays?: number | undefined}) | undefined, writeDataToIntegrator?: ({createAppointments?: boolean | undefined, createAppointmentsMaxRetries?: number | undefined, updateAvailabilityExternalIdOnCreateAppointmentSuccess?: boolean | undefined, updateStatus?: boolean | undefined, updatePatientDemographics?: boolean | undefined, updatePatientDemographicsName?: boolean | undefined, updatePatientDemographicsDateOfBirth?: boolean | undefined, flushPatientMessageHistory?: boolean | undefined, flushPatientMessageHistoryDelay?: number | undefined, flushPatientMessageHistoryDayOfWeek?: number | undefined, updateAppointmentNotesWithTelehealthLink?: boolean | undefined, updateAppointmentWithReminderSentStatus?: boolean | undefined, createOutboundHl7MessageOn?: (Array<'cancelled' | 'confirmed' | 'created'>) | undefined, createPatient?: boolean | undefined, cacheDeletedAppointments?: boolean | undefined}) | undefined, frequency?: number | undefined, enforceProviderDeltaCheck?: boolean | undefined, enforceAppointmentDeltaCheck?: boolean | undefined, syncProcedures?: boolean | undefined, syncDiagnoses?: boolean | undefined, syncReferrals?: boolean | undefined, syncRecalls?: boolean | undefined, syncInsurances?: boolean | undefined, syncOrders?: boolean | undefined, verifySlotIsOpenBeforeAppointmentCreation?: boolean | undefined, verifyWhitespaceIsOpenBeforeAppointmentCreation?: boolean | undefined, requireValueAndTypeMatchOnDemographicsUpdate?: boolean | undefined, skipGetProvider?: boolean | undefined, syncAppointmentExternalRawSource?: boolean | undefined, syncProviderUpdates?: ({enabled?: boolean | undefined}) | undefined, syncPatientExternalRawSource?: boolean | undefined, syncAdditionalDemographicFields?: boolean | undefined, externalCustomResourceOverrides?: (Array<{resource?: ('provider' | 'appointment-type' | 'facility') | undefined, override?: Array | undefined, _id?: string | undefined}>) | undefined, syncNewResourcesAs?: ({hiddenAfterDays?: number | undefined, hiddenResources?: (Array<'provider' | 'appointment-type' | 'facility'>) | undefined, disabledAfterDays?: number | undefined, disabledResources?: (Array<'provider' | 'appointment-type' | 'facility'>) | undefined}) | undefined, historicDataLoader?: ({daysToLoad?: number | undefined, daysPerLoad?: number | undefined}) | undefined, disableDedupeIncomingPatientData?: boolean | undefined, disablePatientsGetByExternalTypeAndComponents?: boolean | undefined, sftpConfirmationRangeInHours?: number | undefined, syncReferralsDisableExpiryForMissingReferrals?: boolean | undefined, uploadReferralsPerformCompleteDeltaCheck?: boolean | undefined, syncAppointmentsInParallel?: boolean | undefined, updateReferralsWithExternalRawSource?: boolean | undefined}) | undefined, patients?: ({maxTokenAge?: number | undefined, loginLookupInIntegrator?: boolean | undefined, loginRequireActiveContactMatch?: boolean | undefined, requireCaptcha?: boolean | undefined, useAtlasSearch?: boolean | undefined, appointmentManagement?: ({enabled?: boolean | undefined}) | undefined}) | undefined, reporting?: ({eventTracking?: ({enabled?: boolean | undefined, trackingModel?: ('patient' | 'user' | 'user-and-patient') | undefined, vendors?: Array | undefined}) | undefined, useUserTimezoneInReports?: boolean | undefined}) | undefined, waitingRoom?: ({enabled?: boolean | undefined}) | undefined, settingsToOverrideFrom?: ({facilities?: Array | undefined, providers?: Array | undefined, appointmentTypes?: Array | undefined, users?: Array | undefined}) | undefined, billing?: ({vendors?: ({paypal?: ({enabled?: boolean | undefined}) | undefined, instamed?: ({enabled?: boolean | undefined}) | undefined, salucro?: ({enabled?: boolean | undefined}) | undefined}) | undefined, contactNumber?: string | undefined, contactEmail?: string | undefined}) | undefined, patientForms?: ({filterPatientFormsByFacility?: boolean | undefined, preventRefillingCompletedForms?: boolean | undefined, allowPerQuestionTwoFactorSkip?: boolean | undefined, showMessageOnFormEnd?: boolean | undefined, sendDirectMessageForCcdaForms?: ({enabled?: boolean | undefined, vendor?: 'datamotion' | undefined, minutesAheadsToLookForAppointments?: number | undefined, directMessagingEmail?: string | undefined}) | undefined, allowWidgetUserToUploadFile?: boolean | undefined, hideProgressBarOnFormsWithJump?: boolean | undefined, insuranceFormTemplate?: string | undefined}) | undefined, insurance?: ({verification?: ({enabled?: boolean | undefined, hoursAheadToVerifyInsurance?: number | undefined}) | undefined}) | undefined, branding?: ({themes?: (Array<{enabled?: boolean | undefined, scope: string}>) | undefined}) | undefined, estimate?: ({updateFileUploadPatient?: boolean | undefined}) | undefined}; export type SettingRequest = {refId?: string | undefined, ref?: ('user' | 'provider' | 'facility' | 'appointment-type' | 'integrator') | undefined, settings?: SettingProperty | undefined}; export type UpdateApiSettingsSettingIdArgs = {settingId: string, body: SettingRequest}; export type UpdateApiSettingsSettingIdOptions = {baseUrl?: string | undefined, Bearer?: string | undefined, fetch?: typeof fetch | undefined}; export const idParam = z.string().min(24).max(24); export const userParam = z.string().min(24).max(24); export const deletedParam = z.union([z.literal(0), z.literal(1)]); export const createdByParam = z.string().min(24).max(24); export const updatedByParam = z.string().min(24).max(24); export const createdAtParam = z.string(); export const updatedAtParam = z.string(); export const settingProperty = z.object({session: z.object({logoutTimeout: z.number().optional()}).optional(), welcome: z.object({currentStep: z.number().optional(), termsAgreementDate: z.string().optional()}).optional(), telehealth: z.object({enabled: z.boolean().optional(), sessionReminderMinutes: z.number().optional(), sessionFinalReminderMinutes: z.number().optional(), maximumNoShowMinutes: z.number().optional(), vendor: z.enum(["twilio", "zoom"]).optional(), vendors: z.object({zoom: z.object({apiKey: z.string().optional(), apiSecret: z.string().optional(), type: z.enum(["free", "pro", "business"]).optional()}).optional()}).optional(), showTimer: z.boolean().optional(), requireProviderLogin: z.boolean().optional(), telehealthGroup: z.object({createDefaultGroup: z.object({enabled: z.boolean().optional()}).optional(), addProviderToDefaultGroup: z.object({enabled: z.boolean().optional()}).optional()}).optional()}).optional(), labs: z.object({enabled: z.boolean().optional()}).optional(), lumabot: z.object({enabled: z.boolean().optional(), includePoweredByLuma: z.boolean().optional(), placement: z.string().optional(), name: z.string().optional(), header: z.string().optional(), prompt: z.string().optional(), avatar: z.string().min(24).max(24).optional(), agentic: z.object({enabled: z.boolean().optional()}).optional(), theme: z.object({palette: z.object({primary: z.object({light: z.string().optional(), main: z.string().optional(), dark: z.string().optional(), contrastText: z.string().optional()}).optional(), secondary: z.object({light: z.string().optional(), main: z.string().optional(), dark: z.string().optional(), contrastText: z.string().optional()}).optional(), tertiary: z.object({light: z.string().optional(), main: z.string().optional(), dark: z.string().optional(), contrastText: z.string().optional()}).optional(), background: z.object({default: z.string().optional(), paper: z.string().optional()}).optional()}).optional()}).optional()}).optional(), communication: z.object({defaultChatVisibility: z.enum(["public", "internal"]).optional(), defaultChatCommunicationSecurity: z.object({level: z.enum(["secure", "insecure"]).optional(), acknowledgedBy: z.string().min(24).max(24).optional(), acknowledgedAt: z.string().optional()}).optional(), useFacilityPhoneAsFromNumber: z.boolean().optional(), useFacilityAlternativePhoneAsFromNumber: z.boolean().optional(), useFacilityNumberFallback: z.object({enabled: z.boolean().optional(), phone: z.string().optional()}).optional(), unsubscribedMessages: z.array(z.unknown()).optional(), blockedContacts: z.array(z.unknown()).optional(), limitedContacts: z.array(z.unknown()).optional(), expirePatientData: z.object({enabled: z.boolean().optional(), maxAgeInDays: z.number().optional()}).optional(), urlReplacers: z.array(z.object({find: z.string().optional(), replace: z.string().optional(), _id: z.string().min(24).max(24).optional()})).optional(), disableAutomaticLinkShortening: z.boolean().optional(), filterPatientMessageHistory: z.array(z.unknown()).optional(), staffDisabledChannels: z.array(z.enum(["sms", "voice", "email", "fax", "whatsapp"])).optional(), reopenChatsForUnclassifiedReplies: z.boolean().optional(), minLengthToReopenChat: z.number().optional(), minLengthToReopenChatPerTemplate: z.unknown(), reopenChatsWithStatusUnassigned: z.boolean().optional(), sendAfterHoursMessageForInboundChats: z.boolean().optional(), broadcastSkipPatientLookup: z.boolean().optional(), officeHoursPerDay: z.array(z.object({weekDay: z.number().optional(), beginAt: z.number().optional(), endAt: z.number().optional(), _id: z.string().min(24).max(24).optional()})).optional(), customHolidays: z.object({dates: z.array(z.object({date: z.string().optional(), description: z.string().optional(), closed: z.boolean().optional(), sendAppointmentReminders: z.enum(["before", "as-scheduled"]).optional(), sendReferralReminders: z.enum(["after", "as-scheduled"]).optional(), _id: z.string().min(24).max(24).optional()})).optional()}).optional(), officeHours: z.object({beginAt: z.number().optional(), endAt: z.number().optional()}).optional(), numberMasking: z.object({enabled: z.boolean().optional()}).optional(), emailMasking: z.object({enabled: z.boolean().optional(), fromName: z.string().optional(), fromEmail: z.string().optional()}).optional(), contactVerification: z.object({enabled: z.boolean().optional()}).optional(), patientInitiatedTexting: z.object({enabled: z.boolean().optional(), lookupCallerId: z.boolean().optional(), useRandomNumbersAsGeneratedName: z.boolean().optional()}).optional(), searchByToAndFrom: z.boolean().optional(), systemMessagesExpiration: z.object({enabled: z.boolean().optional(), value: z.number().optional(), unit: z.enum(["years", "months", "weeks", "days", "hours"]).optional()}).optional(), inboundMessageReplies: z.object({length: z.number().optional(), keys: z.array(z.unknown()).optional()}).optional(), outboundMessages: z.object({allowRetries: z.boolean().optional(), skipSmsToLandline: z.boolean().optional(), allowSmsOverLongCode: z.object({enabled: z.boolean().optional()}).optional(), multiChannelRetries: z.object({enabled: z.boolean().optional(), shouldSmsNumberBeRetriedAsVoice: z.object({enabled: z.boolean().optional()}).optional(), channels: z.array(z.enum(["sms", "voice", "email", "fax", "whatsapp"])).optional(), failuresToIgnoreByChannel: z.array(z.enum(["sms", "voice", "email", "fax", "whatsapp"])).optional(), refs: z.array(z.unknown()).optional(), number: z.number().optional()}).optional()}).optional(), filterChatsByGroupsFacilities: z.boolean().optional(), suppressMessagesByProvisioning: z.boolean().optional(), sortMessagesBy: z.enum(["unreadMessages", "priorityUpdatedAt"]).optional(), chatAssignmentOnHubSend: z.enum(["reassign", "keepAssignee"]).optional(), chatAssignmentOnProfileSend: z.enum(["reassign", "keepAssignee"]).optional(), useFixedNumber: z.object({enabled: z.boolean().optional(), vendor: z.enum(["twilio", "bandwidth"]).optional(), number: z.string().optional(), allowAutoReplacement: z.boolean().optional(), numbers: z.array(z.object({enabled: z.boolean().optional(), default: z.boolean().optional(), vendor: z.enum(["twilio", "bandwidth"]).optional(), number: z.string().optional(), allowAutoReplacement: z.boolean().optional(), _id: z.string().min(24).max(24).optional()})).optional()}).optional(), enableInboundCallForwardingToFacilityPhone: z.boolean().optional(), enableInboundCallForwardingToFacilityAlternativePhone: z.boolean().optional(), useExistentLumaContactOnBroadcastsWithEmptyValues: z.boolean().optional(), broadcast: z.object({patientsBatchLimit: z.object({enabled: z.boolean().optional(), value: z.number().optional(), interval: z.object({value: z.number().optional(), unit: z.enum(["minutes", "hours"]).optional()}).optional()}).optional(), rolesToBeNotifiedOnRequiredAction: z.object({shouldNotifyByGroup: z.boolean().optional(), roles: z.array(z.enum(["admin", "manager"])).optional()}).optional(), messagesOverrides: z.object({enabled: z.boolean().optional()}).optional(), uploadMapper: z.object({enabled: z.boolean().optional()}).optional(), statusChangesNotifications: z.object({enabled: z.boolean().optional()}).optional()}).optional(), ignoreInactiveContactsToSendMessage: z.object({enabled: z.boolean().optional()}).optional()}).optional(), timezone: z.string().optional(), useTimezoneFrom: z.enum(["user", "facility"]).optional(), localization: z.enum(["en-US", "pt-BR"]).optional(), scheduler: z.object({enabled: z.boolean().optional(), alwaysHideToolbar: z.boolean().optional(), zipcodeMaxDistance: z.number().optional(), daysAheadToShowAvailability: z.number().optional(), hoursAheadToShowAvailability: z.number().optional(), maxDaysToShow: z.number().optional(), skipResettingAvailabilities: z.boolean().optional(), skipTwoFactorAuthentication: z.boolean().optional(), skipHeatMap: z.boolean().optional(), requireForm: z.boolean().optional(), confirmationQrcode: z.object({enabled: z.boolean().optional(), value: z.string().optional()}).optional(), providerAvailabilityFilter: z.array(z.object({dayOfMonth: z.number().optional(), dayOfWeek: z.number().optional(), startTime: z.string().optional(), endTime: z.string().optional(), _id: z.string().min(24).max(24).optional()})).optional(), availabilityBlocks: z.array(z.object({dayOfWeek: z.number().optional(), startTime: z.number().optional(), endTime: z.number().optional(), _id: z.string().min(24).max(24).optional()})).optional(), maxAvailablitiesToRender: z.number().optional(), patientAddress: z.object({required: z.boolean().optional(), visible: z.boolean().optional()}).optional(), patientEmailAddress: z.object({required: z.boolean().optional()}).optional(), reschedulerRespectsSchedulerRules: z.boolean().optional(), createPatientOnLookupFailure: z.boolean().optional(), minimumIntervalRequiredForBooking: z.number().optional(), forceAppointmentTypeDuration: z.boolean().optional(), ignoreDurationOnAvailabilityLookup: z.boolean().optional(), useAppointmentDurationOnAvailabilityCoalescing: z.boolean().optional(), botResponses: z.object({enabled: z.boolean().optional()}).optional(), showChatOnCompletion: z.boolean().optional(), preQualificationFormTemplate: z.string().min(24).max(24).optional(), allowMultiLinkedAppointments: z.boolean().optional(), hideProviderDetails: z.boolean().optional(), queryRealtimeAvailaiblitiesFromIntegration: z.boolean().optional(), sampleAvailabilityQuery: z.boolean().optional(), embeddedWidgetHtml: z.string().optional(), useDependentProviderOnAnchorAvailability: z.boolean().optional(), singleUseSchedulerLink: z.object({enabled: z.boolean().optional()}).optional(), onlyNotifyStaffOnAnchorApptBooking: z.boolean().optional(), minimumDaysFromLastAppointment: z.object({enabled: z.boolean().optional(), amount: z.number().optional(), status: z.array(z.enum(["confirmed", "unconfirmed", "cancelled"])).optional()}).optional()}).optional(), outboundReferral: z.object({enabled: z.boolean().optional(), attempts: z.number().optional(), interval: z.number().optional(), sendReferralFax: z.boolean().optional(), sendReferralFaxCoversheet: z.boolean().optional(), botResponses: z.object({enabled: z.boolean().optional()}).optional(), displayVisitReasonDropdown: z.boolean().optional()}).optional(), referral: z.object({enabled: z.boolean().optional(), attempts: z.number().optional(), useOutreachExperience: z.object({enabled: z.boolean().optional()}).optional(), interval: z.number().optional(), schedulableWindow: z.object({earliest: z.number().optional(), latest: z.number().optional()}).optional(), sendReferralFax: z.boolean().optional(), sendReferralFaxCoversheet: z.boolean().optional(), sendReferralFaxStatus: z.object({scheduled: z.boolean().optional(), cancelled: z.boolean().optional(), incomplete: z.boolean().optional()}).optional(), sendReferralEmail: z.boolean().optional(), requireFullMatchForAutoSchedule: z.boolean().optional(), requireSpecificMatchForAutoSchedule: z.boolean().optional(), skipAutoSchedule: z.boolean().optional(), requireMaxHoursApartFromAppointmentForAutoSchedule: z.number().optional(), includeInternalMessagingInFollowupFax: z.boolean().optional(), formLink: z.string().optional(), botResponses: z.object({enabled: z.boolean().optional()}).optional(), recommendations: z.object({timingPreferences: z.object({enabled: z.boolean().optional()}).optional()}).optional(), markReferralsIncompleteAfterLastOutreachInHours: z.number().optional(), useFacilityAlternativeNumber: z.boolean().optional(), suppressExpiration: z.object({enabled: z.boolean().optional()}).optional()}).optional(), reminder: z.object({multipleRemindersPerDay: z.enum(["onlySendEarliest", "multipleRemindersPerDay"]).optional(), onlySendEarliestForApptTypesWithRemindersEnabled: z.boolean().optional(), multipleRemindersPerDayShouldOnlyConsiderResourcesWithRemindersEnabledInSquiggly: z.boolean().optional(), multipleRemindersPerDayRepliesOverride: z.enum(["disabled", "allowed", "confirmationOnly", "none"]).optional(), schedule: z.array(z.unknown()).optional(), enabled: z.boolean().optional(), onConfirmation: z.enum(["skipFurtherReminders", "keepLastReminder"]).optional(), repliesForLastReminder: z.enum(["allowed", "confirmationOnly", "none"]).optional(), replies: z.enum(["allowed", "confirmationOnly", "none"]).optional(), enabledChannels: z.array(z.enum(["sms", "voice", "email", "fax", "whatsapp"])).optional(), treatCancellationsAsNoShows: z.number().optional(), offerToJoinWaitlistOnCancellation: z.enum(["disabled", "from-reminder", "from-integrator", "from-both"]).optional(), schedulableWindow: z.object({earliest: z.number().optional(), latest: z.number().optional()}).optional(), allowSelfSchedule: z.boolean().optional(), allowSelfReschedule: z.boolean().optional(), allowSelfRescheduleAvailabilityFilter: z.array(z.enum(["appointment-cancellation", "ui", "referral", "integrator"])).optional(), allowSelfRescheduleExpiry: z.number().optional(), rescheduleSundayToSaturday: z.boolean().optional(), forceVoiceCallsForSmsNonResponders: z.boolean().optional(), cancelOrConfirmAllAppointmentsInDay: z.boolean().optional(), cancelOrConfirmAppointmentsInDayOnlyIfTypeVisible: z.boolean().optional(), shouldRespectCancelOrConfirmAllAppointmentsInDay: z.boolean().optional(), allowConfirmAfterCancel: z.boolean().optional(), allowCancelAfterConfirm: z.boolean().optional(), allowCancelAfterAppointmentStart: z.boolean().optional(), strictConfirmCancelTextHandling: z.boolean().optional(), skipRedundantConfirmCancel: z.boolean().optional(), disableCatchupReminders: z.boolean().optional(), botResponses: z.object({enabled: z.boolean().optional()}).optional(), forceMessageTime: z.object({enabled: z.boolean().optional(), until: z.string().optional()}).optional(), sendReminderOnHolidays: z.object({enabled: z.boolean().optional()}).optional()}).optional(), cancellation: z.object({enabled: z.boolean().optional(), expiration: z.number().optional(), processAppointmentTypes: z.boolean().optional(), requireFrontOfficeAcceptance: z.boolean().optional(), shadowAppointment: z.object({enabled: z.boolean().optional()}).optional(), allowDoubleBooks: z.boolean().optional(), skipAvailabilityCreateFromCancellationStatusSources: z.array(z.unknown()).optional(), maxDaysAheadsToProcessCancellation: z.number().optional(), minMinutesAheadsToProcessCancellation: z.number().optional(), minMinutesAheadsToProcessCancellationProviderOverridePolicy: z.enum(["min", "max"]).optional(), spotsDiscovery: z.object({enabled: z.boolean().optional(), maxSpots: z.number().optional(), hoursAhead: z.number().optional(), includeWhitespace: z.boolean().optional()}).optional(), autoAddToWaitlist: z.object({enabled: z.boolean().optional(), daysAhead: z.number().optional(), maxDaysAhead: z.number().optional(), minDaysFromLastAcceptedOfferToJoinWaitlist: z.number().optional()}).optional(), waitlistOfferFlexibility: z.enum(["strict", "facility-match", "provider-match", "any"]).optional(), waitlistOfferSortOrder: z.enum(["longest-waiting", "most-recent-added"]).optional(), waitlistLocationOfferLeadTimeOverrides: z.array(z.object({facilityId: z.unknown(), minimumLeadTimeDays: z.number().gte(0).optional()})).optional(), sendYouveBeenAddedMessage: z.boolean().optional(), skipOfferBasedOnLastSentOffer: z.boolean().optional(), maxOffersPerWaitlist: z.number().optional(), protocol: z.enum(["serial", "parallel"]).optional(), offerToJoinDuration: z.number().optional(), autoCreateWaitlists: z.boolean().optional(), delayOffers: z.object({enabled: z.boolean().optional(), until: z.string().optional(), delayOn: z.enum(["weekdays", "all-days"]).optional(), weekdaysDelay: z.object({enabled: z.boolean().optional(), until: z.string().optional()}).optional(), weekendsDelay: z.object({enabled: z.boolean().optional(), until: z.string().optional()}).optional()}).optional(), disableOnWeekends: z.boolean().optional(), cancelFutureAppointment: z.boolean().optional(), requireFutureAppointment: z.boolean().optional(), botResponses: z.object({enabled: z.boolean().optional()}).optional()}).optional(), appointment: z.object({duration: z.number().optional(), recommendations: z.object({timingPreferences: z.object({enabled: z.boolean().optional()}).optional()}).optional(), validateUpdatedAtTimestamp: z.boolean().optional()}).optional(), feedback: z.object({multipleRemindersPerDay: z.enum(["onlySendEarliest", "multipleRemindersPerDay"]).optional(), enabled: z.boolean().optional(), promoter: z.object({type: z.enum(["facebook", "yelp", "patientfusion", "betterdoctor", "zocdoc", "google", "generic", "healthgrades", "ratemds"]).optional(), url: z.string().optional()}).optional(), promoterUrls: z.array(z.object({type: z.enum(["facebook", "yelp", "patientfusion", "betterdoctor", "zocdoc", "google", "generic", "healthgrades", "ratemds"]).optional(), url: z.string().optional(), enabled: z.boolean().optional(), _id: z.string().min(24).max(24).optional()})).optional(), detractor: z.object({type: z.enum(["google", "luma"]).optional(), url: z.string().optional()}).optional(), detractorUrls: z.array(z.object({type: z.enum(["google", "surveymonkey", "luma"]).optional(), url: z.string().optional(), enabled: z.boolean().optional(), _id: z.string().min(24).max(24).optional()})).optional(), schedule: z.number().optional(), interval: z.object({enabled: z.boolean().optional(), value: z.number().optional()}).optional(), limit: z.object({enabled: z.boolean().optional(), value: z.number().optional()}).optional(), allowFeedbackForPastAppointments: z.boolean().optional(), forceMessageTime: z.object({enabled: z.boolean().optional(), until: z.string().optional()}).optional(), botResponses: z.object({enabled: z.boolean().optional()}).optional(), recommendations: z.object({timingPreferences: z.object({enabled: z.boolean().optional()}).optional()}).optional(), forceSkipBlackoutRules: z.boolean().optional()}).optional(), followup: z.object({enabled: z.boolean().optional(), recommendations: z.object({timingPreferences: z.object({enabled: z.boolean().optional()}).optional()}).optional(), sendMessageForceTimeUsingTimezone: z.boolean().optional(), ignoreCustomActionOperationsModelsFields: z.object({operations: z.array(z.unknown()).optional(), models: z.array(z.unknown()).optional(), fields: z.array(z.enum(["user", "_id", "deleted", "createdAt", "updatedAt", "createdBy", "updatedBy", "deletedBy", "deletedAt", "provider", "facility", "type", "patient", "source", "statusSource", "status", "statusReason", "notes", "date", "endDate", "duration", "stats", "cancelledAt", "confirmedAt", "arrivedAt", "createdFromReferral", "externalRawSource", "customerRawSource", "telehealth", "externalId.source", "externalId.value", "secondaryExternalId.source", "secondaryExternalId.value", "integratorUpdateResults.status", "integratorUpdateResults.error", "__v"])).optional()}).optional(), sendImmediatelyWithPastSendAt: z.boolean().optional(), triggerCustomActionForDeletion: z.boolean().optional()}).optional(), integrator: z.object({requireLock: z.boolean().optional(), lockExpiryInMinutes: z.number().optional(), syncWindow: z.object({earliest: z.number().optional(), latest: z.number().optional(), days: z.number().optional(), currentWeekSyncPastDataInDays: z.number().optional()}).optional(), writeDataToIntegrator: z.object({createAppointments: z.boolean().optional(), createAppointmentsMaxRetries: z.number().optional(), updateAvailabilityExternalIdOnCreateAppointmentSuccess: z.boolean().optional(), updateStatus: z.boolean().optional(), updatePatientDemographics: z.boolean().optional(), updatePatientDemographicsName: z.boolean().optional(), updatePatientDemographicsDateOfBirth: z.boolean().optional(), flushPatientMessageHistory: z.boolean().optional(), flushPatientMessageHistoryDelay: z.number().optional(), flushPatientMessageHistoryDayOfWeek: z.number().optional(), updateAppointmentNotesWithTelehealthLink: z.boolean().optional(), updateAppointmentWithReminderSentStatus: z.boolean().optional(), createOutboundHl7MessageOn: z.array(z.enum(["cancelled", "confirmed", "created"])).optional(), createPatient: z.boolean().optional(), cacheDeletedAppointments: z.boolean().optional()}).optional(), frequency: z.number().optional(), enforceProviderDeltaCheck: z.boolean().optional(), enforceAppointmentDeltaCheck: z.boolean().optional(), syncProcedures: z.boolean().optional(), syncDiagnoses: z.boolean().optional(), syncReferrals: z.boolean().optional(), syncRecalls: z.boolean().optional(), syncInsurances: z.boolean().optional(), syncOrders: z.boolean().optional(), verifySlotIsOpenBeforeAppointmentCreation: z.boolean().optional(), verifyWhitespaceIsOpenBeforeAppointmentCreation: z.boolean().optional(), requireValueAndTypeMatchOnDemographicsUpdate: z.boolean().optional(), skipGetProvider: z.boolean().optional(), syncAppointmentExternalRawSource: z.boolean().optional(), syncProviderUpdates: z.object({enabled: z.boolean().optional()}).optional(), syncPatientExternalRawSource: z.boolean().optional(), syncAdditionalDemographicFields: z.boolean().optional(), externalCustomResourceOverrides: z.array(z.object({resource: z.enum(["provider", "appointment-type", "facility"]).optional(), override: z.array(z.string()).optional(), _id: z.string().min(24).max(24).optional()})).optional(), syncNewResourcesAs: z.object({hiddenAfterDays: z.number().optional(), hiddenResources: z.array(z.enum(["provider", "appointment-type", "facility"])).optional(), disabledAfterDays: z.number().optional(), disabledResources: z.array(z.enum(["provider", "appointment-type", "facility"])).optional()}).optional(), historicDataLoader: z.object({daysToLoad: z.number().optional(), daysPerLoad: z.number().optional()}).optional(), disableDedupeIncomingPatientData: z.boolean().optional(), disablePatientsGetByExternalTypeAndComponents: z.boolean().optional(), sftpConfirmationRangeInHours: z.number().optional(), syncReferralsDisableExpiryForMissingReferrals: z.boolean().optional(), uploadReferralsPerformCompleteDeltaCheck: z.boolean().optional(), syncAppointmentsInParallel: z.boolean().optional(), updateReferralsWithExternalRawSource: z.boolean().optional()}).optional(), patients: z.object({maxTokenAge: z.number().optional(), loginLookupInIntegrator: z.boolean().optional(), loginRequireActiveContactMatch: z.boolean().optional(), requireCaptcha: z.boolean().optional(), useAtlasSearch: z.boolean().optional(), appointmentManagement: z.object({enabled: z.boolean().optional()}).optional()}).optional(), reporting: z.object({eventTracking: z.object({enabled: z.boolean().optional(), trackingModel: z.enum(["patient", "user", "user-and-patient"]).optional(), vendors: z.array(z.string()).optional()}).optional(), useUserTimezoneInReports: z.boolean().optional()}).optional(), waitingRoom: z.object({enabled: z.boolean().optional()}).optional(), settingsToOverrideFrom: z.object({facilities: z.array(z.unknown()).optional(), providers: z.array(z.unknown()).optional(), appointmentTypes: z.array(z.unknown()).optional(), users: z.array(z.unknown()).optional()}).optional(), billing: z.object({vendors: z.object({paypal: z.object({enabled: z.boolean().optional()}).optional(), instamed: z.object({enabled: z.boolean().optional()}).optional(), salucro: z.object({enabled: z.boolean().optional()}).optional()}).optional(), contactNumber: z.string().optional(), contactEmail: z.string().optional()}).optional(), patientForms: z.object({filterPatientFormsByFacility: z.boolean().optional(), preventRefillingCompletedForms: z.boolean().optional(), allowPerQuestionTwoFactorSkip: z.boolean().optional(), showMessageOnFormEnd: z.boolean().optional(), sendDirectMessageForCcdaForms: z.object({enabled: z.boolean().optional(), vendor: z.literal("datamotion").optional(), minutesAheadsToLookForAppointments: z.number().optional(), directMessagingEmail: z.string().optional()}).optional(), allowWidgetUserToUploadFile: z.boolean().optional(), hideProgressBarOnFormsWithJump: z.boolean().optional(), insuranceFormTemplate: z.string().min(24).max(24).optional()}).optional(), insurance: z.object({verification: z.object({enabled: z.boolean().optional(), hoursAheadToVerifyInsurance: z.number().optional()}).optional()}).optional(), branding: z.object({themes: z.array(z.object({enabled: z.boolean().optional(), scope: z.string()})).optional()}).optional(), estimate: z.object({updateFileUploadPatient: z.boolean().optional()}).optional()}); export const settingResponse = z.object({_id: idParam.optional(), user: userParam.optional(), deleted: deletedParam.optional(), createdBy: createdByParam.optional(), updatedBy: updatedByParam.optional(), createdAt: createdAtParam.optional(), updatedAt: updatedAtParam.optional(), refId: z.string().min(24).max(24).optional(), ref: z.enum(["user", "provider", "facility", "appointment-type", "integrator"]).optional(), settings: settingProperty.optional()}); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * Update a setting * * PUT /settings/{settingId} */ export const updateApiSettingsSettingId = async (args: UpdateApiSettingsSettingIdArgs, options?: UpdateApiSettingsSettingIdOptions) => { const {baseUrl = "https://api.lumahealth.io/api/v2", fetch: fetchFn = fetch, Bearer} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") headers.set('accept', "application/json") if (Bearer !== undefined) headers.set('authorization', `Bearer ${Bearer}`) const url = `${baseUrl.replace(/\/+$/, '')}/settings/${encodeURIComponent(String(args.settingId))}${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "PUT", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(settingResponse, await res.json()) };