{"version":3,"sources":["utils/logger.ts","auth/index.ts","styles/breakpoints.ts","components/currency.tsx","forms/button.tsx","dev-tools.tsx","analytics/sentry.ts","customer-portal/customer-resolver.tsx","auth/authentication-resolver.tsx","checkout/index.tsx","embedded/index.tsx","payments/payment-lookup.tsx","custom-forms/anonymous-forms.tsx","api/generated/ReceiptsService.ts","payments/payment-receipt-barcode.tsx","payments/receipt.tsx","reportWebVitals.ts","onboarding/index.tsx","index.tsx","assets/paystar-logo-base64.ts","styles/styled.tsx","hooks/use-immer-reducer.ts","auth/use-auth.tsx","hooks/use-memoized-value.ts","components/alert.tsx","utils/get-pooled-moment.ts","utils/session-store.ts","components/delayed-loading-container.tsx","forms/state-context.tsx","hooks/use-subscription.ts","api/generated/FormsService.ts","components/async-state-container.tsx","api/generated/utils.tsx","forms/value-converters.ts","routes/index.tsx","utils/currency-helpers.tsx","config/env-vars.ts","api/base-interceptors.ts","hooks/use-query-params.tsx","components/json.tsx","forms/map-formal-errors.ts","forms/field-arrays.ts","api/generated/index.defs.ts","api/generated/enums.ts","components/flex.tsx","paystar-portal/selectors.ts","analytics/index.ts","hooks/use-notifications.tsx","api/generated/AccountsService.ts","api/generated/PaymentIntentsService.ts","api/generated/PaymentsService.ts","api/generated/BusinessUnitsService.ts","api/generated/CustomersService.ts","forms/submit-error.tsx","aria/date-picker.ts","forms/adapters/datepicker.tsx","auth/sign-out.tsx","utils/guard.ts","styles/theme-provider.tsx","customer-portal/custom-form.tsx","paystar-portal/time-zone-context-provider.tsx","forms/container.tsx","forms/debug.tsx","forms/form.tsx","forms/adapters/checkbox.tsx","forms/adapters/dropdown.tsx","forms/adapters/textarea.tsx","forms/field-factory.tsx","forms/adapters/input.tsx","forms/adapters/radio-group.tsx","forms/fields.tsx","forms/section.tsx","forms/multi-select-checkbox.tsx","forms/index.tsx","forms/adapters/custom-value.tsx","api/generated/config.ts","utils/notification-service.tsx","components/date.tsx"],"names":["CoreLogger","forEach","level","console","log","createLogger","namespace","subject","message","optionalParams","data","Sentry","Severity","Info","Warning","Error","logEnabled","call","DEFAULT_NAMESPACE","logger","config","debug","info","warn","error","localStorage","getItem","developmentLogger","Env","isProductionBuild","x","setItem","userManager","oidcClient","Log","initializeUserManager","once","clientSettings","settings","client_id","scope","authority","apiBaseUrl","response_type","post_logout_redirect_uri","appRoot","filterProtocolClaims","redirect_uri","silent_redirect_uri","automaticSilentRenew","clockSkew","extraQueryParams","slug","BusinessUnitSlug","ClientQueryKeys","AuthSessionToken","UserManager","events","addSilentRenewError","notify","undefined","addUserSessionChanged","addAccessTokenExpired","addAccessTokenExpiring","addUserSignedOut","a","removeUser","window","location","reload","getUser","user","expired","mapOidcUser","sessionAttributes","values","CustomSessionClaims","reduce","acc","key","value","profile","id","Number","sub","name","email","preferred_username","permissions","role","attributes","Breakpoints","MobileMax","TabletMin","TabletMax","DesktopMin","DesktopMax","WideMin","MediaSizes","Media","size","useBreakpoint","createBreakpoint","formatCurrency","amount","fractionSize","locale","currency","currencySign","Intl","NumberFormat","style","format","Currency","props","Button","hoistNonReactStatics","type","secondary","tertiary","className","classNames","cx","SemanticButton","require","whyDidYouRender","React","sentryKey","sentryProjectId","shouldEnableSentry","excludedHttpBreadcrumbs","dsn","beforeBreadcrumb","breadcrumb","hint","category","url","some","regex","test","ignoreErrors","release","buildNumber","environment","CustomerResolver","useUser","authLogger","fetchAccounts","useAsync","AccountsService","getMyAccounts","fetchSlug","CustomersService","getCustomerSlug","accounts","account","first","businessUnitSlug","noThrow","to","buildPath","routes","customer","dashboard","AdminApp","lazy","CustomerApp","DefaultRouteResolver","useContext","AuthContext","redirectUrl","userDefaultUrl","rootRoutes","portal","business_unit_slug","appSubdirectory","AuthenticationCleanup","useEffect","clearStaleState","setUser","AuthenticationResolver","useLocation","analytics","trackPage","pathname","path","base","signOut","default","App","ServiceFeeTooltip","includedInBasePayment","org","Popup","trigger","icon","faInfoCircle","position","content","notFoundStyles","styles","css","AnonymousForms","businessUnitId","baseFormId","formId","fetchHeader","BusinessUnitsService","getHeaderById","logoUrl","Image","src","centered","alt","Header","header","Subheader","subHeader","Container","text","onCompleteUrl","payStarColors","blue6","ReceiptsService","params","options","Promise","resolve","reject","basePath","replace","configs","getConfigs","axios","Barcode","dataToEncode","canvas","document","createElement","bwipjs","toCanvas","bcid","scale","height","includetext","textxalign","e","source","toDataURL","ChunkText","maxLength","parts","split","chunks","idx","chunk","length","next","push","map","i","StyleSheet","create","page","display","flex","paddingTop","paddingBottom","paddingHorizontal","fontFamily","title","fontSize","textAlign","subTitle","status","paddingVertical","marginVertical","borderWidth","borderStyle","textTransform","section","fontWeight","marginTop","marginBottom","borderBottomColor","borderBottomWidth","borderBottomStyle","row","flexDirection","label","width","color","wideLabel","paymentTotalRow","strong","multiAccountTitle","padding","accountContainer","lineItem","footer","borderTopColor","borderTopWidth","borderTopStyle","subFooter","serviceFeeDisclaimer","logo","barcode","reportWebVitals","onPerfEntry","Function","then","getCLS","getFID","getFCP","getLCP","getTTFB","enableES5","enableMapSet","ReactDOM","render","fallback","useHotkeys","FallbackComponent","onError","setFingerprint","referenceNumber","useWindowSize","fetchingReceipt","getReceipt","basePayment","serviceFee","authCode","lineItems","paymentFieldItems","hasAdjustments","refundAmount","businessUnitFeaturesPaymentReceiptBarcodes","paymentSourceLabel","paymentSource","paymentSourceType","PaymentSourceTypes","includedFee","find","lineItemType","PaymentLineItemTypes","ServiceFee","feeAmount","amountMinor","price","date","createdDate","subaccount","subAccountNumber","accountDisplay","accountNumber","accountTotal","filter","accountId","item","description","PaymentStatuses","Refunded","paymentSourceJson","accountNumberLast4","accountType","Succeeded","organizationName","receipt","breakpoint","showMobileLogo","navigate","useNavigate","payment","PaymentsService","getLookup","redirectReferenceNumber","paymentLookup","Segment","Message","serviceFeeIsIncludedInBasePayment","relatedPayments","paymentType","PaymentTypes","Boolean","actions","businessUnitLogoUrl","businessUnitMobileLogoUrl","actionsPosition","businessUnitHeader","businessUnitSubHeader","Table","Body","Row","Cell","hasAdjustment","paymentDescriptorLabel","paymentDescriptor","paymentMethod","paymentSourceAccountNumberLast4","columns","HeaderCell","anonymousForms","anonymousDependentForms","checkout","embedded","onboarding","from","quickPayRedirect","getElementById","colors","red3","red2","red1","red4","red5","blue1","blue2","blue3","blue4","blue5","white1","white2","grey1","grey2","black","transparent","primary","red","blue","lightBlue","grey","basicBoxShadow","textLabel","transparentHover","warning","warningBackground","warningBoxShadow","warningText","mutedText","errorText","moneyPositive","moneyNegative","defaultTheme","primaryColor","primaryButtonBg","secondaryButtonBg","secondaryButtonShadow","rgba","secondaryButtonText","readableColor","generateThemeColors","styled","action","cb","payload","onUserLoaded","onUserUnloaded","redirecting","reducer","initialState","handlers","when","handler","build","Object","keys","state","produce","draft","createReducer","pending","INITIAL_STATE","createContext","AuthProvider","useMemo","useReducer","useImmerReducer","state_","dispatch","stateRef","useRef","isEqual","current","useMemoizedValue","customerSlug","useMatch","cp_login_mode","useQueryParams","nanoid","addUserLoaded","updatedUser","addUserUnloaded","href","includes","signinRedirectCallback","search","signinRedirect","delayInMs","Dimmer","active","inverted","Loader","indeterminate","Provider","adminMockRole","Roles","subscribeGlobal","event","Alert","as","AccessibleAlert","momentPool","Map","getPooledMoment","dayString","has","set","moment","get","sessionStore","sessionStorage","getAndRemove","removeItem","DelayedLoadingContainer","children","useState","showContent","setShowContent","setTimeout","clearTimeout","disabled","setState","FormStateContext","FormStateProvider","_setState","stateMutator","useFormState","formState","emitter","mitt","useSubscription","eventName","on","off","emit","FormsService","AccountId","DisplayLocation","ConditionJson","AsyncStateContainer","loading","inline","negative","getEnumDropdownOptions","enumMapCache","WeakMap","enumObject","enumOptions","validateEnumOptions","mapValues","buildApiUrl","baseUrl","queryString","qs","stringify","allowDots","defaultValueConverter","parseInput","equals","formattedInput","currencyValueConverter","input","parseCurrency","decimalValueConverter","toString","parsedInput","isFinite","precision","p","Math","round","getPrecision","toPrecision","timeValueConverter","subdirectory","callback","initiate","review","fragmentedRoute","fragments","session","flowRoot","manageAutopay","managePaperless","manageCustomerWallet","payments","root","external","details","serviceFees","termsOfService","listing","createFromExisting","view","funding","unfunded","myAccount","gateways","detail","achGateway","batches","batchTransactions","messages","products","merchantAccounts","nachaConfigs","agencies","billingSystems","customGatewayMessages","organization","setup","businessUnits","channels","channel","terms","externalLinks","update","features","billingCycles","accountConfig","paymentFields","billingCycleDetails","reports","batchDetails","transactions","adjustments","batchesByMid","posReport","autopay","paperlessBilling","generated","accountPayment","uploads","customers","devices","bills","readings","users","usersPage","billers","payers","tickets","webhooks","jobs","editor","templates","files","outboundIvr","businessUnitClientManagementSettings","paymentIntentFlow","multiAccountDashboard","accountBase","accountRegister","wallet","form","dependentForm","payer","accountList","paymentHistory","billHistory","autoPay","pay","paystarProfile","register","customerVerification","accountVerification","paperlessBillingEnrollment","autopayEnrollment","notificationsEnrollment","verifyPhone","multiAccountNotification","invalidLink","completed","resolveFragment","matcher","fragmentConfig","result","any","fragment","match","pathParams","queryParams","compiledPath","defaultResult","safeCurrency","isNaN","intValue","inputAsMinor","inputAsMajor","process","host","protocol","publicUrl","embeddedBaseUrl","cardConnectBaseUrl","mixPanelToken","googleAnalyticsId","requestInterceptors","fns","v","f","compose","method","Date","requestCount","_ts","responseInterceptors","headers","access_token","defaultErrorhandlers","response","notifications","hasErrors","errors","propertyName","errorMessage","join","errorHandlers","setErrorHandlers","handleResponseError","parse","Json","memo","defaultOpen","open","setOpen","faCaretDown","faCaretRight","attached","onClick","JSON","JsonViewerLazy","Pre","flattenKeys","obj","isPlainObject","merge","getNestedKeys","object","FORM_ERROR","mapErrors","fields","fieldMap","Set","normalizePath","errorPath","toPath","part","index","nextIndex","hasMore","nextIsIndex","isIndex","normalizedPart","camelCase","isLength","getErrorMessages","ArrayMutators","arrayMutators","serviceOptions","request","res","catch","err","contentType","AccountSummaryDto","this","ViewTransactionAggregate","CustomClaims","business_unit_id","customer_id","environment_key","embedded_data","session_identifier","Permissions","KnownCookies","PreferEmailLogin","PaymentSuccessful","CustomRedirectUrl","initialAction","returnUrl","sessionIdentifier","sessionAction","subaccountNumber","ClientActionQueryValues","Customer","QuickPay","Embedded","AccountCreateMethods","Manual","Imported","Api","POS","AccountFieldTypes","AccountNumber","SubAccountNumber","Name","Zip","Balance","LateFee","Description","IssueDate","DueDate","PhoneNumber","EmailAddress","Note","Address","PastDueAmountMinor","AccountFieldTypesThatCannotBeLookup","AccountFieldTypesThatCannotBeRequired","AccountLogTypes","PaperlessBillingActivityTypes","Enroll","Unenroll","Update","PaperlessBillingExportTypes","Csv","SmsLogStatuses","Pending","Complete","Failed","BillingCycleStatuses","Processing","Draft","Approved","NotificationStrategyTypes","None","BillParsers","StJohn","CUSI","UDS","RVS","Omnis","SaltCreek","Bai","BillTemplates","generic","ReadingsSyncLogTypes","ReadingIntervals","Daily","Monthly","AdjustmentTypes","Chargeback","Declined","Abandoned","Voided","PaymentSessionStatuses","RequiresPaymentFields","RequiresPaymentSource","RequiresCharges","RequiresConfirmation","RequiresGatewayResolution","RequiresFormResponse","PaymentIntentConfigScopes","Default","Checkout","PaymentFieldTypes","Text","AccountBalance","OpenCharge","Product","PaymentMetaKeys","__Accounts","__LineItems","PaymentChannels","IVR","Autopay","PaymentEnabledModes","Enabled","Disabled","TransactionExportTypes","BAI","CSDC","Generic","GFC","Incode","JsReport","Lamar","Munis","OMNIS","Softel","SoftWater","Thoroughbred","TransactionStatuses","TransactionTypes","Sale","Void","Refund","CardBrands","Visa","Mastercard","Amex","Discover","Unknown","ShortCardBrands","VISA","MC","AMEX","DISC","CHK","SAV","UNKN","CardSwipeDevices","CardEntryMethods","Keyed","Swiped","DeviceManufacturers","Magtek","Clover","Ingenico","Verifone","BBPOS","PlaidEnabledModes","ACH","PaymentSourceVerificationMethods","Plaid","TokenizationTypes","PaymentGatewayTypes","NMI","SPS","SettlementBatchStatuses","Open","Closed","Funded","AutopayActivityTypes","UpdateSettings","AdminCancel","SystemCancel","AutopayExportTypes","Excel","AutopayEnrollmentTypes","Organization","AutopaySchedulingTypes","DueDateLeadTime","DayOfMonth","AbaNumberValidationModes","AutopayEnabledModes","ScheduledPaymentTypes","ScheduledPaymentStatuses","Staged","Scheduled","Processed","Canceled","Skipped","Invalid","InvalidPaymentSource","InvalidProcessingDate","InvalidEntityState","InvalidIdempotencyKey","AchAccountTypes","AchAccountHolderTypes","Personal","Business","AchStandardEntryClassCodes","WEB","TEL","CCD","PPD","PayStarAchStatuses","Submitted","Settled","Reversed","Returned","PayStarAchBatchStatuses","NachaFileSubmissionStatuses","Generated","Accepted","Rejected","ImportFileTypes","CSV","FixedWidth","MultilineFixedWidth","MultilineCSV","BusinessUnitFileTypes","Other","ListSeparators","ImportTransformers","JsTransform","Substring","StripNonAlphaNumeric","AccountSyncLogTypes","AccountSyncProperties","BusinessUnitId","Meta","AllowOnlinePayment","BlockCreditCardPayment","BlockAchPayment","CreatedDate","ModifiedDate","AccountSyncDate","CreateMethod","IsArchived","IsDeleted","AccountSyncInsertProperties","AccountSyncStrategies","FunctionApp","ImpresaApi","IncodeApi","RvsApi","UdsApi","MergeReplaceStrategies","Merge","Replace","MissingAccountStrategies","Archive","DuplicateAccountStrategies","RequiredAccountSyncProperties","JobTaskTypes","TransformContext","GenerateTransactionExportV2","GenerateTransactionExportFunction","GenerateAutopayEnrollmentExport","GeneratePaperlessBillingEnrollmentExport","CheckFtpForFile","UploadFileToFtp","SyncStagedAccounts","ParseFile","ParseBills","LinkReadings","InitiateFunctionOrchestration","ImportProcessedBills","StageImportedAccounts","TransformFile","SendEmail","SendWebhook","Conditional","GeneratePaymentLineItemReport","JobTriggerTypes","BillTypes","Bill","Final","Notice","Recalculated","Invoice","TaskExecutionStatuses","Successful","TaskExecutionRunConditions","Always","Never","TaskExecutionActions","Fail","Pass","ComparisonOperators","Contains","ComparisonSetOperatorTypes","ConditionalTaskTypes","Standard","Complex","BillingAddressCollectionTypes","CurrencyCodes","USD","CAD","ClientCultureTypes","ClientDbSettingTypes","DatePresets","Custom","Today","Yesterday","FundingActivityTypes","MessageTypes","Positive","Negative","MessagePaymentChannels","OutboundSmsEnabledModes","SignalRConfig","SignalRTopics","TicketCategories","Client","Technical","TicketEventTypes","Comment","TicketStatuses","New","Investigating","Resolved","TicketAssignmentStatuses","Assigned","Unassigned","Timezones","ReportTypes","PDF","UriProtocols","OutboundWebhookTypes","PaymentExport","OutboundWebhookStatuses","Queued","WebClientDirectories","StandardTermsOfServiceIdentifiers","AcknowledgmentTypes","FunctionTriggerTypes","Activity","SubOrchestration","Http","FunctionApplications","Serverless","Bills","Engage","ExternalLinkDisplayLocations","FormDisplayLocations","Login","PaymentActivityReportStrategy","ServerlessExport","NachaEncryptionTypes","Encrypt","FormResponseStatuses","Errored","Submitting","OnboardingSessionStatuses","VerifyCustomer","VerifyAccount","SelectPaperlessBillingEnrollment","SelectAutopayEnrollment","SelectNotificationsEnrollment","VerifyPhoneNumber","Redirect","Cancelled","Completed","PayerLoginModes","Paystar","OutboundIvrJobStatuses","JobExecutionStatuses","Paused","ExitedEarly","CheckFtpForFile_Variables","GenerateAutopayEnrollmentExport_Variables","GeneratePaperlessBillingEnrollmentExport_Variables","GeneratePaymentLineItemReport_Variables","GeneratePaymentLineItemReport_PaymentLineItemTypes","GenerateTransactionExportFunction_Variables","GenerateTransactionExportV2_Variables","ImportProcessedBills_Variables","InitiateFunctionOrchestration_Variables","LinkReadings_Variables","ParseBills_Variables","ParseFile_Variables","SendEmail_Variables","SendWebhook_Variables","StageImportedAccounts_Variables","SyncStagedAccounts_Variables","TransformContext_Variables","TransformFile_Variables","UploadFileToFtp_Variables","JobExecution_Variables","RoleTemplates","AllPermissions","DefaultAccountFields","Type","Label","IsQuickPayLookupField","IsIvrLookupField","IsDisplayField","IsRequired","Order","Flex","container","align","vAlign","justifyContent","fill","Col","Fill","scroll","Box","FlexRowWithActions","useGlobalState","useSelector","useBusinessUnitContext","global","context","useBusinessUnits","initializeMixpanel","initializeGoogleAnalytics","identified","defaultEventProperties","mockInDevelopment","args","identify","uniqueId","mixpanel","ReactGA","userId","setDefaultEventProperties","properties","trackEvent","mergedProperties","track","timeEvent","time_event","trackUserProperties","people","init","initialize","defaultOptions","autoDismiss","autoDismissTimeout","useNotification","addToast","useToasts","createMessageType","appearance","notifiers","success","IsPos","OnlyAutopayEnabled","OnlyRegisteredCustomers","OnlyRestrictedAccounts","OnlyPaperlessBilling","NotifyUpcomingPayment","NotifyNewBill","NotifyWithSms","IsPastDue","Page","PageSize","Filtered","Sorted","query","DestinationAccountId","shouldRollover","fileName","PaymentIntentsService","StartDate","EndDate","ReportName","SearchText","CustomerId","customerId","AccountIds","SubmitError","submitError","useField","subscription","touched","meta","calendarLabel","roleDescription","closeDatePicker","focusStartDate","clearDates","jumpToPrevMonth","jumpToNextMonth","keyboardShortcuts","showKeyboardShortcutsPanel","hideKeyboardShortcutsPanel","openThisPanel","enterKey","leftArrowRightArrow","upArrowDownArrow","pageUpPageDown","homeEnd","escape","questionMark","selectFocusedDate","moveFocusByOneDay","moveFocusByOneWeek","moveFocusByOneMonth","moveFocustoStartAndEndOfWeek","returnFocusToInput","keyboardForwardNavigationInstructions","keyboardBackwardNavigationInstructions","chooseAvailableStartDate","chooseAvailableEndDate","dateIsUnavailable","dateIsSelected","dateIsSelectedAsStartDate","dateIsSelectedAsEndDate","DateRangePickerPhrases","DatePickerAdapter","isOutsideRange","focused","setFocused","last","datePickerStyles","inputIconPosition","onFocusChange","noBorder","enableOutsideDays","numberOfMonths","onDateChange","onChange","startOf","toDate","toISOString","getDate","DateRangeCustomField","startDate","startDateProperty","endDate","endDateProperty","useForm","registerField","dirty","onDatesChanged","batch","change","blur","anchorDirection","hideQuickSelection","onClose","DateRange","focusedInput","setFocusedInput","getDates","endOf","startDateId","endDateId","onDatesChange","appendToBody","minimumNights","renderCalendarInfo","requestClose","calendarInfoPosition","phrases","CalendarQuickSelection","today","yesterday","subtract","startOfWeek","startOfLastWeek","endOfLastWeek","add","startOfMonth","startOfLastMonth","endOfLastMonth","basic","fluid","SignOut","AuthQueryKeyLookup","paymentSuccessful","signoutProps","isNil","signoutRedirect","guard","fn","defaultValue","handleError","guardAsync","ThemeContainer","div","theme","lighten","globalStyles","textInputs","darken","transparentize","GlobalStyles","ThemeProvider","resolveTheme","fetchTheme","defaultProps","DEFAULT_ON_FORM_COMPLETE_URL","mapContextToFields","schemaJson","initialObject","schema","curr","fieldName","mapFromContextKey","weekends","filterFormConfigurationProps","providedProps","buildIsOutsideRangeForDatePicker","minimumDayOffset","maximumDayOffset","skipWeekends","day","minimumDayCheck","isInclusivelyBeforeDay","maximumDayCheck","isInclusivelyAfterDay","weekendCheck","y","propsToApply","Input","InputCurrency","InputMasked","InputDecimal","datepicker","remainingPropsToApply","DatePicker","dropdown","Dropdown","radio","RadioGroup","textarea","TextArea","checkbox","Checkbox","CustomForm","onComplete","onCancel","paymentSessionSessionIdentifier","useParams","isDependentForm","submitResults","setSubmitResults","dependentFormState","setDependentFormState","fetchFormConfiguration","useAsyncRetry","getFormConfigurationById","getAnonymousFormConfigurationById","formConfigurationId","contextData","parsedMeta","accountMeta","DateTimeFormats","DateTime","getFormFields","fieldsJson","fieldType","fieldMatches","navigateToDependentForm","useCallback","dependentFormConfigurationId","onSubmit","valuesToSubmit","validationResult","validateForm","updateCheckoutForms","identifier","body","valuesJson","baseFormResponseId","submitForm","submitAnonymousForm","dependentFormResponses","baseFormUrl","slice","existingData","getInitialValues","sessionFormData","mappedValues","displayName","Link","initialValues","dependentForms","remainingDependentForms","formName","matchingState","getDependentForms","ErrorNotice","submittedDependentForms","parsedFields","schemaRecord","submittedValues","requiredError","fieldRequired","fieldLabel","matchError","isValid","toLocaleLowerCase","fieldLabelToMatch","failsFieldMatches","dateRangeError","selectedDateIsOutsideRange","failsDateLimits","every","tz","load","zones","links","version","guessTimezoneAbbr","guess","showTimezone","businessUnitTimezone","userTimezoneAbbr","TimezoneContext","abbreviatedTimezone","getAbbreviatedTimezone","timezone","TimezoneContextProvider","businessUnit","utcOffset","FormContainer","padded","Debug","full","rest","Form","disableLoading","autoComplete","finalFormProps","renderFn","_onSubmit","getRegisteredFields","formRenderProps","handleSubmit","submitErrors","hasSubmitErrors","submitting","NonFieldErrors","nonFieldErrors","errorKeys","difference","errorKey","ErrorMessage","isString","inlineConfig","short","inlineInputOffset","fullWidthFields","CheckboxAdapter","inputValues","option","passedProps","checked","DropdownAdapter","enum","dropdownProps","_options","selection","TextAreaAdapter","rows","FieldPropKeys","FieldFactory","renderComponent","fieldProps","pick","finalFormFieldProps","omit","fieldConfig","fieldClassName","fieldHint","inputProps","renderComponentProps","Field","fieldStyles","htmlFor","styleCache","getStyle","proportions","denominator","sum","InputAdapter","valueConverter","parseOnBlur","allowEmpty","additionalProps","converter","setValue","formattedValue","onFocus","target","select","onBlur","InputFileUrlAdapter","onDrop","uploading","setUploading","useDropzone","acceptedFiles","uri","getRootProps","getInputProps","faUpload","InputDecimalAdapter","InputMaskedAdapter","InputCurrencyAdapter","iconPosition","RadioGroupAdapter","Radio","FieldCheckbox","FieldDropdown","FieldInput","FieldInputFileUrl","FieldInputCurrency","FieldInputDecimal","FieldInputMasked","FieldRadioGroup","FieldTextArea","FieldDatePicker","BaseForm","Section","Fields","InputFileUrl","CustomValue","field","FieldArray","MultiSelectCheckbox","defaultCheckedKeys","readOnlyKeys","findIndex","remove","toggle","instance","baseURL","paramsSerializer","interceptors","use","NotificationService","_notifications","Time","DateFormat","momentDate"],"mappings":"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B,yBAC1B,kCAAmC,kCACnC,oCAAqC,oCACrC,sCAAuC,sCACvC,yCAA0C,yCAC1C,8CAA+C,8CAC/C,wCAAyC,wCACzC,6BAA8B,6BAC9B,4BAA6B,6BAKlBC,GAAgB,CAC3B,eAAgB,CACd,kBACA,gBACA,kBACA,uBACA,qBACA,mBACA,kBACA,gBACA,kBACA,uBACA,eACA,aACA,2BACA,4BAEF,qBAAsB,CACpB,kBACA,gBACA,kBACA,uBACA,qBACA,mBACA,kBACA,gBACA,kBACA,uBACA,eACA,aACA,2BACA,4BAEF,oBAAqB,CACnB,kBACA,gBACA,kBACA,qBACA,mBACA,kBACA,wBAEFtW,SAAU,GACVC,SAAU,GACV,YAAa,IAGFsW,GAAiB,CAC5B,kBACA,gBACA,kBACA,uBACA,qBACA,mBACA,kBACA,gBACA,kBACA,uBACA,eACA,aACA,2BACA,4BAGWC,GAAuB,CAClC,CACEnK,eAAgB,EAChBoK,KAAM,gBACNC,MAAO,iBACP3V,YAAa,KACb4V,uBAAuB,EACvBC,kBAAkB,EAClBC,gBAAgB,EAChBC,YAAY,EACZC,MAAO,GAET,CACE1K,eAAgB,EAChBoK,KAAM,mBACNC,MAAO,oBACP3V,YAAa,KACb4V,uBAAuB,EACvBC,kBAAkB,EAClBC,gBAAgB,EAChBC,YAAY,EACZC,MAAO,GAET,CACE1K,eAAgB,EAChBoK,KAAM,OACNC,MAAO,OACP3V,YAAa,KACb4V,uBAAuB,EACvBC,kBAAkB,EAClBC,gBAAgB,EAChBC,YAAY,EACZC,MAAO,GAET,CACE1K,eAAgB,EAChBoK,KAAM,UACNC,MAAO,UACP3V,YAAa,KACb4V,uBAAuB,EACvBC,kBAAkB,EAClBC,gBAAgB,EAChBC,YAAY,EACZC,MAAO,GAET,CACE1K,eAAgB,EAChBoK,KAAM,YACNC,MAAO,aACP3V,YAAa,KACb4V,uBAAuB,EACvBC,kBAAkB,EAClBC,gBAAgB,EAChBC,YAAY,EACZC,MAAO,GAET,CACE1K,eAAgB,EAChBoK,KAAM,UACNC,MAAO,WACP3V,YAAa,KACb4V,uBAAuB,EACvBC,kBAAkB,EAClB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","file":"static/js/main.5c22f7e0.chunk.js","sourcesContent":["import * as Sentry from '@sentry/browser';\r\nimport {Severity} from '@sentry/browser';\r\nimport {Env} from '../config/env-vars';\r\n\r\ntype LogFunction = (message: string, ...optionalParams: any[]) => void;\r\n\r\ntype Logger = {\r\n debug: LogFunction;\r\n info: LogFunction;\r\n warn: LogFunction;\r\n error: LogFunction;\r\n};\r\n\r\ntype levels = 'debug' | 'info' | 'warn' | 'error';\r\n\r\nconst CoreLogger = {} as any as Logger;\r\n\r\n['debug', 'info', 'warn', 'error'].forEach((level) => {\r\n CoreLogger[level] = console[level] || console.log;\r\n});\r\n\r\nconst createLogger = (namespace, subject, level: levels) => {\r\n return (message: string, ...optionalParams: any[]) => {\r\n const log = CoreLogger[level];\r\n const data = (optionalParams || [])[0] || {};\r\n\r\n switch (level) {\r\n case 'info':\r\n Sentry.addBreadcrumb({level: Severity.Info, message, data});\r\n break;\r\n case 'warn':\r\n Sentry.addBreadcrumb({level: Severity.Warning, message, data});\r\n break;\r\n case 'error':\r\n Sentry.addBreadcrumb({level: Severity.Error, message, data});\r\n Sentry.captureException(message);\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n\r\n if (!logEnabled) return;\r\n\r\n log.call(CoreLogger, `${namespace}:${subject}:${level} => ${message}`, ...optionalParams);\r\n };\r\n};\r\n\r\nconst DEFAULT_NAMESPACE = 'paystar';\r\n\r\nexport const logger: (namespace, config?) => Logger = (\r\n subject,\r\n config = {\r\n namespace: DEFAULT_NAMESPACE,\r\n }\r\n) => {\r\n const namespace = config.namespace || DEFAULT_NAMESPACE;\r\n return {\r\n debug: createLogger(namespace, subject, 'debug'),\r\n info: createLogger(namespace, subject, 'info'),\r\n warn: createLogger(namespace, subject, 'warn'),\r\n error: createLogger(namespace, subject, 'error'),\r\n };\r\n};\r\n\r\nlet logEnabled: string | null = null;\r\ntry {\r\n logEnabled = localStorage.getItem('debug');\r\n} catch (error) {}\r\n\r\nconst developmentLogger = logger('development');\r\n\r\nif (!Env.isProductionBuild) {\r\n try {\r\n localStorage.setItem('debug', 'true');\r\n } catch (error) {}\r\n} else {\r\n ['debug', 'info', 'warn', 'error'].forEach((x) => {\r\n console[x] = developmentLogger[x];\r\n });\r\n}\r\n\r\nexport {developmentLogger as debug};\r\n","import {once, values} from 'lodash';\r\nimport oidcClient, {User as OidcUser, UserManager, UserManagerSettings} from 'oidc-client';\r\nimport * as Sentry from '@sentry/browser';\r\nimport {ClientQueryKeys, CustomSessionClaims} from '../api/generated/enums';\r\nimport {Env} from '../config/env-vars';\r\nimport {notify} from '../hooks/use-subscription';\r\nimport {User} from '../types';\r\nimport {logger} from '../utils/logger';\r\n\r\ntype ClientSettings = {\r\n BusinessUnitSlug?: string;\r\n AuthSessionToken?: string;\r\n};\r\n\r\nconst log = logger('oidc', {namespace: 'oidc-client'});\r\noidcClient.Log.logger = log;\r\n\r\nexport let userManager: UserManager;\r\n\r\nexport const initializeUserManager = once((clientSettings: ClientSettings) => {\r\n const settings = {\r\n client_id: 'portal',\r\n scope: `openid profile paystar.permissions paystar.api`,\r\n authority: Env.apiBaseUrl || '',\r\n response_type: 'id_token token',\r\n post_logout_redirect_uri: Env.appRoot,\r\n filterProtocolClaims: true,\r\n redirect_uri: `${Env.appRoot}/callback`,\r\n silent_redirect_uri: `${Env.appRoot}/silent-refresh.html`,\r\n automaticSilentRenew: true,\r\n\r\n // Allow user clocks to be off by 1hr 5 minutes. We were running into issues where we\r\n // may have been missing payments due to user clocks being incorrect. The logic behind\r\n // 1hr 5 minutes is such that a user can either be under that time, but also handle\r\n // the scenarion where the time is \"correct\" just missing the DST setting\r\n clockSkew: 60 * 65,\r\n\r\n extraQueryParams: clientSettings,\r\n } as UserManagerSettings;\r\n\r\n const slug = clientSettings.BusinessUnitSlug;\r\n\r\n if (slug) {\r\n Sentry.setTag(ClientQueryKeys.BusinessUnitSlug, slug);\r\n }\r\n\r\n if (clientSettings.AuthSessionToken) {\r\n Sentry.setExtra(ClientQueryKeys.AuthSessionToken, clientSettings.AuthSessionToken);\r\n }\r\n\r\n userManager = new UserManager(settings);\r\n\r\n userManager.events.addSilentRenewError(() => {\r\n notify('session-expired', undefined);\r\n });\r\n\r\n userManager.events.addUserSessionChanged(() => {\r\n log.info('UserSessionChanged');\r\n });\r\n\r\n userManager.events.addAccessTokenExpired(() => {\r\n notify('session-expired', undefined);\r\n });\r\n\r\n userManager.events.addAccessTokenExpiring(() => {\r\n log.warn('AccessTokenExpiring');\r\n });\r\n\r\n userManager.events.addUserSignedOut(async () => {\r\n await userManager.removeUser();\r\n window.location.reload();\r\n });\r\n});\r\n\r\nexport const getUser = async (): Promise => {\r\n const user = await userManager.getUser();\r\n return user && !user.expired ? user : null;\r\n};\r\n\r\nexport const mapOidcUser = (user: OidcUser): User => {\r\n const sessionAttributes = values(CustomSessionClaims).reduce((acc, key) => {\r\n const value = user.profile[key];\r\n if (value) {\r\n acc[key] = value;\r\n }\r\n return acc;\r\n }, {}) as User['attributes'];\r\n return {\r\n id: Number(user.profile.sub),\r\n name: user.profile.name || '',\r\n email: user.profile.preferred_username || '',\r\n permissions: user.profile.permissions,\r\n role: user.profile.role,\r\n attributes: sessionAttributes,\r\n };\r\n};\r\n","import {createBreakpoint} from 'react-use';\r\n\r\ntype Breakpoints = keyof typeof Breakpoints;\r\nexport const Breakpoints = {\r\n MobileMax: 767,\r\n TabletMin: 768,\r\n TabletMax: 991,\r\n DesktopMin: 992,\r\n DesktopMax: 1279,\r\n WideMin: 1280,\r\n} as const;\r\n\r\nexport const MediaSizes = {\r\n MobileMax: `max-width: ${Breakpoints.MobileMax}px`,\r\n TabletMin: `min-width: ${Breakpoints.TabletMin}px`,\r\n TabletMax: `max-width: ${Breakpoints.TabletMax}px`,\r\n DesktopMin: `min-width: ${Breakpoints.DesktopMin}px`,\r\n WideMin: `min-width: ${Breakpoints.WideMin}px`,\r\n} as const;\r\n\r\nexport const Media = (size: keyof typeof MediaSizes) =>\r\n `@media only screen and (${MediaSizes[size]})`;\r\n\r\nexport const useBreakpoint = () => {\r\n return createBreakpoint(Breakpoints)() as Breakpoints;\r\n};\r\n","import React from 'react';\r\nimport {CurrencyCodes} from '../api/generated/enums';\r\n\r\ntype Currency = {\r\n amount: number;\r\n fractionSize?: number;\r\n locale?: 'en-us';\r\n currency?: CurrencyCodes;\r\n currencySign?: 'standard' | 'accounting';\r\n};\r\n\r\nconst Currency: React.FC = (props) => <>{formatCurrency(props)};\r\n\r\nexport const formatCurrency = ({\r\n amount,\r\n fractionSize = 2,\r\n locale = 'en-us',\r\n currency = 'USD',\r\n currencySign = 'standard',\r\n}: Currency) => {\r\n const formatter = new Intl.NumberFormat(locale, {\r\n style: 'currency',\r\n currency,\r\n currencySign,\r\n });\r\n return formatter.format(amount / 10 ** fractionSize);\r\n};\r\n\r\nexport default Currency;\r\n","import React from 'react';\r\nimport hoistNonReactStatics from 'hoist-non-react-statics';\r\nimport {Button as SemanticButton, ButtonProps} from 'semantic-ui-react';\r\nimport {cx} from '@emotion/css';\r\n\r\nimport {RequireOnlyOne} from '../types';\r\n\r\ntype ButtonTypeProps = {\r\n type?: 'button' | 'submit';\r\n as?: any;\r\n};\r\n\r\nexport type Button = ButtonProps &\r\n RequireOnlyOne & {\r\n tertiary?: boolean;\r\n };\r\n\r\nconst ButtonWithType = ({type, secondary, tertiary, className, ...props}: Button) => {\r\n const classNames = cx(className, {\r\n secondary: !!secondary,\r\n tertiary: !!tertiary,\r\n });\r\n\r\n return ;\r\n};\r\n\r\nexport const Button = hoistNonReactStatics(ButtonWithType, SemanticButton) as typeof ButtonWithType;\r\n","import React from 'react';\r\nimport {Env} from './config/env-vars';\r\n\r\n// import ReactDOM from 'react-dom';\r\n\r\n\r\nif (!Env.isProductionBuild) {\r\n const whyDidYouRender = require('@welldone-software/why-did-you-render');\r\n whyDidYouRender(React, {\r\n //trackAllPureComponents: true,\r\n });\r\n\r\n // const axe = require('@axe-core/react').default;\r\n // axe(React, ReactDOM, 1000);\r\n}\r\n","import * as Sentry from '@sentry/browser';\r\nimport {Env} from '../config/env-vars';\r\n\r\nconst {isProductionBuild, sentryKey, sentryProjectId} = Env;\r\n\r\nconst shouldEnableSentry = isProductionBuild && !!sentryKey && !!sentryProjectId;\r\n\r\nif (shouldEnableSentry) {\r\n const regexMixpanel = /mixpanel/gi;\r\n const excludedHttpBreadcrumbs = [regexMixpanel];\r\n\r\n Sentry.init({\r\n dsn: `https://${sentryKey}@sentry.io/${sentryProjectId}`,\r\n beforeBreadcrumb(breadcrumb, hint) {\r\n if (breadcrumb.category === 'xhr' && breadcrumb.data) {\r\n const {url} = breadcrumb.data;\r\n if (excludedHttpBreadcrumbs.some((regex) => regex.test(url))) {\r\n return null;\r\n }\r\n }\r\n return breadcrumb;\r\n },\r\n ignoreErrors: [\r\n 'ResizeObserver loop limit exceeded', // https://stackoverflow.com/a/50387233 All good man.\r\n 'SilentRenewService._tokenExpiring: Error from signinSilent:',\r\n 'Frame window timed out',\r\n 'Callback Error',\r\n 'CheckSessionIFrame: error message from check session op iframe',\r\n ],\r\n release: Env.buildNumber,\r\n environment: Env.name,\r\n });\r\n}\r\n\r\nexport const setUser = ({id, email}: {id?: string; email?: string}) => {\r\n if (shouldEnableSentry) {\r\n Sentry.setUser({id, email});\r\n }\r\n};\r\n","import {first} from 'lodash';\r\nimport React from 'react';\r\nimport {useAsync} from 'react-use';\r\nimport {Redirect, RouteComponentProps} from '@reach/router';\r\nimport {AccountsService} from '../api/generated/AccountsService';\r\nimport {CustomersService} from '../api/generated/CustomersService';\r\nimport {authLogger, useUser} from '../auth/use-auth';\r\nimport {AsyncStateContainer} from '../components/async-state-container';\r\nimport {buildPath, routes} from '../routes';\r\n\r\nexport const CustomerResolver: React.FC = () => {\r\n const user = useUser();\r\n\r\n if (user.role !== 'Customer') {\r\n authLogger.error('Missing customer role', user);\r\n throw new Error('Cant be here...');\r\n }\r\n\r\n const fetchAccounts = useAsync(async () => {\r\n const {data} = await AccountsService.getMyAccounts();\r\n return data;\r\n });\r\n\r\n const fetchSlug = useAsync(async () => {\r\n const {data} = await CustomersService.getCustomerSlug();\r\n return data;\r\n });\r\n\r\n const accounts = fetchAccounts.value || [];\r\n const account = first(accounts);\r\n const slug = account ? account.businessUnitSlug : fetchSlug.value;\r\n\r\n if (slug) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return ...;\r\n};\r\n","import '../api/generated/config';\r\n\r\nimport React, {useContext, useEffect} from 'react';\r\nimport {Redirect, RouteComponentProps, Router, useLocation} from '@reach/router';\r\nimport {analytics} from '../analytics';\r\nimport {setUser} from '../analytics/sentry';\r\nimport {CustomerResolver} from '../customer-portal/customer-resolver';\r\nimport {appSubdirectory, buildPath, rootRoutes, routes} from '../routes';\r\nimport {logger} from '../utils/logger';\r\nimport {SignOut} from './sign-out';\r\nimport {AuthContext, useUser} from './use-auth';\r\nimport {userManager} from '.';\r\n\r\nconst AdminApp = React.lazy(() => import('../paystar-portal/app'));\r\nconst CustomerApp = React.lazy(() => import('../customer-portal/app'));\r\n\r\nconst log = logger('auth');\r\n\r\nconst AuthenticationResolver = () => {\r\n const location = useLocation();\r\n useEffect(() => {\r\n analytics.trackPage(location.pathname);\r\n }, [location]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst DefaultRouteResolver: React.FC = () => {\r\n const {redirectUrl = ''} = useContext(AuthContext);\r\n const user = useUser();\r\n\r\n let userDefaultUrl = rootRoutes.portal;\r\n\r\n let slug: string;\r\n if (user.role === 'QuickPay' || user.role === 'Customer') {\r\n slug = user.attributes?.business_unit_slug || '';\r\n userDefaultUrl = slug ? buildPath(routes.customer.dashboard, {slug}) : rootRoutes.customer;\r\n }\r\n\r\n let url = redirectUrl || userDefaultUrl || rootRoutes.portal;\r\n const useUserDefault = url === '/' || url === appSubdirectory || url === `${appSubdirectory}/`;\r\n\r\n if (useUserDefault) {\r\n url = userDefaultUrl;\r\n }\r\n\r\n log.info('redirectUrl', {\r\n role: user.role,\r\n url,\r\n userDefaultUrl,\r\n redirectUrl,\r\n appSubdirectory,\r\n });\r\n\r\n return ;\r\n};\r\n\r\nconst AuthenticationCleanup = () => {\r\n const user = useUser();\r\n\r\n useEffect(() => {\r\n userManager.clearStaleState();\r\n setUser({id: `${user.id}`, email: user.email});\r\n }, [user.email, user.id]);\r\n\r\n return null;\r\n};\r\n\r\nexport default AuthenticationResolver;\r\n","import React from 'react';\r\nimport {RouteComponentProps} from '@reach/router';\r\n\r\nconst App = React.lazy(() => import('./app'));\r\n\r\ntype HostedCheckoutProps = RouteComponentProps & {};\r\nexport const HostedCheckout: React.FC = () => ;\r\n","import React from 'react';\r\nimport {RouteComponentProps} from '@reach/router';\r\n\r\nimport './styles.css';\r\n\r\nconst App = React.lazy(() => import('./app'));\r\n\r\ntype EmbeddedCheckoutProps = RouteComponentProps & {};\r\nexport const EmbeddedCheckout: React.FC = () => ;\r\n","import {Container, Header, Image, Message, Popup, Segment, Table} from 'semantic-ui-react';\r\nimport {Media, useBreakpoint} from '../styles/breakpoints';\r\nimport {PaymentLineItemTypes, PaymentTypes} from '../api/generated/enums';\r\nimport {RouteComponentProps, useNavigate} from '@reach/router';\r\nimport {RouteParams, buildPath, routes} from '../routes';\r\n\r\nimport Currency from '../components/currency';\r\nimport {DateFormat} from '../components/date';\r\nimport {FlexRowWithActions} from '../components/flex';\r\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\r\nimport {PaymentsService} from '../api/generated/PaymentsService';\r\nimport React from 'react';\r\nimport {css} from '@emotion/react';\r\nimport {cx} from '@emotion/css';\r\nimport {faInfoCircle} from '@fortawesome/pro-regular-svg-icons';\r\nimport {useAsync} from 'react-use';\r\n\r\nexport const PaymentLookup = (props: RouteComponentProps) => {\r\n const {referenceNumber} = props as RouteParams<{referenceNumber: string}>;\r\n const breakpoint = useBreakpoint();\r\n const showMobileLogo = ['MobileMax', 'TabletMin', 'TabletMax'].some((x) => x === breakpoint);\r\n const navigate = useNavigate();\r\n\r\n const fetchPayment = useAsync(async () => {\r\n const {data} = await PaymentsService.getLookup({referenceNumber});\r\n\r\n if (data?.redirectReferenceNumber) {\r\n navigate(buildPath(routes.paymentLookup, {referenceNumber: data.redirectReferenceNumber}), {\r\n replace: true,\r\n });\r\n }\r\n\r\n return data;\r\n }, [navigate, referenceNumber]);\r\n\r\n const payment = fetchPayment.value;\r\n\r\n if (!payment) {\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n\r\n const serviceFeeIsIncludedInBasePayment =\r\n payment.relatedPayments?.length === 0 ||\r\n !payment.relatedPayments?.some((x) => x.paymentType === PaymentTypes['Service Fee']);\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n {!showMobileLogo && payment.businessUnitLogoUrl && (\r\n \r\n )}\r\n\r\n {showMobileLogo && payment.businessUnitMobileLogoUrl && (\r\n \r\n )}\r\n \r\n }\r\n actionsPosition={breakpoint === 'MobileMax' ? 'left' : 'right'}\r\n >\r\n \r\n {payment.businessUnitHeader}\r\n {payment.businessUnitSubHeader}\r\n \r\n \r\n \r\n \r\n
Details
\r\n \r\n \r\n \r\n Payment Date\r\n \r\n \r\n \r\n \r\n \r\n Status\r\n {payment.hasAdjustment ? 'Returned' : payment.status}\r\n \r\n \r\n Reference #\r\n {referenceNumber}\r\n \r\n \r\n {payment.paymentDescriptorLabel || 'Payment Descriptor'}\r\n {payment.paymentDescriptor}\r\n \r\n \r\n Payment Method\r\n {payment.paymentMethod}\r\n \r\n \r\n Last 4 Digits of Payment Method\r\n {payment.paymentSourceAccountNumberLast4}\r\n \r\n \r\n Auth Code\r\n {payment.authCode}\r\n \r\n \r\n
\r\n {payment.lineItems.length > 0 && (\r\n <>\r\n
\r\n
Payment Items
\r\n \r\n \r\n \r\n Description\r\n Price\r\n \r\n \r\n \r\n {payment.lineItems.map((x) => (\r\n \r\n \r\n {x.description}{' '}\r\n {x.lineItemType === PaymentLineItemTypes.ServiceFee && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n Total\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {payment.relatedPayments.length > 0 && (\r\n <>\r\n
Related Payments
\r\n \r\n \r\n \r\n Description\r\n Price\r\n \r\n \r\n \r\n {payment.relatedPayments.map((x) => (\r\n \r\n \r\n {x.paymentType === PaymentTypes['Service Fee'] ? (\r\n <>\r\n Service Fee{' '}\r\n \r\n \r\n ) : (\r\n x.paymentDescriptor\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n \r\n )}\r\n \r\n )}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\ntype ServiceFeeTooltipProps = {\r\n includedInBasePayment: boolean;\r\n org: string;\r\n};\r\n\r\nconst ServiceFeeTooltip: React.FC = ({includedInBasePayment, org}) => (\r\n }\r\n position=\"top center\"\r\n content={\r\n includedInBasePayment\r\n ? 'The Service Fee is a related fee because ' +\r\n org +\r\n ' partners with Paystar to provide online payment processing.'\r\n : 'The Service Fee is a related fee because ' +\r\n org +\r\n ' partners with Paystar to provide online payment processing. ' +\r\n org +\r\n ' will be directly above or below the Paystar charge on your statement.'\r\n }\r\n />\r\n);\r\n\r\nconst notFoundStyles = css`\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n\r\n .ui.segment {\r\n width: 600px;\r\n }\r\n`;\r\n\r\nconst styles = css`\r\n padding-top: 4rem;\r\n padding-bottom: 4rem;\r\n display: flex;\r\n flex-direction: column;\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n background: whitesmoke;\r\n\r\n .details-header {\r\n display: flex;\r\n align-items: end;\r\n }\r\n\r\n .details {\r\n tr {\r\n td:first-of-type {\r\n font-weight: bold;\r\n }\r\n }\r\n }\r\n\r\n .ui.sub.header {\r\n text-decoration: underline;\r\n }\r\n\r\n .logo {\r\n max-height: 3rem !important;\r\n width: auto !important;\r\n padding: 0 0.5rem;\r\n\r\n ${Media('TabletMin')} {\r\n padding: 0 0.5rem;\r\n }\r\n }\r\n`;\r\n","import React from 'react';\r\nimport {Container, Header, Image} from 'semantic-ui-react';\r\nimport {css} from '@emotion/react';\r\nimport {RouteComponentProps} from '@reach/router';\r\nimport {Media} from '../styles/breakpoints';\r\nimport {CustomForm} from '../customer-portal/custom-form';\r\nimport {RouteParams, buildPath, routes} from '../routes';\r\nimport {BusinessUnitsService} from '../api/generated/BusinessUnitsService';\r\nimport {useAsync} from 'react-use';\r\nimport {payStarColors} from '../styles/styled';\r\n\r\nexport const AnonymousForms = (props: RouteComponentProps) => {\r\n const {businessUnitId, baseFormId, formId, slug} = props as RouteParams<{\r\n formId: number;\r\n baseFormId?: number;\r\n businessUnitId: number;\r\n slug: string;\r\n }>;\r\n\r\n const fetchHeader = useAsync(async () => {\r\n const {data} = await BusinessUnitsService.getHeaderById({id: businessUnitId});\r\n\r\n return data;\r\n }, [businessUnitId]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {fetchHeader?.value?.logoUrl && (\r\n \"Company\r\n )}\r\n
\r\n
\r\n
\r\n {fetchHeader?.value?.header}\r\n {fetchHeader?.value?.subHeader}\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nconst styles = css`\r\n .form-container {\r\n margin-top: 95px;\r\n }\r\n\r\n .header-container {\r\n position: fixed;\r\n height: 80px;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n padding: 0 1rem;\r\n border-top: solid 5px ${payStarColors.blue6};\r\n border-bottom: 1px solid rgba(34, 36, 38, 0.15);\r\n box-shadow: 0px 0px 2px 0 rgba(34, 36, 38, 0.15);\r\n\r\n background: #fff;\r\n position: fixed;\r\n z-index: 1;\r\n width: 100%;\r\n top: 0;\r\n }\r\n\r\n .header {\r\n &__business-unit-logo img {\r\n height: 50px;\r\n }\r\n\r\n &__business-unit-headers {\r\n padding-left: 0.75rem;\r\n\r\n .ui.header {\r\n font-weight: normal;\r\n }\r\n }\r\n }\r\n\r\n .brand-image {\r\n height: 50px !important;\r\n width: auto !important;\r\n margin-top: 0px !important;\r\n }\r\n\r\n .ui.button.icon-right svg {\r\n margin-left: 0.5rem;\r\n }\r\n\r\n .ui.button.icon-left svg {\r\n margin-right: 0.5rem;\r\n }\r\n\r\n ${Media('MobileMax')} {\r\n .header__business-unit-logo {\r\n display: none;\r\n }\r\n\r\n .header__business-unit-headers .ui.header {\r\n font-size: 1.25rem;\r\n\r\n .sub.header {\r\n font-size: 1rem;\r\n }\r\n }\r\n }\r\n`;\r\n","/* eslint-disable */\r\n\r\nimport {\r\n PaymentReceiptDto,\r\n Currency,\r\n PaymentSummaryDto,\r\n PaymentSourceJsonDto,\r\n AccountSummaryDto,\r\n OptionalAddress,\r\n AccountFieldGetDto,\r\n PaymentSessionLineItemGetDto,\r\n PaymentFieldItemDto,\r\n IList,\r\n List,\r\n Response,\r\n AdvancedQueryPage,\r\n IRequestOptions,\r\n IRequestConfig,\r\n getConfigs,\r\n axios,\r\n basePath\r\n} from './index.defs';\r\n\r\nexport class ReceiptsService {\r\n /** Generate by swagger-axios-codegen */\r\n // @ts-nocheck\r\n /* eslint-disable */\r\n\r\n /**\r\n *\r\n */\r\n static getReceipt(\r\n params: {\r\n /** */\r\n referenceNumber: string;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/payments/{referenceNumber}/receipt';\r\n url = url.replace('{referenceNumber}', params['referenceNumber'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n}\r\n","import {Image} from '@react-pdf/renderer';\r\nimport bwipjs from 'bwip-js';\r\n\r\ntype BarcodeProps = {\r\n dataToEncode: string;\r\n};\r\n\r\nexport const Barcode: React.FC = ({dataToEncode}) => {\r\n const canvas = document.createElement('canvas');\r\n\r\n try {\r\n bwipjs.toCanvas(canvas, {\r\n bcid: 'code128',\r\n text: `${dataToEncode}`,\r\n scale: 3,\r\n height: 10,\r\n includetext: false,\r\n textxalign: 'center',\r\n });\r\n } catch (e) {\r\n console.error('BWIP Error:', e);\r\n }\r\n return ;\r\n};\r\n\r\ndeclare module 'bwip-js' {\r\n export function toCanvas(canvas: HTMLCanvasElement, opts: any): void;\r\n}\r\n","import React from 'react';\r\nimport {useAsync, useWindowSize} from 'react-use';\r\nimport {RouteComponentProps} from '@reach/router';\r\nimport ReactPDF, {\r\n Document,\r\n Image,\r\n PDFViewer,\r\n Page,\r\n StyleSheet,\r\n Text,\r\n View,\r\n} from '@react-pdf/renderer';\r\nimport {ReceiptsService} from '../api/generated/ReceiptsService';\r\nimport {PaymentLineItemTypes, PaymentSourceTypes, PaymentStatuses} from '../api/generated/enums';\r\nimport {logoUrl} from '../assets/paystar-logo-base64';\r\nimport {AsyncStateContainer} from '../components/async-state-container';\r\nimport Currency from '../components/currency';\r\nimport {DateFormat} from '../components/date';\r\nimport {RouteParams} from '../routes';\r\nimport {Barcode} from './payment-receipt-barcode';\r\nexport const Receipt = (props: RouteComponentProps) => {\r\n const {referenceNumber} = props as RouteParams<{referenceNumber: string}>;\r\n const {width, height} = useWindowSize();\r\n const fetchingReceipt = useAsync(async () => {\r\n return await ReceiptsService.getReceipt({referenceNumber});\r\n });\r\n\r\n const {\r\n basePayment,\r\n serviceFee,\r\n authCode,\r\n lineItems = [],\r\n paymentFieldItems = [],\r\n accounts = [],\r\n hasAdjustments,\r\n refundAmount,\r\n businessUnitFeaturesPaymentReceiptBarcodes,\r\n } = fetchingReceipt.value?.data || {};\r\n\r\n const paymentSourceLabel =\r\n basePayment?.paymentSource.paymentSourceType === PaymentSourceTypes['Credit Card']\r\n ? 'Card #:'\r\n : 'Account Number:';\r\n\r\n const includedFee = lineItems.find((x) => x.lineItemType === PaymentLineItemTypes.ServiceFee);\r\n const feeAmount = serviceFee ? serviceFee.amountMinor : includedFee?.price.value;\r\n\r\n return (\r\n \r\n {basePayment && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Date:\r\n \r\n \r\n \r\n \r\n \r\n Reference #:\r\n {basePayment.referenceNumber}\r\n \r\n\r\n {(paymentFieldItems || []).map((x) => (\r\n \r\n {x.label}:\r\n \r\n \r\n ))}\r\n\r\n \r\n\r\n {accounts.map((account) => {\r\n // const accountMeta = metaAccounts.find((x) => x.Id === account.id);\r\n\r\n const subaccount = account.subAccountNumber\r\n ? ` / ${account.subAccountNumber}`\r\n : '';\r\n const accountDisplay = `${account.accountNumber}${subaccount}`;\r\n const accountTotal = lineItems\r\n .filter((x) => x.accountId === account.id)\r\n .reduce((acc, item) => acc + item.price.value, 0);\r\n\r\n return (\r\n \r\n {!!account.name && (\r\n \r\n {account.name}\r\n \r\n )}\r\n \r\n {accountDisplay}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n\r\n {lineItems\r\n .filter((x) => !x.accountId && x.lineItemType !== PaymentLineItemTypes.ServiceFee)\r\n .map((x) => (\r\n \r\n {x.description}:\r\n \r\n \r\n \r\n \r\n ))}\r\n\r\n \r\n \r\n Payment Total:\r\n \r\n \r\n \r\n \r\n \r\n\r\n {refundAmount && (\r\n \r\n \r\n Refund Amount:\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {feeAmount &&\r\n (!!includedFee ? (\r\n \r\n Service Fee (incl):\r\n \r\n \r\n \r\n \r\n ) : basePayment.status !== PaymentStatuses.Refunded ? (\r\n \r\n Service Fee:\r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n ))}\r\n\r\n \r\n {basePayment.paymentSourceJson && (\r\n \r\n {paymentSourceLabel}\r\n {basePayment.paymentSource.accountNumberLast4}\r\n \r\n )}\r\n {basePayment.paymentSource.paymentSourceType ===\r\n PaymentSourceTypes['Credit Card'] && (\r\n \r\n Card Type:\r\n {basePayment.paymentSource.accountType}\r\n \r\n )}\r\n \r\n Auth Code:\r\n {authCode}\r\n \r\n\r\n {basePayment.status !== PaymentStatuses.Succeeded && !hasAdjustments && (\r\n {basePayment.status}\r\n )}\r\n {hasAdjustments && Returned}\r\n \r\n \r\n {serviceFee && (\r\n \r\n \r\n Note: There will be two separate charges on your statement. One for the base\r\n amount to\r\n {` ${basePayment.organizationName} `}\r\n and one to\r\n {' Paystar '}\r\n for the service fee.\r\n \r\n \r\n )}\r\n \r\n {businessUnitFeaturesPaymentReceiptBarcodes && (\r\n \r\n \r\n \r\n )}\r\n \r\n Thank you for your payment!\r\n Please retain for your records.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst ChunkText: React.FC<{\r\n text: string;\r\n maxLength: number;\r\n style?: ReactPDF.Style | ReactPDF.Style[];\r\n}> = (props) => {\r\n const {text, maxLength, style} = props;\r\n const parts = (text || '').replace(/([^a-z0-9]+)/g, '$1!BR!').split('!BR!');\r\n const chunks: string[] = [];\r\n\r\n let idx = 0;\r\n let chunk = '';\r\n while (idx < parts.length) {\r\n const next = chunk + parts[idx];\r\n if (next.length < maxLength) {\r\n chunk = next;\r\n } else {\r\n chunks.push(chunk);\r\n chunk = parts[idx];\r\n }\r\n idx++;\r\n }\r\n\r\n if (chunk) {\r\n chunks.push(chunk);\r\n }\r\n\r\n return (\r\n \r\n {chunks.map((x, i) => (\r\n \r\n {x}\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nconst styles = StyleSheet.create({\r\n page: {\r\n display: 'flex',\r\n flex: 1,\r\n paddingTop: 20,\r\n paddingBottom: 10,\r\n paddingHorizontal: 5,\r\n },\r\n content: {\r\n flex: 1,\r\n fontFamily: 'Helvetica',\r\n paddingTop: 15,\r\n },\r\n title: {\r\n fontSize: 15,\r\n textAlign: 'center',\r\n fontFamily: 'Helvetica',\r\n paddingBottom: 3,\r\n paddingHorizontal: 10,\r\n },\r\n subTitle: {\r\n fontFamily: 'Helvetica',\r\n fontSize: 12,\r\n textAlign: 'center',\r\n paddingHorizontal: 10,\r\n },\r\n status: {\r\n fontSize: 15,\r\n textAlign: 'center',\r\n paddingVertical: 5,\r\n marginVertical: 10,\r\n borderWidth: 2,\r\n borderStyle: 'dashed',\r\n textTransform: 'uppercase',\r\n },\r\n section: {\r\n fontFamily: 'Helvetica',\r\n fontWeight: 500,\r\n fontSize: 12,\r\n paddingBottom: 2,\r\n marginTop: 10,\r\n marginBottom: 10,\r\n paddingHorizontal: 4,\r\n textAlign: 'justify',\r\n borderBottomColor: '#000',\r\n borderBottomWidth: 1,\r\n borderBottomStyle: 'dashed',\r\n },\r\n row: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n paddingHorizontal: 4,\r\n paddingVertical: 3,\r\n fontWeight: 'normal',\r\n },\r\n label: {\r\n fontSize: 10,\r\n width: '40%',\r\n color: '#000',\r\n },\r\n wideLabel: {\r\n fontSize: 10,\r\n width: '75%',\r\n color: '#000',\r\n },\r\n value: {\r\n fontSize: 10,\r\n flex: 1,\r\n textAlign: 'right',\r\n },\r\n paymentTotalRow: {\r\n paddingTop: 5,\r\n fontWeight: 'normal',\r\n },\r\n strong: {\r\n fontWeight: 500,\r\n color: '#000',\r\n },\r\n multiAccountTitle: {\r\n fontSize: 10,\r\n textAlign: 'center',\r\n padding: '0 10 10',\r\n color: '#000',\r\n },\r\n accountContainer: {\r\n borderBottomColor: '#000',\r\n borderBottomWidth: 1,\r\n borderBottomStyle: 'solid',\r\n paddingTop: 5,\r\n paddingBottom: 5,\r\n },\r\n lineItem: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n paddingHorizontal: 4,\r\n paddingTop: 5,\r\n paddingBottom: 5,\r\n fontWeight: 'normal',\r\n borderBottomColor: '#000',\r\n borderBottomWidth: 1,\r\n borderBottomStyle: 'solid',\r\n },\r\n footer: {\r\n fontFamily: 'Helvetica',\r\n fontWeight: 500,\r\n fontSize: 10,\r\n padding: '5 0 3',\r\n borderTopColor: '#000',\r\n borderTopWidth: 1,\r\n borderTopStyle: 'solid',\r\n textAlign: 'center',\r\n },\r\n subFooter: {\r\n fontSize: 8,\r\n textAlign: 'center',\r\n },\r\n serviceFeeDisclaimer: {\r\n fontSize: 10,\r\n textAlign: 'center',\r\n padding: '4 10',\r\n color: '#000',\r\n },\r\n logo: {\r\n padding: '15 25% 10',\r\n display: 'flex',\r\n },\r\n barcode: {\r\n padding: '15 15 15 15',\r\n },\r\n});\r\n","import {ReportHandler} from 'web-vitals';\r\n\r\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import('web-vitals').then(({getCLS, getFID, getFCP, getLCP, getTTFB}) => {\r\n getCLS(onPerfEntry);\r\n getFID(onPerfEntry);\r\n getFCP(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n getTTFB(onPerfEntry);\r\n });\r\n }\r\n};\r\n\r\nexport default reportWebVitals;\r\n","import React from 'react';\r\nimport {RouteComponentProps} from '@reach/router';\r\n\r\nconst App = React.lazy(() => import('./app'));\r\n\r\ntype OnboardingProps = RouteComponentProps & {};\r\n\r\nexport const Onboarding: React.FC = () => ;\r\n","/// \r\n\r\nimport 'react-app-polyfill/ie11';\r\nimport 'react-app-polyfill/stable';\r\nimport 'typeface-roboto';\r\nimport '@reach/skip-nav/styles.css';\r\nimport '@reach/tooltip/styles.css';\r\nimport './dev-tools';\r\nimport './analytics/sentry';\r\n\r\nimport {enableES5, enableMapSet} from 'immer';\r\nimport React, {Suspense} from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport {ErrorBoundary, FallbackProps} from 'react-error-boundary';\r\nimport {useHotkeys} from 'react-hotkeys-hook';\r\nimport {Redirect, RouteComponentProps, Router} from '@reach/router';\r\nimport * as Sentry from '@sentry/browser';\r\nimport AuthenticationResolver from './auth/authentication-resolver';\r\nimport {AuthProvider} from './auth/use-auth';\r\nimport {HostedCheckout} from './checkout';\r\nimport {Env} from './config/env-vars';\r\nimport {EmbeddedCheckout} from './embedded';\r\nimport {PaymentLookup} from './payments/payment-lookup';\r\nimport {AnonymousForms} from './custom-forms/anonymous-forms';\r\nimport {Receipt} from './payments/receipt';\r\nimport reportWebVitals from './reportWebVitals';\r\nimport {routes} from './routes';\r\nimport {GlobalStyles} from './styles/theme-provider';\r\nimport {logger} from './utils/logger';\r\nimport {Onboarding} from './onboarding';\r\n\r\nenableES5();\r\nenableMapSet();\r\n\r\nconst log = logger('app');\r\n\r\nconst DebugLogger = () => {\r\n useHotkeys('ctrl+shift+.', () => {\r\n localStorage.setItem('debug', 'paystar:*');\r\n log.info('Production logging enabled');\r\n });\r\n return null;\r\n};\r\n\r\nconst DefaultRouteResolver: React.FC = () => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst FallbackComponent: React.FC = ({error}) => {\r\n log.error(error.message);\r\n return null;\r\n};\r\n\r\ntry {\r\n ReactDOM.render(\r\n \r\n \r\n \r\n {\r\n if (Env.isProductionBuild) {\r\n Sentry.withScope((scope) => {\r\n scope.setFingerprint([window.location.pathname]);\r\n\r\n Sentry.captureException(error);\r\n });\r\n }\r\n\r\n Sentry.showReportDialog();\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n );\r\n} catch (error) {\r\n if (Env.isProductionBuild) {\r\n Sentry.captureException(error);\r\n }\r\n}\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n","export const logoUrl =\r\n 'data:image/png;base64,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';","import '@emotion/react';\r\n\r\nimport {readableColor, rgba} from 'polished';\r\nimport {CreateStyled} from '@emotion/styled';\r\nimport styled from '@emotion/styled/macro';\r\n\r\ntype ThemeBase = typeof defaultTheme;\r\n\r\ndeclare module '@emotion/react' {\r\n export interface Theme extends ThemeBase {}\r\n}\r\n\r\nconst colors = {\r\n red3: '#E04761',\r\n red2: '#DA1F3F',\r\n red1: '#B31A34',\r\n red4: '#AA0000',\r\n red5: '#9F3A38',\r\n blue1: '#0A2233',\r\n blue2: '#0D3047',\r\n blue3: '#11153B',\r\n blue4: '#3E6A89',\r\n blue5: '#94ACBD',\r\n blue6: '#3B81F3',\r\n white1: '#FFFFFF',\r\n white2: '#F5F5F5',\r\n grey1: '#979C9E',\r\n grey2: '#CBCFD1',\r\n black: '#1B1C1D',\r\n transparent: 'rgba(0,0,0,0)',\r\n};\r\n\r\nexport const payStarColors = {\r\n ...colors,\r\n primary: {\r\n red: colors.red2,\r\n blue: colors.blue3,\r\n lightBlue: colors.blue6,\r\n grey: '#B8BEC0',\r\n },\r\n basicBoxShadow: 'rgba(34, 36, 38, 0.45)',\r\n textLabel: '#444',\r\n transparentHover: '#efefef',\r\n\r\n warning: '#712928',\r\n warningBackground: '#fff6f6',\r\n warningBoxShadow: colors.red5,\r\n warningText: '#7b341e',\r\n\r\n mutedText: colors.grey1,\r\n errorText: colors.red5,\r\n\r\n moneyPositive: 'green',\r\n moneyNegative: colors.red5,\r\n};\r\n\r\nexport const defaultTheme = {\r\n logoUrl: '',\r\n primaryColor: payStarColors.primary.blue,\r\n primaryButtonBg: payStarColors.primary.blue,\r\n secondaryButtonBg: '#e8e8e8',\r\n secondaryButtonShadow: rgba(payStarColors.primary.blue, 0.4),\r\n secondaryButtonText: readableColor(payStarColors.white1),\r\n};\r\n\r\nexport const generateThemeColors = (primaryColor: string) => ({\r\n primaryButtonBg: primaryColor,\r\n secondaryButtonBg: rgba(primaryColor, 0.5),\r\n secondaryButtonShadow: rgba(primaryColor, 0.35),\r\n secondaryButtonText: readableColor(rgba(primaryColor, 0.3)),\r\n});\r\n\r\nexport default styled as CreateStyled;\r\n","import produce, {Draft} from 'immer';\r\nimport {useMemo, useReducer} from 'react';\r\nimport {logger} from '../utils/logger';\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\r\ntype ActionCreator = (payload: Payload) => {type: string; payload: Payload};\r\ntype CreatedAction = ActionCreator & AnyAction;\r\ntype Handler = (state: Draft, payload: Payload) => void;\r\ntype Handlers = {\r\n [actionType: string]: Handler;\r\n};\r\n\r\ninterface AnyAction {\r\n type: any;\r\n}\r\n\r\ninterface Reducer {\r\n initialState: State;\r\n when: (\r\n action: CreatedAction,\r\n handler: Handler\r\n ) => Reducer;\r\n build: () => Handlers;\r\n}\r\n\r\nconst log = logger('use-immer-reducer');\r\n\r\nexport const actionCreatorFactory =\r\n () =>\r\n (key: string) => {\r\n const cb = (payload: Payload) => ({type: key, payload});\r\n (cb as unknown as AnyAction).type = key;\r\n return cb as unknown as CreatedAction;\r\n };\r\n\r\nexport const createReducer = (initialState?: State) => {\r\n const reducer: Reducer = {\r\n initialState,\r\n } as Reducer;\r\n const handlers: Handlers = {};\r\n\r\n reducer.when = (\r\n action: CreatedAction,\r\n handler: Handler\r\n ) => {\r\n handlers[action.type] = handler;\r\n return reducer;\r\n };\r\n\r\n reducer.build = () => {\r\n const buildReducer = Object.keys(handlers).reduce((acc, key) => {\r\n acc[key] = (state, payload) =>\r\n produce(state, (draft) => {\r\n handlers[key](draft, payload);\r\n });\r\n return acc;\r\n }, {});\r\n\r\n return buildReducer;\r\n };\r\n\r\n return reducer;\r\n};\r\n\r\nexport const useImmerReducer = (reducer: Reducer, initialState?: State) => {\r\n const handlers = useMemo(() => reducer.build(), [reducer]);\r\n\r\n return useReducer((state, action) => {\r\n log.debug('handler', action);\r\n if (handlers[action.type]) {\r\n return handlers[action.type](state, action.payload) as unknown as State;\r\n }\r\n return state as State;\r\n }, initialState ?? reducer.initialState);\r\n};\r\n","import {nanoid} from 'nanoid';\r\nimport React, {createContext, useContext, useEffect} from 'react';\r\nimport {Dimmer, Loader} from 'semantic-ui-react';\r\nimport {useMatch} from '@reach/router';\r\nimport {ClientQueryKeys, Roles} from '../api/generated/enums';\r\nimport {DelayedLoadingContainer} from '../components/delayed-loading-container';\r\nimport {Env} from '../config/env-vars';\r\nimport {actionCreatorFactory, createReducer, useImmerReducer} from '../hooks/use-immer-reducer';\r\nimport {useMemoizedValue} from '../hooks/use-memoized-value';\r\nimport {useQueryParams} from '../hooks/use-query-params';\r\nimport {subscribeGlobal} from '../hooks/use-subscription';\r\nimport {routes} from '../routes';\r\nimport {AnyObject, User} from '../types';\r\nimport {logger} from '../utils/logger';\r\nimport {getUser, initializeUserManager, mapOidcUser, userManager} from '.';\r\n\r\nconst authLogger = logger('auth');\r\n\r\ntype AuthState = {\r\n user: User | null;\r\n pending: boolean;\r\n error: Error | null;\r\n redirectUrl?: string;\r\n};\r\n\r\ntype OidcUser = Parameters[0];\r\n\r\nconst action = actionCreatorFactory();\r\nconst onUserLoaded = action('ON_USER_LOADED');\r\nconst onUserUnloaded = action('ON_USER_UNLOADED');\r\nconst redirecting = action('REDIRECTING');\r\n\r\nconst reducer = createReducer()\r\n .when(onUserLoaded, (draft, user) => {\r\n draft.pending = false;\r\n draft.user = mapOidcUser(user);\r\n const {url} = user.state || {};\r\n\r\n if (url) {\r\n draft.redirectUrl = url;\r\n }\r\n })\r\n .when(onUserUnloaded, (draft) => {\r\n draft.pending = true;\r\n draft.user = null;\r\n })\r\n .when(redirecting, (draft) => {\r\n draft.pending = true;\r\n draft.user = null;\r\n });\r\n\r\nconst INITIAL_STATE: AuthState = {\r\n user: null,\r\n pending: true,\r\n error: null,\r\n};\r\n\r\nexport const AuthContext = createContext(INITIAL_STATE);\r\n\r\nconst AuthProvider = (props: any) => {\r\n const [state_, dispatch] = useImmerReducer(reducer, INITIAL_STATE);\r\n const state = useMemoizedValue(state_);\r\n\r\n let businessUnitSlug = '';\r\n var customerSlug = useMatch(`${routes.customer.base}`)?.slug;\r\n var cp_login_mode = useQueryParams().cp_login_mode;\r\n var accountNumber = useQueryParams().accountNumber;\r\n\r\n if (customerSlug) {\r\n businessUnitSlug = customerSlug || '';\r\n }\r\n\r\n useEffect(() => {\r\n const extraQueryParams: AnyObject = {\r\n [ClientQueryKeys.BusinessUnitSlug]: businessUnitSlug,\r\n [ClientQueryKeys.AuthSessionToken]: nanoid(),\r\n };\r\n\r\n if (cp_login_mode) {\r\n extraQueryParams.cp_login_mode = cp_login_mode;\r\n }\r\n\r\n if (accountNumber) {\r\n extraQueryParams[ClientQueryKeys.accountNumber] = accountNumber;\r\n }\r\n\r\n initializeUserManager(extraQueryParams);\r\n\r\n (async () => {\r\n const user = await getUser();\r\n authLogger.debug('Initial user', user);\r\n\r\n userManager.events.addUserLoaded(async (updatedUser) => {\r\n dispatch(onUserLoaded(updatedUser));\r\n });\r\n\r\n userManager.events.addUserUnloaded(() => {\r\n dispatch(onUserUnloaded(undefined));\r\n });\r\n\r\n if (user && !user.expired) {\r\n dispatch(onUserLoaded(user));\r\n } else if (window.location.href.includes('#id_token')) {\r\n authLogger.debug('Handle callback');\r\n try {\r\n await userManager.signinRedirectCallback();\r\n } catch (error) {\r\n authLogger.info('Callback Error', error);\r\n (window as any).location = Env.appRoot;\r\n }\r\n } else {\r\n authLogger.info('signinRedirect');\r\n dispatch(redirecting(undefined));\r\n\r\n let pathname = window.location.pathname;\r\n let search = window.location.search;\r\n\r\n userManager.signinRedirect({\r\n state: {\r\n url: pathname + search,\r\n },\r\n });\r\n }\r\n })();\r\n }, [businessUnitSlug, cp_login_mode, accountNumber, dispatch]);\r\n\r\n if (state.pending) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n if (!state.user && !state.pending) {\r\n return
Not Authenticated
;\r\n }\r\n\r\n return ;\r\n};\r\n\r\nlet adminMockRole = '';\r\n\r\nif (!Env.isProductionBuild) {\r\n subscribeGlobal('admin-mock-role', (event) => {\r\n adminMockRole = event.role;\r\n });\r\n}\r\n\r\nfunction useUser(): User {\r\n const {user} = useContext(AuthContext);\r\n if (!user) {\r\n throw new Error(`useUser must be used within an authenticated app`);\r\n }\r\n\r\n if (\r\n !Env.isProductionBuild &&\r\n user.role === 'Global Admin' &&\r\n adminMockRole &&\r\n Roles[adminMockRole]\r\n ) {\r\n return {...user, role: adminMockRole as any};\r\n }\r\n\r\n return user;\r\n}\r\n\r\nexport {AuthProvider, useUser, authLogger, adminMockRole};\r\n","import {isEqual} from 'lodash';\r\nimport {useRef} from 'react';\r\n\r\nexport const useMemoizedValue = (value) => {\r\n const stateRef = useRef(value);\r\n if (!isEqual(value, stateRef.current)) {\r\n stateRef.current = value;\r\n }\r\n return stateRef.current;\r\n};\r\n","import React from 'react';\r\nimport AccessibleAlert from '@reach/alert';\r\nimport {Message, MessageProps} from 'semantic-ui-react';\r\n\r\nexport const Alert: React.FC = (props) => ;\r\n","import moment, {Moment} from 'moment';\r\n\r\nconst momentPool = new Map();\r\n\r\nexport function getPooledMoment(dayString: string | Date | number, format?: string) {\r\n const key = `${dayString}|${format || ''}`;\r\n if (!momentPool.has(key)) {\r\n momentPool.set(key, moment(dayString, format));\r\n }\r\n\r\n return momentPool.get(key) as Moment;\r\n}\r\n","export const sessionStore = {\r\n set: (key: string, value: string) => sessionStorage.setItem(key, value),\r\n get: (key: string) => sessionStorage.getItem(key),\r\n getAndRemove: (key: string) => {\r\n const value = sessionStorage.getItem(key);\r\n sessionStorage.removeItem(key);\r\n\r\n return value;\r\n },\r\n};\r\n","import {useState, useEffect} from 'react';\r\n\r\ntype Props = {\r\n children: React.ReactChild;\r\n delayInMs?: number;\r\n};\r\n\r\nexport const DelayedLoadingContainer = ({delayInMs = 500, children}: Props): any => {\r\n const [showContent, setShowContent] = useState(false);\r\n\r\n useEffect(() => {\r\n const id = setTimeout(() => {\r\n setShowContent(true);\r\n }, delayInMs);\r\n\r\n return () => {\r\n clearTimeout(id);\r\n };\r\n }, [delayInMs]);\r\n\r\n return showContent && children;\r\n};\r\n","import React, {createContext, useContext, useState} from 'react';\r\nimport produce from 'immer';\r\n\r\ntype FormState = {\r\n disabled: boolean;\r\n};\r\n\r\nconst INITIAL_STATE = {\r\n state: {\r\n disabled: false,\r\n },\r\n setState: () => undefined,\r\n};\r\n\r\ntype FormStateContext = {\r\n state: FormState;\r\n setState: (stateMutator) => void;\r\n};\r\n\r\nexport const FormStateContext = createContext(INITIAL_STATE);\r\n\r\ntype FormStateProvider = {\r\n children: React.ReactNode;\r\n initialState?: FormState;\r\n};\r\n\r\nconst FormStateProvider: React.FC = (props) => {\r\n const initialState = props.initialState || INITIAL_STATE.state;\r\n const [state, _setState] = useState(initialState);\r\n const setState = (stateMutator) => {\r\n _setState(\r\n produce(state, (draft) => {\r\n stateMutator(draft);\r\n })\r\n );\r\n };\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nfunction useFormState(): FormStateContext {\r\n const formState = useContext(FormStateContext);\r\n if (!formState) {\r\n throw new Error(`useFormState must be used within a FormStateProvider`);\r\n }\r\n return formState;\r\n}\r\n\r\nexport {FormStateProvider, useFormState};\r\n","import mitt from 'mitt';\r\nimport {useEffect} from 'react';\r\nimport {HubConnectionState} from '@microsoft/signalr';\r\nimport {PaymentIntentDetailDto} from '../api/generated/index.defs';\r\n\r\nlet emitter = mitt();\r\n\r\ntype SubscriptionEventMap = {\r\n 'payment-updated': {paymentId: number};\r\n 'payment-detail-selected': {paymentId: number; referenceNumber?: string; isEmbedded?: boolean};\r\n 'scheduled-payment-selected': {scheduledPaymentId: number};\r\n 'business-unit-updated': {businessUnitId: number};\r\n 'organization-updated': {organizationId: number};\r\n 'payment-fields-updated': {businessUnitId: number};\r\n 'session-expired': undefined;\r\n 'account-updated': {accountId: number};\r\n 'account-merged': {accountId: number};\r\n 'internal-account-notes-updated': {accountId: number};\r\n 'payment-session-updated': {paymentSession: PaymentIntentDetailDto};\r\n 'payment-session-processed': {paymentIntent: PaymentIntentDetailDto};\r\n 'editing-job-template': {jobTemplateId: number};\r\n 'client-emailed': undefined;\r\n 'creating-job-from-template': {jobTemplateId: number};\r\n 'job-updated': {jobId: number};\r\n 'job-execution': {jobId: number};\r\n 'signalr-state-changed': HubConnectionState;\r\n 'terms-of-service-updated': {termsOfServiceId: number};\r\n 'admin-mock-role': {role: string};\r\n 'account-payments-date-filter': {paymentId: number};\r\n __NEVER__: {};\r\n};\r\n\r\nexport type SubscriptionEvents = keyof SubscriptionEventMap;\r\n\r\nexport function useSubscription(\r\n eventName: K,\r\n cb: (event: SubscriptionEventMap[K]) => void\r\n): void {\r\n useEffect(() => {\r\n emitter.on(eventName as any, cb as any);\r\n return () => emitter.off(eventName as any, cb as any);\r\n });\r\n}\r\n\r\nexport function notify(eventName: K, event: SubscriptionEventMap[K]) {\r\n if (eventName === '__NEVER__') {\r\n throw Error('Never call this event...');\r\n }\r\n emitter.emit(eventName, event);\r\n}\r\n\r\nexport function subscribeGlobal(\r\n eventName: K,\r\n cb: (event: SubscriptionEventMap[K]) => void\r\n): () => void {\r\n emitter.on(eventName as any, cb as any);\r\n return () => emitter.off(eventName as any, cb as any);\r\n}\r\n","/* eslint-disable */\r\n\r\nimport {\r\n FormConfigurationGetDto,\r\n SubmitFormRequest,\r\n DependentFormResponseDto,\r\n SubmitFormResponse,\r\n IList,\r\n List,\r\n Response,\r\n AdvancedQueryPage,\r\n IRequestOptions,\r\n IRequestConfig,\r\n getConfigs,\r\n axios,\r\n basePath\r\n} from './index.defs';\r\n\r\nexport class FormsService {\r\n /** Generate by swagger-axios-codegen */\r\n // @ts-nocheck\r\n /* eslint-disable */\r\n\r\n /**\r\n *\r\n */\r\n static getAllFormConfigurationsForCustomerDashboard(\r\n params: {\r\n /** */\r\n businessUnitId: number;\r\n /** */\r\n accountId?: number;\r\n /** */\r\n displayLocation?: string;\r\n /** */\r\n conditionJson?: string;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise>> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/business-units/{businessUnitId}/form-configurations/customer-dashboard';\r\n url = url.replace('{businessUnitId}', params['businessUnitId'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n configs.params = {\r\n AccountId: params['accountId'],\r\n DisplayLocation: params['displayLocation'],\r\n ConditionJson: params['conditionJson']\r\n };\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getFormConfigurationById(\r\n params: {\r\n /** */\r\n businessUnitId: number;\r\n /** */\r\n formConfigurationId: number;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/business-units/{businessUnitId}/form-configurations/{formConfigurationId}';\r\n url = url.replace('{businessUnitId}', params['businessUnitId'] + '');\r\n url = url.replace('{formConfigurationId}', params['formConfigurationId'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getFormConfigurationByPaymentSessionIdentifier(\r\n params: {\r\n /** */\r\n businessUnitId: number;\r\n /** */\r\n paymentSessionIdentifier: string;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url =\r\n basePath + '/api/business-units/{businessUnitId}/form-configurations/checkout/{paymentSessionIdentifier}';\r\n url = url.replace('{businessUnitId}', params['businessUnitId'] + '');\r\n url = url.replace('{paymentSessionIdentifier}', params['paymentSessionIdentifier'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getAnonymousFormConfigurationById(\r\n params: {\r\n /** */\r\n businessUnitId: number;\r\n /** */\r\n formConfigurationId: number;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/business-units/{businessUnitId}/form-configurations/{formConfigurationId}/public';\r\n url = url.replace('{businessUnitId}', params['businessUnitId'] + '');\r\n url = url.replace('{formConfigurationId}', params['formConfigurationId'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static submitForm(\r\n params: {\r\n /** */\r\n businessUnitId: number;\r\n /** */\r\n formConfigurationId: number;\r\n /** */\r\n body?: SubmitFormRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/business-units/{businessUnitId}/form-configurations/{formConfigurationId}/submit';\r\n url = url.replace('{businessUnitId}', params['businessUnitId'] + '');\r\n url = url.replace('{formConfigurationId}', params['formConfigurationId'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('post', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static submitAnonymousForm(\r\n params: {\r\n /** */\r\n businessUnitId: number;\r\n /** */\r\n formConfigurationId: number;\r\n /** */\r\n body?: SubmitFormRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url =\r\n basePath + '/api/business-units/{businessUnitId}/form-configurations/{formConfigurationId}/submit/public';\r\n url = url.replace('{businessUnitId}', params['businessUnitId'] + '');\r\n url = url.replace('{formConfigurationId}', params['formConfigurationId'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('post', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n}\r\n","import React from 'react';\r\nimport {Loader} from 'semantic-ui-react';\r\nimport {css} from '@emotion/react/macro';\r\n\r\nimport {DelayedLoadingContainer} from './delayed-loading-container';\r\nimport {Alert} from './alert';\r\n\r\ntype AsyncStateContainer = {\r\n loading: boolean;\r\n error?: Error;\r\n children: any;\r\n delayInMs?: number;\r\n};\r\n\r\nexport const AsyncStateContainer: React.FC = ({\r\n loading,\r\n error,\r\n children,\r\n delayInMs,\r\n}) => {\r\n if (loading) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n if (error) {\r\n return {error.message};\r\n }\r\n\r\n return children;\r\n};\r\n","import {mapValues, values} from 'lodash';\r\nimport qs from 'qs';\r\nimport {Env} from '../../config/env-vars';\r\nimport {AnyObject} from '../../types';\r\nimport {logger} from '../../utils/logger';\r\n\r\nconst log = logger('code-gen utils');\r\n\r\nexport type DropdownOption = {\r\n text: string;\r\n value: any;\r\n};\r\n\r\nexport const getEnumDropdownOptions = (() => {\r\n const enumMapCache = new WeakMap();\r\n\r\n return (enumObject: AnyObject) => {\r\n if (!enumObject) {\r\n throw new Error('invalid enum cache object');\r\n }\r\n if (enumMapCache.has(enumObject)) {\r\n return enumMapCache.get(enumObject) as DropdownOption[];\r\n }\r\n\r\n log.info('enum cache miss', enumObject);\r\n const enumOptions = values(enumObject).map((x) => ({\r\n text: x,\r\n value: x,\r\n key: x,\r\n }));\r\n\r\n enumMapCache.set(enumObject, enumOptions);\r\n return enumOptions as DropdownOption[];\r\n };\r\n})();\r\n\r\nexport const validateEnumOptions = (() => {\r\n const enumMapCache = new WeakMap();\r\n\r\n return (enumObject: AnyObject, value: string) => {\r\n if (!enumObject) {\r\n throw new Error('invalid enum cache object');\r\n }\r\n if (enumMapCache.has(enumObject)) {\r\n return Boolean(enumMapCache.get(enumObject)[value]);\r\n }\r\n\r\n log.info('enum cache miss', enumObject);\r\n const enumOptions = mapValues(enumObject, (value) => value);\r\n\r\n enumMapCache.set(enumObject, enumOptions);\r\n return Boolean(enumOptions[value]);\r\n };\r\n})();\r\n\r\nexport const buildApiUrl = (url: string, params?: AnyObject) => {\r\n const baseUrl = Env.apiBaseUrl;\r\n const queryString = params ? '?' + qs.stringify(params, {allowDots: true}) : '';\r\n return `${baseUrl}${url}${queryString}`;\r\n};\r\n","import currency from 'currency.js';\r\nimport moment from 'moment';\r\nimport {parseCurrency, formatCurrency} from '../utils/currency-helpers';\r\nimport {getPooledMoment} from '../utils/get-pooled-moment';\r\n\r\nexport type ValueConverter = {\r\n parseInput: (input: string) => any;\r\n format: (value: any) => string;\r\n equals: (value: any, formattedInput: string) => boolean;\r\n};\r\n\r\nexport const defaultValueConverter: ValueConverter = {\r\n format: (x) => x,\r\n parseInput: (x) => x,\r\n equals: (value, formattedInput) => value === formattedInput,\r\n};\r\n\r\nexport const currencyValueConverter: ValueConverter = {\r\n format: (value) => formatCurrency(value),\r\n parseInput: (input) => parseCurrency(input),\r\n equals: (value, input) => value === parseCurrency(input),\r\n};\r\n\r\nexport const decimalValueConverter: ValueConverter = {\r\n format: (value) => currency(value * 100).value.toString(),\r\n parseInput: (input) => {\r\n const parsedInput = Number(input);\r\n if (!Number.isFinite(parsedInput)) {\r\n return 0;\r\n }\r\n const precision = getPrecision(parsedInput) + 2;\r\n return Number((parsedInput / 100).toPrecision(precision));\r\n },\r\n equals: (value, input) => value === decimalValueConverter.parseInput(input),\r\n};\r\n\r\nexport const timeValueConverter: ValueConverter = {\r\n format: (value) => moment(value || '0', 'LT').format('hh:mm A'),\r\n parseInput: (input) => getPooledMoment(input || '0', 'LT').format('HH:mm:ss'),\r\n equals: (value, input) =>\r\n moment(value, 'LT').format('HH:mm:ss') === getPooledMoment(input, 'LT').format('HH:mm:ss'),\r\n};\r\n\r\nfunction getPrecision(a) {\r\n if (!isFinite(a)) return 0;\r\n let e = 1,\r\n p = 0;\r\n while (Math.round(a * e) / e !== a) {\r\n e *= 10;\r\n p++;\r\n }\r\n return p;\r\n}\r\n","import qs from 'qs';\r\nimport {RouteComponentProps, useMatch} from '@reach/router';\r\nimport {Env} from '../config/env-vars';\r\nimport {AnyObject, KeyOf} from '../types';\r\n\r\ntype PathParams = {\r\n [key: string]: string | number;\r\n};\r\n\r\ntype QueryParams = {\r\n [key: string]: string;\r\n};\r\n\r\nexport type RouteParams = Required & T;\r\nexport const appSubdirectory = Env.subdirectory || '';\r\n\r\nexport const rootRoutes = {\r\n callback: `${appSubdirectory}/callback`,\r\n portal: `${appSubdirectory}/portal`,\r\n customer: `${appSubdirectory}/customer`,\r\n checkout: `${appSubdirectory}/checkout`,\r\n embedded: `${appSubdirectory}/embedded`,\r\n onboarding: `${appSubdirectory}/onboarding/:businessUnitSlug`,\r\n};\r\n\r\nexport const routes = {\r\n receipt: `${appSubdirectory}/payment/:referenceNumber/receipt`,\r\n paymentLookup: `${appSubdirectory}/payment/:referenceNumber/lookup`,\r\n anonymousForms: `${appSubdirectory}/:slug/:businessUnitId/forms/:formId/`,\r\n anonymousDependentForms: `${appSubdirectory}/:slug/:businessUnitId/forms/:baseFormId/:formId/`,\r\n checkout: {\r\n base: `${rootRoutes.checkout}/:slug/:signature/:expiration/*`,\r\n initiate: `/`,\r\n review: `:sessionId`,\r\n },\r\n embedded: fragmentedRoute({\r\n base: `${rootRoutes.embedded}/:slug/*`,\r\n fragments: {\r\n paymentSource: `payment-source`,\r\n session: `session/:identifier`,\r\n flowRoot: `flow/*`,\r\n manageAutopay: `flow/account/manage-autopay`,\r\n managePaperless: `flow/account/manage-paperless`,\r\n manageCustomerWallet: `flow/customer/manage-wallet`,\r\n },\r\n }),\r\n portal: {\r\n base: `${rootRoutes.portal}/*`,\r\n dashboard: rootRoutes.portal,\r\n payments: {\r\n root: `${rootRoutes.portal}/payments/*`,\r\n dashboard: `${rootRoutes.portal}/payments`,\r\n external: `${rootRoutes.portal}/payments/external`,\r\n details: `${rootRoutes.portal}/payments/:referenceNumber`,\r\n fragments: {\r\n root: '/',\r\n referenceNumber: ':referenceNumber',\r\n external: 'external',\r\n },\r\n },\r\n serviceFees: `${rootRoutes.portal}/service-fees`,\r\n termsOfService: {\r\n listing: `${rootRoutes.portal}/terms-of-service`,\r\n create: `${rootRoutes.portal}/terms-of-service/create`,\r\n createFromExisting: `${rootRoutes.portal}/terms-of-service/create/:id`,\r\n view: `${rootRoutes.portal}/terms-of-service/view/:identifier`,\r\n },\r\n funding: {\r\n root: `${rootRoutes.portal}/funding/*`,\r\n listing: `${rootRoutes.portal}/funding`,\r\n unfunded: `${rootRoutes.portal}/funding/unfunded`,\r\n fragments: {\r\n root: '/',\r\n unfunded: 'unfunded',\r\n },\r\n },\r\n myAccount: `${rootRoutes.portal}/my-account`,\r\n gateways: {\r\n listing: `${rootRoutes.portal}/gateways`,\r\n create: `${rootRoutes.portal}/gateways/create`,\r\n detail: `${rootRoutes.portal}/gateways/:id`,\r\n },\r\n achGateway: {\r\n batches: `${rootRoutes.portal}/ach-gateway/batches`,\r\n batchTransactions: `${rootRoutes.portal}/ach-gateway/batches/:id`,\r\n },\r\n messages: {\r\n listing: `${rootRoutes.portal}/messages`,\r\n create: `${rootRoutes.portal}/messages/create`,\r\n detail: `${rootRoutes.portal}/messages/:id`,\r\n },\r\n products: {\r\n listing: `${rootRoutes.portal}/products`,\r\n create: `${rootRoutes.portal}/products/create`,\r\n detail: `${rootRoutes.portal}/products/:id`,\r\n },\r\n merchantAccounts: {\r\n listing: `${rootRoutes.portal}/merchant-accounts`,\r\n create: `${rootRoutes.portal}/merchant-accounts/create`,\r\n detail: `${rootRoutes.portal}/merchant-accounts/:id`,\r\n },\r\n nachaConfigs: {\r\n listing: `${rootRoutes.portal}/nacha-configs`,\r\n create: `${rootRoutes.portal}/nacha-configs/create`,\r\n detail: `${rootRoutes.portal}/nacha-configs/:id`,\r\n },\r\n agencies: {\r\n listing: `${rootRoutes.portal}/agencies`,\r\n create: `${rootRoutes.portal}/agencies/create`,\r\n detail: `${rootRoutes.portal}/agencies/:id`,\r\n },\r\n billingSystems: {\r\n listing: `${rootRoutes.portal}/billing-systems`,\r\n create: `${rootRoutes.portal}/billing-systems/create`,\r\n detail: `${rootRoutes.portal}/billing-systems/:id`,\r\n },\r\n customGatewayMessages: {\r\n listing: `${rootRoutes.portal}/custom-gateway-messages`,\r\n create: `${rootRoutes.portal}/custom-gateway-messages/create`,\r\n detail: `${rootRoutes.portal}/custom-gateway-messages/:id`,\r\n },\r\n organization: {\r\n setup: `${rootRoutes.portal}/organizations/setup`,\r\n detail: `${rootRoutes.portal}/organization/`,\r\n },\r\n businessUnits: {\r\n setup: `${rootRoutes.portal}/business-units/setup`,\r\n root: `${rootRoutes.portal}/business-units/*`,\r\n detail: `${rootRoutes.portal}/business-units`,\r\n create: `${rootRoutes.portal}/business-units/create`,\r\n channels: `${rootRoutes.portal}/business-units/channels`,\r\n channel: `${rootRoutes.portal}/business-units/channel/:id`,\r\n terms: {\r\n listing: `${rootRoutes.portal}/business-units/terms-of-service`,\r\n create: `${rootRoutes.portal}/business-units/terms-of-service/create`,\r\n createFromExisting: `${rootRoutes.portal}/business-units/terms-of-service/create/:id`,\r\n view: `${rootRoutes.portal}/business-units/terms-of-service/view/:identifier`,\r\n },\r\n externalLinks: {\r\n listing: `${rootRoutes.portal}/business-units/external-links`,\r\n create: `${rootRoutes.portal}/business-units/external-links/create`,\r\n update: `${rootRoutes.portal}/business-units/external-links/:id`,\r\n },\r\n fragments: {\r\n root: '/',\r\n features: 'features',\r\n channels: 'channels',\r\n billingCycles: 'billing-cycles',\r\n accountConfig: 'account-config',\r\n paymentFields: 'payment-fields',\r\n termsOfService: 'terms-of-service',\r\n externalLinks: 'external-links',\r\n },\r\n billingCycleDetails: `${rootRoutes.portal}/billing-cycle/:id`,\r\n },\r\n reports: {\r\n root: `${rootRoutes.portal}/reports/*`,\r\n batches: `${rootRoutes.portal}/reports/batches`,\r\n batchDetails: `${rootRoutes.portal}/reports/batches/:merchantNumber`,\r\n transactions: `${rootRoutes.portal}/reports/transactions`,\r\n payments: `${rootRoutes.portal}/reports/payments`,\r\n adjustments: `${rootRoutes.portal}/reports/adjustments`,\r\n fragments: {\r\n root: '/',\r\n batchesByMid: 'batches/:merchantNumber',\r\n batches: 'batches',\r\n transactions: 'transactions',\r\n posReport: 'pos-report',\r\n adjustments: 'adjustments',\r\n autopay: 'autopay',\r\n paperlessBilling: 'paperless-billing',\r\n products: 'products',\r\n generated: 'generated',\r\n accountPayment: 'account-payments',\r\n },\r\n },\r\n accounts: {\r\n listing: `${rootRoutes.portal}/accounts`,\r\n uploads: `${rootRoutes.portal}/accounts/uploads`,\r\n create: `${rootRoutes.portal}/accounts/create`,\r\n detail: `${rootRoutes.portal}/accounts/:id`,\r\n dashboard: `${rootRoutes.portal}/accounts/:id/dashboard`,\r\n },\r\n customers: {\r\n dashboard: `${rootRoutes.portal}/customers/:id/dashboard`,\r\n },\r\n devices: {\r\n listing: `${rootRoutes.portal}/devices`,\r\n create: `${rootRoutes.portal}/devices/create`,\r\n detail: `${rootRoutes.portal}/devices/:id`,\r\n },\r\n bills: {\r\n listing: `${rootRoutes.portal}/bills`,\r\n },\r\n readings: {\r\n listing: `${rootRoutes.portal}/readings`,\r\n },\r\n users: {\r\n listing: `${rootRoutes.portal}/users`,\r\n create: `${rootRoutes.portal}/users/create`,\r\n detail: `${rootRoutes.portal}/users/:id`,\r\n },\r\n usersPage: {\r\n root: `${rootRoutes.portal}/users-page/*`,\r\n billers: `${rootRoutes.portal}/users-page`,\r\n fragments: {\r\n root: '/',\r\n payers: `customers`,\r\n },\r\n },\r\n tickets: {\r\n listing: `${rootRoutes.portal}/tickets`,\r\n create: `${rootRoutes.portal}/tickets/create`,\r\n detail: `${rootRoutes.portal}/tickets/:id`,\r\n },\r\n settings: {\r\n listing: `${rootRoutes.portal}/settings`,\r\n detail: `${rootRoutes.portal}/settings/:id`,\r\n },\r\n webhooks: {\r\n listing: `${rootRoutes.portal}/webhooks`,\r\n },\r\n jobs: {\r\n listing: `${rootRoutes.portal}/jobs`,\r\n editor: `${rootRoutes.portal}/jobs/:id`,\r\n templates: `${rootRoutes.portal}/jobs/templates`,\r\n },\r\n files: {\r\n listing: `${rootRoutes.portal}/files`,\r\n },\r\n outboundIvr: `${rootRoutes.portal}/outboundIvr`,\r\n signOut: `${rootRoutes.portal}/signout`,\r\n businessUnitClientManagementSettings: `${rootRoutes.portal}/business-unit-settings`,\r\n },\r\n customer: {\r\n base: `${rootRoutes.customer}/:slug/*`,\r\n dashboard: `${rootRoutes.customer}/:slug`,\r\n paymentIntentFlow: `${rootRoutes.customer}/:slug/make-payment/:identifier`,\r\n multiAccountDashboard: `${rootRoutes.customer}/:slug/accounts`,\r\n\r\n accountBase: `${rootRoutes.customer}/:slug/accounts/:accountId/*`,\r\n account: `${rootRoutes.customer}/:slug/accounts/:accountId`,\r\n accountRegister: `${rootRoutes.customer}/:slug/accounts/:accountId/register`,\r\n\r\n wallet: `${rootRoutes.customer}/:slug/wallet`,\r\n form: `${rootRoutes.customer}/:slug/form/:formId`,\r\n dependentForm: `${rootRoutes.customer}/:slug/form/:baseFormId/:formId`,\r\n myAccount: `${rootRoutes.customer}/:slug/paystar-profile`,\r\n },\r\n payer: {\r\n base: `${rootRoutes.customer}/:slug/*`,\r\n dashboard: `${rootRoutes.customer}/:slug`,\r\n accountList: `${rootRoutes.customer}/:slug/accounts`,\r\n accounts: fragmentedRoute({\r\n base: `${rootRoutes.customer}/:slug/accounts/:accountId/*`,\r\n fragments: {\r\n root: '/',\r\n paymentHistory: 'payment-history',\r\n billHistory: 'bill-history',\r\n autoPay: 'auto-pay',\r\n paperlessBilling: 'paperless-billing',\r\n pay: 'pay',\r\n paystarProfile: 'paystar-profile',\r\n register: 'register',\r\n },\r\n }),\r\n },\r\n quickPayRedirect: `${appSubdirectory}/quick-pay/:slug`,\r\n onboarding: {\r\n base: `${rootRoutes.onboarding}/:token/*`,\r\n customerVerification: `${rootRoutes.onboarding}/:token`,\r\n accountVerification: `${rootRoutes.onboarding}/:token/account/:accountId`,\r\n paperlessBillingEnrollment: `${rootRoutes.onboarding}/:token/account/:accountId/paperless-billing`,\r\n autopayEnrollment: `${rootRoutes.onboarding}/:token/account/:accountId/autopay`,\r\n notificationsEnrollment: `${rootRoutes.onboarding}/:token/account/:accountId/notifications`,\r\n verifyPhone: `${rootRoutes.onboarding}/:token/account/:accountId/verify-phone`,\r\n multiAccountNotification: `${rootRoutes.onboarding}/:token/account/:accountId/multi-account-notification`,\r\n invalidLink: `${rootRoutes.onboarding}/:token/invalid`,\r\n completed: `${rootRoutes.onboarding}/:token/complete`,\r\n },\r\n};\r\n\r\ntype FragmentedRouteConfig = {\r\n base: string;\r\n fragments: {\r\n [key in keyof TFragments]: string;\r\n };\r\n};\r\n\r\ntype FragmentMatchBase = {\r\n any: boolean;\r\n};\r\n\r\nfunction fragmentedRoute(config: FragmentedRouteConfig) {\r\n type Fragments = KeyOf;\r\n\r\n const resolveFragment = (key: Fragments) => {\r\n return config.base.replace('/*', `/${config.fragments[key]}`);\r\n };\r\n\r\n const matcher =\r\n >(fragmentConfig: U) =>\r\n () => {\r\n type FragmentMatch = FragmentMatchBase & {\r\n [key in keyof U]: ReturnType;\r\n };\r\n\r\n let result = {\r\n any: false,\r\n };\r\n\r\n Object.keys(fragmentConfig).forEach((key) => {\r\n const fragment = resolveFragment(fragmentConfig[key] as Fragments);\r\n const match = useMatch(fragment);\r\n\r\n result[key] = match;\r\n\r\n if (match) {\r\n result.any = true;\r\n }\r\n });\r\n\r\n return result as FragmentMatch;\r\n };\r\n return {\r\n ...config,\r\n resolveFragment,\r\n matcher,\r\n };\r\n}\r\n\r\nexport const buildPath = (path: string, pathParams: PathParams, queryParams?: QueryParams) => {\r\n const compiledPath = Object.keys(pathParams).reduce((url, key) => {\r\n return url.replace(`:${key}`, `${pathParams[key]}`);\r\n }, path);\r\n\r\n const url = queryParams ? `${compiledPath}?${qs.stringify(queryParams)}` : compiledPath;\r\n return url.replace('//', '/');\r\n};\r\n","import currency from 'currency.js';\r\n\r\nconst defaultResult = currency('0');\r\nexport const safeCurrency = (input) => {\r\n const result = currency(input);\r\n return isNaN(result.intValue) ? defaultResult : result;\r\n};\r\n\r\nexport const formatCurrency = (inputAsMinor: number) => safeCurrency(inputAsMinor / 100).toString();\r\n\r\nexport const parseCurrency = (inputAsMajor: string) => safeCurrency(inputAsMajor).intValue;\r\n","type REACT_APP_ENVIRONMENT = 'local' | 'development' | 'production';\r\n\r\nexport type Env = {\r\n isProductionBuild: boolean;\r\n publicUrl: string;\r\n\r\n name: REACT_APP_ENVIRONMENT;\r\n buildNumber: string;\r\n apiBaseUrl?: string;\r\n embeddedBaseUrl?: string;\r\n\r\n host: string;\r\n subdirectory?: string;\r\n appRoot: string;\r\n\r\n cardConnectBaseUrl?: string;\r\n\r\n mixPanelToken?: string;\r\n googleAnalyticsId?: string;\r\n sentryKey?: string;\r\n sentryProjectId?: string;\r\n};\r\n\r\nconst subdirectory = process.env.REACT_APP_SUBDIRECTORY;\r\nexport const host = `${window.location.protocol}//${window.location.host}`;\r\nexport const appRoot = `${host}${subdirectory}`;\r\n\r\nexport const Env: Env = {\r\n isProductionBuild: process.env.NODE_ENV === 'production',\r\n publicUrl: process.env.PUBLIC_URL,\r\n\r\n name: process.env.REACT_APP_ENVIRONMENT as REACT_APP_ENVIRONMENT,\r\n buildNumber: process.env.REACT_APP_BUILD_NUMBER || 'local',\r\n apiBaseUrl: process.env.REACT_APP_API_BASE_URL,\r\n embeddedBaseUrl: process.env.REACT_APP_EMBEDDED_BASE_URL,\r\n\r\n host,\r\n subdirectory,\r\n appRoot,\r\n\r\n cardConnectBaseUrl: process.env.REACT_APP_CARDCONNECT_BASE_URL,\r\n\r\n mixPanelToken: process.env.REACT_APP_MIXPANEL_TOKEN,\r\n googleAnalyticsId: process.env.REACT_APP_GOOGLE_ANALYTICS_ID,\r\n sentryKey: process.env.REACT_APP_SENTRY_PUBLIC_KEY,\r\n sentryProjectId: process.env.REACT_APP_SENTRY_PUBLIC_PROJECT_ID,\r\n};\r\n","import {AxiosError, AxiosRequestConfig, AxiosResponse} from 'axios';\r\nimport {getUser} from '../auth';\r\nimport {LiteralKeyedObject} from '../types';\r\nimport {logger} from '../utils/logger';\r\nimport {notifications} from '../utils/notification-service';\r\n\r\ntype HandledResponseCodes = '400' | '401' | '403' | '500';\r\n\r\ntype Errorhandlers = LiteralKeyedObject<\r\n HandledResponseCodes,\r\n (respose: AxiosResponse) => Promise | void\r\n>;\r\n\r\nconst log = logger('axios');\r\n\r\nexport const requestInterceptors = compose(setRequestStartTime, applyAuthHeader);\r\n\r\nexport const responseInterceptors = (x) => x;\r\n\r\nlet requestCount = 0;\r\nfunction setRequestStartTime(config: AxiosRequestConfig) {\r\n if (/get/gi.test(config.method || '')) {\r\n if (config.params) {\r\n config.params['_ts'] = `${+new Date()}_${++requestCount}`;\r\n } else {\r\n config.params = {\r\n _ts: `${+new Date()}_${++requestCount}`,\r\n };\r\n }\r\n }\r\n\r\n return config;\r\n}\r\n\r\nasync function applyAuthHeader(config: AxiosRequestConfig) {\r\n try {\r\n const user = await getUser();\r\n if (user) {\r\n config.headers['Authorization'] = `Bearer ${user.access_token}`;\r\n }\r\n } catch (error) {}\r\n return config;\r\n}\r\n\r\nexport const defaultErrorhandlers: Errorhandlers = {\r\n '400': (response) => {\r\n log.info('Bad Request. Show Errors');\r\n return Promise.resolve(response);\r\n },\r\n '401': (response) => {\r\n notifications?.error('Your session has expired. Please log in again');\r\n return Promise.resolve({\r\n data: null,\r\n hasErrors: true,\r\n errors: [\r\n {\r\n propertyName: 'Authentication',\r\n errorMessage: 'Your session has expired. Please log in again',\r\n },\r\n ],\r\n });\r\n },\r\n '403': (response) => {\r\n notifications?.error('You are not authorized to perform this action');\r\n },\r\n '500': (response) => {\r\n notifications?.error(response.data.errors.map((x) => x.errorMessage).join(' '));\r\n return Promise.resolve(response);\r\n },\r\n};\r\n\r\nlet errorHandlers = {\r\n ...defaultErrorhandlers,\r\n};\r\n\r\nexport const setErrorHandlers = (handlers: Partial) => {\r\n Object.keys(handlers).forEach((key) => {\r\n errorHandlers[key] = handlers[key];\r\n });\r\n};\r\n\r\nexport async function handleResponseError(error: AxiosError) {\r\n if (error.response) {\r\n const response: AxiosResponse = error.response;\r\n const handler = errorHandlers[response.status];\r\n if (handler) {\r\n const result = await handler(error.response);\r\n if (result) {\r\n return result;\r\n }\r\n }\r\n }\r\n return Promise.reject(error);\r\n}\r\n\r\ntype composeFn = (x: T) => T | Promise;\r\n\r\nfunction compose(...fns: composeFn[]) {\r\n return async (x: T | Promise): Promise =>\r\n fns.reduce((v, f) => (async () => f(await v))(), x);\r\n}\r\n","import {useLocation} from '@reach/router';\r\nimport qs from 'qs';\r\nimport {useMemo} from 'react';\r\n\r\nexport function useQueryParams() {\r\n const location = useLocation();\r\n const queryParams = useMemo(\r\n () => qs.parse((location.search || '').replace('?', '')),\r\n [location.search]\r\n );\r\n return queryParams as unknown as T;\r\n}\r\n","import {css} from '@emotion/react/macro';\r\nimport {faCaretDown, faCaretRight} from '@fortawesome/pro-solid-svg-icons';\r\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\r\nimport React, {useState} from 'react';\r\nimport {Header, Segment} from 'semantic-ui-react';\r\nimport {Env} from '../config/env-vars';\r\nimport {AnyObject} from '../types';\r\n\r\nexport const Json = React.memo<{data: AnyObject; defaultOpen?: boolean}>(({data, defaultOpen}) => {\r\n const [open, setOpen] = useState(defaultOpen || false);\r\n\r\n if (Env.isProductionBuild) {\r\n return null;\r\n }\r\n\r\n const icon = open ? faCaretDown : faCaretRight;\r\n\r\n return (\r\n
\r\n
setOpen(!open)}>\r\n Debug \r\n
\r\n {open && (\r\n \r\n
{JSON.stringify(data, null, 2)}
\r\n
\r\n )}\r\n
\r\n );\r\n});\r\n\r\nexport const JsonViewerLazy = React.lazy(() => import('./json-viewer'));\r\n\r\nexport const Pre = React.memo<{data: AnyObject}>(({data}) => (\r\n \r\n
{JSON.stringify(data, null, 2)}
\r\n
\r\n));\r\n\r\nconst styles = css`\r\n margin-top: 1rem;\r\n\r\n .ui.header:first-of-type {\r\n margin-top: 0;\r\n }\r\n .ui.segment {\r\n background-color: #eaeaea;\r\n max-height: 400px;\r\n overflow-y: auto;\r\n font-family: monospace;\r\n }\r\n`;\r\n","import {FORM_ERROR} from 'final-form';\r\nimport {ApiResponse} from '../types';\r\n\r\nimport {camelCase, isPlainObject, isLength, keys, merge, reduce, set, toPath} from 'lodash';\r\n\r\nconst flattenKeys = (obj, path: string[] = []) => {\r\n return !isPlainObject(obj)\r\n ? {[path.join('.')]: obj}\r\n : reduce(obj, (acc, next, key) => merge(acc, flattenKeys(next, [...path, key])), {});\r\n};\r\n\r\nexport const getNestedKeys = (object) => {\r\n return keys(flattenKeys(object)).map((x) => x || FORM_ERROR);\r\n};\r\n\r\nexport const mapErrors = (response: ApiResponse, fields: string[] = []) => {\r\n const fieldMap = new Set(fields.map((x) => normalizePath(x)));\r\n\r\n return response.errors.reduce((errors, error) => {\r\n const propertyName = normalizePath(error.propertyName);\r\n const errorPath = toPath(propertyName);\r\n const errorMessage = error.errorMessage.replace(/'/gi, '');\r\n\r\n return fieldMap.has(propertyName)\r\n ? set(errors, errorPath, errorMessage)\r\n : set(errors, ['_UNKNOWN_', ...errorPath], errorMessage);\r\n }, {});\r\n};\r\n\r\nconst normalizePath = (path) =>\r\n toPath(path)\r\n .map((part, index, parts) => {\r\n const nextIndex = index + 1;\r\n const hasMore = nextIndex < parts.length;\r\n const nextIsIndex = hasMore && isIndex(parts[nextIndex]);\r\n const normalizedPart = isIndex(part) ? `[${part}]` : camelCase(part);\r\n return `${normalizedPart}${nextIsIndex || !hasMore ? '' : '.'}`;\r\n })\r\n .join('');\r\n\r\nconst isIndex = (value) => isLength(Number(value));\r\n\r\nexport const getErrorMessages = (response: ApiResponse) =>\r\n response.errors.map((error) => error.errorMessage.replace(/'/gi, ''));\r\n","import arrayMutators from 'final-form-arrays';\r\nimport {FieldArray} from 'react-final-form-arrays';\r\n\r\nconst ArrayMutators = () => ({\r\n ...arrayMutators,\r\n});\r\n\r\nexport {ArrayMutators, FieldArray};\r\n","/** Generate by swagger-axios-codegen */\r\n/* eslint-disable */\r\n// @ts-nocheck\r\nimport axiosStatic, { AxiosInstance, AxiosRequestConfig } from 'axios';\r\n\r\nexport interface IRequestOptions extends AxiosRequestConfig {}\r\n\r\nexport interface IRequestConfig {\r\n method?: any;\r\n headers?: any;\r\n url?: any;\r\n data?: any;\r\n params?: any;\r\n}\r\n\r\n// Add options interface\r\nexport interface ServiceOptions {\r\n axios?: AxiosInstance;\r\n}\r\n\r\n// Add default options\r\nexport const serviceOptions: ServiceOptions = {};\r\n\r\n// Instance selector\r\nexport function axios(configs: IRequestConfig, resolve: (p: any) => void, reject: (p: any) => void): Promise {\r\n if (serviceOptions.axios) {\r\n return serviceOptions.axios\r\n .request(configs)\r\n .then(res => {\r\n resolve(res.data);\r\n })\r\n .catch(err => {\r\n reject(err);\r\n });\r\n } else {\r\n throw new Error('please inject yourself instance like axios ');\r\n }\r\n}\r\n\r\nexport function getConfigs(method: string, contentType: string, url: string, options: any): IRequestConfig {\r\n const configs: IRequestConfig = { ...options, method, url };\r\n configs.headers = {\r\n ...options.headers,\r\n 'Content-Type': contentType\r\n };\r\n return configs;\r\n}\r\n\r\nexport const basePath = '';\r\n\r\nexport interface IList extends Array {}\r\nexport interface List extends Array {}\r\nexport interface IDictionary {\r\n [key: string]: TValue;\r\n}\r\nexport interface Dictionary extends IDictionary {}\r\n\r\nexport interface IListResult {\r\n items?: T[];\r\n}\r\n\r\nexport class ListResultDto implements IListResult {\r\n items?: T[];\r\n}\r\n\r\nexport interface IPagedResult extends IListResult {\r\n totalCount?: number;\r\n items?: T[];\r\n}\r\n\r\nexport class PagedResultDto implements IPagedResult {\r\n totalCount?: number;\r\n items?: T[];\r\n}\r\n\r\n// customer definition\r\nexport type Response =\r\n | {\r\n data: T;\r\n hasErrors: false;\r\n errors: Error[];\r\n }\r\n | {\r\n data: T | null;\r\n hasErrors: true;\r\n errors: Error[];\r\n };\r\n\r\nexport interface Error {\r\n propertyName: string;\r\n errorMessage: string;\r\n}\r\n\r\nexport interface AdvancedQueryPage {\r\n items: T[];\r\n page: number;\r\n pageSize: number;\r\n pageCount: number;\r\n totalItemCount: number;\r\n}\r\n\r\nexport class AcceptedCardBrands {\r\n /** */\r\n 'amex': boolean;\r\n\r\n /** */\r\n 'discover': boolean;\r\n\r\n /** */\r\n 'mastercard': boolean;\r\n\r\n /** */\r\n 'visa': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['amex'] = data['amex'];\r\n this['discover'] = data['discover'];\r\n this['mastercard'] = data['mastercard'];\r\n this['visa'] = data['visa'];\r\n }\r\n}\r\n\r\nexport class AccountAutopaySettingsDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'createdByUserId': number;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'enrollmentDate': Date;\r\n\r\n /** */\r\n 'notificationEmailAddress': string;\r\n\r\n /** */\r\n 'enrollmentType': string;\r\n\r\n /** */\r\n 'schedulingType': string;\r\n\r\n /** */\r\n 'paymentSourceId': number;\r\n\r\n /** */\r\n 'maximumBalanceAllowed': number;\r\n\r\n /** */\r\n 'customerId': number;\r\n\r\n /** */\r\n 'processingLeadTimeInDays': number;\r\n\r\n /** */\r\n 'processingDayOfMonth': number;\r\n\r\n /** */\r\n 'cancellationDate': Date;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['createdByUserId'] = data['createdByUserId'];\r\n this['accountId'] = data['accountId'];\r\n this['enrollmentDate'] = data['enrollmentDate'];\r\n this['notificationEmailAddress'] = data['notificationEmailAddress'];\r\n this['enrollmentType'] = data['enrollmentType'];\r\n this['schedulingType'] = data['schedulingType'];\r\n this['paymentSourceId'] = data['paymentSourceId'];\r\n this['maximumBalanceAllowed'] = data['maximumBalanceAllowed'];\r\n this['customerId'] = data['customerId'];\r\n this['processingLeadTimeInDays'] = data['processingLeadTimeInDays'];\r\n this['processingDayOfMonth'] = data['processingDayOfMonth'];\r\n this['cancellationDate'] = data['cancellationDate'];\r\n }\r\n}\r\n\r\nexport class AccountAutopayUpdateEnrollmentRequest {\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'customerId': number;\r\n\r\n /** */\r\n 'processingLeadTimeInDays': number;\r\n\r\n /** */\r\n 'emailAddress': string;\r\n\r\n /** */\r\n 'paymentSourceId': number;\r\n\r\n /** */\r\n 'maximumBalanceAllowed': number;\r\n\r\n /** */\r\n 'termsAcknowledged': boolean;\r\n\r\n /** */\r\n 'isEmbedded': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['accountId'] = data['accountId'];\r\n this['customerId'] = data['customerId'];\r\n this['processingLeadTimeInDays'] = data['processingLeadTimeInDays'];\r\n this['emailAddress'] = data['emailAddress'];\r\n this['paymentSourceId'] = data['paymentSourceId'];\r\n this['maximumBalanceAllowed'] = data['maximumBalanceAllowed'];\r\n this['termsAcknowledged'] = data['termsAcknowledged'];\r\n this['isEmbedded'] = data['isEmbedded'];\r\n }\r\n}\r\n\r\nexport class AccountCharge {\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'paymentAmount': number;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['accountId'] = data['accountId'];\r\n this['paymentAmount'] = data['paymentAmount'];\r\n this['description'] = data['description'];\r\n }\r\n}\r\n\r\nexport class AccountConfig {\r\n /** */\r\n 'enabled': boolean;\r\n\r\n /** */\r\n 'freeFormPaymentEnabled': boolean;\r\n\r\n /** */\r\n 'minimumBalanceRequired': boolean;\r\n\r\n /** */\r\n 'multipleAccountPaymentEnabled': boolean;\r\n\r\n /** */\r\n 'multipleAccountQuickpayEnabled': boolean;\r\n\r\n /** */\r\n 'multipleAccountPosEnabled': boolean;\r\n\r\n /** */\r\n 'accountFields': AccountFieldGetDto[];\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['enabled'] = data['enabled'];\r\n this['freeFormPaymentEnabled'] = data['freeFormPaymentEnabled'];\r\n this['minimumBalanceRequired'] = data['minimumBalanceRequired'];\r\n this['multipleAccountPaymentEnabled'] = data['multipleAccountPaymentEnabled'];\r\n this['multipleAccountQuickpayEnabled'] = data['multipleAccountQuickpayEnabled'];\r\n this['multipleAccountPosEnabled'] = data['multipleAccountPosEnabled'];\r\n this['accountFields'] = data['accountFields'];\r\n }\r\n}\r\n\r\nexport class AccountDetailCustomerDto {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'balance': number;\r\n\r\n /** */\r\n 'lateFee': number;\r\n\r\n /** */\r\n 'pastDueAmountMinor': number;\r\n\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'phoneNumber': string;\r\n\r\n /** */\r\n 'address': OptionalAddress;\r\n\r\n /** */\r\n 'dueDate': Date;\r\n\r\n /** */\r\n 'issueDate': Date;\r\n\r\n /** */\r\n 'note': string;\r\n\r\n /** */\r\n 'meta': string;\r\n\r\n /** */\r\n 'createMethod': string;\r\n\r\n /** */\r\n 'allowOnlinePayment': boolean;\r\n\r\n /** */\r\n 'blockCreditCardPayment': boolean;\r\n\r\n /** */\r\n 'blockAchPayment': boolean;\r\n\r\n /** */\r\n 'paperlessBilling': boolean;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'autopaySettingsId': number;\r\n\r\n /** */\r\n 'isArchived': boolean;\r\n\r\n /** */\r\n 'accountSyncDate': Date;\r\n\r\n /** */\r\n 'blockedByAllPaymentTypes': boolean;\r\n\r\n /** */\r\n 'accountLocked': boolean;\r\n\r\n /** */\r\n 'addressStreetAddress': string;\r\n\r\n /** */\r\n 'businessUnitName': string;\r\n\r\n /** */\r\n 'businessUnitSlug': string;\r\n\r\n /** */\r\n 'businessUnitTimezone': string;\r\n\r\n /** */\r\n 'modifiedDate': Date;\r\n\r\n /** */\r\n 'autopayEnrollmentType': string;\r\n\r\n /** */\r\n 'autopayCustomerId': number;\r\n\r\n /** */\r\n 'latestBillId': number;\r\n\r\n /** */\r\n 'lastPaymentDate': Date;\r\n\r\n /** */\r\n 'hasAutopayActivity': boolean;\r\n\r\n /** */\r\n 'hasPaperlessBillingActivity': boolean;\r\n\r\n /** */\r\n 'hasReadings': boolean;\r\n\r\n /** */\r\n 'businessUnitCurrencyCode': string;\r\n\r\n /** */\r\n 'hasBillHistory': boolean;\r\n\r\n /** */\r\n 'isRollover': boolean;\r\n\r\n /** */\r\n 'pastDue': boolean;\r\n\r\n /** */\r\n 'lateFeeApplicable': boolean;\r\n\r\n /** */\r\n 'totalOutstandingBalance': number;\r\n\r\n /** */\r\n 'enrolledInAutopay': boolean;\r\n\r\n /** */\r\n 'customerAccounts': CustomerAccountGetDto[];\r\n\r\n /** */\r\n 'upcomingPayments': ScheduledPaymentCustomerSummaryDto[];\r\n\r\n /** */\r\n 'emailAddress': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['balance'] = data['balance'];\r\n this['lateFee'] = data['lateFee'];\r\n this['pastDueAmountMinor'] = data['pastDueAmountMinor'];\r\n this['name'] = data['name'];\r\n this['description'] = data['description'];\r\n this['phoneNumber'] = data['phoneNumber'];\r\n this['address'] = data['address'];\r\n this['dueDate'] = data['dueDate'];\r\n this['issueDate'] = data['issueDate'];\r\n this['note'] = data['note'];\r\n this['meta'] = data['meta'];\r\n this['createMethod'] = data['createMethod'];\r\n this['allowOnlinePayment'] = data['allowOnlinePayment'];\r\n this['blockCreditCardPayment'] = data['blockCreditCardPayment'];\r\n this['blockAchPayment'] = data['blockAchPayment'];\r\n this['paperlessBilling'] = data['paperlessBilling'];\r\n this['id'] = data['id'];\r\n this['autopaySettingsId'] = data['autopaySettingsId'];\r\n this['isArchived'] = data['isArchived'];\r\n this['accountSyncDate'] = data['accountSyncDate'];\r\n this['blockedByAllPaymentTypes'] = data['blockedByAllPaymentTypes'];\r\n this['accountLocked'] = data['accountLocked'];\r\n this['addressStreetAddress'] = data['addressStreetAddress'];\r\n this['businessUnitName'] = data['businessUnitName'];\r\n this['businessUnitSlug'] = data['businessUnitSlug'];\r\n this['businessUnitTimezone'] = data['businessUnitTimezone'];\r\n this['modifiedDate'] = data['modifiedDate'];\r\n this['autopayEnrollmentType'] = data['autopayEnrollmentType'];\r\n this['autopayCustomerId'] = data['autopayCustomerId'];\r\n this['latestBillId'] = data['latestBillId'];\r\n this['lastPaymentDate'] = data['lastPaymentDate'];\r\n this['hasAutopayActivity'] = data['hasAutopayActivity'];\r\n this['hasPaperlessBillingActivity'] = data['hasPaperlessBillingActivity'];\r\n this['hasReadings'] = data['hasReadings'];\r\n this['businessUnitCurrencyCode'] = data['businessUnitCurrencyCode'];\r\n this['hasBillHistory'] = data['hasBillHistory'];\r\n this['isRollover'] = data['isRollover'];\r\n this['pastDue'] = data['pastDue'];\r\n this['lateFeeApplicable'] = data['lateFeeApplicable'];\r\n this['totalOutstandingBalance'] = data['totalOutstandingBalance'];\r\n this['enrolledInAutopay'] = data['enrolledInAutopay'];\r\n this['customerAccounts'] = data['customerAccounts'];\r\n this['upcomingPayments'] = data['upcomingPayments'];\r\n this['emailAddress'] = data['emailAddress'];\r\n }\r\n}\r\n\r\nexport class AccountDetailDto {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'balance': number;\r\n\r\n /** */\r\n 'lateFee': number;\r\n\r\n /** */\r\n 'pastDueAmountMinor': number;\r\n\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'phoneNumber': string;\r\n\r\n /** */\r\n 'emailAddress': string;\r\n\r\n /** */\r\n 'address': OptionalAddress;\r\n\r\n /** */\r\n 'dueDate': Date;\r\n\r\n /** */\r\n 'issueDate': Date;\r\n\r\n /** */\r\n 'note': string;\r\n\r\n /** */\r\n 'meta': string;\r\n\r\n /** */\r\n 'createMethod': string;\r\n\r\n /** */\r\n 'allowOnlinePayment': boolean;\r\n\r\n /** */\r\n 'blockCreditCardPayment': boolean;\r\n\r\n /** */\r\n 'blockAchPayment': boolean;\r\n\r\n /** */\r\n 'paperlessBilling': boolean;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'autopaySettingsId': number;\r\n\r\n /** */\r\n 'isArchived': boolean;\r\n\r\n /** */\r\n 'accountSyncDate': Date;\r\n\r\n /** */\r\n 'blockedByAllPaymentTypes': boolean;\r\n\r\n /** */\r\n 'accountLocked': boolean;\r\n\r\n /** */\r\n 'addressStreetAddress': string;\r\n\r\n /** */\r\n 'businessUnitName': string;\r\n\r\n /** */\r\n 'businessUnitSlug': string;\r\n\r\n /** */\r\n 'businessUnitTimezone': string;\r\n\r\n /** */\r\n 'modifiedDate': Date;\r\n\r\n /** */\r\n 'autopayEnrollmentType': string;\r\n\r\n /** */\r\n 'autopayCustomerId': number;\r\n\r\n /** */\r\n 'latestBillId': number;\r\n\r\n /** */\r\n 'lastPaymentDate': Date;\r\n\r\n /** */\r\n 'hasAutopayActivity': boolean;\r\n\r\n /** */\r\n 'hasPaperlessBillingActivity': boolean;\r\n\r\n /** */\r\n 'hasReadings': boolean;\r\n\r\n /** */\r\n 'businessUnitCurrencyCode': string;\r\n\r\n /** */\r\n 'hasBillHistory': boolean;\r\n\r\n /** */\r\n 'isRollover': boolean;\r\n\r\n /** */\r\n 'pastDue': boolean;\r\n\r\n /** */\r\n 'lateFeeApplicable': boolean;\r\n\r\n /** */\r\n 'totalOutstandingBalance': number;\r\n\r\n /** */\r\n 'enrolledInAutopay': boolean;\r\n\r\n /** */\r\n 'customerAccounts': CustomerAccountGetDto[];\r\n\r\n /** */\r\n 'upcomingPayments': ScheduledPaymentCustomerSummaryDto[];\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['balance'] = data['balance'];\r\n this['lateFee'] = data['lateFee'];\r\n this['pastDueAmountMinor'] = data['pastDueAmountMinor'];\r\n this['name'] = data['name'];\r\n this['description'] = data['description'];\r\n this['phoneNumber'] = data['phoneNumber'];\r\n this['emailAddress'] = data['emailAddress'];\r\n this['address'] = data['address'];\r\n this['dueDate'] = data['dueDate'];\r\n this['issueDate'] = data['issueDate'];\r\n this['note'] = data['note'];\r\n this['meta'] = data['meta'];\r\n this['createMethod'] = data['createMethod'];\r\n this['allowOnlinePayment'] = data['allowOnlinePayment'];\r\n this['blockCreditCardPayment'] = data['blockCreditCardPayment'];\r\n this['blockAchPayment'] = data['blockAchPayment'];\r\n this['paperlessBilling'] = data['paperlessBilling'];\r\n this['id'] = data['id'];\r\n this['autopaySettingsId'] = data['autopaySettingsId'];\r\n this['isArchived'] = data['isArchived'];\r\n this['accountSyncDate'] = data['accountSyncDate'];\r\n this['blockedByAllPaymentTypes'] = data['blockedByAllPaymentTypes'];\r\n this['accountLocked'] = data['accountLocked'];\r\n this['addressStreetAddress'] = data['addressStreetAddress'];\r\n this['businessUnitName'] = data['businessUnitName'];\r\n this['businessUnitSlug'] = data['businessUnitSlug'];\r\n this['businessUnitTimezone'] = data['businessUnitTimezone'];\r\n this['modifiedDate'] = data['modifiedDate'];\r\n this['autopayEnrollmentType'] = data['autopayEnrollmentType'];\r\n this['autopayCustomerId'] = data['autopayCustomerId'];\r\n this['latestBillId'] = data['latestBillId'];\r\n this['lastPaymentDate'] = data['lastPaymentDate'];\r\n this['hasAutopayActivity'] = data['hasAutopayActivity'];\r\n this['hasPaperlessBillingActivity'] = data['hasPaperlessBillingActivity'];\r\n this['hasReadings'] = data['hasReadings'];\r\n this['businessUnitCurrencyCode'] = data['businessUnitCurrencyCode'];\r\n this['hasBillHistory'] = data['hasBillHistory'];\r\n this['isRollover'] = data['isRollover'];\r\n this['pastDue'] = data['pastDue'];\r\n this['lateFeeApplicable'] = data['lateFeeApplicable'];\r\n this['totalOutstandingBalance'] = data['totalOutstandingBalance'];\r\n this['enrolledInAutopay'] = data['enrolledInAutopay'];\r\n this['customerAccounts'] = data['customerAccounts'];\r\n this['upcomingPayments'] = data['upcomingPayments'];\r\n }\r\n}\r\n\r\nexport class AccountFieldGetDto {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'type': string;\r\n\r\n /** */\r\n 'label': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'isQuickPayLookupField': boolean;\r\n\r\n /** */\r\n 'isIvrLookupField': boolean;\r\n\r\n /** */\r\n 'isDisplayField': boolean;\r\n\r\n /** */\r\n 'isRequired': boolean;\r\n\r\n /** */\r\n 'order': number;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['type'] = data['type'];\r\n this['label'] = data['label'];\r\n this['description'] = data['description'];\r\n this['isQuickPayLookupField'] = data['isQuickPayLookupField'];\r\n this['isIvrLookupField'] = data['isIvrLookupField'];\r\n this['isDisplayField'] = data['isDisplayField'];\r\n this['isRequired'] = data['isRequired'];\r\n this['order'] = data['order'];\r\n this['id'] = data['id'];\r\n }\r\n}\r\n\r\nexport class AccountFieldUpdateDto {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'type': string;\r\n\r\n /** */\r\n 'label': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'isQuickPayLookupField': boolean;\r\n\r\n /** */\r\n 'isIvrLookupField': boolean;\r\n\r\n /** */\r\n 'isDisplayField': boolean;\r\n\r\n /** */\r\n 'isRequired': boolean;\r\n\r\n /** */\r\n 'order': number;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['type'] = data['type'];\r\n this['label'] = data['label'];\r\n this['description'] = data['description'];\r\n this['isQuickPayLookupField'] = data['isQuickPayLookupField'];\r\n this['isIvrLookupField'] = data['isIvrLookupField'];\r\n this['isDisplayField'] = data['isDisplayField'];\r\n this['isRequired'] = data['isRequired'];\r\n this['order'] = data['order'];\r\n this['id'] = data['id'];\r\n }\r\n}\r\n\r\nexport class AccountFileUploadedEventPayload {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'accountFileUpload_DueDateOverride': Date;\r\n\r\n /** */\r\n 'accountFileUpload_IssueDateOverride': Date;\r\n\r\n /** */\r\n 'accountFileUpload_BlobUrl': string;\r\n\r\n /** */\r\n 'accountFileUpload_DownloadBlobUrl': string;\r\n\r\n /** */\r\n 'accountFileName': string;\r\n\r\n /** */\r\n 'userEmail': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['accountFileUpload_DueDateOverride'] = data['accountFileUpload_DueDateOverride'];\r\n this['accountFileUpload_IssueDateOverride'] = data['accountFileUpload_IssueDateOverride'];\r\n this['accountFileUpload_BlobUrl'] = data['accountFileUpload_BlobUrl'];\r\n this['accountFileUpload_DownloadBlobUrl'] = data['accountFileUpload_DownloadBlobUrl'];\r\n this['accountFileName'] = data['accountFileName'];\r\n this['userEmail'] = data['userEmail'];\r\n }\r\n}\r\n\r\nexport class AccountGetDto {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'balance': number;\r\n\r\n /** */\r\n 'lateFee': number;\r\n\r\n /** */\r\n 'pastDueAmountMinor': number;\r\n\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'phoneNumber': string;\r\n\r\n /** */\r\n 'emailAddress': string;\r\n\r\n /** */\r\n 'address': OptionalAddress;\r\n\r\n /** */\r\n 'dueDate': Date;\r\n\r\n /** */\r\n 'issueDate': Date;\r\n\r\n /** */\r\n 'note': string;\r\n\r\n /** */\r\n 'meta': string;\r\n\r\n /** */\r\n 'createMethod': string;\r\n\r\n /** */\r\n 'allowOnlinePayment': boolean;\r\n\r\n /** */\r\n 'blockCreditCardPayment': boolean;\r\n\r\n /** */\r\n 'blockAchPayment': boolean;\r\n\r\n /** */\r\n 'paperlessBilling': boolean;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'autopaySettingsId': number;\r\n\r\n /** */\r\n 'isArchived': boolean;\r\n\r\n /** */\r\n 'accountSyncDate': Date;\r\n\r\n /** */\r\n 'blockedByAllPaymentTypes': boolean;\r\n\r\n /** */\r\n 'accountLocked': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['balance'] = data['balance'];\r\n this['lateFee'] = data['lateFee'];\r\n this['pastDueAmountMinor'] = data['pastDueAmountMinor'];\r\n this['name'] = data['name'];\r\n this['description'] = data['description'];\r\n this['phoneNumber'] = data['phoneNumber'];\r\n this['emailAddress'] = data['emailAddress'];\r\n this['address'] = data['address'];\r\n this['dueDate'] = data['dueDate'];\r\n this['issueDate'] = data['issueDate'];\r\n this['note'] = data['note'];\r\n this['meta'] = data['meta'];\r\n this['createMethod'] = data['createMethod'];\r\n this['allowOnlinePayment'] = data['allowOnlinePayment'];\r\n this['blockCreditCardPayment'] = data['blockCreditCardPayment'];\r\n this['blockAchPayment'] = data['blockAchPayment'];\r\n this['paperlessBilling'] = data['paperlessBilling'];\r\n this['id'] = data['id'];\r\n this['autopaySettingsId'] = data['autopaySettingsId'];\r\n this['isArchived'] = data['isArchived'];\r\n this['accountSyncDate'] = data['accountSyncDate'];\r\n this['blockedByAllPaymentTypes'] = data['blockedByAllPaymentTypes'];\r\n this['accountLocked'] = data['accountLocked'];\r\n }\r\n}\r\n\r\nexport class AccountImportErrorsFoundEventPayload {\r\n /** */\r\n 'errorCount': number;\r\n\r\n /** */\r\n 'errorListDownloadUrl': string;\r\n\r\n /** */\r\n 'businessUnitHeader': string;\r\n\r\n /** */\r\n 'businessUnitSubHeader': string;\r\n\r\n /** */\r\n 'uploaderEmail': string;\r\n\r\n /** */\r\n 'fileName': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['errorCount'] = data['errorCount'];\r\n this['errorListDownloadUrl'] = data['errorListDownloadUrl'];\r\n this['businessUnitHeader'] = data['businessUnitHeader'];\r\n this['businessUnitSubHeader'] = data['businessUnitSubHeader'];\r\n this['uploaderEmail'] = data['uploaderEmail'];\r\n this['fileName'] = data['fileName'];\r\n }\r\n}\r\n\r\nexport class AccountImportStagedEventPayload {\r\n /** */\r\n 'totalStagedAccounts': number;\r\n\r\n /** */\r\n 'totalSkippedAccounts': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['totalStagedAccounts'] = data['totalStagedAccounts'];\r\n this['totalSkippedAccounts'] = data['totalSkippedAccounts'];\r\n }\r\n}\r\n\r\nexport class AccountImportSyncEventPayload {\r\n /** */\r\n 'totalStagedAccounts': number;\r\n\r\n /** */\r\n 'totalExistingAccounts': number;\r\n\r\n /** */\r\n 'stagedNewAccounts': number;\r\n\r\n /** */\r\n 'stagedMatchedAccounts': number;\r\n\r\n /** */\r\n 'existingAccountsNotStaged': number;\r\n\r\n /** */\r\n 'aggregateTotal': number;\r\n\r\n /** */\r\n 'stagedArchivedAccounts': number;\r\n\r\n /** */\r\n 'archivedAccountsNotStaged': number;\r\n\r\n /** */\r\n 'cancelledScheduledPayments': number;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['totalStagedAccounts'] = data['totalStagedAccounts'];\r\n this['totalExistingAccounts'] = data['totalExistingAccounts'];\r\n this['stagedNewAccounts'] = data['stagedNewAccounts'];\r\n this['stagedMatchedAccounts'] = data['stagedMatchedAccounts'];\r\n this['existingAccountsNotStaged'] = data['existingAccountsNotStaged'];\r\n this['aggregateTotal'] = data['aggregateTotal'];\r\n this['stagedArchivedAccounts'] = data['stagedArchivedAccounts'];\r\n this['archivedAccountsNotStaged'] = data['archivedAccountsNotStaged'];\r\n this['cancelledScheduledPayments'] = data['cancelledScheduledPayments'];\r\n this['description'] = data['description'];\r\n }\r\n}\r\n\r\nexport class AccountMergeSearchDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'createMethod': string;\r\n\r\n /** */\r\n 'isArchived': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['name'] = data['name'];\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['createMethod'] = data['createMethod'];\r\n this['isArchived'] = data['isArchived'];\r\n }\r\n}\r\n\r\nexport class AccountOnboardingDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'isArchived': boolean;\r\n\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'balance': number;\r\n\r\n /** */\r\n 'dueDate': Date;\r\n\r\n /** */\r\n 'issueDate': Date;\r\n\r\n /** */\r\n 'accountSyncDate': Date;\r\n\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'phoneNumber': string;\r\n\r\n /** */\r\n 'emailAddress': string;\r\n\r\n /** */\r\n 'address': OptionalAddress;\r\n\r\n /** */\r\n 'accountLocked': boolean;\r\n\r\n /** */\r\n 'blockCreditCardPayment': boolean;\r\n\r\n /** */\r\n 'blockAchPayment': boolean;\r\n\r\n /** */\r\n 'allowOnlinePayment': boolean;\r\n\r\n /** */\r\n 'isRollover': boolean;\r\n\r\n /** */\r\n 'pastDueAmountMinor': number;\r\n\r\n /** */\r\n 'paperlessBilling': boolean;\r\n\r\n /** */\r\n 'processingLeadTimeInDays': number;\r\n\r\n /** */\r\n 'maximumBalanceAllowed': number;\r\n\r\n /** */\r\n 'autopayPaymentSource': PaymentSourceSummaryDto;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['isArchived'] = data['isArchived'];\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['balance'] = data['balance'];\r\n this['dueDate'] = data['dueDate'];\r\n this['issueDate'] = data['issueDate'];\r\n this['accountSyncDate'] = data['accountSyncDate'];\r\n this['name'] = data['name'];\r\n this['description'] = data['description'];\r\n this['phoneNumber'] = data['phoneNumber'];\r\n this['emailAddress'] = data['emailAddress'];\r\n this['address'] = data['address'];\r\n this['accountLocked'] = data['accountLocked'];\r\n this['blockCreditCardPayment'] = data['blockCreditCardPayment'];\r\n this['blockAchPayment'] = data['blockAchPayment'];\r\n this['allowOnlinePayment'] = data['allowOnlinePayment'];\r\n this['isRollover'] = data['isRollover'];\r\n this['pastDueAmountMinor'] = data['pastDueAmountMinor'];\r\n this['paperlessBilling'] = data['paperlessBilling'];\r\n this['processingLeadTimeInDays'] = data['processingLeadTimeInDays'];\r\n this['maximumBalanceAllowed'] = data['maximumBalanceAllowed'];\r\n this['autopayPaymentSource'] = data['autopayPaymentSource'];\r\n }\r\n}\r\n\r\nexport class AccountPaperlessBillingStatusResponse {\r\n /** */\r\n 'isEnrolled': boolean;\r\n\r\n /** */\r\n 'hasPreviousActivity': boolean;\r\n\r\n /** */\r\n 'emailAddress': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['isEnrolled'] = data['isEnrolled'];\r\n this['hasPreviousActivity'] = data['hasPreviousActivity'];\r\n this['emailAddress'] = data['emailAddress'];\r\n }\r\n}\r\n\r\nexport class AccountPaymentProcessedEventPayload {\r\n /** */\r\n 'sessionIdentifier': string;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'businessUnitName': string;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'accountName': string;\r\n\r\n /** */\r\n 'accountPaymentAmountMinor': number;\r\n\r\n /** */\r\n 'accountPaymentAmount': string;\r\n\r\n /** */\r\n 'accountPaymentItems': number;\r\n\r\n /** */\r\n 'dueDate': Date;\r\n\r\n /** */\r\n 'gatewayErrorMessage': string;\r\n\r\n /** */\r\n 'accountCreateMethod': string;\r\n\r\n /** */\r\n 'paymentAmountMinor': number;\r\n\r\n /** */\r\n 'serviceFeeAmountMinor': number;\r\n\r\n /** */\r\n 'currencyCode': string;\r\n\r\n /** */\r\n 'amount': number;\r\n\r\n /** */\r\n 'amountFormatted': string;\r\n\r\n /** */\r\n 'createdByUserName': string;\r\n\r\n /** */\r\n 'paymentCreatedDateUtc': Date;\r\n\r\n /** */\r\n 'channel': string;\r\n\r\n /** */\r\n 'referenceNumber': string;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'paymentSourceType': string;\r\n\r\n /** */\r\n 'accountNumberLast4': string;\r\n\r\n /** */\r\n 'paymentSourceAccountType': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['sessionIdentifier'] = data['sessionIdentifier'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['businessUnitName'] = data['businessUnitName'];\r\n this['accountId'] = data['accountId'];\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['accountName'] = data['accountName'];\r\n this['accountPaymentAmountMinor'] = data['accountPaymentAmountMinor'];\r\n this['accountPaymentAmount'] = data['accountPaymentAmount'];\r\n this['accountPaymentItems'] = data['accountPaymentItems'];\r\n this['dueDate'] = data['dueDate'];\r\n this['gatewayErrorMessage'] = data['gatewayErrorMessage'];\r\n this['accountCreateMethod'] = data['accountCreateMethod'];\r\n this['paymentAmountMinor'] = data['paymentAmountMinor'];\r\n this['serviceFeeAmountMinor'] = data['serviceFeeAmountMinor'];\r\n this['currencyCode'] = data['currencyCode'];\r\n this['amount'] = data['amount'];\r\n this['amountFormatted'] = data['amountFormatted'];\r\n this['createdByUserName'] = data['createdByUserName'];\r\n this['paymentCreatedDateUtc'] = data['paymentCreatedDateUtc'];\r\n this['channel'] = data['channel'];\r\n this['referenceNumber'] = data['referenceNumber'];\r\n this['status'] = data['status'];\r\n this['paymentSourceType'] = data['paymentSourceType'];\r\n this['accountNumberLast4'] = data['accountNumberLast4'];\r\n this['paymentSourceAccountType'] = data['paymentSourceAccountType'];\r\n }\r\n}\r\n\r\nexport class AccountPaymentsDto {\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'paymentMetaJson': string;\r\n\r\n /** */\r\n 'paymentId': number;\r\n\r\n /** */\r\n 'lineItemCount': number;\r\n\r\n /** */\r\n 'accountPaymentAmountMinor': number;\r\n\r\n /** */\r\n 'accountName': string;\r\n\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'dueDate': Date;\r\n\r\n /** */\r\n 'sessionIdentifier': string;\r\n\r\n /** */\r\n 'paymentAmountMinor': number;\r\n\r\n /** */\r\n 'currencyCode': string;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'referenceNumber': string;\r\n\r\n /** */\r\n 'paymentStatus': string;\r\n\r\n /** */\r\n 'channel': string;\r\n\r\n /** */\r\n 'paymentCreatedDateUtc': Date;\r\n\r\n /** */\r\n 'paymentCreatedDateLocal': string;\r\n\r\n /** */\r\n 'paymentType': string;\r\n\r\n /** */\r\n 'serviceFeeAmountMinor': number;\r\n\r\n /** */\r\n 'paymentDescriptor': string;\r\n\r\n /** */\r\n 'paymentSourceType': string;\r\n\r\n /** */\r\n 'paymentSourceAccountType': string;\r\n\r\n /** */\r\n 'accountNumberLast4': string;\r\n\r\n /** */\r\n 'businessUnitName': string;\r\n\r\n /** */\r\n 'businessUnitTimezone': string;\r\n\r\n /** */\r\n 'fullName': string;\r\n\r\n /** */\r\n 'createdByUserName': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['accountId'] = data['accountId'];\r\n this['paymentMetaJson'] = data['paymentMetaJson'];\r\n this['paymentId'] = data['paymentId'];\r\n this['lineItemCount'] = data['lineItemCount'];\r\n this['accountPaymentAmountMinor'] = data['accountPaymentAmountMinor'];\r\n this['accountName'] = data['accountName'];\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['dueDate'] = data['dueDate'];\r\n this['sessionIdentifier'] = data['sessionIdentifier'];\r\n this['paymentAmountMinor'] = data['paymentAmountMinor'];\r\n this['currencyCode'] = data['currencyCode'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['referenceNumber'] = data['referenceNumber'];\r\n this['paymentStatus'] = data['paymentStatus'];\r\n this['channel'] = data['channel'];\r\n this['paymentCreatedDateUtc'] = data['paymentCreatedDateUtc'];\r\n this['paymentCreatedDateLocal'] = data['paymentCreatedDateLocal'];\r\n this['paymentType'] = data['paymentType'];\r\n this['serviceFeeAmountMinor'] = data['serviceFeeAmountMinor'];\r\n this['paymentDescriptor'] = data['paymentDescriptor'];\r\n this['paymentSourceType'] = data['paymentSourceType'];\r\n this['paymentSourceAccountType'] = data['paymentSourceAccountType'];\r\n this['accountNumberLast4'] = data['accountNumberLast4'];\r\n this['businessUnitName'] = data['businessUnitName'];\r\n this['businessUnitTimezone'] = data['businessUnitTimezone'];\r\n this['fullName'] = data['fullName'];\r\n this['createdByUserName'] = data['createdByUserName'];\r\n }\r\n}\r\n\r\nexport class AccountSearchDto {\r\n /** */\r\n 'id': string;\r\n\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'isArchived': boolean;\r\n\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'balance': number;\r\n\r\n /** */\r\n 'dueDate': string;\r\n\r\n /** */\r\n 'address_StreetAddress': string;\r\n\r\n /** */\r\n 'address_StreetAddress2': string;\r\n\r\n /** */\r\n 'address_City': string;\r\n\r\n /** */\r\n 'address_State': string;\r\n\r\n /** */\r\n 'address_ZipCode': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['name'] = data['name'];\r\n this['isArchived'] = data['isArchived'];\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['balance'] = data['balance'];\r\n this['dueDate'] = data['dueDate'];\r\n this['address_StreetAddress'] = data['address_StreetAddress'];\r\n this['address_StreetAddress2'] = data['address_StreetAddress2'];\r\n this['address_City'] = data['address_City'];\r\n this['address_State'] = data['address_State'];\r\n this['address_ZipCode'] = data['address_ZipCode'];\r\n }\r\n}\r\n\r\nexport class AccountStateDto {\r\n /** */\r\n 'account': AccountDetailDto;\r\n\r\n /** */\r\n 'customerId': number;\r\n\r\n /** */\r\n 'autopaySettings': AccountAutopaySettingsDto;\r\n\r\n /** */\r\n 'paymentSources': PaymentSourceSummaryDto[];\r\n\r\n /** */\r\n 'feeTiers': ServiceFeeTierGetDto[];\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['account'] = data['account'];\r\n this['customerId'] = data['customerId'];\r\n this['autopaySettings'] = data['autopaySettings'];\r\n this['paymentSources'] = data['paymentSources'];\r\n this['feeTiers'] = data['feeTiers'];\r\n }\r\n}\r\n\r\nexport class AccountSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'isArchived': boolean;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'businessUnitName': string;\r\n\r\n /** */\r\n 'businessUnitCurrencyCode': string;\r\n\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'balance': number;\r\n\r\n /** */\r\n 'lateFee': number;\r\n\r\n /** */\r\n 'totalOutstandingBalance': number;\r\n\r\n /** */\r\n 'dueDate': Date;\r\n\r\n /** */\r\n 'issueDate': Date;\r\n\r\n /** */\r\n 'accountSyncDate': Date;\r\n\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'phoneNumber': string;\r\n\r\n /** */\r\n 'addressStreetAddress': string;\r\n\r\n /** */\r\n 'address': OptionalAddress;\r\n\r\n /** */\r\n 'accountLocked': boolean;\r\n\r\n /** */\r\n 'blockCreditCardPayment': boolean;\r\n\r\n /** */\r\n 'blockAchPayment': boolean;\r\n\r\n /** */\r\n 'allowOnlinePayment': boolean;\r\n\r\n /** */\r\n 'businessUnitTimezone': string;\r\n\r\n /** */\r\n 'pastDue': boolean;\r\n\r\n /** */\r\n 'lateFeeApplicable': boolean;\r\n\r\n /** */\r\n 'isRollover': boolean;\r\n\r\n /** */\r\n 'pastDueAmountMinor': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['isArchived'] = data['isArchived'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['businessUnitName'] = data['businessUnitName'];\r\n this['businessUnitCurrencyCode'] = data['businessUnitCurrencyCode'];\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['balance'] = data['balance'];\r\n this['lateFee'] = data['lateFee'];\r\n this['totalOutstandingBalance'] = data['totalOutstandingBalance'];\r\n this['dueDate'] = data['dueDate'];\r\n this['issueDate'] = data['issueDate'];\r\n this['accountSyncDate'] = data['accountSyncDate'];\r\n this['name'] = data['name'];\r\n this['description'] = data['description'];\r\n this['phoneNumber'] = data['phoneNumber'];\r\n this['addressStreetAddress'] = data['addressStreetAddress'];\r\n this['address'] = data['address'];\r\n this['accountLocked'] = data['accountLocked'];\r\n this['blockCreditCardPayment'] = data['blockCreditCardPayment'];\r\n this['blockAchPayment'] = data['blockAchPayment'];\r\n this['allowOnlinePayment'] = data['allowOnlinePayment'];\r\n this['businessUnitTimezone'] = data['businessUnitTimezone'];\r\n this['pastDue'] = data['pastDue'];\r\n this['lateFeeApplicable'] = data['lateFeeApplicable'];\r\n this['isRollover'] = data['isRollover'];\r\n this['pastDueAmountMinor'] = data['pastDueAmountMinor'];\r\n }\r\n}\r\n\r\nexport class AccountSyncLogSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'type': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'metaJson': string;\r\n\r\n /** */\r\n 'eventDate': Date;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['type'] = data['type'];\r\n this['description'] = data['description'];\r\n this['metaJson'] = data['metaJson'];\r\n this['eventDate'] = data['eventDate'];\r\n }\r\n}\r\n\r\nexport class AccountSyncPreview {\r\n /** */\r\n 'totalStagedAccounts': number;\r\n\r\n /** */\r\n 'totalExistingAccounts': number;\r\n\r\n /** */\r\n 'stagedNewAccounts': number;\r\n\r\n /** */\r\n 'stagedMatchedAccounts': number;\r\n\r\n /** */\r\n 'existingAccountsNotStaged': number;\r\n\r\n /** */\r\n 'aggregateTotal': number;\r\n\r\n /** */\r\n 'stagedArchivedAccounts': number;\r\n\r\n /** */\r\n 'archivedAccountsNotStaged': number;\r\n\r\n /** */\r\n 'cancelledScheduledPayments': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['totalStagedAccounts'] = data['totalStagedAccounts'];\r\n this['totalExistingAccounts'] = data['totalExistingAccounts'];\r\n this['stagedNewAccounts'] = data['stagedNewAccounts'];\r\n this['stagedMatchedAccounts'] = data['stagedMatchedAccounts'];\r\n this['existingAccountsNotStaged'] = data['existingAccountsNotStaged'];\r\n this['aggregateTotal'] = data['aggregateTotal'];\r\n this['stagedArchivedAccounts'] = data['stagedArchivedAccounts'];\r\n this['archivedAccountsNotStaged'] = data['archivedAccountsNotStaged'];\r\n this['cancelledScheduledPayments'] = data['cancelledScheduledPayments'];\r\n }\r\n}\r\n\r\nexport class AchConfig {\r\n /** */\r\n 'enabled': boolean;\r\n\r\n /** */\r\n 'paymentMerchantAccountId': number;\r\n\r\n /** */\r\n 'feeMerchantAccountId': number;\r\n\r\n /** */\r\n 'gatewayType': string;\r\n\r\n /** */\r\n 'tokenizer': TokenizerConfig;\r\n\r\n /** */\r\n 'plaidAccountLinkEnabled': boolean;\r\n\r\n /** */\r\n 'plaidPayerAccountLinkRequiredAch': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['enabled'] = data['enabled'];\r\n this['paymentMerchantAccountId'] = data['paymentMerchantAccountId'];\r\n this['feeMerchantAccountId'] = data['feeMerchantAccountId'];\r\n this['gatewayType'] = data['gatewayType'];\r\n this['tokenizer'] = data['tokenizer'];\r\n this['plaidAccountLinkEnabled'] = data['plaidAccountLinkEnabled'];\r\n this['plaidPayerAccountLinkRequiredAch'] = data['plaidPayerAccountLinkRequiredAch'];\r\n }\r\n}\r\n\r\nexport class AddBillingCycleInsertRequest {\r\n /** */\r\n 'fileName': string;\r\n\r\n /** */\r\n 'insertBlobUrl': string;\r\n\r\n /** */\r\n 'cycleDateKey': string;\r\n\r\n /** */\r\n 'billingCycleConfigId': number;\r\n\r\n /** */\r\n 'billingCycleId': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['fileName'] = data['fileName'];\r\n this['insertBlobUrl'] = data['insertBlobUrl'];\r\n this['cycleDateKey'] = data['cycleDateKey'];\r\n this['billingCycleConfigId'] = data['billingCycleConfigId'];\r\n this['billingCycleId'] = data['billingCycleId'];\r\n }\r\n}\r\n\r\nexport class Address {\r\n /** */\r\n 'streetAddress': string;\r\n\r\n /** */\r\n 'streetAddress2': string;\r\n\r\n /** */\r\n 'city': string;\r\n\r\n /** */\r\n 'state': string;\r\n\r\n /** */\r\n 'zipCode': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['streetAddress'] = data['streetAddress'];\r\n this['streetAddress2'] = data['streetAddress2'];\r\n this['city'] = data['city'];\r\n this['state'] = data['state'];\r\n this['zipCode'] = data['zipCode'];\r\n }\r\n}\r\n\r\nexport class AdjustmentDetailDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'adjustmentDate': string;\r\n\r\n /** */\r\n 'adjustmentType': string;\r\n\r\n /** */\r\n 'adjustmentCode': string;\r\n\r\n /** */\r\n 'amount': number;\r\n\r\n /** */\r\n 'merchantNumber': string;\r\n\r\n /** */\r\n 'batchId': string;\r\n\r\n /** */\r\n 'referenceNumber': string;\r\n\r\n /** */\r\n 'transactionId': number;\r\n\r\n /** */\r\n 'paymentId': number;\r\n\r\n /** */\r\n 'paymentDescriptor': string;\r\n\r\n /** */\r\n 'paymentReferenceNumber': string;\r\n\r\n /** */\r\n 'transactionDate': Date;\r\n\r\n /** */\r\n 'settlementType': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['adjustmentDate'] = data['adjustmentDate'];\r\n this['adjustmentType'] = data['adjustmentType'];\r\n this['adjustmentCode'] = data['adjustmentCode'];\r\n this['amount'] = data['amount'];\r\n this['merchantNumber'] = data['merchantNumber'];\r\n this['batchId'] = data['batchId'];\r\n this['referenceNumber'] = data['referenceNumber'];\r\n this['transactionId'] = data['transactionId'];\r\n this['paymentId'] = data['paymentId'];\r\n this['paymentDescriptor'] = data['paymentDescriptor'];\r\n this['paymentReferenceNumber'] = data['paymentReferenceNumber'];\r\n this['transactionDate'] = data['transactionDate'];\r\n this['settlementType'] = data['settlementType'];\r\n }\r\n}\r\n\r\nexport class AdvancedQueryColumnFilter {\r\n /** */\r\n 'fieldName': string;\r\n\r\n /** */\r\n 'fieldValue': string;\r\n\r\n /** */\r\n 'exactMatch': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['fieldName'] = data['fieldName'];\r\n this['fieldValue'] = data['fieldValue'];\r\n this['exactMatch'] = data['exactMatch'];\r\n }\r\n}\r\n\r\nexport class AdvancedQueryColumnSort {\r\n /** */\r\n 'fieldName': string;\r\n\r\n /** */\r\n 'descending': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['fieldName'] = data['fieldName'];\r\n this['descending'] = data['descending'];\r\n }\r\n}\r\n\r\nexport class AgencyGetDto {\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['name'] = data['name'];\r\n this['id'] = data['id'];\r\n }\r\n}\r\n\r\nexport class AgencySummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'name': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['name'] = data['name'];\r\n }\r\n}\r\n\r\nexport class ApiClientLineItemDto {\r\n /** */\r\n 'slug': string;\r\n\r\n /** */\r\n 'paymentReferenceNumber': string;\r\n\r\n /** */\r\n 'sessionIdentifier': string;\r\n\r\n /** */\r\n 'lineItemType': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'priceMinor': number;\r\n\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'productSku': string;\r\n\r\n /** */\r\n 'productName': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['slug'] = data['slug'];\r\n this['paymentReferenceNumber'] = data['paymentReferenceNumber'];\r\n this['sessionIdentifier'] = data['sessionIdentifier'];\r\n this['lineItemType'] = data['lineItemType'];\r\n this['description'] = data['description'];\r\n this['priceMinor'] = data['priceMinor'];\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['productSku'] = data['productSku'];\r\n this['productName'] = data['productName'];\r\n }\r\n}\r\n\r\nexport class ApiClientPaymentDto {\r\n /** */\r\n 'slug': string;\r\n\r\n /** */\r\n 'referenceNumber': string;\r\n\r\n /** */\r\n 'sessionIdentifier': string;\r\n\r\n /** */\r\n 'paymentSourceType': string;\r\n\r\n /** */\r\n 'paymentDescriptor': string;\r\n\r\n /** */\r\n 'channel': string;\r\n\r\n /** */\r\n 'amountMinor': number;\r\n\r\n /** */\r\n 'serviceFeeAmountMinor': number;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'paymentDate': Date;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['slug'] = data['slug'];\r\n this['referenceNumber'] = data['referenceNumber'];\r\n this['sessionIdentifier'] = data['sessionIdentifier'];\r\n this['paymentSourceType'] = data['paymentSourceType'];\r\n this['paymentDescriptor'] = data['paymentDescriptor'];\r\n this['channel'] = data['channel'];\r\n this['amountMinor'] = data['amountMinor'];\r\n this['serviceFeeAmountMinor'] = data['serviceFeeAmountMinor'];\r\n this['status'] = data['status'];\r\n this['paymentDate'] = data['paymentDate'];\r\n }\r\n}\r\n\r\nexport class ApiClientPaymentSessionDetailDto {\r\n /** */\r\n 'paymentSession': ApiClientPaymentSessionDetailDto_PaymentSessionDto;\r\n\r\n /** */\r\n 'paymentFields': object;\r\n\r\n /** */\r\n 'payment': ApiClientPaymentSessionDetailDto_PaymentDto;\r\n\r\n /** */\r\n 'paymentSource': ApiClientPaymentSessionDetailDto_PaymentSourceDto;\r\n\r\n /** */\r\n 'lineItems': ApiClientPaymentSessionDetailDto_LineItemDto[];\r\n\r\n /** */\r\n 'canProcessSession': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['paymentSession'] = data['paymentSession'];\r\n this['paymentFields'] = data['paymentFields'];\r\n this['payment'] = data['payment'];\r\n this['paymentSource'] = data['paymentSource'];\r\n this['lineItems'] = data['lineItems'];\r\n this['canProcessSession'] = data['canProcessSession'];\r\n }\r\n}\r\n\r\nexport class ApiClientPaymentSessionDetailDto_LineItemDto {\r\n /** */\r\n 'lineItemType': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'priceMinor': number;\r\n\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'productSku': any | null;\r\n\r\n /** */\r\n 'productName': any | null;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['lineItemType'] = data['lineItemType'];\r\n this['description'] = data['description'];\r\n this['priceMinor'] = data['priceMinor'];\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['productSku'] = data['productSku'];\r\n this['productName'] = data['productName'];\r\n }\r\n}\r\n\r\nexport class ApiClientPaymentSessionDetailDto_PaymentDto {\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'paymentDate': Date;\r\n\r\n /** */\r\n 'amountMinor': number;\r\n\r\n /** */\r\n 'serviceFeeAmountMinor': number;\r\n\r\n /** */\r\n 'paymentDescriptor': string;\r\n\r\n /** */\r\n 'referenceNumber': string;\r\n\r\n /** */\r\n 'authCode': string;\r\n\r\n /** */\r\n 'gatewayResponseDescription': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['status'] = data['status'];\r\n this['paymentDate'] = data['paymentDate'];\r\n this['amountMinor'] = data['amountMinor'];\r\n this['serviceFeeAmountMinor'] = data['serviceFeeAmountMinor'];\r\n this['paymentDescriptor'] = data['paymentDescriptor'];\r\n this['referenceNumber'] = data['referenceNumber'];\r\n this['authCode'] = data['authCode'];\r\n this['gatewayResponseDescription'] = data['gatewayResponseDescription'];\r\n }\r\n}\r\n\r\nexport class ApiClientPaymentSessionDetailDto_PaymentSessionDto {\r\n /** */\r\n 'identifier': string;\r\n\r\n /** */\r\n 'createdDateUtc': Date;\r\n\r\n /** */\r\n 'businessUnitSlug': string;\r\n\r\n /** */\r\n 'channel': string;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'subtotal': number;\r\n\r\n /** */\r\n 'serviceFeeCalculation': ServiceFeeCalculationDto;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['identifier'] = data['identifier'];\r\n this['createdDateUtc'] = data['createdDateUtc'];\r\n this['businessUnitSlug'] = data['businessUnitSlug'];\r\n this['channel'] = data['channel'];\r\n this['status'] = data['status'];\r\n this['subtotal'] = data['subtotal'];\r\n this['serviceFeeCalculation'] = data['serviceFeeCalculation'];\r\n }\r\n}\r\n\r\nexport class ApiClientPaymentSessionDetailDto_PaymentSourceDto {\r\n /** */\r\n 'paymentSourceType': string;\r\n\r\n /** */\r\n 'accountHolderName': string;\r\n\r\n /** */\r\n 'accountType': string;\r\n\r\n /** */\r\n 'accountNumberLast4': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['paymentSourceType'] = data['paymentSourceType'];\r\n this['accountHolderName'] = data['accountHolderName'];\r\n this['accountType'] = data['accountType'];\r\n this['accountNumberLast4'] = data['accountNumberLast4'];\r\n }\r\n}\r\n\r\nexport class ApiClientPaymentSessionDto {\r\n /** */\r\n 'paymentSessionIdentifier': string;\r\n\r\n /** */\r\n 'paymentLogInLink': string;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['paymentSessionIdentifier'] = data['paymentSessionIdentifier'];\r\n this['paymentLogInLink'] = data['paymentLogInLink'];\r\n this['status'] = data['status'];\r\n }\r\n}\r\n\r\nexport class ApiClientSessionResultDto {\r\n /** */\r\n 'sessionLink': string;\r\n\r\n /** */\r\n 'sessionType': string;\r\n\r\n /** */\r\n 'sessionStatus': string;\r\n\r\n /** */\r\n 'validUntil': Date;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['sessionLink'] = data['sessionLink'];\r\n this['sessionType'] = data['sessionType'];\r\n this['sessionStatus'] = data['sessionStatus'];\r\n this['validUntil'] = data['validUntil'];\r\n }\r\n}\r\n\r\nexport class ApiClientUserSessionDto {\r\n /** */\r\n 'userLogInLink': string;\r\n\r\n /** */\r\n 'emailAddress': string;\r\n\r\n /** */\r\n 'initialAction': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['userLogInLink'] = data['userLogInLink'];\r\n this['emailAddress'] = data['emailAddress'];\r\n this['initialAction'] = data['initialAction'];\r\n }\r\n}\r\n\r\nexport class ArchiveDeviceRequest {\r\n /** */\r\n 'isArchived': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['isArchived'] = data['isArchived'];\r\n }\r\n}\r\n\r\nexport class AutopayActivityLogExportDto {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'activityType': string;\r\n\r\n /** */\r\n 'accountName': string;\r\n\r\n /** */\r\n 'createdDate': Date;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['accountId'] = data['accountId'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['activityType'] = data['activityType'];\r\n this['accountName'] = data['accountName'];\r\n this['createdDate'] = data['createdDate'];\r\n }\r\n}\r\n\r\nexport class AutopayActivityLogSummaryDto {\r\n /** */\r\n 'activityType': string;\r\n\r\n /** */\r\n 'createdDate': Date;\r\n\r\n /** */\r\n 'metaJson': string;\r\n\r\n /** */\r\n 'paymentSource': PaymentSourceSummaryDto;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['activityType'] = data['activityType'];\r\n this['createdDate'] = data['createdDate'];\r\n this['metaJson'] = data['metaJson'];\r\n this['paymentSource'] = data['paymentSource'];\r\n }\r\n}\r\n\r\nexport class AutopayEnrollEventPayload {\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'customerId': number;\r\n\r\n /** */\r\n 'activityType': string;\r\n\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'accountName': string;\r\n\r\n /** */\r\n 'dueDate': string;\r\n\r\n /** */\r\n 'customerEmailAddress': string;\r\n\r\n /** */\r\n 'processingLeadTime': string;\r\n\r\n /** */\r\n 'maximumBalanceAllowed': string;\r\n\r\n /** */\r\n 'paymentSourceDescription': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['accountId'] = data['accountId'];\r\n this['customerId'] = data['customerId'];\r\n this['activityType'] = data['activityType'];\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['accountName'] = data['accountName'];\r\n this['dueDate'] = data['dueDate'];\r\n this['customerEmailAddress'] = data['customerEmailAddress'];\r\n this['processingLeadTime'] = data['processingLeadTime'];\r\n this['maximumBalanceAllowed'] = data['maximumBalanceAllowed'];\r\n this['paymentSourceDescription'] = data['paymentSourceDescription'];\r\n }\r\n}\r\n\r\nexport class AutopayEnrollmentResponse {\r\n /** */\r\n 'enrollmentSettings': AutopayEnrollmentSettings;\r\n\r\n /** */\r\n 'showMissedWindowNotice': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['enrollmentSettings'] = data['enrollmentSettings'];\r\n this['showMissedWindowNotice'] = data['showMissedWindowNotice'];\r\n }\r\n}\r\n\r\nexport class AutopayEnrollmentSettings {\r\n /** */\r\n 'enrolled': boolean;\r\n\r\n /** */\r\n 'processingLeadTimeInDays': number;\r\n\r\n /** */\r\n 'maximumBalanceAllowed': number;\r\n\r\n /** */\r\n 'paymentSourceId': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['enrolled'] = data['enrolled'];\r\n this['processingLeadTimeInDays'] = data['processingLeadTimeInDays'];\r\n this['maximumBalanceAllowed'] = data['maximumBalanceAllowed'];\r\n this['paymentSourceId'] = data['paymentSourceId'];\r\n }\r\n}\r\n\r\nexport class AutopayUnenrollEventPayload {\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'accountName': string;\r\n\r\n /** */\r\n 'dueDate': string;\r\n\r\n /** */\r\n 'currentBalance': string;\r\n\r\n /** */\r\n 'customerEmailAddress': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['accountName'] = data['accountName'];\r\n this['dueDate'] = data['dueDate'];\r\n this['currentBalance'] = data['currentBalance'];\r\n this['customerEmailAddress'] = data['customerEmailAddress'];\r\n }\r\n}\r\n\r\nexport class AutopayUnenrollMetaJson {\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'accountName': string;\r\n\r\n /** */\r\n 'dueDate': string;\r\n\r\n /** */\r\n 'currentBalance': string;\r\n\r\n /** */\r\n 'customerEmailAddress': string;\r\n\r\n /** */\r\n 'modifiedByEmail': string;\r\n\r\n /** */\r\n 'modifiedByName': string;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['accountName'] = data['accountName'];\r\n this['dueDate'] = data['dueDate'];\r\n this['currentBalance'] = data['currentBalance'];\r\n this['customerEmailAddress'] = data['customerEmailAddress'];\r\n this['modifiedByEmail'] = data['modifiedByEmail'];\r\n this['modifiedByName'] = data['modifiedByName'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n }\r\n}\r\n\r\nexport class AutopayUpdateEnrollmentRequest {\r\n /** */\r\n 'processingLeadTimeInDays': number;\r\n\r\n /** */\r\n 'emailAddress': string;\r\n\r\n /** */\r\n 'paymentSourceId': number;\r\n\r\n /** */\r\n 'maximumBalanceAllowed': number;\r\n\r\n /** */\r\n 'termsAcknowledged': boolean;\r\n\r\n /** */\r\n 'isEmbedded': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['processingLeadTimeInDays'] = data['processingLeadTimeInDays'];\r\n this['emailAddress'] = data['emailAddress'];\r\n this['paymentSourceId'] = data['paymentSourceId'];\r\n this['maximumBalanceAllowed'] = data['maximumBalanceAllowed'];\r\n this['termsAcknowledged'] = data['termsAcknowledged'];\r\n this['isEmbedded'] = data['isEmbedded'];\r\n }\r\n}\r\n\r\nexport class BankAccountSourceDto {\r\n /** */\r\n 'accountHolderName': string;\r\n\r\n /** */\r\n 'accountNumberMasked': string;\r\n\r\n /** */\r\n 'accountType': string;\r\n\r\n /** */\r\n 'accountNumberLast4': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['accountHolderName'] = data['accountHolderName'];\r\n this['accountNumberMasked'] = data['accountNumberMasked'];\r\n this['accountType'] = data['accountType'];\r\n this['accountNumberLast4'] = data['accountNumberLast4'];\r\n }\r\n}\r\n\r\nexport class BillCycleImportApprovedEventPayload {\r\n /** */\r\n 'billingCycleId': number;\r\n\r\n /** */\r\n 'cycleConfigIdentifier': string;\r\n\r\n /** */\r\n 'cycleDateKey': string;\r\n\r\n /** */\r\n 'startDate': Date;\r\n\r\n /** */\r\n 'endDate': Date;\r\n\r\n /** */\r\n 'issueDate': Date;\r\n\r\n /** */\r\n 'dueDate': Date;\r\n\r\n /** */\r\n 'billTemplateIdentifier': string;\r\n\r\n /** */\r\n 'originalBlobUrl': string;\r\n\r\n /** */\r\n 'parsedBlobUrl': string;\r\n\r\n /** */\r\n 'billCount': number;\r\n\r\n /** */\r\n 'billingCycleMetaJson': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['billingCycleId'] = data['billingCycleId'];\r\n this['cycleConfigIdentifier'] = data['cycleConfigIdentifier'];\r\n this['cycleDateKey'] = data['cycleDateKey'];\r\n this['startDate'] = data['startDate'];\r\n this['endDate'] = data['endDate'];\r\n this['issueDate'] = data['issueDate'];\r\n this['dueDate'] = data['dueDate'];\r\n this['billTemplateIdentifier'] = data['billTemplateIdentifier'];\r\n this['originalBlobUrl'] = data['originalBlobUrl'];\r\n this['parsedBlobUrl'] = data['parsedBlobUrl'];\r\n this['billCount'] = data['billCount'];\r\n this['billingCycleMetaJson'] = data['billingCycleMetaJson'];\r\n }\r\n}\r\n\r\nexport class BillFileUploadedEventPayload {\r\n /** */\r\n 'billingCycleId': number;\r\n\r\n /** */\r\n 'blobUrl': string;\r\n\r\n /** */\r\n 'downloadBlobUrl': string;\r\n\r\n /** */\r\n 'userEmail': string;\r\n\r\n /** */\r\n 'genericMessage': string;\r\n\r\n /** */\r\n 'customMessage': string;\r\n\r\n /** */\r\n 'billFileName': string;\r\n\r\n /** */\r\n 'cycleConfigIdentifier': string;\r\n\r\n /** */\r\n 'cycleDateKey': string;\r\n\r\n /** */\r\n 'billInsertUrl': string;\r\n\r\n /** */\r\n 'billInsertFileName': string;\r\n\r\n /** */\r\n 'startDate': Date;\r\n\r\n /** */\r\n 'endDate': Date;\r\n\r\n /** */\r\n 'issueDate': Date;\r\n\r\n /** */\r\n 'dueDate': Date;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['billingCycleId'] = data['billingCycleId'];\r\n this['blobUrl'] = data['blobUrl'];\r\n this['downloadBlobUrl'] = data['downloadBlobUrl'];\r\n this['userEmail'] = data['userEmail'];\r\n this['genericMessage'] = data['genericMessage'];\r\n this['customMessage'] = data['customMessage'];\r\n this['billFileName'] = data['billFileName'];\r\n this['cycleConfigIdentifier'] = data['cycleConfigIdentifier'];\r\n this['cycleDateKey'] = data['cycleDateKey'];\r\n this['billInsertUrl'] = data['billInsertUrl'];\r\n this['billInsertFileName'] = data['billInsertFileName'];\r\n this['startDate'] = data['startDate'];\r\n this['endDate'] = data['endDate'];\r\n this['issueDate'] = data['issueDate'];\r\n this['dueDate'] = data['dueDate'];\r\n }\r\n}\r\n\r\nexport class BillLineItemReportDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'order': number;\r\n\r\n /** */\r\n 'cost': number;\r\n\r\n /** */\r\n 'metaJson': string;\r\n\r\n /** */\r\n 'data': object;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['description'] = data['description'];\r\n this['order'] = data['order'];\r\n this['cost'] = data['cost'];\r\n this['metaJson'] = data['metaJson'];\r\n this['data'] = data['data'];\r\n }\r\n}\r\n\r\nexport class BillReportDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'billingCycleId': number;\r\n\r\n /** */\r\n 'identifier': string;\r\n\r\n /** */\r\n 'issueDate': Date;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'dueDate': Date;\r\n\r\n /** */\r\n 'balance': number;\r\n\r\n /** */\r\n 'assetUrl': string;\r\n\r\n /** */\r\n 'metaJson': string;\r\n\r\n /** */\r\n 'lineItems': BillLineItemReportDto[];\r\n\r\n /** */\r\n 'accountFieldMap': object;\r\n\r\n /** */\r\n 'businessUnit': BusinessUnitGetDto;\r\n\r\n /** */\r\n 'account': AccountGetDto;\r\n\r\n /** */\r\n 'accountFields': AccountFieldGetDto[];\r\n\r\n /** */\r\n 'billingCycle': BillingCycleDetailDto;\r\n\r\n /** */\r\n 'data': object;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['billingCycleId'] = data['billingCycleId'];\r\n this['identifier'] = data['identifier'];\r\n this['issueDate'] = data['issueDate'];\r\n this['accountId'] = data['accountId'];\r\n this['dueDate'] = data['dueDate'];\r\n this['balance'] = data['balance'];\r\n this['assetUrl'] = data['assetUrl'];\r\n this['metaJson'] = data['metaJson'];\r\n this['lineItems'] = data['lineItems'];\r\n this['accountFieldMap'] = data['accountFieldMap'];\r\n this['businessUnit'] = data['businessUnit'];\r\n this['account'] = data['account'];\r\n this['accountFields'] = data['accountFields'];\r\n this['billingCycle'] = data['billingCycle'];\r\n this['data'] = data['data'];\r\n }\r\n}\r\n\r\nexport class BillSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'billingCycleId': number;\r\n\r\n /** */\r\n 'identifier': string;\r\n\r\n /** */\r\n 'issueDate': Date;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'dueDate': Date;\r\n\r\n /** */\r\n 'balance': number;\r\n\r\n /** */\r\n 'assetUrl': string;\r\n\r\n /** */\r\n 'billType': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['billingCycleId'] = data['billingCycleId'];\r\n this['identifier'] = data['identifier'];\r\n this['issueDate'] = data['issueDate'];\r\n this['accountId'] = data['accountId'];\r\n this['dueDate'] = data['dueDate'];\r\n this['balance'] = data['balance'];\r\n this['assetUrl'] = data['assetUrl'];\r\n this['billType'] = data['billType'];\r\n }\r\n}\r\n\r\nexport class BillingCycleConfigGetDto {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'identifier': string;\r\n\r\n /** */\r\n 'notificationStrategyType': string;\r\n\r\n /** */\r\n 'billType': string;\r\n\r\n /** */\r\n 'allowInserts': boolean;\r\n\r\n /** */\r\n 'isBillPrinted': boolean;\r\n\r\n /** */\r\n 'isDisabled': boolean;\r\n\r\n /** */\r\n 'executionOrder': number;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['identifier'] = data['identifier'];\r\n this['notificationStrategyType'] = data['notificationStrategyType'];\r\n this['billType'] = data['billType'];\r\n this['allowInserts'] = data['allowInserts'];\r\n this['isBillPrinted'] = data['isBillPrinted'];\r\n this['isDisabled'] = data['isDisabled'];\r\n this['executionOrder'] = data['executionOrder'];\r\n this['id'] = data['id'];\r\n }\r\n}\r\n\r\nexport class BillingCycleDetailDto {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'billingCycleConfigId': number;\r\n\r\n /** */\r\n 'cycleDateKey': string;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'startDate': Date;\r\n\r\n /** */\r\n 'endDate': Date;\r\n\r\n /** */\r\n 'issueDate': Date;\r\n\r\n /** */\r\n 'dueDate': Date;\r\n\r\n /** */\r\n 'metaJson': string;\r\n\r\n /** */\r\n 'customMessage': string;\r\n\r\n /** */\r\n 'insertBlobUrl': string;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'assetUrl': string;\r\n\r\n /** */\r\n 'billCount': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['billingCycleConfigId'] = data['billingCycleConfigId'];\r\n this['cycleDateKey'] = data['cycleDateKey'];\r\n this['status'] = data['status'];\r\n this['startDate'] = data['startDate'];\r\n this['endDate'] = data['endDate'];\r\n this['issueDate'] = data['issueDate'];\r\n this['dueDate'] = data['dueDate'];\r\n this['metaJson'] = data['metaJson'];\r\n this['customMessage'] = data['customMessage'];\r\n this['insertBlobUrl'] = data['insertBlobUrl'];\r\n this['id'] = data['id'];\r\n this['assetUrl'] = data['assetUrl'];\r\n this['billCount'] = data['billCount'];\r\n }\r\n}\r\n\r\nexport class BillingCycleGetDto {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'billingCycleConfigId': number;\r\n\r\n /** */\r\n 'cycleDateKey': string;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'startDate': Date;\r\n\r\n /** */\r\n 'endDate': Date;\r\n\r\n /** */\r\n 'issueDate': Date;\r\n\r\n /** */\r\n 'dueDate': Date;\r\n\r\n /** */\r\n 'metaJson': string;\r\n\r\n /** */\r\n 'customMessage': string;\r\n\r\n /** */\r\n 'insertBlobUrl': string;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'assetUrl': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['billingCycleConfigId'] = data['billingCycleConfigId'];\r\n this['cycleDateKey'] = data['cycleDateKey'];\r\n this['status'] = data['status'];\r\n this['startDate'] = data['startDate'];\r\n this['endDate'] = data['endDate'];\r\n this['issueDate'] = data['issueDate'];\r\n this['dueDate'] = data['dueDate'];\r\n this['metaJson'] = data['metaJson'];\r\n this['customMessage'] = data['customMessage'];\r\n this['insertBlobUrl'] = data['insertBlobUrl'];\r\n this['id'] = data['id'];\r\n this['assetUrl'] = data['assetUrl'];\r\n }\r\n}\r\n\r\nexport class BillingCycleUploadDetailsDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'cycleDateKey': string;\r\n\r\n /** */\r\n 'billingCycleConfigIdentifier': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['status'] = data['status'];\r\n this['cycleDateKey'] = data['cycleDateKey'];\r\n this['billingCycleConfigIdentifier'] = data['billingCycleConfigIdentifier'];\r\n }\r\n}\r\n\r\nexport class BillingCyclesSummaryDto {\r\n /** */\r\n 'configs': BillingCycleConfigGetDto[];\r\n\r\n /** */\r\n 'cycles': BillingCycleDetailDto[];\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['configs'] = data['configs'];\r\n this['cycles'] = data['cycles'];\r\n }\r\n}\r\n\r\nexport class BillingSystemDto {\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'notes': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['name'] = data['name'];\r\n this['notes'] = data['notes'];\r\n }\r\n}\r\n\r\nexport class BillingSystemGetDto {\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'notes': string;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['name'] = data['name'];\r\n this['notes'] = data['notes'];\r\n this['id'] = data['id'];\r\n }\r\n}\r\n\r\nexport class BlobUploadUrlResult {\r\n /** */\r\n 'url': string;\r\n\r\n /** */\r\n 'extension': string;\r\n\r\n /** */\r\n 'expires': Date;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['url'] = data['url'];\r\n this['extension'] = data['extension'];\r\n this['expires'] = data['expires'];\r\n }\r\n}\r\n\r\nexport class BusinessUnitClientManagementSettingsDto {\r\n /** */\r\n 'paymentsDisabled': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['paymentsDisabled'] = data['paymentsDisabled'];\r\n }\r\n}\r\n\r\nexport class BusinessUnitClientSummaryDto {\r\n /** */\r\n 'slug': string;\r\n\r\n /** */\r\n 'ivrNumber': string;\r\n\r\n /** */\r\n 'customerRegistrationEnabled': boolean;\r\n\r\n /** */\r\n 'notes': string;\r\n\r\n /** */\r\n 'organizationNotes': string;\r\n\r\n /** */\r\n 'billingSystemName': string;\r\n\r\n /** */\r\n 'apiSecret': string;\r\n\r\n /** */\r\n 'quickPayLookupFields': string[];\r\n\r\n /** */\r\n 'ivrLookupFields': string[];\r\n\r\n /** */\r\n 'quickPay': PaymentChannelClientSummaryDto;\r\n\r\n /** */\r\n 'ivr': PaymentChannelClientSummaryDto;\r\n\r\n /** */\r\n 'pointOfSale': PaymentChannelClientSummaryDto;\r\n\r\n /** */\r\n 'autopay': PaymentChannelClientSummaryDto;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['slug'] = data['slug'];\r\n this['ivrNumber'] = data['ivrNumber'];\r\n this['customerRegistrationEnabled'] = data['customerRegistrationEnabled'];\r\n this['notes'] = data['notes'];\r\n this['organizationNotes'] = data['organizationNotes'];\r\n this['billingSystemName'] = data['billingSystemName'];\r\n this['apiSecret'] = data['apiSecret'];\r\n this['quickPayLookupFields'] = data['quickPayLookupFields'];\r\n this['ivrLookupFields'] = data['ivrLookupFields'];\r\n this['quickPay'] = data['quickPay'];\r\n this['ivr'] = data['ivr'];\r\n this['pointOfSale'] = data['pointOfSale'];\r\n this['autopay'] = data['autopay'];\r\n }\r\n}\r\n\r\nexport class BusinessUnitContextDto {\r\n /** */\r\n 'header': string;\r\n\r\n /** */\r\n 'subHeader': string;\r\n\r\n /** */\r\n 'logoUrl': string;\r\n\r\n /** */\r\n 'mobileLogoUrl': string;\r\n\r\n /** */\r\n 'primaryColor': string;\r\n\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'organizationName': string;\r\n\r\n /** */\r\n 'phoneNumber': string;\r\n\r\n /** */\r\n 'websiteUrl': string;\r\n\r\n /** */\r\n 'address': Address;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'ivrNumber': string;\r\n\r\n /** */\r\n 'slug': string;\r\n\r\n /** */\r\n 'accountHelpUrl': string;\r\n\r\n /** */\r\n 'organizationId': number;\r\n\r\n /** */\r\n 'paymentsDisabled': boolean;\r\n\r\n /** */\r\n 'billingSystemName': string;\r\n\r\n /** */\r\n 'billingAddressCollectionType': string;\r\n\r\n /** */\r\n 'currencyCode': string;\r\n\r\n /** */\r\n 'timezone': string;\r\n\r\n /** */\r\n 'autopayAmountLimit': string;\r\n\r\n /** */\r\n 'channelDisabled': boolean;\r\n\r\n /** */\r\n 'includeServiceFeeInPayment': boolean;\r\n\r\n /** */\r\n 'customAccountSyncStrategy': boolean;\r\n\r\n /** */\r\n 'autoPayEnabled': boolean;\r\n\r\n /** */\r\n 'checkoutEnabled': boolean;\r\n\r\n /** */\r\n 'payerLoginMode': string;\r\n\r\n /** */\r\n 'readingsIdentifier': string;\r\n\r\n /** */\r\n 'uploadAccountsDueDateDay': number;\r\n\r\n /** */\r\n 'features': BusinessUnitFeatures;\r\n\r\n /** */\r\n 'paymentChannel': PaymentChannelSummaryDto;\r\n\r\n /** */\r\n 'termsOfServices': BusinessUnitTermsOfServices;\r\n\r\n /** */\r\n 'accountFields': AccountFieldGetDto[];\r\n\r\n /** */\r\n 'paymentFields': PaymentFieldDetailDto[];\r\n\r\n /** */\r\n 'messages': MessageDetailDto[];\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['header'] = data['header'];\r\n this['subHeader'] = data['subHeader'];\r\n this['logoUrl'] = data['logoUrl'];\r\n this['mobileLogoUrl'] = data['mobileLogoUrl'];\r\n this['primaryColor'] = data['primaryColor'];\r\n this['name'] = data['name'];\r\n this['organizationName'] = data['organizationName'];\r\n this['phoneNumber'] = data['phoneNumber'];\r\n this['websiteUrl'] = data['websiteUrl'];\r\n this['address'] = data['address'];\r\n this['id'] = data['id'];\r\n this['ivrNumber'] = data['ivrNumber'];\r\n this['slug'] = data['slug'];\r\n this['accountHelpUrl'] = data['accountHelpUrl'];\r\n this['organizationId'] = data['organizationId'];\r\n this['paymentsDisabled'] = data['paymentsDisabled'];\r\n this['billingSystemName'] = data['billingSystemName'];\r\n this['billingAddressCollectionType'] = data['billingAddressCollectionType'];\r\n this['currencyCode'] = data['currencyCode'];\r\n this['timezone'] = data['timezone'];\r\n this['autopayAmountLimit'] = data['autopayAmountLimit'];\r\n this['channelDisabled'] = data['channelDisabled'];\r\n this['includeServiceFeeInPayment'] = data['includeServiceFeeInPayment'];\r\n this['customAccountSyncStrategy'] = data['customAccountSyncStrategy'];\r\n this['autoPayEnabled'] = data['autoPayEnabled'];\r\n this['checkoutEnabled'] = data['checkoutEnabled'];\r\n this['payerLoginMode'] = data['payerLoginMode'];\r\n this['readingsIdentifier'] = data['readingsIdentifier'];\r\n this['uploadAccountsDueDateDay'] = data['uploadAccountsDueDateDay'];\r\n this['features'] = data['features'];\r\n this['paymentChannel'] = data['paymentChannel'];\r\n this['termsOfServices'] = data['termsOfServices'];\r\n this['accountFields'] = data['accountFields'];\r\n this['paymentFields'] = data['paymentFields'];\r\n this['messages'] = data['messages'];\r\n }\r\n}\r\n\r\nexport class BusinessUnitDetailDto {\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'slug': string;\r\n\r\n /** */\r\n 'address': Address;\r\n\r\n /** */\r\n 'phoneNumber': string;\r\n\r\n /** */\r\n 'ivrNumber': string;\r\n\r\n /** */\r\n 'websiteUrl': string;\r\n\r\n /** */\r\n 'logoUrl': string;\r\n\r\n /** */\r\n 'mobileLogoUrl': string;\r\n\r\n /** */\r\n 'accountHelpUrl': string;\r\n\r\n /** */\r\n 'billingAddressCollectionType': string;\r\n\r\n /** */\r\n 'currencyCode': string;\r\n\r\n /** */\r\n 'timezone': string;\r\n\r\n /** */\r\n 'notes': string;\r\n\r\n /** */\r\n 'primaryColor': string;\r\n\r\n /** */\r\n 'header': string;\r\n\r\n /** */\r\n 'subHeader': string;\r\n\r\n /** */\r\n 'billTemplateIdentifier': string;\r\n\r\n /** */\r\n 'pdfTemplateIdentifier': string;\r\n\r\n /** */\r\n 'excelTemplateIdentifier': string;\r\n\r\n /** */\r\n 'accountSyncStrategy': string;\r\n\r\n /** */\r\n 'accountSyncUrl': string;\r\n\r\n /** */\r\n 'accountSyncApiKey': string;\r\n\r\n /** */\r\n 'trustedDomains': string;\r\n\r\n /** */\r\n 'readingsIdentifier': string;\r\n\r\n /** */\r\n 'readingsSyncUrl': string;\r\n\r\n /** */\r\n 'readingsSyncApiKey': string;\r\n\r\n /** */\r\n 'syncPayments': boolean;\r\n\r\n /** */\r\n 'paymentSyncUrl': string;\r\n\r\n /** */\r\n 'paymentSyncSecret': string;\r\n\r\n /** */\r\n 'paymentSyncPayload': string;\r\n\r\n /** */\r\n 'paymentSyncOnSucceeded': boolean;\r\n\r\n /** */\r\n 'paymentSyncOnDeclined': boolean;\r\n\r\n /** */\r\n 'paymentSyncOnRefunded': boolean;\r\n\r\n /** */\r\n 'paymentSyncOnVoided': boolean;\r\n\r\n /** */\r\n 'quickPayConfigId': number;\r\n\r\n /** */\r\n 'ivrConfigId': number;\r\n\r\n /** */\r\n 'pointOfSaleConfigId': number;\r\n\r\n /** */\r\n 'autopayConfigId': number;\r\n\r\n /** */\r\n 'minPaymentAmount': number;\r\n\r\n /** */\r\n 'maxPaymentAmount': number;\r\n\r\n /** */\r\n 'maxRefundAmount': number;\r\n\r\n /** */\r\n 'agencyId': number;\r\n\r\n /** */\r\n 'paymentsDisabled': boolean;\r\n\r\n /** */\r\n 'testAccount': boolean;\r\n\r\n /** */\r\n 'includeServiceFeeInPayment': boolean;\r\n\r\n /** */\r\n 'billingSystemId': number;\r\n\r\n /** */\r\n 'onboardingConfigurationId': number;\r\n\r\n /** */\r\n 'billingSystemVersion': string;\r\n\r\n /** */\r\n 'reasonForConfigChange': string;\r\n\r\n /** */\r\n 'payerLoginMode': string;\r\n\r\n /** */\r\n 'embeddedHost': string;\r\n\r\n /** */\r\n 'uploadAccountsDueDateDay': number;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'organizationId': number;\r\n\r\n /** */\r\n 'features': BusinessUnitFeatures;\r\n\r\n /** */\r\n 'termsOfServiceIdentifiers': BusinessUnitTermsOfServices;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['name'] = data['name'];\r\n this['slug'] = data['slug'];\r\n this['address'] = data['address'];\r\n this['phoneNumber'] = data['phoneNumber'];\r\n this['ivrNumber'] = data['ivrNumber'];\r\n this['websiteUrl'] = data['websiteUrl'];\r\n this['logoUrl'] = data['logoUrl'];\r\n this['mobileLogoUrl'] = data['mobileLogoUrl'];\r\n this['accountHelpUrl'] = data['accountHelpUrl'];\r\n this['billingAddressCollectionType'] = data['billingAddressCollectionType'];\r\n this['currencyCode'] = data['currencyCode'];\r\n this['timezone'] = data['timezone'];\r\n this['notes'] = data['notes'];\r\n this['primaryColor'] = data['primaryColor'];\r\n this['header'] = data['header'];\r\n this['subHeader'] = data['subHeader'];\r\n this['billTemplateIdentifier'] = data['billTemplateIdentifier'];\r\n this['pdfTemplateIdentifier'] = data['pdfTemplateIdentifier'];\r\n this['excelTemplateIdentifier'] = data['excelTemplateIdentifier'];\r\n this['accountSyncStrategy'] = data['accountSyncStrategy'];\r\n this['accountSyncUrl'] = data['accountSyncUrl'];\r\n this['accountSyncApiKey'] = data['accountSyncApiKey'];\r\n this['trustedDomains'] = data['trustedDomains'];\r\n this['readingsIdentifier'] = data['readingsIdentifier'];\r\n this['readingsSyncUrl'] = data['readingsSyncUrl'];\r\n this['readingsSyncApiKey'] = data['readingsSyncApiKey'];\r\n this['syncPayments'] = data['syncPayments'];\r\n this['paymentSyncUrl'] = data['paymentSyncUrl'];\r\n this['paymentSyncSecret'] = data['paymentSyncSecret'];\r\n this['paymentSyncPayload'] = data['paymentSyncPayload'];\r\n this['paymentSyncOnSucceeded'] = data['paymentSyncOnSucceeded'];\r\n this['paymentSyncOnDeclined'] = data['paymentSyncOnDeclined'];\r\n this['paymentSyncOnRefunded'] = data['paymentSyncOnRefunded'];\r\n this['paymentSyncOnVoided'] = data['paymentSyncOnVoided'];\r\n this['quickPayConfigId'] = data['quickPayConfigId'];\r\n this['ivrConfigId'] = data['ivrConfigId'];\r\n this['pointOfSaleConfigId'] = data['pointOfSaleConfigId'];\r\n this['autopayConfigId'] = data['autopayConfigId'];\r\n this['minPaymentAmount'] = data['minPaymentAmount'];\r\n this['maxPaymentAmount'] = data['maxPaymentAmount'];\r\n this['maxRefundAmount'] = data['maxRefundAmount'];\r\n this['agencyId'] = data['agencyId'];\r\n this['paymentsDisabled'] = data['paymentsDisabled'];\r\n this['testAccount'] = data['testAccount'];\r\n this['includeServiceFeeInPayment'] = data['includeServiceFeeInPayment'];\r\n this['billingSystemId'] = data['billingSystemId'];\r\n this['onboardingConfigurationId'] = data['onboardingConfigurationId'];\r\n this['billingSystemVersion'] = data['billingSystemVersion'];\r\n this['reasonForConfigChange'] = data['reasonForConfigChange'];\r\n this['payerLoginMode'] = data['payerLoginMode'];\r\n this['embeddedHost'] = data['embeddedHost'];\r\n this['uploadAccountsDueDateDay'] = data['uploadAccountsDueDateDay'];\r\n this['id'] = data['id'];\r\n this['organizationId'] = data['organizationId'];\r\n this['features'] = data['features'];\r\n this['termsOfServiceIdentifiers'] = data['termsOfServiceIdentifiers'];\r\n }\r\n}\r\n\r\nexport class BusinessUnitDto {\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'slug': string;\r\n\r\n /** */\r\n 'address': Address;\r\n\r\n /** */\r\n 'phoneNumber': string;\r\n\r\n /** */\r\n 'ivrNumber': string;\r\n\r\n /** */\r\n 'websiteUrl': string;\r\n\r\n /** */\r\n 'logoUrl': string;\r\n\r\n /** */\r\n 'mobileLogoUrl': string;\r\n\r\n /** */\r\n 'accountHelpUrl': string;\r\n\r\n /** */\r\n 'billingAddressCollectionType': string;\r\n\r\n /** */\r\n 'currencyCode': string;\r\n\r\n /** */\r\n 'timezone': string;\r\n\r\n /** */\r\n 'notes': string;\r\n\r\n /** */\r\n 'primaryColor': string;\r\n\r\n /** */\r\n 'header': string;\r\n\r\n /** */\r\n 'subHeader': string;\r\n\r\n /** */\r\n 'billTemplateIdentifier': string;\r\n\r\n /** */\r\n 'pdfTemplateIdentifier': string;\r\n\r\n /** */\r\n 'excelTemplateIdentifier': string;\r\n\r\n /** */\r\n 'accountSyncStrategy': string;\r\n\r\n /** */\r\n 'accountSyncUrl': string;\r\n\r\n /** */\r\n 'accountSyncApiKey': string;\r\n\r\n /** */\r\n 'trustedDomains': string;\r\n\r\n /** */\r\n 'readingsIdentifier': string;\r\n\r\n /** */\r\n 'readingsSyncUrl': string;\r\n\r\n /** */\r\n 'readingsSyncApiKey': string;\r\n\r\n /** */\r\n 'syncPayments': boolean;\r\n\r\n /** */\r\n 'paymentSyncUrl': string;\r\n\r\n /** */\r\n 'paymentSyncSecret': string;\r\n\r\n /** */\r\n 'paymentSyncPayload': string;\r\n\r\n /** */\r\n 'paymentSyncOnSucceeded': boolean;\r\n\r\n /** */\r\n 'paymentSyncOnDeclined': boolean;\r\n\r\n /** */\r\n 'paymentSyncOnRefunded': boolean;\r\n\r\n /** */\r\n 'paymentSyncOnVoided': boolean;\r\n\r\n /** */\r\n 'quickPayConfigId': number;\r\n\r\n /** */\r\n 'ivrConfigId': number;\r\n\r\n /** */\r\n 'pointOfSaleConfigId': number;\r\n\r\n /** */\r\n 'autopayConfigId': number;\r\n\r\n /** */\r\n 'minPaymentAmount': number;\r\n\r\n /** */\r\n 'maxPaymentAmount': number;\r\n\r\n /** */\r\n 'maxRefundAmount': number;\r\n\r\n /** */\r\n 'agencyId': number;\r\n\r\n /** */\r\n 'paymentsDisabled': boolean;\r\n\r\n /** */\r\n 'testAccount': boolean;\r\n\r\n /** */\r\n 'includeServiceFeeInPayment': boolean;\r\n\r\n /** */\r\n 'billingSystemId': number;\r\n\r\n /** */\r\n 'onboardingConfigurationId': number;\r\n\r\n /** */\r\n 'billingSystemVersion': string;\r\n\r\n /** */\r\n 'reasonForConfigChange': string;\r\n\r\n /** */\r\n 'payerLoginMode': string;\r\n\r\n /** */\r\n 'embeddedHost': string;\r\n\r\n /** */\r\n 'uploadAccountsDueDateDay': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['name'] = data['name'];\r\n this['slug'] = data['slug'];\r\n this['address'] = data['address'];\r\n this['phoneNumber'] = data['phoneNumber'];\r\n this['ivrNumber'] = data['ivrNumber'];\r\n this['websiteUrl'] = data['websiteUrl'];\r\n this['logoUrl'] = data['logoUrl'];\r\n this['mobileLogoUrl'] = data['mobileLogoUrl'];\r\n this['accountHelpUrl'] = data['accountHelpUrl'];\r\n this['billingAddressCollectionType'] = data['billingAddressCollectionType'];\r\n this['currencyCode'] = data['currencyCode'];\r\n this['timezone'] = data['timezone'];\r\n this['notes'] = data['notes'];\r\n this['primaryColor'] = data['primaryColor'];\r\n this['header'] = data['header'];\r\n this['subHeader'] = data['subHeader'];\r\n this['billTemplateIdentifier'] = data['billTemplateIdentifier'];\r\n this['pdfTemplateIdentifier'] = data['pdfTemplateIdentifier'];\r\n this['excelTemplateIdentifier'] = data['excelTemplateIdentifier'];\r\n this['accountSyncStrategy'] = data['accountSyncStrategy'];\r\n this['accountSyncUrl'] = data['accountSyncUrl'];\r\n this['accountSyncApiKey'] = data['accountSyncApiKey'];\r\n this['trustedDomains'] = data['trustedDomains'];\r\n this['readingsIdentifier'] = data['readingsIdentifier'];\r\n this['readingsSyncUrl'] = data['readingsSyncUrl'];\r\n this['readingsSyncApiKey'] = data['readingsSyncApiKey'];\r\n this['syncPayments'] = data['syncPayments'];\r\n this['paymentSyncUrl'] = data['paymentSyncUrl'];\r\n this['paymentSyncSecret'] = data['paymentSyncSecret'];\r\n this['paymentSyncPayload'] = data['paymentSyncPayload'];\r\n this['paymentSyncOnSucceeded'] = data['paymentSyncOnSucceeded'];\r\n this['paymentSyncOnDeclined'] = data['paymentSyncOnDeclined'];\r\n this['paymentSyncOnRefunded'] = data['paymentSyncOnRefunded'];\r\n this['paymentSyncOnVoided'] = data['paymentSyncOnVoided'];\r\n this['quickPayConfigId'] = data['quickPayConfigId'];\r\n this['ivrConfigId'] = data['ivrConfigId'];\r\n this['pointOfSaleConfigId'] = data['pointOfSaleConfigId'];\r\n this['autopayConfigId'] = data['autopayConfigId'];\r\n this['minPaymentAmount'] = data['minPaymentAmount'];\r\n this['maxPaymentAmount'] = data['maxPaymentAmount'];\r\n this['maxRefundAmount'] = data['maxRefundAmount'];\r\n this['agencyId'] = data['agencyId'];\r\n this['paymentsDisabled'] = data['paymentsDisabled'];\r\n this['testAccount'] = data['testAccount'];\r\n this['includeServiceFeeInPayment'] = data['includeServiceFeeInPayment'];\r\n this['billingSystemId'] = data['billingSystemId'];\r\n this['onboardingConfigurationId'] = data['onboardingConfigurationId'];\r\n this['billingSystemVersion'] = data['billingSystemVersion'];\r\n this['reasonForConfigChange'] = data['reasonForConfigChange'];\r\n this['payerLoginMode'] = data['payerLoginMode'];\r\n this['embeddedHost'] = data['embeddedHost'];\r\n this['uploadAccountsDueDateDay'] = data['uploadAccountsDueDateDay'];\r\n }\r\n}\r\n\r\nexport class BusinessUnitFeatures {\r\n /** */\r\n 'manualAccountManagement': boolean;\r\n\r\n /** */\r\n 'uploadAccounts': boolean;\r\n\r\n /** */\r\n 'uploadAccountsIssueDate': boolean;\r\n\r\n /** */\r\n 'uploadAccountsDueDate': boolean;\r\n\r\n /** */\r\n 'disableQuickPayLookup': boolean;\r\n\r\n /** */\r\n 'accountRollover': boolean;\r\n\r\n /** */\r\n 'billerAutopayManagement': boolean;\r\n\r\n /** */\r\n 'paperlessBilling': boolean;\r\n\r\n /** */\r\n 'suppressBillNotifications': boolean;\r\n\r\n /** */\r\n 'bills': boolean;\r\n\r\n /** */\r\n 'uploadBillsStartDate': boolean;\r\n\r\n /** */\r\n 'uploadBillsEndDate': boolean;\r\n\r\n /** */\r\n 'uploadBillsIssueDate': boolean;\r\n\r\n /** */\r\n 'uploadBillsDueDate': boolean;\r\n\r\n /** */\r\n 'uploadBillsGenericMessage': boolean;\r\n\r\n /** */\r\n 'uploadBillsCustomMessage': boolean;\r\n\r\n /** */\r\n 'customerRegistration': boolean;\r\n\r\n /** */\r\n 'upcomingPaymentNotifications': boolean;\r\n\r\n /** */\r\n 'smsNotifications': boolean;\r\n\r\n /** */\r\n 'creditBalanceDisplay': boolean;\r\n\r\n /** */\r\n 'enableCardSwipe': boolean;\r\n\r\n /** */\r\n 'useExplicitMsrEncryption': boolean;\r\n\r\n /** */\r\n 'posReport': boolean;\r\n\r\n /** */\r\n 'autoGenerateAccountNumber': boolean;\r\n\r\n /** */\r\n 'products': boolean;\r\n\r\n /** */\r\n 'outboundIvr': boolean;\r\n\r\n /** */\r\n 'outboundSms': boolean;\r\n\r\n /** */\r\n 'outboundEmail': boolean;\r\n\r\n /** */\r\n 'engageOutboundIvr': boolean;\r\n\r\n /** */\r\n 'paymentSessionLogin': boolean;\r\n\r\n /** */\r\n 'userSessionLogin': boolean;\r\n\r\n /** */\r\n 'accountlessPayments': boolean;\r\n\r\n /** */\r\n 'accountlessProducts': boolean;\r\n\r\n /** */\r\n 'disableBusinessUnitAccounts': boolean;\r\n\r\n /** */\r\n 'externalLinks': boolean;\r\n\r\n /** */\r\n 'forms': boolean;\r\n\r\n /** */\r\n 'displayServiceFee': boolean;\r\n\r\n /** */\r\n 'enablePlaidAccountLink': boolean;\r\n\r\n /** */\r\n 'payerPlaidAccountLinkRequiredAch': boolean;\r\n\r\n /** */\r\n 'useBatchIdentifierReport': boolean;\r\n\r\n /** */\r\n 'newPayerUi': boolean;\r\n\r\n /** */\r\n 'enableAccountWallets': boolean;\r\n\r\n /** */\r\n 'externalTransactions': boolean;\r\n\r\n /** */\r\n 'spanishSupport': boolean;\r\n\r\n /** */\r\n 'pastDueAccounts': boolean;\r\n\r\n /** */\r\n 'readings': boolean;\r\n\r\n /** */\r\n 'uploadReadings': boolean;\r\n\r\n /** */\r\n 'associatePhoneNumberWithAccount': boolean;\r\n\r\n /** */\r\n 'enableBatchAutopay': boolean;\r\n\r\n /** */\r\n 'enableBase64GenericMessage': boolean;\r\n\r\n /** */\r\n 'enableZeroValueEmbeddedCharges': boolean;\r\n\r\n /** */\r\n 'multipleAccountPayments': boolean;\r\n\r\n /** */\r\n 'multiAccountQuickpay': boolean;\r\n\r\n /** */\r\n 'multiAccountPos': boolean;\r\n\r\n /** */\r\n 'usePastDueAmountMinor': boolean;\r\n\r\n /** */\r\n 'scheduleAutopayOnEarlyBilling': boolean;\r\n\r\n /** */\r\n 'paymentReceiptBarcodes': boolean;\r\n\r\n /** */\r\n 'enableAutopayDateToProcess': boolean;\r\n\r\n /** */\r\n 'enableIvrAccountSync': boolean;\r\n\r\n /** */\r\n 'embeddedMultiChargePaymentSelector': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['manualAccountManagement'] = data['manualAccountManagement'];\r\n this['uploadAccounts'] = data['uploadAccounts'];\r\n this['uploadAccountsIssueDate'] = data['uploadAccountsIssueDate'];\r\n this['uploadAccountsDueDate'] = data['uploadAccountsDueDate'];\r\n this['disableQuickPayLookup'] = data['disableQuickPayLookup'];\r\n this['accountRollover'] = data['accountRollover'];\r\n this['billerAutopayManagement'] = data['billerAutopayManagement'];\r\n this['paperlessBilling'] = data['paperlessBilling'];\r\n this['suppressBillNotifications'] = data['suppressBillNotifications'];\r\n this['bills'] = data['bills'];\r\n this['uploadBillsStartDate'] = data['uploadBillsStartDate'];\r\n this['uploadBillsEndDate'] = data['uploadBillsEndDate'];\r\n this['uploadBillsIssueDate'] = data['uploadBillsIssueDate'];\r\n this['uploadBillsDueDate'] = data['uploadBillsDueDate'];\r\n this['uploadBillsGenericMessage'] = data['uploadBillsGenericMessage'];\r\n this['uploadBillsCustomMessage'] = data['uploadBillsCustomMessage'];\r\n this['customerRegistration'] = data['customerRegistration'];\r\n this['upcomingPaymentNotifications'] = data['upcomingPaymentNotifications'];\r\n this['smsNotifications'] = data['smsNotifications'];\r\n this['creditBalanceDisplay'] = data['creditBalanceDisplay'];\r\n this['enableCardSwipe'] = data['enableCardSwipe'];\r\n this['useExplicitMsrEncryption'] = data['useExplicitMsrEncryption'];\r\n this['posReport'] = data['posReport'];\r\n this['autoGenerateAccountNumber'] = data['autoGenerateAccountNumber'];\r\n this['products'] = data['products'];\r\n this['outboundIvr'] = data['outboundIvr'];\r\n this['outboundSms'] = data['outboundSms'];\r\n this['outboundEmail'] = data['outboundEmail'];\r\n this['engageOutboundIvr'] = data['engageOutboundIvr'];\r\n this['paymentSessionLogin'] = data['paymentSessionLogin'];\r\n this['userSessionLogin'] = data['userSessionLogin'];\r\n this['accountlessPayments'] = data['accountlessPayments'];\r\n this['accountlessProducts'] = data['accountlessProducts'];\r\n this['disableBusinessUnitAccounts'] = data['disableBusinessUnitAccounts'];\r\n this['externalLinks'] = data['externalLinks'];\r\n this['forms'] = data['forms'];\r\n this['displayServiceFee'] = data['displayServiceFee'];\r\n this['enablePlaidAccountLink'] = data['enablePlaidAccountLink'];\r\n this['payerPlaidAccountLinkRequiredAch'] = data['payerPlaidAccountLinkRequiredAch'];\r\n this['useBatchIdentifierReport'] = data['useBatchIdentifierReport'];\r\n this['newPayerUi'] = data['newPayerUi'];\r\n this['enableAccountWallets'] = data['enableAccountWallets'];\r\n this['externalTransactions'] = data['externalTransactions'];\r\n this['spanishSupport'] = data['spanishSupport'];\r\n this['pastDueAccounts'] = data['pastDueAccounts'];\r\n this['readings'] = data['readings'];\r\n this['uploadReadings'] = data['uploadReadings'];\r\n this['associatePhoneNumberWithAccount'] = data['associatePhoneNumberWithAccount'];\r\n this['enableBatchAutopay'] = data['enableBatchAutopay'];\r\n this['enableBase64GenericMessage'] = data['enableBase64GenericMessage'];\r\n this['enableZeroValueEmbeddedCharges'] = data['enableZeroValueEmbeddedCharges'];\r\n this['multipleAccountPayments'] = data['multipleAccountPayments'];\r\n this['multiAccountQuickpay'] = data['multiAccountQuickpay'];\r\n this['multiAccountPos'] = data['multiAccountPos'];\r\n this['usePastDueAmountMinor'] = data['usePastDueAmountMinor'];\r\n this['scheduleAutopayOnEarlyBilling'] = data['scheduleAutopayOnEarlyBilling'];\r\n this['paymentReceiptBarcodes'] = data['paymentReceiptBarcodes'];\r\n this['enableAutopayDateToProcess'] = data['enableAutopayDateToProcess'];\r\n this['enableIvrAccountSync'] = data['enableIvrAccountSync'];\r\n this['embeddedMultiChargePaymentSelector'] = data['embeddedMultiChargePaymentSelector'];\r\n }\r\n}\r\n\r\nexport class BusinessUnitFileDetailDto {\r\n /** */\r\n 'blobUrl': string;\r\n\r\n /** */\r\n 'jobId': number;\r\n\r\n /** */\r\n 'jobExecutionStateId': number;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'fileName': string;\r\n\r\n /** */\r\n 'type': string;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'organizationId': number;\r\n\r\n /** */\r\n 'jobName': string;\r\n\r\n /** */\r\n 'businessUnitName': string;\r\n\r\n /** */\r\n 'createdByName': string;\r\n\r\n /** */\r\n 'createdDate': Date;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['blobUrl'] = data['blobUrl'];\r\n this['jobId'] = data['jobId'];\r\n this['jobExecutionStateId'] = data['jobExecutionStateId'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['fileName'] = data['fileName'];\r\n this['type'] = data['type'];\r\n this['id'] = data['id'];\r\n this['organizationId'] = data['organizationId'];\r\n this['jobName'] = data['jobName'];\r\n this['businessUnitName'] = data['businessUnitName'];\r\n this['createdByName'] = data['createdByName'];\r\n this['createdDate'] = data['createdDate'];\r\n }\r\n}\r\n\r\nexport class BusinessUnitGetDto {\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'slug': string;\r\n\r\n /** */\r\n 'address': Address;\r\n\r\n /** */\r\n 'phoneNumber': string;\r\n\r\n /** */\r\n 'ivrNumber': string;\r\n\r\n /** */\r\n 'websiteUrl': string;\r\n\r\n /** */\r\n 'logoUrl': string;\r\n\r\n /** */\r\n 'mobileLogoUrl': string;\r\n\r\n /** */\r\n 'accountHelpUrl': string;\r\n\r\n /** */\r\n 'billingAddressCollectionType': string;\r\n\r\n /** */\r\n 'currencyCode': string;\r\n\r\n /** */\r\n 'timezone': string;\r\n\r\n /** */\r\n 'notes': string;\r\n\r\n /** */\r\n 'primaryColor': string;\r\n\r\n /** */\r\n 'header': string;\r\n\r\n /** */\r\n 'subHeader': string;\r\n\r\n /** */\r\n 'billTemplateIdentifier': string;\r\n\r\n /** */\r\n 'pdfTemplateIdentifier': string;\r\n\r\n /** */\r\n 'excelTemplateIdentifier': string;\r\n\r\n /** */\r\n 'accountSyncStrategy': string;\r\n\r\n /** */\r\n 'accountSyncUrl': string;\r\n\r\n /** */\r\n 'accountSyncApiKey': string;\r\n\r\n /** */\r\n 'trustedDomains': string;\r\n\r\n /** */\r\n 'readingsIdentifier': string;\r\n\r\n /** */\r\n 'readingsSyncUrl': string;\r\n\r\n /** */\r\n 'readingsSyncApiKey': string;\r\n\r\n /** */\r\n 'syncPayments': boolean;\r\n\r\n /** */\r\n 'paymentSyncUrl': string;\r\n\r\n /** */\r\n 'paymentSyncSecret': string;\r\n\r\n /** */\r\n 'paymentSyncPayload': string;\r\n\r\n /** */\r\n 'paymentSyncOnSucceeded': boolean;\r\n\r\n /** */\r\n 'paymentSyncOnDeclined': boolean;\r\n\r\n /** */\r\n 'paymentSyncOnRefunded': boolean;\r\n\r\n /** */\r\n 'paymentSyncOnVoided': boolean;\r\n\r\n /** */\r\n 'quickPayConfigId': number;\r\n\r\n /** */\r\n 'ivrConfigId': number;\r\n\r\n /** */\r\n 'pointOfSaleConfigId': number;\r\n\r\n /** */\r\n 'autopayConfigId': number;\r\n\r\n /** */\r\n 'minPaymentAmount': number;\r\n\r\n /** */\r\n 'maxPaymentAmount': number;\r\n\r\n /** */\r\n 'maxRefundAmount': number;\r\n\r\n /** */\r\n 'agencyId': number;\r\n\r\n /** */\r\n 'paymentsDisabled': boolean;\r\n\r\n /** */\r\n 'testAccount': boolean;\r\n\r\n /** */\r\n 'includeServiceFeeInPayment': boolean;\r\n\r\n /** */\r\n 'billingSystemId': number;\r\n\r\n /** */\r\n 'onboardingConfigurationId': number;\r\n\r\n /** */\r\n 'billingSystemVersion': string;\r\n\r\n /** */\r\n 'reasonForConfigChange': string;\r\n\r\n /** */\r\n 'payerLoginMode': string;\r\n\r\n /** */\r\n 'embeddedHost': string;\r\n\r\n /** */\r\n 'uploadAccountsDueDateDay': number;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'organizationId': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['name'] = data['name'];\r\n this['slug'] = data['slug'];\r\n this['address'] = data['address'];\r\n this['phoneNumber'] = data['phoneNumber'];\r\n this['ivrNumber'] = data['ivrNumber'];\r\n this['websiteUrl'] = data['websiteUrl'];\r\n this['logoUrl'] = data['logoUrl'];\r\n this['mobileLogoUrl'] = data['mobileLogoUrl'];\r\n this['accountHelpUrl'] = data['accountHelpUrl'];\r\n this['billingAddressCollectionType'] = data['billingAddressCollectionType'];\r\n this['currencyCode'] = data['currencyCode'];\r\n this['timezone'] = data['timezone'];\r\n this['notes'] = data['notes'];\r\n this['primaryColor'] = data['primaryColor'];\r\n this['header'] = data['header'];\r\n this['subHeader'] = data['subHeader'];\r\n this['billTemplateIdentifier'] = data['billTemplateIdentifier'];\r\n this['pdfTemplateIdentifier'] = data['pdfTemplateIdentifier'];\r\n this['excelTemplateIdentifier'] = data['excelTemplateIdentifier'];\r\n this['accountSyncStrategy'] = data['accountSyncStrategy'];\r\n this['accountSyncUrl'] = data['accountSyncUrl'];\r\n this['accountSyncApiKey'] = data['accountSyncApiKey'];\r\n this['trustedDomains'] = data['trustedDomains'];\r\n this['readingsIdentifier'] = data['readingsIdentifier'];\r\n this['readingsSyncUrl'] = data['readingsSyncUrl'];\r\n this['readingsSyncApiKey'] = data['readingsSyncApiKey'];\r\n this['syncPayments'] = data['syncPayments'];\r\n this['paymentSyncUrl'] = data['paymentSyncUrl'];\r\n this['paymentSyncSecret'] = data['paymentSyncSecret'];\r\n this['paymentSyncPayload'] = data['paymentSyncPayload'];\r\n this['paymentSyncOnSucceeded'] = data['paymentSyncOnSucceeded'];\r\n this['paymentSyncOnDeclined'] = data['paymentSyncOnDeclined'];\r\n this['paymentSyncOnRefunded'] = data['paymentSyncOnRefunded'];\r\n this['paymentSyncOnVoided'] = data['paymentSyncOnVoided'];\r\n this['quickPayConfigId'] = data['quickPayConfigId'];\r\n this['ivrConfigId'] = data['ivrConfigId'];\r\n this['pointOfSaleConfigId'] = data['pointOfSaleConfigId'];\r\n this['autopayConfigId'] = data['autopayConfigId'];\r\n this['minPaymentAmount'] = data['minPaymentAmount'];\r\n this['maxPaymentAmount'] = data['maxPaymentAmount'];\r\n this['maxRefundAmount'] = data['maxRefundAmount'];\r\n this['agencyId'] = data['agencyId'];\r\n this['paymentsDisabled'] = data['paymentsDisabled'];\r\n this['testAccount'] = data['testAccount'];\r\n this['includeServiceFeeInPayment'] = data['includeServiceFeeInPayment'];\r\n this['billingSystemId'] = data['billingSystemId'];\r\n this['onboardingConfigurationId'] = data['onboardingConfigurationId'];\r\n this['billingSystemVersion'] = data['billingSystemVersion'];\r\n this['reasonForConfigChange'] = data['reasonForConfigChange'];\r\n this['payerLoginMode'] = data['payerLoginMode'];\r\n this['embeddedHost'] = data['embeddedHost'];\r\n this['uploadAccountsDueDateDay'] = data['uploadAccountsDueDateDay'];\r\n this['id'] = data['id'];\r\n this['organizationId'] = data['organizationId'];\r\n }\r\n}\r\n\r\nexport class BusinessUnitHeaderDto {\r\n /** */\r\n 'header': string;\r\n\r\n /** */\r\n 'subHeader': string;\r\n\r\n /** */\r\n 'logoUrl': string;\r\n\r\n /** */\r\n 'mobileLogoUrl': string;\r\n\r\n /** */\r\n 'primaryColor': string;\r\n\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'organizationName': string;\r\n\r\n /** */\r\n 'phoneNumber': string;\r\n\r\n /** */\r\n 'websiteUrl': string;\r\n\r\n /** */\r\n 'address': Address;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['header'] = data['header'];\r\n this['subHeader'] = data['subHeader'];\r\n this['logoUrl'] = data['logoUrl'];\r\n this['mobileLogoUrl'] = data['mobileLogoUrl'];\r\n this['primaryColor'] = data['primaryColor'];\r\n this['name'] = data['name'];\r\n this['organizationName'] = data['organizationName'];\r\n this['phoneNumber'] = data['phoneNumber'];\r\n this['websiteUrl'] = data['websiteUrl'];\r\n this['address'] = data['address'];\r\n }\r\n}\r\n\r\nexport class BusinessUnitPaymentChannelSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'quickPay': PaymentChannelSummaryDto;\r\n\r\n /** */\r\n 'ivr': PaymentChannelSummaryDto;\r\n\r\n /** */\r\n 'pointOfSale': PaymentChannelSummaryDto;\r\n\r\n /** */\r\n 'autopay': PaymentChannelSummaryDto;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['quickPay'] = data['quickPay'];\r\n this['ivr'] = data['ivr'];\r\n this['pointOfSale'] = data['pointOfSale'];\r\n this['autopay'] = data['autopay'];\r\n }\r\n}\r\n\r\nexport class BusinessUnitSettingsUpdatedEventPayload {\r\n /** */\r\n 'oldSettings': string;\r\n\r\n /** */\r\n 'newSettings': string;\r\n\r\n /** */\r\n 'userName': string;\r\n\r\n /** */\r\n 'userEmail': string;\r\n\r\n /** */\r\n 'businessUnitHeader': string;\r\n\r\n /** */\r\n 'businessUnitSubHeader': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['oldSettings'] = data['oldSettings'];\r\n this['newSettings'] = data['newSettings'];\r\n this['userName'] = data['userName'];\r\n this['userEmail'] = data['userEmail'];\r\n this['businessUnitHeader'] = data['businessUnitHeader'];\r\n this['businessUnitSubHeader'] = data['businessUnitSubHeader'];\r\n }\r\n}\r\n\r\nexport class BusinessUnitSummaryDto {\r\n /** */\r\n 'header': string;\r\n\r\n /** */\r\n 'subHeader': string;\r\n\r\n /** */\r\n 'logoUrl': string;\r\n\r\n /** */\r\n 'mobileLogoUrl': string;\r\n\r\n /** */\r\n 'primaryColor': string;\r\n\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'organizationName': string;\r\n\r\n /** */\r\n 'phoneNumber': string;\r\n\r\n /** */\r\n 'websiteUrl': string;\r\n\r\n /** */\r\n 'address': Address;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'ivrNumber': string;\r\n\r\n /** */\r\n 'slug': string;\r\n\r\n /** */\r\n 'accountHelpUrl': string;\r\n\r\n /** */\r\n 'organizationId': number;\r\n\r\n /** */\r\n 'paymentsDisabled': boolean;\r\n\r\n /** */\r\n 'billingSystemName': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['header'] = data['header'];\r\n this['subHeader'] = data['subHeader'];\r\n this['logoUrl'] = data['logoUrl'];\r\n this['mobileLogoUrl'] = data['mobileLogoUrl'];\r\n this['primaryColor'] = data['primaryColor'];\r\n this['name'] = data['name'];\r\n this['organizationName'] = data['organizationName'];\r\n this['phoneNumber'] = data['phoneNumber'];\r\n this['websiteUrl'] = data['websiteUrl'];\r\n this['address'] = data['address'];\r\n this['id'] = data['id'];\r\n this['ivrNumber'] = data['ivrNumber'];\r\n this['slug'] = data['slug'];\r\n this['accountHelpUrl'] = data['accountHelpUrl'];\r\n this['organizationId'] = data['organizationId'];\r\n this['paymentsDisabled'] = data['paymentsDisabled'];\r\n this['billingSystemName'] = data['billingSystemName'];\r\n }\r\n}\r\n\r\nexport class BusinessUnitTermsOfServices {\r\n /** */\r\n 'achTerms': string;\r\n\r\n /** */\r\n 'achTermsWithServiceFee': string;\r\n\r\n /** */\r\n 'autoPayEnrollment': string;\r\n\r\n /** */\r\n 'creditCardTerms': string;\r\n\r\n /** */\r\n 'creditCardTermsWithServiceFee': string;\r\n\r\n /** */\r\n 'electronicDebitAuthorization': string;\r\n\r\n /** */\r\n 'termsOfUse': string;\r\n\r\n /** */\r\n 'paperlessBillingEnrollment': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['achTerms'] = data['achTerms'];\r\n this['achTermsWithServiceFee'] = data['achTermsWithServiceFee'];\r\n this['autoPayEnrollment'] = data['autoPayEnrollment'];\r\n this['creditCardTerms'] = data['creditCardTerms'];\r\n this['creditCardTermsWithServiceFee'] = data['creditCardTermsWithServiceFee'];\r\n this['electronicDebitAuthorization'] = data['electronicDebitAuthorization'];\r\n this['termsOfUse'] = data['termsOfUse'];\r\n this['paperlessBillingEnrollment'] = data['paperlessBillingEnrollment'];\r\n }\r\n}\r\n\r\nexport class CardSourceDto {\r\n /** */\r\n 'accountHolderName': string;\r\n\r\n /** */\r\n 'accountNumberMasked': string;\r\n\r\n /** */\r\n 'accountType': string;\r\n\r\n /** */\r\n 'cardExpirationMonth': string;\r\n\r\n /** */\r\n 'cardExpirationYear': string;\r\n\r\n /** */\r\n 'accountNumberLast4': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['accountHolderName'] = data['accountHolderName'];\r\n this['accountNumberMasked'] = data['accountNumberMasked'];\r\n this['accountType'] = data['accountType'];\r\n this['cardExpirationMonth'] = data['cardExpirationMonth'];\r\n this['cardExpirationYear'] = data['cardExpirationYear'];\r\n this['accountNumberLast4'] = data['accountNumberLast4'];\r\n }\r\n}\r\n\r\nexport class ChargebackRequest {\r\n /** */\r\n 'paymentId': number;\r\n\r\n /** */\r\n 'chargebackDate': Date;\r\n\r\n /** */\r\n 'reason': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['paymentId'] = data['paymentId'];\r\n this['chargebackDate'] = data['chargebackDate'];\r\n this['reason'] = data['reason'];\r\n }\r\n}\r\n\r\nexport class Charges {\r\n /** */\r\n 'openCharges': OpenCharge[];\r\n\r\n /** */\r\n 'accounts': AccountCharge[];\r\n\r\n /** */\r\n 'products': ProductCharge[];\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['openCharges'] = data['openCharges'];\r\n this['accounts'] = data['accounts'];\r\n this['products'] = data['products'];\r\n }\r\n}\r\n\r\nexport class CheckFtpForFile_Config {\r\n /** */\r\n 'directory': string;\r\n\r\n /** */\r\n 'archiveDirectory': string;\r\n\r\n /** */\r\n 'fileNameFilter': string;\r\n\r\n /** */\r\n 'downloadMultiple': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['directory'] = data['directory'];\r\n this['archiveDirectory'] = data['archiveDirectory'];\r\n this['fileNameFilter'] = data['fileNameFilter'];\r\n this['downloadMultiple'] = data['downloadMultiple'];\r\n }\r\n}\r\n\r\nexport class CheckoutLinkGetDto {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'metaJson': string;\r\n\r\n /** */\r\n 'referenceId': string;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['metaJson'] = data['metaJson'];\r\n this['referenceId'] = data['referenceId'];\r\n this['id'] = data['id'];\r\n }\r\n}\r\n\r\nexport class ClientAccountDto {\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'balance': number;\r\n\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'phoneNumber': string;\r\n\r\n /** */\r\n 'dueDate': Date;\r\n\r\n /** */\r\n 'issueDate': Date;\r\n\r\n /** */\r\n 'note': string;\r\n\r\n /** */\r\n 'metaJson': string;\r\n\r\n /** */\r\n 'address': OptionalAddress;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['balance'] = data['balance'];\r\n this['name'] = data['name'];\r\n this['phoneNumber'] = data['phoneNumber'];\r\n this['dueDate'] = data['dueDate'];\r\n this['issueDate'] = data['issueDate'];\r\n this['note'] = data['note'];\r\n this['metaJson'] = data['metaJson'];\r\n this['address'] = data['address'];\r\n }\r\n}\r\n\r\nexport class ClientUserDto {\r\n /** */\r\n 'emailAddress': string;\r\n\r\n /** */\r\n 'firstName': string;\r\n\r\n /** */\r\n 'lastName': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['emailAddress'] = data['emailAddress'];\r\n this['firstName'] = data['firstName'];\r\n this['lastName'] = data['lastName'];\r\n }\r\n}\r\n\r\nexport class Conditional_ConditionResultActions {\r\n /** */\r\n 'onResultTrue': string;\r\n\r\n /** */\r\n 'onResultFalse': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['onResultTrue'] = data['onResultTrue'];\r\n this['onResultFalse'] = data['onResultFalse'];\r\n }\r\n}\r\n\r\nexport class Conditional_Config {\r\n /** */\r\n 'predicateCondition': Conditional_PredicateCondition;\r\n\r\n /** */\r\n 'codeCondition': string;\r\n\r\n /** */\r\n 'conditionResultActions': Conditional_ConditionResultActions;\r\n\r\n /** */\r\n 'conditionalType': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['predicateCondition'] = data['predicateCondition'];\r\n this['codeCondition'] = data['codeCondition'];\r\n this['conditionResultActions'] = data['conditionResultActions'];\r\n this['conditionalType'] = data['conditionalType'];\r\n }\r\n}\r\n\r\nexport class Conditional_FilterCondition {\r\n /** */\r\n 'propertyName': string;\r\n\r\n /** */\r\n 'comparisonOperator': string;\r\n\r\n /** */\r\n 'comparisonValue': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['propertyName'] = data['propertyName'];\r\n this['comparisonOperator'] = data['comparisonOperator'];\r\n this['comparisonValue'] = data['comparisonValue'];\r\n }\r\n}\r\n\r\nexport class Conditional_PredicateCondition {\r\n /** */\r\n 'filterConditions': Conditional_FilterCondition[];\r\n\r\n /** */\r\n 'logicalOperatorType': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['filterConditions'] = data['filterConditions'];\r\n this['logicalOperatorType'] = data['logicalOperatorType'];\r\n }\r\n}\r\n\r\nexport class CreateAccountPaymentSourceRequest {\r\n /** */\r\n 'accountType': string;\r\n\r\n /** */\r\n 'achAccountHolderType': string;\r\n\r\n /** */\r\n 'achAccountNumber': string;\r\n\r\n /** */\r\n 'achRoutingNumber': string;\r\n\r\n /** */\r\n 'accountNumberToken': string;\r\n\r\n /** */\r\n 'cardExpirationMonth': string;\r\n\r\n /** */\r\n 'cardExpirationYear': string;\r\n\r\n /** */\r\n 'cardExpiration': Date;\r\n\r\n /** */\r\n 'cardEntryMethod': string;\r\n\r\n /** */\r\n 'channel': string;\r\n\r\n /** */\r\n 'accountHolderName': string;\r\n\r\n /** */\r\n 'paymentSourceType': string;\r\n\r\n /** */\r\n 'achConfirmAccountNumber': string;\r\n\r\n /** */\r\n 'nickname': string;\r\n\r\n /** */\r\n 'address': OptionalAddress;\r\n\r\n /** */\r\n 'accountNumberMasked': string;\r\n\r\n /** */\r\n 'savePaymentSource': boolean;\r\n\r\n /** */\r\n 'saveAccountPaymentSource': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['accountType'] = data['accountType'];\r\n this['achAccountHolderType'] = data['achAccountHolderType'];\r\n this['achAccountNumber'] = data['achAccountNumber'];\r\n this['achRoutingNumber'] = data['achRoutingNumber'];\r\n this['accountNumberToken'] = data['accountNumberToken'];\r\n this['cardExpirationMonth'] = data['cardExpirationMonth'];\r\n this['cardExpirationYear'] = data['cardExpirationYear'];\r\n this['cardExpiration'] = data['cardExpiration'];\r\n this['cardEntryMethod'] = data['cardEntryMethod'];\r\n this['channel'] = data['channel'];\r\n this['accountHolderName'] = data['accountHolderName'];\r\n this['paymentSourceType'] = data['paymentSourceType'];\r\n this['achConfirmAccountNumber'] = data['achConfirmAccountNumber'];\r\n this['nickname'] = data['nickname'];\r\n this['address'] = data['address'];\r\n this['accountNumberMasked'] = data['accountNumberMasked'];\r\n this['savePaymentSource'] = data['savePaymentSource'];\r\n this['saveAccountPaymentSource'] = data['saveAccountPaymentSource'];\r\n }\r\n}\r\n\r\nexport class CreateAccountRequest {\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'balance': number;\r\n\r\n /** */\r\n 'lateFee': number;\r\n\r\n /** */\r\n 'pastDueAmountMinor': number;\r\n\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'phoneNumber': string;\r\n\r\n /** */\r\n 'emailAddress': string;\r\n\r\n /** */\r\n 'address': OptionalAddress;\r\n\r\n /** */\r\n 'dueDate': Date;\r\n\r\n /** */\r\n 'issueDate': Date;\r\n\r\n /** */\r\n 'note': string;\r\n\r\n /** */\r\n 'meta': string;\r\n\r\n /** */\r\n 'createMethod': string;\r\n\r\n /** */\r\n 'allowOnlinePayment': boolean;\r\n\r\n /** */\r\n 'blockCreditCardPayment': boolean;\r\n\r\n /** */\r\n 'blockAchPayment': boolean;\r\n\r\n /** */\r\n 'paperlessBilling': boolean;\r\n\r\n /** */\r\n 'metaFields': object;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['balance'] = data['balance'];\r\n this['lateFee'] = data['lateFee'];\r\n this['pastDueAmountMinor'] = data['pastDueAmountMinor'];\r\n this['name'] = data['name'];\r\n this['description'] = data['description'];\r\n this['phoneNumber'] = data['phoneNumber'];\r\n this['emailAddress'] = data['emailAddress'];\r\n this['address'] = data['address'];\r\n this['dueDate'] = data['dueDate'];\r\n this['issueDate'] = data['issueDate'];\r\n this['note'] = data['note'];\r\n this['meta'] = data['meta'];\r\n this['createMethod'] = data['createMethod'];\r\n this['allowOnlinePayment'] = data['allowOnlinePayment'];\r\n this['blockCreditCardPayment'] = data['blockCreditCardPayment'];\r\n this['blockAchPayment'] = data['blockAchPayment'];\r\n this['paperlessBilling'] = data['paperlessBilling'];\r\n this['metaFields'] = data['metaFields'];\r\n }\r\n}\r\n\r\nexport class CreateAgencyRequest {\r\n /** */\r\n 'name': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['name'] = data['name'];\r\n }\r\n}\r\n\r\nexport class CreateBillingCycleConfigRequest {\r\n /** */\r\n 'identifier': string;\r\n\r\n /** */\r\n 'notificationStrategyType': string;\r\n\r\n /** */\r\n 'billType': string;\r\n\r\n /** */\r\n 'allowInserts': boolean;\r\n\r\n /** */\r\n 'isBillPrinted': boolean;\r\n\r\n /** */\r\n 'isDisabled': boolean;\r\n\r\n /** */\r\n 'executionOrder': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['identifier'] = data['identifier'];\r\n this['notificationStrategyType'] = data['notificationStrategyType'];\r\n this['billType'] = data['billType'];\r\n this['allowInserts'] = data['allowInserts'];\r\n this['isBillPrinted'] = data['isBillPrinted'];\r\n this['isDisabled'] = data['isDisabled'];\r\n this['executionOrder'] = data['executionOrder'];\r\n }\r\n}\r\n\r\nexport class CreateBillingSystemRequest {\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'notes': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['name'] = data['name'];\r\n this['notes'] = data['notes'];\r\n }\r\n}\r\n\r\nexport class CreateBusinessUnitRequest {\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'slug': string;\r\n\r\n /** */\r\n 'address': Address;\r\n\r\n /** */\r\n 'phoneNumber': string;\r\n\r\n /** */\r\n 'ivrNumber': string;\r\n\r\n /** */\r\n 'websiteUrl': string;\r\n\r\n /** */\r\n 'logoUrl': string;\r\n\r\n /** */\r\n 'mobileLogoUrl': string;\r\n\r\n /** */\r\n 'accountHelpUrl': string;\r\n\r\n /** */\r\n 'billingAddressCollectionType': string;\r\n\r\n /** */\r\n 'currencyCode': string;\r\n\r\n /** */\r\n 'timezone': string;\r\n\r\n /** */\r\n 'notes': string;\r\n\r\n /** */\r\n 'primaryColor': string;\r\n\r\n /** */\r\n 'header': string;\r\n\r\n /** */\r\n 'subHeader': string;\r\n\r\n /** */\r\n 'billTemplateIdentifier': string;\r\n\r\n /** */\r\n 'pdfTemplateIdentifier': string;\r\n\r\n /** */\r\n 'excelTemplateIdentifier': string;\r\n\r\n /** */\r\n 'accountSyncStrategy': string;\r\n\r\n /** */\r\n 'accountSyncUrl': string;\r\n\r\n /** */\r\n 'accountSyncApiKey': string;\r\n\r\n /** */\r\n 'trustedDomains': string;\r\n\r\n /** */\r\n 'readingsIdentifier': string;\r\n\r\n /** */\r\n 'readingsSyncUrl': string;\r\n\r\n /** */\r\n 'readingsSyncApiKey': string;\r\n\r\n /** */\r\n 'syncPayments': boolean;\r\n\r\n /** */\r\n 'paymentSyncUrl': string;\r\n\r\n /** */\r\n 'paymentSyncSecret': string;\r\n\r\n /** */\r\n 'paymentSyncPayload': string;\r\n\r\n /** */\r\n 'paymentSyncOnSucceeded': boolean;\r\n\r\n /** */\r\n 'paymentSyncOnDeclined': boolean;\r\n\r\n /** */\r\n 'paymentSyncOnRefunded': boolean;\r\n\r\n /** */\r\n 'paymentSyncOnVoided': boolean;\r\n\r\n /** */\r\n 'quickPayConfigId': number;\r\n\r\n /** */\r\n 'ivrConfigId': number;\r\n\r\n /** */\r\n 'pointOfSaleConfigId': number;\r\n\r\n /** */\r\n 'autopayConfigId': number;\r\n\r\n /** */\r\n 'minPaymentAmount': number;\r\n\r\n /** */\r\n 'maxPaymentAmount': number;\r\n\r\n /** */\r\n 'maxRefundAmount': number;\r\n\r\n /** */\r\n 'agencyId': number;\r\n\r\n /** */\r\n 'paymentsDisabled': boolean;\r\n\r\n /** */\r\n 'testAccount': boolean;\r\n\r\n /** */\r\n 'includeServiceFeeInPayment': boolean;\r\n\r\n /** */\r\n 'billingSystemId': number;\r\n\r\n /** */\r\n 'onboardingConfigurationId': number;\r\n\r\n /** */\r\n 'billingSystemVersion': string;\r\n\r\n /** */\r\n 'reasonForConfigChange': string;\r\n\r\n /** */\r\n 'payerLoginMode': string;\r\n\r\n /** */\r\n 'embeddedHost': string;\r\n\r\n /** */\r\n 'uploadAccountsDueDateDay': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['name'] = data['name'];\r\n this['slug'] = data['slug'];\r\n this['address'] = data['address'];\r\n this['phoneNumber'] = data['phoneNumber'];\r\n this['ivrNumber'] = data['ivrNumber'];\r\n this['websiteUrl'] = data['websiteUrl'];\r\n this['logoUrl'] = data['logoUrl'];\r\n this['mobileLogoUrl'] = data['mobileLogoUrl'];\r\n this['accountHelpUrl'] = data['accountHelpUrl'];\r\n this['billingAddressCollectionType'] = data['billingAddressCollectionType'];\r\n this['currencyCode'] = data['currencyCode'];\r\n this['timezone'] = data['timezone'];\r\n this['notes'] = data['notes'];\r\n this['primaryColor'] = data['primaryColor'];\r\n this['header'] = data['header'];\r\n this['subHeader'] = data['subHeader'];\r\n this['billTemplateIdentifier'] = data['billTemplateIdentifier'];\r\n this['pdfTemplateIdentifier'] = data['pdfTemplateIdentifier'];\r\n this['excelTemplateIdentifier'] = data['excelTemplateIdentifier'];\r\n this['accountSyncStrategy'] = data['accountSyncStrategy'];\r\n this['accountSyncUrl'] = data['accountSyncUrl'];\r\n this['accountSyncApiKey'] = data['accountSyncApiKey'];\r\n this['trustedDomains'] = data['trustedDomains'];\r\n this['readingsIdentifier'] = data['readingsIdentifier'];\r\n this['readingsSyncUrl'] = data['readingsSyncUrl'];\r\n this['readingsSyncApiKey'] = data['readingsSyncApiKey'];\r\n this['syncPayments'] = data['syncPayments'];\r\n this['paymentSyncUrl'] = data['paymentSyncUrl'];\r\n this['paymentSyncSecret'] = data['paymentSyncSecret'];\r\n this['paymentSyncPayload'] = data['paymentSyncPayload'];\r\n this['paymentSyncOnSucceeded'] = data['paymentSyncOnSucceeded'];\r\n this['paymentSyncOnDeclined'] = data['paymentSyncOnDeclined'];\r\n this['paymentSyncOnRefunded'] = data['paymentSyncOnRefunded'];\r\n this['paymentSyncOnVoided'] = data['paymentSyncOnVoided'];\r\n this['quickPayConfigId'] = data['quickPayConfigId'];\r\n this['ivrConfigId'] = data['ivrConfigId'];\r\n this['pointOfSaleConfigId'] = data['pointOfSaleConfigId'];\r\n this['autopayConfigId'] = data['autopayConfigId'];\r\n this['minPaymentAmount'] = data['minPaymentAmount'];\r\n this['maxPaymentAmount'] = data['maxPaymentAmount'];\r\n this['maxRefundAmount'] = data['maxRefundAmount'];\r\n this['agencyId'] = data['agencyId'];\r\n this['paymentsDisabled'] = data['paymentsDisabled'];\r\n this['testAccount'] = data['testAccount'];\r\n this['includeServiceFeeInPayment'] = data['includeServiceFeeInPayment'];\r\n this['billingSystemId'] = data['billingSystemId'];\r\n this['onboardingConfigurationId'] = data['onboardingConfigurationId'];\r\n this['billingSystemVersion'] = data['billingSystemVersion'];\r\n this['reasonForConfigChange'] = data['reasonForConfigChange'];\r\n this['payerLoginMode'] = data['payerLoginMode'];\r\n this['embeddedHost'] = data['embeddedHost'];\r\n this['uploadAccountsDueDateDay'] = data['uploadAccountsDueDateDay'];\r\n }\r\n}\r\n\r\nexport class CreateCheckoutLinkRequest {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'metaJson': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['metaJson'] = data['metaJson'];\r\n }\r\n}\r\n\r\nexport class CreateCheckoutPaymentIntentRequest {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'amount': number;\r\n\r\n /** */\r\n 'paymentSource': NewPaymentSource;\r\n\r\n /** */\r\n 'accounts': AccountCharge[];\r\n\r\n /** */\r\n 'products': ProductCharge[];\r\n\r\n /** */\r\n 'paymentFields': object;\r\n\r\n /** */\r\n 'recaptchaToken': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['amount'] = data['amount'];\r\n this['paymentSource'] = data['paymentSource'];\r\n this['accounts'] = data['accounts'];\r\n this['products'] = data['products'];\r\n this['paymentFields'] = data['paymentFields'];\r\n this['recaptchaToken'] = data['recaptchaToken'];\r\n }\r\n}\r\n\r\nexport class CreateCustomGatewayMessageRequest {\r\n /** */\r\n 'originalMessage': string;\r\n\r\n /** */\r\n 'replacementMessage': string;\r\n\r\n /** */\r\n 'transactionStatus': string;\r\n\r\n /** */\r\n 'gateway': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['originalMessage'] = data['originalMessage'];\r\n this['replacementMessage'] = data['replacementMessage'];\r\n this['transactionStatus'] = data['transactionStatus'];\r\n this['gateway'] = data['gateway'];\r\n }\r\n}\r\n\r\nexport class CreateCustomerPaymentSourceRequest {\r\n /** */\r\n 'accountType': string;\r\n\r\n /** */\r\n 'achAccountHolderType': string;\r\n\r\n /** */\r\n 'achAccountNumber': string;\r\n\r\n /** */\r\n 'achRoutingNumber': string;\r\n\r\n /** */\r\n 'accountNumberToken': string;\r\n\r\n /** */\r\n 'cardExpirationMonth': string;\r\n\r\n /** */\r\n 'cardExpirationYear': string;\r\n\r\n /** */\r\n 'cardExpiration': Date;\r\n\r\n /** */\r\n 'cardEntryMethod': string;\r\n\r\n /** */\r\n 'channel': string;\r\n\r\n /** */\r\n 'accountHolderName': string;\r\n\r\n /** */\r\n 'paymentSourceType': string;\r\n\r\n /** */\r\n 'achConfirmAccountNumber': string;\r\n\r\n /** */\r\n 'nickname': string;\r\n\r\n /** */\r\n 'address': OptionalAddress;\r\n\r\n /** */\r\n 'accountNumberMasked': string;\r\n\r\n /** */\r\n 'savePaymentSource': boolean;\r\n\r\n /** */\r\n 'saveAccountPaymentSource': boolean;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['accountType'] = data['accountType'];\r\n this['achAccountHolderType'] = data['achAccountHolderType'];\r\n this['achAccountNumber'] = data['achAccountNumber'];\r\n this['achRoutingNumber'] = data['achRoutingNumber'];\r\n this['accountNumberToken'] = data['accountNumberToken'];\r\n this['cardExpirationMonth'] = data['cardExpirationMonth'];\r\n this['cardExpirationYear'] = data['cardExpirationYear'];\r\n this['cardExpiration'] = data['cardExpiration'];\r\n this['cardEntryMethod'] = data['cardEntryMethod'];\r\n this['channel'] = data['channel'];\r\n this['accountHolderName'] = data['accountHolderName'];\r\n this['paymentSourceType'] = data['paymentSourceType'];\r\n this['achConfirmAccountNumber'] = data['achConfirmAccountNumber'];\r\n this['nickname'] = data['nickname'];\r\n this['address'] = data['address'];\r\n this['accountNumberMasked'] = data['accountNumberMasked'];\r\n this['savePaymentSource'] = data['savePaymentSource'];\r\n this['saveAccountPaymentSource'] = data['saveAccountPaymentSource'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n }\r\n}\r\n\r\nexport class CreateCustomerRequest {\r\n /** */\r\n 'emailAddress': string;\r\n\r\n /** */\r\n 'firstName': string;\r\n\r\n /** */\r\n 'lastName': string;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'organizationId': number;\r\n\r\n /** */\r\n 'customerId': number;\r\n\r\n /** */\r\n 'role': string;\r\n\r\n /** */\r\n 'isDeleted': boolean;\r\n\r\n /** */\r\n 'paymentSourceId': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['emailAddress'] = data['emailAddress'];\r\n this['firstName'] = data['firstName'];\r\n this['lastName'] = data['lastName'];\r\n this['accountId'] = data['accountId'];\r\n this['organizationId'] = data['organizationId'];\r\n this['customerId'] = data['customerId'];\r\n this['role'] = data['role'];\r\n this['isDeleted'] = data['isDeleted'];\r\n this['paymentSourceId'] = data['paymentSourceId'];\r\n }\r\n}\r\n\r\nexport class CreateDeviceRequest {\r\n /** */\r\n 'serialNumber': string;\r\n\r\n /** */\r\n 'model': string;\r\n\r\n /** */\r\n 'manufacturer': string;\r\n\r\n /** */\r\n 'tokenizationType': string;\r\n\r\n /** */\r\n 'notes': string;\r\n\r\n /** */\r\n 'quantity': number;\r\n\r\n /** */\r\n 'organizationId': number;\r\n\r\n /** */\r\n 'merchantAccountId': number;\r\n\r\n /** */\r\n 'modifiedBy': string;\r\n\r\n /** */\r\n 'meta': string;\r\n\r\n /** */\r\n 'businessUnitIds': number[];\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['serialNumber'] = data['serialNumber'];\r\n this['model'] = data['model'];\r\n this['manufacturer'] = data['manufacturer'];\r\n this['tokenizationType'] = data['tokenizationType'];\r\n this['notes'] = data['notes'];\r\n this['quantity'] = data['quantity'];\r\n this['organizationId'] = data['organizationId'];\r\n this['merchantAccountId'] = data['merchantAccountId'];\r\n this['modifiedBy'] = data['modifiedBy'];\r\n this['meta'] = data['meta'];\r\n this['businessUnitIds'] = data['businessUnitIds'];\r\n }\r\n}\r\n\r\nexport class CreateEmbeddedPaymentSourceRequest {\r\n /** */\r\n 'accountType': string;\r\n\r\n /** */\r\n 'achAccountHolderType': string;\r\n\r\n /** */\r\n 'achAccountNumber': string;\r\n\r\n /** */\r\n 'achRoutingNumber': string;\r\n\r\n /** */\r\n 'accountNumberToken': string;\r\n\r\n /** */\r\n 'cardExpirationMonth': string;\r\n\r\n /** */\r\n 'cardExpirationYear': string;\r\n\r\n /** */\r\n 'cardExpiration': Date;\r\n\r\n /** */\r\n 'cardEntryMethod': string;\r\n\r\n /** */\r\n 'channel': string;\r\n\r\n /** */\r\n 'accountHolderName': string;\r\n\r\n /** */\r\n 'paymentSourceType': string;\r\n\r\n /** */\r\n 'achConfirmAccountNumber': string;\r\n\r\n /** */\r\n 'nickname': string;\r\n\r\n /** */\r\n 'address': OptionalAddress;\r\n\r\n /** */\r\n 'accountNumberMasked': string;\r\n\r\n /** */\r\n 'savePaymentSource': boolean;\r\n\r\n /** */\r\n 'saveAccountPaymentSource': boolean;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'recaptchaToken': string;\r\n\r\n /** */\r\n 'customerEmailAddress': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['accountType'] = data['accountType'];\r\n this['achAccountHolderType'] = data['achAccountHolderType'];\r\n this['achAccountNumber'] = data['achAccountNumber'];\r\n this['achRoutingNumber'] = data['achRoutingNumber'];\r\n this['accountNumberToken'] = data['accountNumberToken'];\r\n this['cardExpirationMonth'] = data['cardExpirationMonth'];\r\n this['cardExpirationYear'] = data['cardExpirationYear'];\r\n this['cardExpiration'] = data['cardExpiration'];\r\n this['cardEntryMethod'] = data['cardEntryMethod'];\r\n this['channel'] = data['channel'];\r\n this['accountHolderName'] = data['accountHolderName'];\r\n this['paymentSourceType'] = data['paymentSourceType'];\r\n this['achConfirmAccountNumber'] = data['achConfirmAccountNumber'];\r\n this['nickname'] = data['nickname'];\r\n this['address'] = data['address'];\r\n this['accountNumberMasked'] = data['accountNumberMasked'];\r\n this['savePaymentSource'] = data['savePaymentSource'];\r\n this['saveAccountPaymentSource'] = data['saveAccountPaymentSource'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['recaptchaToken'] = data['recaptchaToken'];\r\n this['customerEmailAddress'] = data['customerEmailAddress'];\r\n }\r\n}\r\n\r\nexport class CreateExternalLinkConfigRequest {\r\n /** */\r\n 'identifier': string;\r\n\r\n /** */\r\n 'showOnCustomerDashboard': boolean;\r\n\r\n /** */\r\n 'payloadConfigurationJson': string;\r\n\r\n /** */\r\n 'url': string;\r\n\r\n /** */\r\n 'isGeneratedLink': boolean;\r\n\r\n /** */\r\n 'httpMethod': string;\r\n\r\n /** */\r\n 'display': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'functionTriggerId': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['identifier'] = data['identifier'];\r\n this['showOnCustomerDashboard'] = data['showOnCustomerDashboard'];\r\n this['payloadConfigurationJson'] = data['payloadConfigurationJson'];\r\n this['url'] = data['url'];\r\n this['isGeneratedLink'] = data['isGeneratedLink'];\r\n this['httpMethod'] = data['httpMethod'];\r\n this['display'] = data['display'];\r\n this['description'] = data['description'];\r\n this['functionTriggerId'] = data['functionTriggerId'];\r\n }\r\n}\r\n\r\nexport class CreateInternalAccountNotesRequest {\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'notes': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['accountId'] = data['accountId'];\r\n this['notes'] = data['notes'];\r\n }\r\n}\r\n\r\nexport class CreateIvrPaymentIntentRequest {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['accountId'] = data['accountId'];\r\n }\r\n}\r\n\r\nexport class CreateJobRequest {\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'disabled': boolean;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'jobContextJson': string;\r\n\r\n /** */\r\n 'tags': string;\r\n\r\n /** */\r\n 'notes': string;\r\n\r\n /** */\r\n 'tasks': JobTaskDto[];\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['description'] = data['description'];\r\n this['disabled'] = data['disabled'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['jobContextJson'] = data['jobContextJson'];\r\n this['tags'] = data['tags'];\r\n this['notes'] = data['notes'];\r\n this['tasks'] = data['tasks'];\r\n }\r\n}\r\n\r\nexport class CreateJobScheduleRequest {\r\n /** */\r\n 'rRule': string;\r\n\r\n /** */\r\n 'timeZone': string;\r\n\r\n /** */\r\n 'nextExecutionTimeUtc': Date;\r\n\r\n /** */\r\n 'lastExecutionTimeUtc': Date;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['rRule'] = data['rRule'];\r\n this['timeZone'] = data['timeZone'];\r\n this['nextExecutionTimeUtc'] = data['nextExecutionTimeUtc'];\r\n this['lastExecutionTimeUtc'] = data['lastExecutionTimeUtc'];\r\n }\r\n}\r\n\r\nexport class CreateJobTaskRequest {\r\n /** */\r\n 'type': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'settingsJson': string;\r\n\r\n /** */\r\n 'executionOrder': number;\r\n\r\n /** */\r\n 'executionCondition': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['type'] = data['type'];\r\n this['description'] = data['description'];\r\n this['settingsJson'] = data['settingsJson'];\r\n this['executionOrder'] = data['executionOrder'];\r\n this['executionCondition'] = data['executionCondition'];\r\n }\r\n}\r\n\r\nexport class CreateJobTemplateRequest {\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'templateJson': string;\r\n\r\n /** */\r\n 'jobId': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['name'] = data['name'];\r\n this['templateJson'] = data['templateJson'];\r\n this['jobId'] = data['jobId'];\r\n }\r\n}\r\n\r\nexport class CreateMerchantAccountRequest {\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'merchantNumber': string;\r\n\r\n /** */\r\n 'paymentGatewayConfigId': number;\r\n\r\n /** */\r\n 'currencyCode': string;\r\n\r\n /** */\r\n 'paymentSourceType': string;\r\n\r\n /** */\r\n 'monthlyProcessingLimit': number;\r\n\r\n /** */\r\n 'timezone': string;\r\n\r\n /** */\r\n 'batchTime': TimeSpan;\r\n\r\n /** */\r\n 'supportsSettlement': boolean;\r\n\r\n /** */\r\n 'supportsFunding': boolean;\r\n\r\n /** */\r\n 'feeOnly': boolean;\r\n\r\n /** */\r\n 'processorId': string;\r\n\r\n /** */\r\n 'notes': string;\r\n\r\n /** */\r\n 'tokenizerConfigJson': string;\r\n\r\n /** */\r\n 'nachaConfigId': number;\r\n\r\n /** */\r\n 'tokenizerConfig': object;\r\n\r\n /** */\r\n 'acceptedCardBrands': AcceptedCardBrands;\r\n\r\n /** */\r\n 'organizationIds': number[];\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['name'] = data['name'];\r\n this['merchantNumber'] = data['merchantNumber'];\r\n this['paymentGatewayConfigId'] = data['paymentGatewayConfigId'];\r\n this['currencyCode'] = data['currencyCode'];\r\n this['paymentSourceType'] = data['paymentSourceType'];\r\n this['monthlyProcessingLimit'] = data['monthlyProcessingLimit'];\r\n this['timezone'] = data['timezone'];\r\n this['batchTime'] = data['batchTime'];\r\n this['supportsSettlement'] = data['supportsSettlement'];\r\n this['supportsFunding'] = data['supportsFunding'];\r\n this['feeOnly'] = data['feeOnly'];\r\n this['processorId'] = data['processorId'];\r\n this['notes'] = data['notes'];\r\n this['tokenizerConfigJson'] = data['tokenizerConfigJson'];\r\n this['nachaConfigId'] = data['nachaConfigId'];\r\n this['tokenizerConfig'] = data['tokenizerConfig'];\r\n this['acceptedCardBrands'] = data['acceptedCardBrands'];\r\n this['organizationIds'] = data['organizationIds'];\r\n }\r\n}\r\n\r\nexport class CreateMessageRequest {\r\n /** */\r\n 'type': string;\r\n\r\n /** */\r\n 'messageBody': string;\r\n\r\n /** */\r\n 'organizationId': number;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'paymentChannelType': string;\r\n\r\n /** */\r\n 'showOnLogin': boolean;\r\n\r\n /** */\r\n 'showOnPayment': boolean;\r\n\r\n /** */\r\n 'showOnConfirmation': boolean;\r\n\r\n /** */\r\n 'showOnAdminPortal': boolean;\r\n\r\n /** */\r\n 'showOnBackOfficeAutopayPayerModal': boolean;\r\n\r\n /** */\r\n 'showDate': Date;\r\n\r\n /** */\r\n 'removeDate': Date;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['type'] = data['type'];\r\n this['messageBody'] = data['messageBody'];\r\n this['organizationId'] = data['organizationId'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['paymentChannelType'] = data['paymentChannelType'];\r\n this['showOnLogin'] = data['showOnLogin'];\r\n this['showOnPayment'] = data['showOnPayment'];\r\n this['showOnConfirmation'] = data['showOnConfirmation'];\r\n this['showOnAdminPortal'] = data['showOnAdminPortal'];\r\n this['showOnBackOfficeAutopayPayerModal'] = data['showOnBackOfficeAutopayPayerModal'];\r\n this['showDate'] = data['showDate'];\r\n this['removeDate'] = data['removeDate'];\r\n }\r\n}\r\n\r\nexport class CreateNachaConfigRequest {\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'encryptionType': string;\r\n\r\n /** */\r\n 'immediateOrigin': string;\r\n\r\n /** */\r\n 'originatingCompanyId': string;\r\n\r\n /** */\r\n 'originatingCompanyName': string;\r\n\r\n /** */\r\n 'destinationBankRoutingNumber': string;\r\n\r\n /** */\r\n 'destinationBankName': string;\r\n\r\n /** */\r\n 'companyDiscretionaryData': string;\r\n\r\n /** */\r\n 'companyEntryDescription': string;\r\n\r\n /** */\r\n 'effectiveEntryDateCutoffTime': TimeSpan;\r\n\r\n /** */\r\n 'effectiveEntryDateCutoffTimezone': string;\r\n\r\n /** */\r\n 'secCodeOverride': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['name'] = data['name'];\r\n this['encryptionType'] = data['encryptionType'];\r\n this['immediateOrigin'] = data['immediateOrigin'];\r\n this['originatingCompanyId'] = data['originatingCompanyId'];\r\n this['originatingCompanyName'] = data['originatingCompanyName'];\r\n this['destinationBankRoutingNumber'] = data['destinationBankRoutingNumber'];\r\n this['destinationBankName'] = data['destinationBankName'];\r\n this['companyDiscretionaryData'] = data['companyDiscretionaryData'];\r\n this['companyEntryDescription'] = data['companyEntryDescription'];\r\n this['effectiveEntryDateCutoffTime'] = data['effectiveEntryDateCutoffTime'];\r\n this['effectiveEntryDateCutoffTimezone'] = data['effectiveEntryDateCutoffTimezone'];\r\n this['secCodeOverride'] = data['secCodeOverride'];\r\n }\r\n}\r\n\r\nexport class CreateNewTermsOfServiceRequest {\r\n /** */\r\n 'acknowledgementType': string;\r\n\r\n /** */\r\n 'identifier': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'terms': string;\r\n\r\n /** */\r\n 'isDefault': boolean;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['acknowledgementType'] = data['acknowledgementType'];\r\n this['identifier'] = data['identifier'];\r\n this['description'] = data['description'];\r\n this['terms'] = data['terms'];\r\n this['isDefault'] = data['isDefault'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n }\r\n}\r\n\r\nexport class CreateOrganizationRequest {\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'slug': string;\r\n\r\n /** */\r\n 'agencyId': number;\r\n\r\n /** */\r\n 'notes': string;\r\n\r\n /** */\r\n 'paystarAccountManagerId': number;\r\n\r\n /** */\r\n 'paystarAccountManager': string;\r\n\r\n /** */\r\n 'hubSpotIdentifier': string;\r\n\r\n /** */\r\n 'hubSpotUrl': string;\r\n\r\n /** */\r\n 'businessUnit': BusinessUnitDto;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['name'] = data['name'];\r\n this['slug'] = data['slug'];\r\n this['agencyId'] = data['agencyId'];\r\n this['notes'] = data['notes'];\r\n this['paystarAccountManagerId'] = data['paystarAccountManagerId'];\r\n this['paystarAccountManager'] = data['paystarAccountManager'];\r\n this['hubSpotIdentifier'] = data['hubSpotIdentifier'];\r\n this['hubSpotUrl'] = data['hubSpotUrl'];\r\n this['businessUnit'] = data['businessUnit'];\r\n }\r\n}\r\n\r\nexport class CreatePaymentGatewayConfigRequest {\r\n /** */\r\n 'paymentGatewayType': string;\r\n\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'url': string;\r\n\r\n /** */\r\n 'username': string;\r\n\r\n /** */\r\n 'apiKey': string;\r\n\r\n /** */\r\n 'tokenizerConfigJson': string;\r\n\r\n /** */\r\n 'emvDelaySeconds': number;\r\n\r\n /** */\r\n 'password': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['paymentGatewayType'] = data['paymentGatewayType'];\r\n this['name'] = data['name'];\r\n this['url'] = data['url'];\r\n this['username'] = data['username'];\r\n this['apiKey'] = data['apiKey'];\r\n this['tokenizerConfigJson'] = data['tokenizerConfigJson'];\r\n this['emvDelaySeconds'] = data['emvDelaySeconds'];\r\n this['password'] = data['password'];\r\n }\r\n}\r\n\r\nexport class CreatePaymentIntentRequest {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'channel': string;\r\n\r\n /** */\r\n 'clientReference': string;\r\n\r\n /** */\r\n 'charges': Charges;\r\n\r\n /** */\r\n 'paymentSource': PaymentIntentPaymentSource;\r\n\r\n /** */\r\n 'paymentFields': object;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['accountId'] = data['accountId'];\r\n this['channel'] = data['channel'];\r\n this['clientReference'] = data['clientReference'];\r\n this['charges'] = data['charges'];\r\n this['paymentSource'] = data['paymentSource'];\r\n this['paymentFields'] = data['paymentFields'];\r\n }\r\n}\r\n\r\nexport class CreatePaymentSessionSourceFromPlaidRequest {\r\n /** */\r\n 'channel': string;\r\n\r\n /** */\r\n 'plaidAccountId': string;\r\n\r\n /** */\r\n 'plaidExchangeToken': string;\r\n\r\n /** */\r\n 'accountHolderName': string;\r\n\r\n /** */\r\n 'achAccountHolderType': string;\r\n\r\n /** */\r\n 'savePaymentSource': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['channel'] = data['channel'];\r\n this['plaidAccountId'] = data['plaidAccountId'];\r\n this['plaidExchangeToken'] = data['plaidExchangeToken'];\r\n this['accountHolderName'] = data['accountHolderName'];\r\n this['achAccountHolderType'] = data['achAccountHolderType'];\r\n this['savePaymentSource'] = data['savePaymentSource'];\r\n }\r\n}\r\n\r\nexport class CreatePlaidPaymentSourceRequest {\r\n /** */\r\n 'channel': string;\r\n\r\n /** */\r\n 'plaidAccountId': string;\r\n\r\n /** */\r\n 'plaidExchangeToken': string;\r\n\r\n /** */\r\n 'accountHolderName': string;\r\n\r\n /** */\r\n 'achAccountHolderType': string;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['channel'] = data['channel'];\r\n this['plaidAccountId'] = data['plaidAccountId'];\r\n this['plaidExchangeToken'] = data['plaidExchangeToken'];\r\n this['accountHolderName'] = data['accountHolderName'];\r\n this['achAccountHolderType'] = data['achAccountHolderType'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n }\r\n}\r\n\r\nexport class CreateProductRequest {\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'sku': string;\r\n\r\n /** */\r\n 'price': number;\r\n\r\n /** */\r\n 'allowPriceModification': boolean;\r\n\r\n /** */\r\n 'active': boolean;\r\n\r\n /** */\r\n 'required': boolean;\r\n\r\n /** */\r\n 'paymentChannel': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['name'] = data['name'];\r\n this['description'] = data['description'];\r\n this['sku'] = data['sku'];\r\n this['price'] = data['price'];\r\n this['allowPriceModification'] = data['allowPriceModification'];\r\n this['active'] = data['active'];\r\n this['required'] = data['required'];\r\n this['paymentChannel'] = data['paymentChannel'];\r\n }\r\n}\r\n\r\nexport class CreateTermsOfServiceRequest {\r\n /** */\r\n 'acknowledgementType': string;\r\n\r\n /** */\r\n 'identifier': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'terms': string;\r\n\r\n /** */\r\n 'isDefault': boolean;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['acknowledgementType'] = data['acknowledgementType'];\r\n this['identifier'] = data['identifier'];\r\n this['description'] = data['description'];\r\n this['terms'] = data['terms'];\r\n this['isDefault'] = data['isDefault'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n }\r\n}\r\n\r\nexport class CreateTicketEventRequest {\r\n /** */\r\n 'eventType': string;\r\n\r\n /** */\r\n 'text': string;\r\n\r\n /** */\r\n 'metaJson': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['eventType'] = data['eventType'];\r\n this['text'] = data['text'];\r\n this['metaJson'] = data['metaJson'];\r\n }\r\n}\r\n\r\nexport class CreateTicketRequest {\r\n /** */\r\n 'title': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'category': string;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'metaJson': string;\r\n\r\n /** */\r\n 'assignedUserId': number;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'jobId': number;\r\n\r\n /** */\r\n 'referenceNumber': string;\r\n\r\n /** */\r\n 'followerIds': number[];\r\n\r\n /** */\r\n 'createdUrl': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['title'] = data['title'];\r\n this['description'] = data['description'];\r\n this['category'] = data['category'];\r\n this['status'] = data['status'];\r\n this['metaJson'] = data['metaJson'];\r\n this['assignedUserId'] = data['assignedUserId'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['jobId'] = data['jobId'];\r\n this['referenceNumber'] = data['referenceNumber'];\r\n this['followerIds'] = data['followerIds'];\r\n this['createdUrl'] = data['createdUrl'];\r\n }\r\n}\r\n\r\nexport class CreateUserRequest {\r\n /** */\r\n 'emailAddress': string;\r\n\r\n /** */\r\n 'firstName': string;\r\n\r\n /** */\r\n 'lastName': string;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'organizationId': number;\r\n\r\n /** */\r\n 'customerId': number;\r\n\r\n /** */\r\n 'role': string;\r\n\r\n /** */\r\n 'isDeleted': boolean;\r\n\r\n /** */\r\n 'claims': string[];\r\n\r\n /** */\r\n 'businessUnitIds': number[];\r\n\r\n /** */\r\n 'organizationIdRequired': boolean;\r\n\r\n /** */\r\n 'accountIdRequired': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['emailAddress'] = data['emailAddress'];\r\n this['firstName'] = data['firstName'];\r\n this['lastName'] = data['lastName'];\r\n this['accountId'] = data['accountId'];\r\n this['organizationId'] = data['organizationId'];\r\n this['customerId'] = data['customerId'];\r\n this['role'] = data['role'];\r\n this['isDeleted'] = data['isDeleted'];\r\n this['claims'] = data['claims'];\r\n this['businessUnitIds'] = data['businessUnitIds'];\r\n this['organizationIdRequired'] = data['organizationIdRequired'];\r\n this['accountIdRequired'] = data['accountIdRequired'];\r\n }\r\n}\r\n\r\nexport class CreditCardConfig {\r\n /** */\r\n 'enabled': boolean;\r\n\r\n /** */\r\n 'paymentMerchantAccountId': number;\r\n\r\n /** */\r\n 'feeMerchantAccountId': number;\r\n\r\n /** */\r\n 'gatewayType': string;\r\n\r\n /** */\r\n 'tokenizer': TokenizerConfig;\r\n\r\n /** */\r\n 'cardSwipeEnabled': boolean;\r\n\r\n /** */\r\n 'useExplicitMsrEncryption': boolean;\r\n\r\n /** */\r\n 'avsValidation': string;\r\n\r\n /** */\r\n 'acceptedCardBrands': AcceptedCardBrands;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['enabled'] = data['enabled'];\r\n this['paymentMerchantAccountId'] = data['paymentMerchantAccountId'];\r\n this['feeMerchantAccountId'] = data['feeMerchantAccountId'];\r\n this['gatewayType'] = data['gatewayType'];\r\n this['tokenizer'] = data['tokenizer'];\r\n this['cardSwipeEnabled'] = data['cardSwipeEnabled'];\r\n this['useExplicitMsrEncryption'] = data['useExplicitMsrEncryption'];\r\n this['avsValidation'] = data['avsValidation'];\r\n this['acceptedCardBrands'] = data['acceptedCardBrands'];\r\n }\r\n}\r\n\r\nexport class Currency {\r\n /** */\r\n 'value': number;\r\n\r\n /** */\r\n 'code': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['value'] = data['value'];\r\n this['code'] = data['code'];\r\n }\r\n}\r\n\r\nexport class CustomGatewayMessageDto {\r\n /** */\r\n 'originalMessage': string;\r\n\r\n /** */\r\n 'replacementMessage': string;\r\n\r\n /** */\r\n 'transactionStatus': string;\r\n\r\n /** */\r\n 'gateway': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['originalMessage'] = data['originalMessage'];\r\n this['replacementMessage'] = data['replacementMessage'];\r\n this['transactionStatus'] = data['transactionStatus'];\r\n this['gateway'] = data['gateway'];\r\n }\r\n}\r\n\r\nexport class CustomGatewayMessageGetDto {\r\n /** */\r\n 'originalMessage': string;\r\n\r\n /** */\r\n 'replacementMessage': string;\r\n\r\n /** */\r\n 'transactionStatus': string;\r\n\r\n /** */\r\n 'gateway': string;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['originalMessage'] = data['originalMessage'];\r\n this['replacementMessage'] = data['replacementMessage'];\r\n this['transactionStatus'] = data['transactionStatus'];\r\n this['gateway'] = data['gateway'];\r\n this['id'] = data['id'];\r\n }\r\n}\r\n\r\nexport class CustomerAccountGetDto {\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'customerId': number;\r\n\r\n /** */\r\n 'autopaySettings': AutopayEnrollmentSettings;\r\n\r\n /** */\r\n 'customerName': string;\r\n\r\n /** */\r\n 'maskedEmail': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['accountId'] = data['accountId'];\r\n this['customerId'] = data['customerId'];\r\n this['autopaySettings'] = data['autopaySettings'];\r\n this['customerName'] = data['customerName'];\r\n this['maskedEmail'] = data['maskedEmail'];\r\n }\r\n}\r\n\r\nexport class CustomerDetailDto {\r\n /** */\r\n 'userId': number;\r\n\r\n /** */\r\n 'upcomingPaymentLeadTimeInDays': number;\r\n\r\n /** */\r\n 'notifyUpcomingPaymentEmail': boolean;\r\n\r\n /** */\r\n 'notifyUpcomingPaymentSms': boolean;\r\n\r\n /** */\r\n 'notifyNewBillEmail': boolean;\r\n\r\n /** */\r\n 'notifyNewBillSms': boolean;\r\n\r\n /** */\r\n 'isEmbedded': boolean;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'emailAddress': string;\r\n\r\n /** */\r\n 'phoneNumber': string;\r\n\r\n /** */\r\n 'role': string;\r\n\r\n /** */\r\n 'accountIds': number[];\r\n\r\n /** */\r\n 'autopayEnabledAccountIds': number[];\r\n\r\n /** */\r\n 'autopayEnabled': boolean;\r\n\r\n /** */\r\n 'firstName': string;\r\n\r\n /** */\r\n 'lastName': string;\r\n\r\n /** */\r\n 'fullName': string;\r\n\r\n /** */\r\n 'isLinkedEmbeddedUser': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['userId'] = data['userId'];\r\n this['upcomingPaymentLeadTimeInDays'] = data['upcomingPaymentLeadTimeInDays'];\r\n this['notifyUpcomingPaymentEmail'] = data['notifyUpcomingPaymentEmail'];\r\n this['notifyUpcomingPaymentSms'] = data['notifyUpcomingPaymentSms'];\r\n this['notifyNewBillEmail'] = data['notifyNewBillEmail'];\r\n this['notifyNewBillSms'] = data['notifyNewBillSms'];\r\n this['isEmbedded'] = data['isEmbedded'];\r\n this['id'] = data['id'];\r\n this['emailAddress'] = data['emailAddress'];\r\n this['phoneNumber'] = data['phoneNumber'];\r\n this['role'] = data['role'];\r\n this['accountIds'] = data['accountIds'];\r\n this['autopayEnabledAccountIds'] = data['autopayEnabledAccountIds'];\r\n this['autopayEnabled'] = data['autopayEnabled'];\r\n this['firstName'] = data['firstName'];\r\n this['lastName'] = data['lastName'];\r\n this['fullName'] = data['fullName'];\r\n this['isLinkedEmbeddedUser'] = data['isLinkedEmbeddedUser'];\r\n }\r\n}\r\n\r\nexport class CustomerEmailLogDto {\r\n /** */\r\n 'fromEmail': string;\r\n\r\n /** */\r\n 'toEmail': string;\r\n\r\n /** */\r\n 'emailData': string;\r\n\r\n /** */\r\n 'emailType': string;\r\n\r\n /** */\r\n 'createdDate': Date;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['fromEmail'] = data['fromEmail'];\r\n this['toEmail'] = data['toEmail'];\r\n this['emailData'] = data['emailData'];\r\n this['emailType'] = data['emailType'];\r\n this['createdDate'] = data['createdDate'];\r\n }\r\n}\r\n\r\nexport class CustomerGetDto {\r\n /** */\r\n 'userId': number;\r\n\r\n /** */\r\n 'upcomingPaymentLeadTimeInDays': number;\r\n\r\n /** */\r\n 'notifyUpcomingPaymentEmail': boolean;\r\n\r\n /** */\r\n 'notifyUpcomingPaymentSms': boolean;\r\n\r\n /** */\r\n 'notifyNewBillEmail': boolean;\r\n\r\n /** */\r\n 'notifyNewBillSms': boolean;\r\n\r\n /** */\r\n 'isEmbedded': boolean;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['userId'] = data['userId'];\r\n this['upcomingPaymentLeadTimeInDays'] = data['upcomingPaymentLeadTimeInDays'];\r\n this['notifyUpcomingPaymentEmail'] = data['notifyUpcomingPaymentEmail'];\r\n this['notifyUpcomingPaymentSms'] = data['notifyUpcomingPaymentSms'];\r\n this['notifyNewBillEmail'] = data['notifyNewBillEmail'];\r\n this['notifyNewBillSms'] = data['notifyNewBillSms'];\r\n this['isEmbedded'] = data['isEmbedded'];\r\n this['id'] = data['id'];\r\n }\r\n}\r\n\r\nexport class CustomerSearchDto {\r\n /** */\r\n 'customerId': string;\r\n\r\n /** */\r\n 'userName': string;\r\n\r\n /** */\r\n 'email': string;\r\n\r\n /** */\r\n 'firstName': string;\r\n\r\n /** */\r\n 'lastName': string;\r\n\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'name': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['customerId'] = data['customerId'];\r\n this['userName'] = data['userName'];\r\n this['email'] = data['email'];\r\n this['firstName'] = data['firstName'];\r\n this['lastName'] = data['lastName'];\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['accountId'] = data['accountId'];\r\n this['name'] = data['name'];\r\n }\r\n}\r\n\r\nexport class DependentFormResponseDto {\r\n /** */\r\n 'formConfigurationId': number;\r\n\r\n /** */\r\n 'formResponseIdentifier': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['formConfigurationId'] = data['formConfigurationId'];\r\n this['formResponseIdentifier'] = data['formResponseIdentifier'];\r\n }\r\n}\r\n\r\nexport class DeviceDetailDto {\r\n /** */\r\n 'serialNumber': string;\r\n\r\n /** */\r\n 'model': string;\r\n\r\n /** */\r\n 'manufacturer': string;\r\n\r\n /** */\r\n 'tokenizationType': string;\r\n\r\n /** */\r\n 'notes': string;\r\n\r\n /** */\r\n 'quantity': number;\r\n\r\n /** */\r\n 'organizationId': number;\r\n\r\n /** */\r\n 'merchantAccountId': number;\r\n\r\n /** */\r\n 'modifiedBy': string;\r\n\r\n /** */\r\n 'meta': string;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'isArchived': boolean;\r\n\r\n /** */\r\n 'businessUnits': BusinessUnitDto[];\r\n\r\n /** */\r\n 'businessUnitIds': number[];\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['serialNumber'] = data['serialNumber'];\r\n this['model'] = data['model'];\r\n this['manufacturer'] = data['manufacturer'];\r\n this['tokenizationType'] = data['tokenizationType'];\r\n this['notes'] = data['notes'];\r\n this['quantity'] = data['quantity'];\r\n this['organizationId'] = data['organizationId'];\r\n this['merchantAccountId'] = data['merchantAccountId'];\r\n this['modifiedBy'] = data['modifiedBy'];\r\n this['meta'] = data['meta'];\r\n this['id'] = data['id'];\r\n this['isArchived'] = data['isArchived'];\r\n this['businessUnits'] = data['businessUnits'];\r\n this['businessUnitIds'] = data['businessUnitIds'];\r\n }\r\n}\r\n\r\nexport class DeviceSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'serialNumber': string;\r\n\r\n /** */\r\n 'tokenizationType': string;\r\n\r\n /** */\r\n 'modifiedBy': string;\r\n\r\n /** */\r\n 'model': string;\r\n\r\n /** */\r\n 'manufacturer': string;\r\n\r\n /** */\r\n 'merchantAccountName': string;\r\n\r\n /** */\r\n 'businessUnitNames': string[];\r\n\r\n /** */\r\n 'isArchived': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['serialNumber'] = data['serialNumber'];\r\n this['tokenizationType'] = data['tokenizationType'];\r\n this['modifiedBy'] = data['modifiedBy'];\r\n this['model'] = data['model'];\r\n this['manufacturer'] = data['manufacturer'];\r\n this['merchantAccountName'] = data['merchantAccountName'];\r\n this['businessUnitNames'] = data['businessUnitNames'];\r\n this['isArchived'] = data['isArchived'];\r\n }\r\n}\r\n\r\nexport class EmailLogGetDto {\r\n /** */\r\n 'messageId': string;\r\n\r\n /** */\r\n 'fromEmail': string;\r\n\r\n /** */\r\n 'toEmail': string;\r\n\r\n /** */\r\n 'emailData': string;\r\n\r\n /** */\r\n 'emailType': string;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'messageTemplateIdentifier': string;\r\n\r\n /** */\r\n 'hasAttachments': boolean;\r\n\r\n /** */\r\n 'paymentId': number;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['messageId'] = data['messageId'];\r\n this['fromEmail'] = data['fromEmail'];\r\n this['toEmail'] = data['toEmail'];\r\n this['emailData'] = data['emailData'];\r\n this['emailType'] = data['emailType'];\r\n this['status'] = data['status'];\r\n this['messageTemplateIdentifier'] = data['messageTemplateIdentifier'];\r\n this['hasAttachments'] = data['hasAttachments'];\r\n this['paymentId'] = data['paymentId'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['id'] = data['id'];\r\n }\r\n}\r\n\r\nexport class EmbeddedAutopayUpdateEnrollmentRequest {\r\n /** */\r\n 'processingLeadTimeInDays': number;\r\n\r\n /** */\r\n 'paymentSourceId': number;\r\n\r\n /** */\r\n 'maximumBalanceAllowed': number;\r\n\r\n /** */\r\n 'termsAcknowledged': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['processingLeadTimeInDays'] = data['processingLeadTimeInDays'];\r\n this['paymentSourceId'] = data['paymentSourceId'];\r\n this['maximumBalanceAllowed'] = data['maximumBalanceAllowed'];\r\n this['termsAcknowledged'] = data['termsAcknowledged'];\r\n }\r\n}\r\n\r\nexport class EmbeddedCharge {\r\n /** */\r\n 'amount': number;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'chargeType': string;\r\n\r\n /** */\r\n 'clientAccount': ClientAccountDto;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['amount'] = data['amount'];\r\n this['description'] = data['description'];\r\n this['chargeType'] = data['chargeType'];\r\n this['clientAccount'] = data['clientAccount'];\r\n }\r\n}\r\n\r\nexport class EmbeddedPaymentSourceDto {\r\n /** */\r\n 'identifier': string;\r\n\r\n /** */\r\n 'type': string;\r\n\r\n /** */\r\n 'nickname': string;\r\n\r\n /** */\r\n 'card': CardSourceDto;\r\n\r\n /** */\r\n 'bankAccount': BankAccountSourceDto;\r\n\r\n /** */\r\n 'billingAddress': OptionalAddress;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['identifier'] = data['identifier'];\r\n this['type'] = data['type'];\r\n this['nickname'] = data['nickname'];\r\n this['card'] = data['card'];\r\n this['bankAccount'] = data['bankAccount'];\r\n this['billingAddress'] = data['billingAddress'];\r\n }\r\n}\r\n\r\nexport class EmptyResponse {\r\n /** */\r\n 'hasErrors': boolean;\r\n\r\n /** */\r\n 'errors': Error[];\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['hasErrors'] = data['hasErrors'];\r\n this['errors'] = data['errors'];\r\n }\r\n}\r\n\r\nexport class EnqueueManualJobRequest {\r\n /** */\r\n 'executionContext': object;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['executionContext'] = data['executionContext'];\r\n }\r\n}\r\n\r\nexport class Error {\r\n /** */\r\n 'propertyName': string;\r\n\r\n /** */\r\n 'errorMessage': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['propertyName'] = data['propertyName'];\r\n this['errorMessage'] = data['errorMessage'];\r\n }\r\n}\r\n\r\nexport class ExternalEventDto {\r\n /** */\r\n 'eventType': string;\r\n\r\n /** */\r\n 'payload': string;\r\n\r\n /** */\r\n 'businessUnitSlug': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['eventType'] = data['eventType'];\r\n this['payload'] = data['payload'];\r\n this['businessUnitSlug'] = data['businessUnitSlug'];\r\n }\r\n}\r\n\r\nexport class ExternalLinkConfigGetDto {\r\n /** */\r\n 'identifier': string;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'showOnCustomerDashboard': boolean;\r\n\r\n /** */\r\n 'payloadConfigurationJson': string;\r\n\r\n /** */\r\n 'url': string;\r\n\r\n /** */\r\n 'isGeneratedLink': boolean;\r\n\r\n /** */\r\n 'httpMethod': string;\r\n\r\n /** */\r\n 'display': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'functionTriggerId': number;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['identifier'] = data['identifier'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['showOnCustomerDashboard'] = data['showOnCustomerDashboard'];\r\n this['payloadConfigurationJson'] = data['payloadConfigurationJson'];\r\n this['url'] = data['url'];\r\n this['isGeneratedLink'] = data['isGeneratedLink'];\r\n this['httpMethod'] = data['httpMethod'];\r\n this['display'] = data['display'];\r\n this['description'] = data['description'];\r\n this['functionTriggerId'] = data['functionTriggerId'];\r\n this['id'] = data['id'];\r\n }\r\n}\r\n\r\nexport class ExternalLinkConfigSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'identifier': string;\r\n\r\n /** */\r\n 'httpMethod': string;\r\n\r\n /** */\r\n 'display': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['identifier'] = data['identifier'];\r\n this['httpMethod'] = data['httpMethod'];\r\n this['display'] = data['display'];\r\n this['description'] = data['description'];\r\n }\r\n}\r\n\r\nexport class ExternalTransactionSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'referenceNumber': string;\r\n\r\n /** */\r\n 'importSourceType': string;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'transactionDate': Date;\r\n\r\n /** */\r\n 'transactionType': string;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'amountMinor': number;\r\n\r\n /** */\r\n 'paymentSourceType': string;\r\n\r\n /** */\r\n 'paymentSourceAccountNumberMasked': string;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['referenceNumber'] = data['referenceNumber'];\r\n this['importSourceType'] = data['importSourceType'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['transactionDate'] = data['transactionDate'];\r\n this['transactionType'] = data['transactionType'];\r\n this['status'] = data['status'];\r\n this['amountMinor'] = data['amountMinor'];\r\n this['paymentSourceType'] = data['paymentSourceType'];\r\n this['paymentSourceAccountNumberMasked'] = data['paymentSourceAccountNumberMasked'];\r\n this['accountId'] = data['accountId'];\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n }\r\n}\r\n\r\nexport class FormConfigurationGetDto {\r\n /** */\r\n 'displayName': string;\r\n\r\n /** */\r\n 'identifier': string;\r\n\r\n /** */\r\n 'fieldsJson': string;\r\n\r\n /** */\r\n 'displayLocations': string;\r\n\r\n /** */\r\n 'displayChannels': string;\r\n\r\n /** */\r\n 'displayConditions': string;\r\n\r\n /** */\r\n 'triggerFormSubmittedEvent': boolean;\r\n\r\n /** */\r\n 'onSubmitAction': string;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['displayName'] = data['displayName'];\r\n this['identifier'] = data['identifier'];\r\n this['fieldsJson'] = data['fieldsJson'];\r\n this['displayLocations'] = data['displayLocations'];\r\n this['displayChannels'] = data['displayChannels'];\r\n this['displayConditions'] = data['displayConditions'];\r\n this['triggerFormSubmittedEvent'] = data['triggerFormSubmittedEvent'];\r\n this['onSubmitAction'] = data['onSubmitAction'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['id'] = data['id'];\r\n }\r\n}\r\n\r\nexport class FormSubmittedEventPayload {\r\n /** */\r\n 'formResponseIdentifier': string;\r\n\r\n /** */\r\n 'formIdentifier': string;\r\n\r\n /** */\r\n 'formDisplayName': string;\r\n\r\n /** */\r\n 'customerId': string;\r\n\r\n /** */\r\n 'accountId': string;\r\n\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'accountName': string;\r\n\r\n /** */\r\n 'onSubmitAction': string;\r\n\r\n /** */\r\n 'valuesJson': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['formResponseIdentifier'] = data['formResponseIdentifier'];\r\n this['formIdentifier'] = data['formIdentifier'];\r\n this['formDisplayName'] = data['formDisplayName'];\r\n this['customerId'] = data['customerId'];\r\n this['accountId'] = data['accountId'];\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['accountName'] = data['accountName'];\r\n this['onSubmitAction'] = data['onSubmitAction'];\r\n this['valuesJson'] = data['valuesJson'];\r\n }\r\n}\r\n\r\nexport class FunctionTriggerGetDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'triggerType': string;\r\n\r\n /** */\r\n 'functionName': string;\r\n\r\n /** */\r\n 'functionApp': string;\r\n\r\n /** */\r\n 'metaJson': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['triggerType'] = data['triggerType'];\r\n this['functionName'] = data['functionName'];\r\n this['functionApp'] = data['functionApp'];\r\n this['metaJson'] = data['metaJson'];\r\n }\r\n}\r\n\r\nexport class FundingEntryAggregate {\r\n /** */\r\n 'fundingEntryDate': string;\r\n\r\n /** */\r\n 'numberPayments': number;\r\n\r\n /** */\r\n 'totalAmountMinor': number;\r\n\r\n /** */\r\n 'netSalesMinor': number;\r\n\r\n /** */\r\n 'depositInformation': string;\r\n\r\n /** */\r\n 'gatewayFundingGroupId': string;\r\n\r\n /** */\r\n 'merchantNumber': string;\r\n\r\n /** */\r\n 'merchantAccount': string;\r\n\r\n /** */\r\n 'paymentSourceType': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['fundingEntryDate'] = data['fundingEntryDate'];\r\n this['numberPayments'] = data['numberPayments'];\r\n this['totalAmountMinor'] = data['totalAmountMinor'];\r\n this['netSalesMinor'] = data['netSalesMinor'];\r\n this['depositInformation'] = data['depositInformation'];\r\n this['gatewayFundingGroupId'] = data['gatewayFundingGroupId'];\r\n this['merchantNumber'] = data['merchantNumber'];\r\n this['merchantAccount'] = data['merchantAccount'];\r\n this['paymentSourceType'] = data['paymentSourceType'];\r\n }\r\n}\r\n\r\nexport class FundingEntryGetDto {\r\n /** */\r\n 'gatewayFundingEntryId': string;\r\n\r\n /** */\r\n 'gatewayFundingGroupId': string;\r\n\r\n /** */\r\n 'paymentGatewayType': string;\r\n\r\n /** */\r\n 'paymentGatewayConfigId': number;\r\n\r\n /** */\r\n 'merchantNumber': string;\r\n\r\n /** */\r\n 'fundingEntryDate': string;\r\n\r\n /** */\r\n 'currencyCode': string;\r\n\r\n /** */\r\n 'totalAmount': string;\r\n\r\n /** */\r\n 'netSales': string;\r\n\r\n /** */\r\n 'adjustments': string;\r\n\r\n /** */\r\n 'depositInformation': string;\r\n\r\n /** */\r\n 'fundingEntryJson': string;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['gatewayFundingEntryId'] = data['gatewayFundingEntryId'];\r\n this['gatewayFundingGroupId'] = data['gatewayFundingGroupId'];\r\n this['paymentGatewayType'] = data['paymentGatewayType'];\r\n this['paymentGatewayConfigId'] = data['paymentGatewayConfigId'];\r\n this['merchantNumber'] = data['merchantNumber'];\r\n this['fundingEntryDate'] = data['fundingEntryDate'];\r\n this['currencyCode'] = data['currencyCode'];\r\n this['totalAmount'] = data['totalAmount'];\r\n this['netSales'] = data['netSales'];\r\n this['adjustments'] = data['adjustments'];\r\n this['depositInformation'] = data['depositInformation'];\r\n this['fundingEntryJson'] = data['fundingEntryJson'];\r\n this['id'] = data['id'];\r\n }\r\n}\r\n\r\nexport class GatewayPaystarAchBatchClosedEventPayload {\r\n /** */\r\n 'immediateOrigin': string;\r\n\r\n /** */\r\n 'originatingCompanyId': string;\r\n\r\n /** */\r\n 'originatingCompanyName': string;\r\n\r\n /** */\r\n 'destinationBankRoutingNumber': string;\r\n\r\n /** */\r\n 'destinationBankName': string;\r\n\r\n /** */\r\n 'companyDiscretionaryData': string;\r\n\r\n /** */\r\n 'companyEntryDescription': string;\r\n\r\n /** */\r\n 'merchantNumber': string;\r\n\r\n /** */\r\n 'encryptionType': string;\r\n\r\n /** */\r\n 'batchDate': Date;\r\n\r\n /** */\r\n 'settlementDate': Date;\r\n\r\n /** */\r\n 'transactionCount': number;\r\n\r\n /** */\r\n 'paymentAmountMinor': number;\r\n\r\n /** */\r\n 'paymentAmountFormatted': string;\r\n\r\n /** */\r\n 'fileUrl': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['immediateOrigin'] = data['immediateOrigin'];\r\n this['originatingCompanyId'] = data['originatingCompanyId'];\r\n this['originatingCompanyName'] = data['originatingCompanyName'];\r\n this['destinationBankRoutingNumber'] = data['destinationBankRoutingNumber'];\r\n this['destinationBankName'] = data['destinationBankName'];\r\n this['companyDiscretionaryData'] = data['companyDiscretionaryData'];\r\n this['companyEntryDescription'] = data['companyEntryDescription'];\r\n this['merchantNumber'] = data['merchantNumber'];\r\n this['encryptionType'] = data['encryptionType'];\r\n this['batchDate'] = data['batchDate'];\r\n this['settlementDate'] = data['settlementDate'];\r\n this['transactionCount'] = data['transactionCount'];\r\n this['paymentAmountMinor'] = data['paymentAmountMinor'];\r\n this['paymentAmountFormatted'] = data['paymentAmountFormatted'];\r\n this['fileUrl'] = data['fileUrl'];\r\n }\r\n}\r\n\r\nexport class GatewayPaystarAchBatchCreatedEventPayload {\r\n /** */\r\n 'odfiIdentifier': string;\r\n\r\n /** */\r\n 'merchantNumber': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['odfiIdentifier'] = data['odfiIdentifier'];\r\n this['merchantNumber'] = data['merchantNumber'];\r\n }\r\n}\r\n\r\nexport class GenerateAutopayEnrollmentExport_Config {\r\n /** */\r\n 'datePreset': string;\r\n\r\n /** */\r\n 'startDate': string;\r\n\r\n /** */\r\n 'endDate': string;\r\n\r\n /** */\r\n 'autopayActivityTypes': string[];\r\n\r\n /** */\r\n 'exportType': string;\r\n\r\n /** */\r\n 'jsReportTemplateName': string;\r\n\r\n /** */\r\n 'fileName': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['datePreset'] = data['datePreset'];\r\n this['startDate'] = data['startDate'];\r\n this['endDate'] = data['endDate'];\r\n this['autopayActivityTypes'] = data['autopayActivityTypes'];\r\n this['exportType'] = data['exportType'];\r\n this['jsReportTemplateName'] = data['jsReportTemplateName'];\r\n this['fileName'] = data['fileName'];\r\n }\r\n}\r\n\r\nexport class GeneratePaperlessBillingEnrollmentExport_Config {\r\n /** */\r\n 'datePreset': string;\r\n\r\n /** */\r\n 'startDate': string;\r\n\r\n /** */\r\n 'endDate': string;\r\n\r\n /** */\r\n 'paperlessBillingActivityTypes': string[];\r\n\r\n /** */\r\n 'exportType': string;\r\n\r\n /** */\r\n 'jsReportTemplateName': string;\r\n\r\n /** */\r\n 'fileName': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['datePreset'] = data['datePreset'];\r\n this['startDate'] = data['startDate'];\r\n this['endDate'] = data['endDate'];\r\n this['paperlessBillingActivityTypes'] = data['paperlessBillingActivityTypes'];\r\n this['exportType'] = data['exportType'];\r\n this['jsReportTemplateName'] = data['jsReportTemplateName'];\r\n this['fileName'] = data['fileName'];\r\n }\r\n}\r\n\r\nexport class GeneratePaymentLineItemReport_Config {\r\n /** */\r\n 'datePreset': string;\r\n\r\n /** */\r\n 'startDate': string;\r\n\r\n /** */\r\n 'endDate': string;\r\n\r\n /** */\r\n 'paymentStatuses': string[];\r\n\r\n /** */\r\n 'paymentSourceTypes': string[];\r\n\r\n /** */\r\n 'paymentChannels': string[];\r\n\r\n /** */\r\n 'fileName': string;\r\n\r\n /** */\r\n 'lineItemTypes': string[];\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['datePreset'] = data['datePreset'];\r\n this['startDate'] = data['startDate'];\r\n this['endDate'] = data['endDate'];\r\n this['paymentStatuses'] = data['paymentStatuses'];\r\n this['paymentSourceTypes'] = data['paymentSourceTypes'];\r\n this['paymentChannels'] = data['paymentChannels'];\r\n this['fileName'] = data['fileName'];\r\n this['lineItemTypes'] = data['lineItemTypes'];\r\n }\r\n}\r\n\r\nexport class GenerateTransactionExportFunction_Config {\r\n /** */\r\n 'functionOrchestrationUrl': string;\r\n\r\n /** */\r\n 'activityName': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['functionOrchestrationUrl'] = data['functionOrchestrationUrl'];\r\n this['activityName'] = data['activityName'];\r\n }\r\n}\r\n\r\nexport class GenerateTransactionExportV2_Config {\r\n /** */\r\n 'datePreset': string;\r\n\r\n /** */\r\n 'startDate': string;\r\n\r\n /** */\r\n 'endDate': string;\r\n\r\n /** */\r\n 'paymentStatuses': string[];\r\n\r\n /** */\r\n 'paymentSourceTypes': string[];\r\n\r\n /** */\r\n 'paymentChannels': string[];\r\n\r\n /** */\r\n 'accountCreateMethods': string[];\r\n\r\n /** */\r\n 'additionalConfigurationJson': string;\r\n\r\n /** */\r\n 'exportType': string;\r\n\r\n /** */\r\n 'jsReportTemplateName': string;\r\n\r\n /** */\r\n 'fileName': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['datePreset'] = data['datePreset'];\r\n this['startDate'] = data['startDate'];\r\n this['endDate'] = data['endDate'];\r\n this['paymentStatuses'] = data['paymentStatuses'];\r\n this['paymentSourceTypes'] = data['paymentSourceTypes'];\r\n this['paymentChannels'] = data['paymentChannels'];\r\n this['accountCreateMethods'] = data['accountCreateMethods'];\r\n this['additionalConfigurationJson'] = data['additionalConfigurationJson'];\r\n this['exportType'] = data['exportType'];\r\n this['jsReportTemplateName'] = data['jsReportTemplateName'];\r\n this['fileName'] = data['fileName'];\r\n }\r\n}\r\n\r\nexport class GetAccountPaymentSourcesResponse {\r\n /** */\r\n 'accountPaymentSources': PaymentSourceSummaryDto[];\r\n\r\n /** */\r\n 'customerAutopayPaymentSource': PaymentSourceSummaryDto;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['accountPaymentSources'] = data['accountPaymentSources'];\r\n this['customerAutopayPaymentSource'] = data['customerAutopayPaymentSource'];\r\n }\r\n}\r\n\r\nexport class GetPlaidLinkTokenRequest {\r\n /** */\r\n 'sessionIdentifier': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['sessionIdentifier'] = data['sessionIdentifier'];\r\n }\r\n}\r\n\r\nexport class ImportProcessedBills_Config {\r\n /** */\r\n 'cycleConfigIdentifier': string;\r\n\r\n /** */\r\n 'cycleDateKey': string;\r\n\r\n /** */\r\n 'blobUrl': string;\r\n\r\n /** */\r\n 'dueDate': string;\r\n\r\n /** */\r\n 'parsedFileUrl': string;\r\n\r\n /** */\r\n 'autoApprove': boolean;\r\n\r\n /** */\r\n 'autoApprovalDelayInMinutes': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['cycleConfigIdentifier'] = data['cycleConfigIdentifier'];\r\n this['cycleDateKey'] = data['cycleDateKey'];\r\n this['blobUrl'] = data['blobUrl'];\r\n this['dueDate'] = data['dueDate'];\r\n this['parsedFileUrl'] = data['parsedFileUrl'];\r\n this['autoApprove'] = data['autoApprove'];\r\n this['autoApprovalDelayInMinutes'] = data['autoApprovalDelayInMinutes'];\r\n }\r\n}\r\n\r\nexport class InitiateCustomerPhoneVerificationRequest {\r\n /** */\r\n 'phoneNumber': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['phoneNumber'] = data['phoneNumber'];\r\n }\r\n}\r\n\r\nexport class InitiateEmbeddedPaymentSessionRequest {\r\n /** */\r\n 'businessUnitSlug': string;\r\n\r\n /** */\r\n 'paymentDescriptor': string;\r\n\r\n /** */\r\n 'channel': string;\r\n\r\n /** */\r\n 'clientReference': string;\r\n\r\n /** */\r\n 'paymentSourceIdentifier': string;\r\n\r\n /** */\r\n 'charges': EmbeddedCharge[];\r\n\r\n /** */\r\n 'paymentFields': object;\r\n\r\n /** */\r\n 'clientUser': ClientUserDto;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitSlug'] = data['businessUnitSlug'];\r\n this['paymentDescriptor'] = data['paymentDescriptor'];\r\n this['channel'] = data['channel'];\r\n this['clientReference'] = data['clientReference'];\r\n this['paymentSourceIdentifier'] = data['paymentSourceIdentifier'];\r\n this['charges'] = data['charges'];\r\n this['paymentFields'] = data['paymentFields'];\r\n this['clientUser'] = data['clientUser'];\r\n }\r\n}\r\n\r\nexport class InitiateFunctionOrchestration_CallbackDto {\r\n /** */\r\n 'identifier': string;\r\n\r\n /** */\r\n 'url': string;\r\n\r\n /** */\r\n 'initialPayload': object;\r\n\r\n /** */\r\n 'payloadKeyMap': object;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['identifier'] = data['identifier'];\r\n this['url'] = data['url'];\r\n this['initialPayload'] = data['initialPayload'];\r\n this['payloadKeyMap'] = data['payloadKeyMap'];\r\n }\r\n}\r\n\r\nexport class InitiateFunctionOrchestration_Config {\r\n /** */\r\n 'shouldPause': boolean;\r\n\r\n /** */\r\n 'functionOrchestration': InitiateFunctionOrchestration_FunctionOrchestration;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['shouldPause'] = data['shouldPause'];\r\n this['functionOrchestration'] = data['functionOrchestration'];\r\n }\r\n}\r\n\r\nexport class InitiateFunctionOrchestration_FanConfiguration {\r\n /** */\r\n 'resultKey': string;\r\n\r\n /** */\r\n 'responseKey': string;\r\n\r\n /** */\r\n 'requestKey': string;\r\n\r\n /** */\r\n 'fannedRequestPayloadKey': string;\r\n\r\n /** */\r\n 'requestPayloadDelimiter': string;\r\n\r\n /** */\r\n 'flattenResponse': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['resultKey'] = data['resultKey'];\r\n this['responseKey'] = data['responseKey'];\r\n this['requestKey'] = data['requestKey'];\r\n this['fannedRequestPayloadKey'] = data['fannedRequestPayloadKey'];\r\n this['requestPayloadDelimiter'] = data['requestPayloadDelimiter'];\r\n this['flattenResponse'] = data['flattenResponse'];\r\n }\r\n}\r\n\r\nexport class InitiateFunctionOrchestration_FunctionOrchestration {\r\n /** */\r\n 'functionTriggerId': number;\r\n\r\n /** */\r\n 'functionOrchestrationUrl': string;\r\n\r\n /** */\r\n 'functionName': string;\r\n\r\n /** */\r\n 'functionTriggerType': string;\r\n\r\n /** */\r\n 'onFailUrl': string;\r\n\r\n /** */\r\n 'functionRequestBody': object;\r\n\r\n /** */\r\n 'exitEarly': boolean;\r\n\r\n /** */\r\n 'fanResults': boolean;\r\n\r\n /** */\r\n 'fanRequest': boolean;\r\n\r\n /** */\r\n 'resultKey': string;\r\n\r\n /** */\r\n 'fanConfiguration': InitiateFunctionOrchestration_FanConfiguration;\r\n\r\n /** */\r\n 'callbacks': InitiateFunctionOrchestration_CallbackDto[];\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['functionTriggerId'] = data['functionTriggerId'];\r\n this['functionOrchestrationUrl'] = data['functionOrchestrationUrl'];\r\n this['functionName'] = data['functionName'];\r\n this['functionTriggerType'] = data['functionTriggerType'];\r\n this['onFailUrl'] = data['onFailUrl'];\r\n this['functionRequestBody'] = data['functionRequestBody'];\r\n this['exitEarly'] = data['exitEarly'];\r\n this['fanResults'] = data['fanResults'];\r\n this['fanRequest'] = data['fanRequest'];\r\n this['resultKey'] = data['resultKey'];\r\n this['fanConfiguration'] = data['fanConfiguration'];\r\n this['callbacks'] = data['callbacks'];\r\n }\r\n}\r\n\r\nexport class InitiateManageAutopaySessionRequest {\r\n /** */\r\n 'businessUnitSlug': string;\r\n\r\n /** */\r\n 'syncAccount': boolean;\r\n\r\n /** */\r\n 'clientAccount': ClientAccountDto;\r\n\r\n /** */\r\n 'clientUser': ClientUserDto;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitSlug'] = data['businessUnitSlug'];\r\n this['syncAccount'] = data['syncAccount'];\r\n this['clientAccount'] = data['clientAccount'];\r\n this['clientUser'] = data['clientUser'];\r\n }\r\n}\r\n\r\nexport class InitiateManagePaperlessSessionRequest {\r\n /** */\r\n 'businessUnitSlug': string;\r\n\r\n /** */\r\n 'syncAccount': boolean;\r\n\r\n /** */\r\n 'clientAccount': ClientAccountDto;\r\n\r\n /** */\r\n 'clientUser': ClientUserDto;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitSlug'] = data['businessUnitSlug'];\r\n this['syncAccount'] = data['syncAccount'];\r\n this['clientAccount'] = data['clientAccount'];\r\n this['clientUser'] = data['clientUser'];\r\n }\r\n}\r\n\r\nexport class InitiateManageWalletSessionRequest {\r\n /** */\r\n 'businessUnitSlug': string;\r\n\r\n /** */\r\n 'clientUser': ClientUserDto;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitSlug'] = data['businessUnitSlug'];\r\n this['clientUser'] = data['clientUser'];\r\n }\r\n}\r\n\r\nexport class InitiateOnboardingPhoneNumberVerificationRequest {\r\n /** */\r\n 'businessUnitSlug': string;\r\n\r\n /** */\r\n 'phoneNumber': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitSlug'] = data['businessUnitSlug'];\r\n this['phoneNumber'] = data['phoneNumber'];\r\n }\r\n}\r\n\r\nexport class InitiateOnboardingSessionRequest {\r\n /** */\r\n 'businessUnitSlug': string;\r\n\r\n /** */\r\n 'password': string;\r\n\r\n /** */\r\n 'confirmPassword': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitSlug'] = data['businessUnitSlug'];\r\n this['password'] = data['password'];\r\n this['confirmPassword'] = data['confirmPassword'];\r\n }\r\n}\r\n\r\nexport class InitiatePaymentSessionRequest {\r\n /** */\r\n 'businessUnitSlug': string;\r\n\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'balance': number;\r\n\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'phoneNumber': string;\r\n\r\n /** */\r\n 'address': OptionalAddress;\r\n\r\n /** */\r\n 'dueDate': Date;\r\n\r\n /** */\r\n 'issueDate': Date;\r\n\r\n /** */\r\n 'note': string;\r\n\r\n /** */\r\n 'allowOnlinePayment': boolean;\r\n\r\n /** */\r\n 'meta': string;\r\n\r\n /** */\r\n 'initialPaymentFields': object;\r\n\r\n /** */\r\n 'successUrl': string;\r\n\r\n /** */\r\n 'returnUrl': string;\r\n\r\n /** */\r\n 'channel': string;\r\n\r\n /** */\r\n 'clientReference': string;\r\n\r\n /** */\r\n 'skipAccountSync': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitSlug'] = data['businessUnitSlug'];\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['balance'] = data['balance'];\r\n this['name'] = data['name'];\r\n this['phoneNumber'] = data['phoneNumber'];\r\n this['address'] = data['address'];\r\n this['dueDate'] = data['dueDate'];\r\n this['issueDate'] = data['issueDate'];\r\n this['note'] = data['note'];\r\n this['allowOnlinePayment'] = data['allowOnlinePayment'];\r\n this['meta'] = data['meta'];\r\n this['initialPaymentFields'] = data['initialPaymentFields'];\r\n this['successUrl'] = data['successUrl'];\r\n this['returnUrl'] = data['returnUrl'];\r\n this['channel'] = data['channel'];\r\n this['clientReference'] = data['clientReference'];\r\n this['skipAccountSync'] = data['skipAccountSync'];\r\n }\r\n}\r\n\r\nexport class InitiateUserSessionRequest {\r\n /** */\r\n 'clientSecret': string;\r\n\r\n /** */\r\n 'businessUnitSlug': string;\r\n\r\n /** */\r\n 'returnUrl': string;\r\n\r\n /** */\r\n 'initialAction': string;\r\n\r\n /** */\r\n 'initialActionPayload': object;\r\n\r\n /** */\r\n 'clientUser': ClientUserDto;\r\n\r\n /** */\r\n 'clientAccount': ClientAccountDto;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['clientSecret'] = data['clientSecret'];\r\n this['businessUnitSlug'] = data['businessUnitSlug'];\r\n this['returnUrl'] = data['returnUrl'];\r\n this['initialAction'] = data['initialAction'];\r\n this['initialActionPayload'] = data['initialActionPayload'];\r\n this['clientUser'] = data['clientUser'];\r\n this['clientAccount'] = data['clientAccount'];\r\n }\r\n}\r\n\r\nexport class InternalAccountNoteGetDto {\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'notes': string;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['accountId'] = data['accountId'];\r\n this['notes'] = data['notes'];\r\n this['id'] = data['id'];\r\n }\r\n}\r\n\r\nexport class InternalAccountNoteSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'notes': string;\r\n\r\n /** */\r\n 'modifiedDate': Date;\r\n\r\n /** */\r\n 'modifiedByEmail': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['notes'] = data['notes'];\r\n this['modifiedDate'] = data['modifiedDate'];\r\n this['modifiedByEmail'] = data['modifiedByEmail'];\r\n }\r\n}\r\n\r\nexport class IvrFileUploadedEvent {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'outboundIvrUploadBlobUrl': string;\r\n\r\n /** */\r\n 'outboundIvrUploadDownloadBlobUrl': string;\r\n\r\n /** */\r\n 'userEmail': string;\r\n\r\n /** */\r\n 'referenceNumber': string;\r\n\r\n /** */\r\n 'maxAttempts': number;\r\n\r\n /** */\r\n 'message': string;\r\n\r\n /** */\r\n 'followUpMessage': string;\r\n\r\n /** */\r\n 'followUpPhoneNumber': string;\r\n\r\n /** */\r\n 'callbackUrl': string;\r\n\r\n /** */\r\n 'callSummary': OutboundCallSummaryDto;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['outboundIvrUploadBlobUrl'] = data['outboundIvrUploadBlobUrl'];\r\n this['outboundIvrUploadDownloadBlobUrl'] = data['outboundIvrUploadDownloadBlobUrl'];\r\n this['userEmail'] = data['userEmail'];\r\n this['referenceNumber'] = data['referenceNumber'];\r\n this['maxAttempts'] = data['maxAttempts'];\r\n this['message'] = data['message'];\r\n this['followUpMessage'] = data['followUpMessage'];\r\n this['followUpPhoneNumber'] = data['followUpPhoneNumber'];\r\n this['callbackUrl'] = data['callbackUrl'];\r\n this['callSummary'] = data['callSummary'];\r\n }\r\n}\r\n\r\nexport class JobDetailDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'businessUnitName': string;\r\n\r\n /** */\r\n 'organizationName': string;\r\n\r\n /** */\r\n 'jobEventTriggerCount': number;\r\n\r\n /** */\r\n 'scheduleCount': number;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'jobContextJson': string;\r\n\r\n /** */\r\n 'tags': string;\r\n\r\n /** */\r\n 'taskDescriptions': string[];\r\n\r\n /** */\r\n 'disabled': boolean;\r\n\r\n /** */\r\n 'webhookId': string;\r\n\r\n /** */\r\n 'notes': string;\r\n\r\n /** */\r\n 'jobEventTriggers': string[];\r\n\r\n /** */\r\n 'jobTasks': JobTaskGetDto[];\r\n\r\n /** */\r\n 'jobExport': JobTaskExportDto[];\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['businessUnitName'] = data['businessUnitName'];\r\n this['organizationName'] = data['organizationName'];\r\n this['jobEventTriggerCount'] = data['jobEventTriggerCount'];\r\n this['scheduleCount'] = data['scheduleCount'];\r\n this['description'] = data['description'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['jobContextJson'] = data['jobContextJson'];\r\n this['tags'] = data['tags'];\r\n this['taskDescriptions'] = data['taskDescriptions'];\r\n this['disabled'] = data['disabled'];\r\n this['webhookId'] = data['webhookId'];\r\n this['notes'] = data['notes'];\r\n this['jobEventTriggers'] = data['jobEventTriggers'];\r\n this['jobTasks'] = data['jobTasks'];\r\n this['jobExport'] = data['jobExport'];\r\n }\r\n}\r\n\r\nexport class JobExecutionStateGetDto {\r\n /** */\r\n 'jobId': number;\r\n\r\n /** */\r\n 'identifier': string;\r\n\r\n /** */\r\n 'executionStatus': string;\r\n\r\n /** */\r\n 'startTime': Date;\r\n\r\n /** */\r\n 'endTime': Date;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'contextSnapshotJson': string;\r\n\r\n /** */\r\n 'pausedJobTaskIndex': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['jobId'] = data['jobId'];\r\n this['identifier'] = data['identifier'];\r\n this['executionStatus'] = data['executionStatus'];\r\n this['startTime'] = data['startTime'];\r\n this['endTime'] = data['endTime'];\r\n this['id'] = data['id'];\r\n this['contextSnapshotJson'] = data['contextSnapshotJson'];\r\n this['pausedJobTaskIndex'] = data['pausedJobTaskIndex'];\r\n }\r\n}\r\n\r\nexport class JobExecutionStateSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'jobId': number;\r\n\r\n /** */\r\n 'identifier': string;\r\n\r\n /** */\r\n 'executionStatus': string;\r\n\r\n /** */\r\n 'startTime': Date;\r\n\r\n /** */\r\n 'endTime': Date;\r\n\r\n /** */\r\n 'fileCount': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['jobId'] = data['jobId'];\r\n this['identifier'] = data['identifier'];\r\n this['executionStatus'] = data['executionStatus'];\r\n this['startTime'] = data['startTime'];\r\n this['endTime'] = data['endTime'];\r\n this['fileCount'] = data['fileCount'];\r\n }\r\n}\r\n\r\nexport class JobScheduleGetDto {\r\n /** */\r\n 'jobId': number;\r\n\r\n /** */\r\n 'rRule': string;\r\n\r\n /** */\r\n 'timeZone': string;\r\n\r\n /** */\r\n 'nextExecutionTimeUtc': Date;\r\n\r\n /** */\r\n 'lastExecutionTimeUtc': Date;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['jobId'] = data['jobId'];\r\n this['rRule'] = data['rRule'];\r\n this['timeZone'] = data['timeZone'];\r\n this['nextExecutionTimeUtc'] = data['nextExecutionTimeUtc'];\r\n this['lastExecutionTimeUtc'] = data['lastExecutionTimeUtc'];\r\n this['id'] = data['id'];\r\n }\r\n}\r\n\r\nexport class JobTaskDto {\r\n /** */\r\n 'jobId': number;\r\n\r\n /** */\r\n 'type': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'settingsJson': string;\r\n\r\n /** */\r\n 'executionOrder': number;\r\n\r\n /** */\r\n 'executionCondition': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['jobId'] = data['jobId'];\r\n this['type'] = data['type'];\r\n this['description'] = data['description'];\r\n this['settingsJson'] = data['settingsJson'];\r\n this['executionOrder'] = data['executionOrder'];\r\n this['executionCondition'] = data['executionCondition'];\r\n }\r\n}\r\n\r\nexport class JobTaskExportDto {\r\n /** */\r\n 'type': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'settingsJson': string;\r\n\r\n /** */\r\n 'executionOrder': number;\r\n\r\n /** */\r\n 'executionCondition': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['type'] = data['type'];\r\n this['description'] = data['description'];\r\n this['settingsJson'] = data['settingsJson'];\r\n this['executionOrder'] = data['executionOrder'];\r\n this['executionCondition'] = data['executionCondition'];\r\n }\r\n}\r\n\r\nexport class JobTaskGetDto {\r\n /** */\r\n 'jobId': number;\r\n\r\n /** */\r\n 'type': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'settingsJson': string;\r\n\r\n /** */\r\n 'executionOrder': number;\r\n\r\n /** */\r\n 'executionCondition': string;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['jobId'] = data['jobId'];\r\n this['type'] = data['type'];\r\n this['description'] = data['description'];\r\n this['settingsJson'] = data['settingsJson'];\r\n this['executionOrder'] = data['executionOrder'];\r\n this['executionCondition'] = data['executionCondition'];\r\n this['id'] = data['id'];\r\n }\r\n}\r\n\r\nexport class JobTemplateGetDto {\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'templateJson': string;\r\n\r\n /** */\r\n 'jobId': number;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['name'] = data['name'];\r\n this['templateJson'] = data['templateJson'];\r\n this['jobId'] = data['jobId'];\r\n this['id'] = data['id'];\r\n }\r\n}\r\n\r\nexport class JobTemplateSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'name': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['name'] = data['name'];\r\n }\r\n}\r\n\r\nexport class LinkCustomerAccountRequest {\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'userId': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['accountId'] = data['accountId'];\r\n this['userId'] = data['userId'];\r\n }\r\n}\r\n\r\nexport class LinkReadings_Config {\r\n constructor(data: undefined | any = {}) {}\r\n}\r\n\r\nexport class MatchedAdjustments {\r\n /** */\r\n 'adjustmentId': number;\r\n\r\n /** */\r\n 'adjustmentDate': Date;\r\n\r\n /** */\r\n 'adjustmentType': string;\r\n\r\n /** */\r\n 'adjustmentCode': string;\r\n\r\n /** */\r\n 'adjustmentAmount': number;\r\n\r\n /** */\r\n 'merchantNumber': string;\r\n\r\n /** */\r\n 'batchId': string;\r\n\r\n /** */\r\n 'transactionId': number;\r\n\r\n /** */\r\n 'paymentId': number;\r\n\r\n /** */\r\n 'transactionType': string;\r\n\r\n /** */\r\n 'amountValue': number;\r\n\r\n /** */\r\n 'transactionReferenceNumber': string;\r\n\r\n /** */\r\n 'authCode': string;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'paymentReferenceNumber': string;\r\n\r\n /** */\r\n 'paymentStatus': string;\r\n\r\n /** */\r\n 'channel': string;\r\n\r\n /** */\r\n 'paymentType': string;\r\n\r\n /** */\r\n 'serviceFeeAmount': number;\r\n\r\n /** */\r\n 'adjustmentAmountFormattedUsd': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['adjustmentId'] = data['adjustmentId'];\r\n this['adjustmentDate'] = data['adjustmentDate'];\r\n this['adjustmentType'] = data['adjustmentType'];\r\n this['adjustmentCode'] = data['adjustmentCode'];\r\n this['adjustmentAmount'] = data['adjustmentAmount'];\r\n this['merchantNumber'] = data['merchantNumber'];\r\n this['batchId'] = data['batchId'];\r\n this['transactionId'] = data['transactionId'];\r\n this['paymentId'] = data['paymentId'];\r\n this['transactionType'] = data['transactionType'];\r\n this['amountValue'] = data['amountValue'];\r\n this['transactionReferenceNumber'] = data['transactionReferenceNumber'];\r\n this['authCode'] = data['authCode'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['accountId'] = data['accountId'];\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['paymentReferenceNumber'] = data['paymentReferenceNumber'];\r\n this['paymentStatus'] = data['paymentStatus'];\r\n this['channel'] = data['channel'];\r\n this['paymentType'] = data['paymentType'];\r\n this['serviceFeeAmount'] = data['serviceFeeAmount'];\r\n this['adjustmentAmountFormattedUsd'] = data['adjustmentAmountFormattedUsd'];\r\n }\r\n}\r\n\r\nexport class MerchantAccountChannelSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'currencyCode': string;\r\n\r\n /** */\r\n 'paymentSourceType': string;\r\n\r\n /** */\r\n 'acceptedCardBrands': AcceptedCardBrands;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['name'] = data['name'];\r\n this['currencyCode'] = data['currencyCode'];\r\n this['paymentSourceType'] = data['paymentSourceType'];\r\n this['acceptedCardBrands'] = data['acceptedCardBrands'];\r\n }\r\n}\r\n\r\nexport class MerchantAccountClientSummaryDto {\r\n /** */\r\n 'merchantNumber': string;\r\n\r\n /** */\r\n 'batchTime': TimeSpan;\r\n\r\n /** */\r\n 'timezone': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['merchantNumber'] = data['merchantNumber'];\r\n this['batchTime'] = data['batchTime'];\r\n this['timezone'] = data['timezone'];\r\n }\r\n}\r\n\r\nexport class MerchantAccountDetailDto {\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'merchantNumber': string;\r\n\r\n /** */\r\n 'paymentGatewayConfigId': number;\r\n\r\n /** */\r\n 'currencyCode': string;\r\n\r\n /** */\r\n 'paymentSourceType': string;\r\n\r\n /** */\r\n 'monthlyProcessingLimit': number;\r\n\r\n /** */\r\n 'timezone': string;\r\n\r\n /** */\r\n 'batchTime': TimeSpan;\r\n\r\n /** */\r\n 'supportsSettlement': boolean;\r\n\r\n /** */\r\n 'supportsFunding': boolean;\r\n\r\n /** */\r\n 'feeOnly': boolean;\r\n\r\n /** */\r\n 'processorId': string;\r\n\r\n /** */\r\n 'notes': string;\r\n\r\n /** */\r\n 'tokenizerConfigJson': string;\r\n\r\n /** */\r\n 'nachaConfigId': number;\r\n\r\n /** */\r\n 'tokenizerConfig': object;\r\n\r\n /** */\r\n 'acceptedCardBrands': AcceptedCardBrands;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'paymentGateway': string;\r\n\r\n /** */\r\n 'organizationIds': number[];\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['name'] = data['name'];\r\n this['merchantNumber'] = data['merchantNumber'];\r\n this['paymentGatewayConfigId'] = data['paymentGatewayConfigId'];\r\n this['currencyCode'] = data['currencyCode'];\r\n this['paymentSourceType'] = data['paymentSourceType'];\r\n this['monthlyProcessingLimit'] = data['monthlyProcessingLimit'];\r\n this['timezone'] = data['timezone'];\r\n this['batchTime'] = data['batchTime'];\r\n this['supportsSettlement'] = data['supportsSettlement'];\r\n this['supportsFunding'] = data['supportsFunding'];\r\n this['feeOnly'] = data['feeOnly'];\r\n this['processorId'] = data['processorId'];\r\n this['notes'] = data['notes'];\r\n this['tokenizerConfigJson'] = data['tokenizerConfigJson'];\r\n this['nachaConfigId'] = data['nachaConfigId'];\r\n this['tokenizerConfig'] = data['tokenizerConfig'];\r\n this['acceptedCardBrands'] = data['acceptedCardBrands'];\r\n this['id'] = data['id'];\r\n this['paymentGateway'] = data['paymentGateway'];\r\n this['organizationIds'] = data['organizationIds'];\r\n }\r\n}\r\n\r\nexport class MerchantAccountGatewayConfigDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'merchantNumber': string;\r\n\r\n /** */\r\n 'processorId': string;\r\n\r\n /** */\r\n 'url': string;\r\n\r\n /** */\r\n 'username': string;\r\n\r\n /** */\r\n 'apiKey': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['merchantNumber'] = data['merchantNumber'];\r\n this['processorId'] = data['processorId'];\r\n this['url'] = data['url'];\r\n this['username'] = data['username'];\r\n this['apiKey'] = data['apiKey'];\r\n }\r\n}\r\n\r\nexport class MerchantAccountGetDto {\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'merchantNumber': string;\r\n\r\n /** */\r\n 'paymentGatewayConfigId': number;\r\n\r\n /** */\r\n 'currencyCode': string;\r\n\r\n /** */\r\n 'paymentSourceType': string;\r\n\r\n /** */\r\n 'monthlyProcessingLimit': number;\r\n\r\n /** */\r\n 'timezone': string;\r\n\r\n /** */\r\n 'batchTime': TimeSpan;\r\n\r\n /** */\r\n 'supportsSettlement': boolean;\r\n\r\n /** */\r\n 'supportsFunding': boolean;\r\n\r\n /** */\r\n 'feeOnly': boolean;\r\n\r\n /** */\r\n 'processorId': string;\r\n\r\n /** */\r\n 'notes': string;\r\n\r\n /** */\r\n 'tokenizerConfigJson': string;\r\n\r\n /** */\r\n 'nachaConfigId': number;\r\n\r\n /** */\r\n 'tokenizerConfig': object;\r\n\r\n /** */\r\n 'acceptedCardBrands': AcceptedCardBrands;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['name'] = data['name'];\r\n this['merchantNumber'] = data['merchantNumber'];\r\n this['paymentGatewayConfigId'] = data['paymentGatewayConfigId'];\r\n this['currencyCode'] = data['currencyCode'];\r\n this['paymentSourceType'] = data['paymentSourceType'];\r\n this['monthlyProcessingLimit'] = data['monthlyProcessingLimit'];\r\n this['timezone'] = data['timezone'];\r\n this['batchTime'] = data['batchTime'];\r\n this['supportsSettlement'] = data['supportsSettlement'];\r\n this['supportsFunding'] = data['supportsFunding'];\r\n this['feeOnly'] = data['feeOnly'];\r\n this['processorId'] = data['processorId'];\r\n this['notes'] = data['notes'];\r\n this['tokenizerConfigJson'] = data['tokenizerConfigJson'];\r\n this['nachaConfigId'] = data['nachaConfigId'];\r\n this['tokenizerConfig'] = data['tokenizerConfig'];\r\n this['acceptedCardBrands'] = data['acceptedCardBrands'];\r\n this['id'] = data['id'];\r\n }\r\n}\r\n\r\nexport class MerchantAccountSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'paymentGateway': string;\r\n\r\n /** */\r\n 'merchantNumber': string;\r\n\r\n /** */\r\n 'currencyCode': string;\r\n\r\n /** */\r\n 'paymentSourceType': string;\r\n\r\n /** */\r\n 'feeOnly': boolean;\r\n\r\n /** */\r\n 'acceptedCardBrands': AcceptedCardBrands;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['name'] = data['name'];\r\n this['paymentGateway'] = data['paymentGateway'];\r\n this['merchantNumber'] = data['merchantNumber'];\r\n this['currencyCode'] = data['currencyCode'];\r\n this['paymentSourceType'] = data['paymentSourceType'];\r\n this['feeOnly'] = data['feeOnly'];\r\n this['acceptedCardBrands'] = data['acceptedCardBrands'];\r\n }\r\n}\r\n\r\nexport class MergeAccountsRequest {\r\n /** */\r\n 'targetAccountId': number;\r\n\r\n /** */\r\n 'mergingAccountId': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['targetAccountId'] = data['targetAccountId'];\r\n this['mergingAccountId'] = data['mergingAccountId'];\r\n }\r\n}\r\n\r\nexport class MessageDetailDto {\r\n /** */\r\n 'type': string;\r\n\r\n /** */\r\n 'messageBody': string;\r\n\r\n /** */\r\n 'organizationId': number;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'paymentChannelType': string;\r\n\r\n /** */\r\n 'showOnLogin': boolean;\r\n\r\n /** */\r\n 'showOnPayment': boolean;\r\n\r\n /** */\r\n 'showOnConfirmation': boolean;\r\n\r\n /** */\r\n 'showOnAdminPortal': boolean;\r\n\r\n /** */\r\n 'showOnBackOfficeAutopayPayerModal': boolean;\r\n\r\n /** */\r\n 'showDate': Date;\r\n\r\n /** */\r\n 'removeDate': Date;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'messageBodyPlainText': string;\r\n\r\n /** */\r\n 'organizationName': string;\r\n\r\n /** */\r\n 'businessUnitName': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['type'] = data['type'];\r\n this['messageBody'] = data['messageBody'];\r\n this['organizationId'] = data['organizationId'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['paymentChannelType'] = data['paymentChannelType'];\r\n this['showOnLogin'] = data['showOnLogin'];\r\n this['showOnPayment'] = data['showOnPayment'];\r\n this['showOnConfirmation'] = data['showOnConfirmation'];\r\n this['showOnAdminPortal'] = data['showOnAdminPortal'];\r\n this['showOnBackOfficeAutopayPayerModal'] = data['showOnBackOfficeAutopayPayerModal'];\r\n this['showDate'] = data['showDate'];\r\n this['removeDate'] = data['removeDate'];\r\n this['id'] = data['id'];\r\n this['messageBodyPlainText'] = data['messageBodyPlainText'];\r\n this['organizationName'] = data['organizationName'];\r\n this['businessUnitName'] = data['businessUnitName'];\r\n }\r\n}\r\n\r\nexport class MessageSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'type': string;\r\n\r\n /** */\r\n 'messageBody': string;\r\n\r\n /** */\r\n 'messageBodyPlainText': string;\r\n\r\n /** */\r\n 'organizationId': number;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'paymentChannelType': string;\r\n\r\n /** */\r\n 'showOnLogin': boolean;\r\n\r\n /** */\r\n 'showOnPayment': boolean;\r\n\r\n /** */\r\n 'showOnConfirmation': boolean;\r\n\r\n /** */\r\n 'showOnAdminPortal': boolean;\r\n\r\n /** */\r\n 'showOnBackOfficeAutopayPayerModal': boolean;\r\n\r\n /** */\r\n 'organizationName': string;\r\n\r\n /** */\r\n 'businessUnitName': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['type'] = data['type'];\r\n this['messageBody'] = data['messageBody'];\r\n this['messageBodyPlainText'] = data['messageBodyPlainText'];\r\n this['organizationId'] = data['organizationId'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['paymentChannelType'] = data['paymentChannelType'];\r\n this['showOnLogin'] = data['showOnLogin'];\r\n this['showOnPayment'] = data['showOnPayment'];\r\n this['showOnConfirmation'] = data['showOnConfirmation'];\r\n this['showOnAdminPortal'] = data['showOnAdminPortal'];\r\n this['showOnBackOfficeAutopayPayerModal'] = data['showOnBackOfficeAutopayPayerModal'];\r\n this['organizationName'] = data['organizationName'];\r\n this['businessUnitName'] = data['businessUnitName'];\r\n }\r\n}\r\n\r\nexport class NachaConfigGetDto {\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'encryptionType': string;\r\n\r\n /** */\r\n 'immediateOrigin': string;\r\n\r\n /** */\r\n 'originatingCompanyId': string;\r\n\r\n /** */\r\n 'originatingCompanyName': string;\r\n\r\n /** */\r\n 'destinationBankRoutingNumber': string;\r\n\r\n /** */\r\n 'destinationBankName': string;\r\n\r\n /** */\r\n 'companyDiscretionaryData': string;\r\n\r\n /** */\r\n 'companyEntryDescription': string;\r\n\r\n /** */\r\n 'effectiveEntryDateCutoffTime': TimeSpan;\r\n\r\n /** */\r\n 'effectiveEntryDateCutoffTimezone': string;\r\n\r\n /** */\r\n 'secCodeOverride': string;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['name'] = data['name'];\r\n this['encryptionType'] = data['encryptionType'];\r\n this['immediateOrigin'] = data['immediateOrigin'];\r\n this['originatingCompanyId'] = data['originatingCompanyId'];\r\n this['originatingCompanyName'] = data['originatingCompanyName'];\r\n this['destinationBankRoutingNumber'] = data['destinationBankRoutingNumber'];\r\n this['destinationBankName'] = data['destinationBankName'];\r\n this['companyDiscretionaryData'] = data['companyDiscretionaryData'];\r\n this['companyEntryDescription'] = data['companyEntryDescription'];\r\n this['effectiveEntryDateCutoffTime'] = data['effectiveEntryDateCutoffTime'];\r\n this['effectiveEntryDateCutoffTimezone'] = data['effectiveEntryDateCutoffTimezone'];\r\n this['secCodeOverride'] = data['secCodeOverride'];\r\n this['id'] = data['id'];\r\n }\r\n}\r\n\r\nexport class NachaConfigSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'encryptionType': string;\r\n\r\n /** */\r\n 'modifiedBy': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['name'] = data['name'];\r\n this['encryptionType'] = data['encryptionType'];\r\n this['modifiedBy'] = data['modifiedBy'];\r\n }\r\n}\r\n\r\nexport class NetRevenueTransactionMetricsResponse {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'transactionDateCst': Date;\r\n\r\n /** */\r\n 'paymentChannel': string;\r\n\r\n /** */\r\n 'paymentStatus': string;\r\n\r\n /** */\r\n 'transactionCount': number;\r\n\r\n /** */\r\n 'paymentCount': number;\r\n\r\n /** */\r\n 'transactionVolumeMinor': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['transactionDateCst'] = data['transactionDateCst'];\r\n this['paymentChannel'] = data['paymentChannel'];\r\n this['paymentStatus'] = data['paymentStatus'];\r\n this['transactionCount'] = data['transactionCount'];\r\n this['paymentCount'] = data['paymentCount'];\r\n this['transactionVolumeMinor'] = data['transactionVolumeMinor'];\r\n }\r\n}\r\n\r\nexport class NewPaymentSource {\r\n /** */\r\n 'accountType': string;\r\n\r\n /** */\r\n 'achAccountHolderType': string;\r\n\r\n /** */\r\n 'achAccountNumber': string;\r\n\r\n /** */\r\n 'achRoutingNumber': string;\r\n\r\n /** */\r\n 'accountNumberToken': string;\r\n\r\n /** */\r\n 'cardExpirationMonth': string;\r\n\r\n /** */\r\n 'cardExpirationYear': string;\r\n\r\n /** */\r\n 'cardExpiration': Date;\r\n\r\n /** */\r\n 'cardEntryMethod': string;\r\n\r\n /** */\r\n 'channel': string;\r\n\r\n /** */\r\n 'accountHolderName': string;\r\n\r\n /** */\r\n 'paymentSourceType': string;\r\n\r\n /** */\r\n 'achConfirmAccountNumber': string;\r\n\r\n /** */\r\n 'nickname': string;\r\n\r\n /** */\r\n 'address': OptionalAddress;\r\n\r\n /** */\r\n 'accountNumberMasked': string;\r\n\r\n /** */\r\n 'savePaymentSource': boolean;\r\n\r\n /** */\r\n 'saveAccountPaymentSource': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['accountType'] = data['accountType'];\r\n this['achAccountHolderType'] = data['achAccountHolderType'];\r\n this['achAccountNumber'] = data['achAccountNumber'];\r\n this['achRoutingNumber'] = data['achRoutingNumber'];\r\n this['accountNumberToken'] = data['accountNumberToken'];\r\n this['cardExpirationMonth'] = data['cardExpirationMonth'];\r\n this['cardExpirationYear'] = data['cardExpirationYear'];\r\n this['cardExpiration'] = data['cardExpiration'];\r\n this['cardEntryMethod'] = data['cardEntryMethod'];\r\n this['channel'] = data['channel'];\r\n this['accountHolderName'] = data['accountHolderName'];\r\n this['paymentSourceType'] = data['paymentSourceType'];\r\n this['achConfirmAccountNumber'] = data['achConfirmAccountNumber'];\r\n this['nickname'] = data['nickname'];\r\n this['address'] = data['address'];\r\n this['accountNumberMasked'] = data['accountNumberMasked'];\r\n this['savePaymentSource'] = data['savePaymentSource'];\r\n this['saveAccountPaymentSource'] = data['saveAccountPaymentSource'];\r\n }\r\n}\r\n\r\nexport class OnboardingConfigurationSummaryDto {\r\n /** */\r\n 'enrollInPaperlessBillingByDefault': boolean;\r\n\r\n /** */\r\n 'allowUpdatingDateToProcessAutopay': boolean;\r\n\r\n /** */\r\n 'allowVerifyPhoneNumber': boolean;\r\n\r\n /** */\r\n 'allowPaperlessBillingEnrollment': boolean;\r\n\r\n /** */\r\n 'allowAutopayEnrollment': boolean;\r\n\r\n /** */\r\n 'allowNotificationsEnrollment': boolean;\r\n\r\n /** */\r\n 'defaultProcessingLeadTime': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['enrollInPaperlessBillingByDefault'] = data['enrollInPaperlessBillingByDefault'];\r\n this['allowUpdatingDateToProcessAutopay'] = data['allowUpdatingDateToProcessAutopay'];\r\n this['allowVerifyPhoneNumber'] = data['allowVerifyPhoneNumber'];\r\n this['allowPaperlessBillingEnrollment'] = data['allowPaperlessBillingEnrollment'];\r\n this['allowAutopayEnrollment'] = data['allowAutopayEnrollment'];\r\n this['allowNotificationsEnrollment'] = data['allowNotificationsEnrollment'];\r\n this['defaultProcessingLeadTime'] = data['defaultProcessingLeadTime'];\r\n }\r\n}\r\n\r\nexport class OnboardingSessionDetailsDto {\r\n /** */\r\n 'sessionIdentifier': string;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'email': string;\r\n\r\n /** */\r\n 'firstName': string;\r\n\r\n /** */\r\n 'lastName': string;\r\n\r\n /** */\r\n 'phoneNumber': string;\r\n\r\n /** */\r\n 'uniqueAccountKey': string;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'emailSentTimestamp': Date;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'customerId': number;\r\n\r\n /** */\r\n 'customerVerified': boolean;\r\n\r\n /** */\r\n 'accountVerified': boolean;\r\n\r\n /** */\r\n 'paperlessBillingEnrollmentCompleted': boolean;\r\n\r\n /** */\r\n 'autopayEnrollmentCompleted': boolean;\r\n\r\n /** */\r\n 'notificationsEnrollmentCompleted': boolean;\r\n\r\n /** */\r\n 'phoneNumberVerified': boolean;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'slug': string;\r\n\r\n /** */\r\n 'businessUnitLogoUrl': string;\r\n\r\n /** */\r\n 'businessUnitOrganizationName': string;\r\n\r\n /** */\r\n 'businessUnitPhoneNumber': string;\r\n\r\n /** */\r\n 'businessUnitFeaturesEnableAutopayDateToProcess': boolean;\r\n\r\n /** */\r\n 'redirectUrl': string;\r\n\r\n /** */\r\n 'requirePassword': boolean;\r\n\r\n /** */\r\n 'billingAddressCollectionType': string;\r\n\r\n /** */\r\n 'phoneNumberVerificationIdentifier': string;\r\n\r\n /** */\r\n 'paperlessBillingEnabled': boolean;\r\n\r\n /** */\r\n 'autopayEnabled': boolean;\r\n\r\n /** */\r\n 'upcomingPaymentNotificationsEnabled': boolean;\r\n\r\n /** */\r\n 'billNotificationsEnabled': boolean;\r\n\r\n /** */\r\n 'smsNotificationsEnabled': boolean;\r\n\r\n /** */\r\n 'configuration': OnboardingConfigurationSummaryDto;\r\n\r\n /** */\r\n 'account': AccountOnboardingDto;\r\n\r\n /** */\r\n 'nextSession': OnboardingSessionDetailsDto;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['sessionIdentifier'] = data['sessionIdentifier'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['email'] = data['email'];\r\n this['firstName'] = data['firstName'];\r\n this['lastName'] = data['lastName'];\r\n this['phoneNumber'] = data['phoneNumber'];\r\n this['uniqueAccountKey'] = data['uniqueAccountKey'];\r\n this['status'] = data['status'];\r\n this['emailSentTimestamp'] = data['emailSentTimestamp'];\r\n this['accountId'] = data['accountId'];\r\n this['customerId'] = data['customerId'];\r\n this['customerVerified'] = data['customerVerified'];\r\n this['accountVerified'] = data['accountVerified'];\r\n this['paperlessBillingEnrollmentCompleted'] = data['paperlessBillingEnrollmentCompleted'];\r\n this['autopayEnrollmentCompleted'] = data['autopayEnrollmentCompleted'];\r\n this['notificationsEnrollmentCompleted'] = data['notificationsEnrollmentCompleted'];\r\n this['phoneNumberVerified'] = data['phoneNumberVerified'];\r\n this['id'] = data['id'];\r\n this['slug'] = data['slug'];\r\n this['businessUnitLogoUrl'] = data['businessUnitLogoUrl'];\r\n this['businessUnitOrganizationName'] = data['businessUnitOrganizationName'];\r\n this['businessUnitPhoneNumber'] = data['businessUnitPhoneNumber'];\r\n this['businessUnitFeaturesEnableAutopayDateToProcess'] = data['businessUnitFeaturesEnableAutopayDateToProcess'];\r\n this['redirectUrl'] = data['redirectUrl'];\r\n this['requirePassword'] = data['requirePassword'];\r\n this['billingAddressCollectionType'] = data['billingAddressCollectionType'];\r\n this['phoneNumberVerificationIdentifier'] = data['phoneNumberVerificationIdentifier'];\r\n this['paperlessBillingEnabled'] = data['paperlessBillingEnabled'];\r\n this['autopayEnabled'] = data['autopayEnabled'];\r\n this['upcomingPaymentNotificationsEnabled'] = data['upcomingPaymentNotificationsEnabled'];\r\n this['billNotificationsEnabled'] = data['billNotificationsEnabled'];\r\n this['smsNotificationsEnabled'] = data['smsNotificationsEnabled'];\r\n this['configuration'] = data['configuration'];\r\n this['account'] = data['account'];\r\n this['nextSession'] = data['nextSession'];\r\n }\r\n}\r\n\r\nexport class OpenCharge {\r\n /** */\r\n 'amount': number;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['amount'] = data['amount'];\r\n this['description'] = data['description'];\r\n }\r\n}\r\n\r\nexport class OpenTicketDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'title': string;\r\n\r\n /** */\r\n 'modifiedDate': Date;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['title'] = data['title'];\r\n this['modifiedDate'] = data['modifiedDate'];\r\n }\r\n}\r\n\r\nexport class OptionalAddress {\r\n /** */\r\n 'streetAddress': string;\r\n\r\n /** */\r\n 'streetAddress2': string;\r\n\r\n /** */\r\n 'city': string;\r\n\r\n /** */\r\n 'state': string;\r\n\r\n /** */\r\n 'zipCode': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['streetAddress'] = data['streetAddress'];\r\n this['streetAddress2'] = data['streetAddress2'];\r\n this['city'] = data['city'];\r\n this['state'] = data['state'];\r\n this['zipCode'] = data['zipCode'];\r\n }\r\n}\r\n\r\nexport class OrganizationGetDto {\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'slug': string;\r\n\r\n /** */\r\n 'agencyId': number;\r\n\r\n /** */\r\n 'notes': string;\r\n\r\n /** */\r\n 'paystarAccountManagerId': number;\r\n\r\n /** */\r\n 'paystarAccountManager': string;\r\n\r\n /** */\r\n 'hubSpotIdentifier': string;\r\n\r\n /** */\r\n 'hubSpotUrl': string;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['name'] = data['name'];\r\n this['slug'] = data['slug'];\r\n this['agencyId'] = data['agencyId'];\r\n this['notes'] = data['notes'];\r\n this['paystarAccountManagerId'] = data['paystarAccountManagerId'];\r\n this['paystarAccountManager'] = data['paystarAccountManager'];\r\n this['hubSpotIdentifier'] = data['hubSpotIdentifier'];\r\n this['hubSpotUrl'] = data['hubSpotUrl'];\r\n this['id'] = data['id'];\r\n }\r\n}\r\n\r\nexport class OutboundCallSummaryDto {\r\n /** */\r\n 'total': number;\r\n\r\n /** */\r\n 'answered': number;\r\n\r\n /** */\r\n 'noAnswer': number;\r\n\r\n /** */\r\n 'inProgress': number;\r\n\r\n /** */\r\n 'invalid': number;\r\n\r\n /** */\r\n 'error': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['total'] = data['total'];\r\n this['answered'] = data['answered'];\r\n this['noAnswer'] = data['noAnswer'];\r\n this['inProgress'] = data['inProgress'];\r\n this['invalid'] = data['invalid'];\r\n this['error'] = data['error'];\r\n }\r\n}\r\n\r\nexport class OutboundIvrEvent {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'referenceNumber': string;\r\n\r\n /** */\r\n 'followUpMessage': string;\r\n\r\n /** */\r\n 'followUpPhoneNumber': string;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'summaryText': string;\r\n\r\n /** */\r\n 'message': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['referenceNumber'] = data['referenceNumber'];\r\n this['followUpMessage'] = data['followUpMessage'];\r\n this['followUpPhoneNumber'] = data['followUpPhoneNumber'];\r\n this['status'] = data['status'];\r\n this['summaryText'] = data['summaryText'];\r\n this['message'] = data['message'];\r\n }\r\n}\r\n\r\nexport class OutboundIvrJobGetDto {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'referenceNumber': string;\r\n\r\n /** */\r\n 'maxAttempts': number;\r\n\r\n /** */\r\n 'message': string;\r\n\r\n /** */\r\n 'followUpMessage': string;\r\n\r\n /** */\r\n 'followUpPhoneNumber': string;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'summaryText': string;\r\n\r\n /** */\r\n 'summaryJson': string;\r\n\r\n /** */\r\n 'reportUrl': string;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['referenceNumber'] = data['referenceNumber'];\r\n this['maxAttempts'] = data['maxAttempts'];\r\n this['message'] = data['message'];\r\n this['followUpMessage'] = data['followUpMessage'];\r\n this['followUpPhoneNumber'] = data['followUpPhoneNumber'];\r\n this['status'] = data['status'];\r\n this['summaryText'] = data['summaryText'];\r\n this['summaryJson'] = data['summaryJson'];\r\n this['reportUrl'] = data['reportUrl'];\r\n this['id'] = data['id'];\r\n }\r\n}\r\n\r\nexport class OutboundIvrJobSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'createdDate': Date;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'referenceNumber': string;\r\n\r\n /** */\r\n 'message': string;\r\n\r\n /** */\r\n 'summaryText': string;\r\n\r\n /** */\r\n 'summaryJson': string;\r\n\r\n /** */\r\n 'reportUrl': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['createdDate'] = data['createdDate'];\r\n this['status'] = data['status'];\r\n this['referenceNumber'] = data['referenceNumber'];\r\n this['message'] = data['message'];\r\n this['summaryText'] = data['summaryText'];\r\n this['summaryJson'] = data['summaryJson'];\r\n this['reportUrl'] = data['reportUrl'];\r\n }\r\n}\r\n\r\nexport class OutboundWebhookPayloadDto {\r\n /** */\r\n 'payload': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['payload'] = data['payload'];\r\n }\r\n}\r\n\r\nexport class OutboundWebhookSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'url': string;\r\n\r\n /** */\r\n 'identifier': string;\r\n\r\n /** */\r\n 'initialSendDate': Date;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'attempts': number;\r\n\r\n /** */\r\n 'responseCode': string;\r\n\r\n /** */\r\n 'businessUnitName': string;\r\n\r\n /** */\r\n 'type': string;\r\n\r\n /** */\r\n 'responseContent': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['url'] = data['url'];\r\n this['identifier'] = data['identifier'];\r\n this['initialSendDate'] = data['initialSendDate'];\r\n this['status'] = data['status'];\r\n this['attempts'] = data['attempts'];\r\n this['responseCode'] = data['responseCode'];\r\n this['businessUnitName'] = data['businessUnitName'];\r\n this['type'] = data['type'];\r\n this['responseContent'] = data['responseContent'];\r\n }\r\n}\r\n\r\nexport class PaperlessBillingActivityLogDetailDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'activityType': string;\r\n\r\n /** */\r\n 'emailAddress': string;\r\n\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'modifiedByUserEmail': string;\r\n\r\n /** */\r\n 'modifiedDate': Date;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['accountId'] = data['accountId'];\r\n this['activityType'] = data['activityType'];\r\n this['emailAddress'] = data['emailAddress'];\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['modifiedByUserEmail'] = data['modifiedByUserEmail'];\r\n this['modifiedDate'] = data['modifiedDate'];\r\n }\r\n}\r\n\r\nexport class PaperlessBillingActivityLogReportDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'paidItem': string;\r\n\r\n /** */\r\n 'activityType': string;\r\n\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'accountName': string;\r\n\r\n /** */\r\n 'emailAddress': string;\r\n\r\n /** */\r\n 'modifiedByUserEmail': string;\r\n\r\n /** */\r\n 'modifiedByUserName': string;\r\n\r\n /** */\r\n 'createdByUserId': number;\r\n\r\n /** */\r\n 'modifiedByUserId': number;\r\n\r\n /** */\r\n 'deletedByUserId': number;\r\n\r\n /** */\r\n 'isDeleted': boolean;\r\n\r\n /** */\r\n 'createdDate': Date;\r\n\r\n /** */\r\n 'modifiedDate': Date;\r\n\r\n /** */\r\n 'deletedDate': Date;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['accountId'] = data['accountId'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['paidItem'] = data['paidItem'];\r\n this['activityType'] = data['activityType'];\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['accountName'] = data['accountName'];\r\n this['emailAddress'] = data['emailAddress'];\r\n this['modifiedByUserEmail'] = data['modifiedByUserEmail'];\r\n this['modifiedByUserName'] = data['modifiedByUserName'];\r\n this['createdByUserId'] = data['createdByUserId'];\r\n this['modifiedByUserId'] = data['modifiedByUserId'];\r\n this['deletedByUserId'] = data['deletedByUserId'];\r\n this['isDeleted'] = data['isDeleted'];\r\n this['createdDate'] = data['createdDate'];\r\n this['modifiedDate'] = data['modifiedDate'];\r\n this['deletedDate'] = data['deletedDate'];\r\n }\r\n}\r\n\r\nexport class PaperlessBillingEnrollmentRequest {\r\n /** */\r\n 'emailAddress': string;\r\n\r\n /** */\r\n 'activityType': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['emailAddress'] = data['emailAddress'];\r\n this['activityType'] = data['activityType'];\r\n }\r\n}\r\n\r\nexport class PaperlessBillingStatusEventPayload {\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'accountName': string;\r\n\r\n /** */\r\n 'accountEmailAddress': string;\r\n\r\n /** */\r\n 'userEmailAddress': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['accountName'] = data['accountName'];\r\n this['accountEmailAddress'] = data['accountEmailAddress'];\r\n this['userEmailAddress'] = data['userEmailAddress'];\r\n }\r\n}\r\n\r\nexport class ParseBills_Config {\r\n /** */\r\n 'billingCycleId': string;\r\n\r\n /** */\r\n 'strategy': string;\r\n\r\n /** */\r\n 'blobUrl': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['billingCycleId'] = data['billingCycleId'];\r\n this['strategy'] = data['strategy'];\r\n this['blobUrl'] = data['blobUrl'];\r\n }\r\n}\r\n\r\nexport class ParseFile_Config {\r\n /** */\r\n 'blobUrl': string;\r\n\r\n /** */\r\n 'missingAccountStrategy': string;\r\n\r\n /** */\r\n 'fieldMapConfiguration': string;\r\n\r\n /** */\r\n 'fieldOverrides': string;\r\n\r\n /** */\r\n 'overrideBadUploadProtection': boolean;\r\n\r\n /** */\r\n 'skippedAccountThreshold': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['blobUrl'] = data['blobUrl'];\r\n this['missingAccountStrategy'] = data['missingAccountStrategy'];\r\n this['fieldMapConfiguration'] = data['fieldMapConfiguration'];\r\n this['fieldOverrides'] = data['fieldOverrides'];\r\n this['overrideBadUploadProtection'] = data['overrideBadUploadProtection'];\r\n this['skippedAccountThreshold'] = data['skippedAccountThreshold'];\r\n }\r\n}\r\n\r\nexport class PayStarAchBatchSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'odfiIdentifier': string;\r\n\r\n /** */\r\n 'batchStatus': string;\r\n\r\n /** */\r\n 'merchantNumber': string;\r\n\r\n /** */\r\n 'merchantAccountId': number;\r\n\r\n /** */\r\n 'batchStartDate': Date;\r\n\r\n /** */\r\n 'batchCloseDate': Date;\r\n\r\n /** */\r\n 'batchSettleDate': Date;\r\n\r\n /** */\r\n 'nachaFileBlobUrl': string;\r\n\r\n /** */\r\n 'nachaFileGenerationDate': Date;\r\n\r\n /** */\r\n 'nachaFileSubmissionDate': Date;\r\n\r\n /** */\r\n 'nachaFileSubmissionStatus': string;\r\n\r\n /** */\r\n 'transactionCount': number;\r\n\r\n /** */\r\n 'transactionVolume': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['odfiIdentifier'] = data['odfiIdentifier'];\r\n this['batchStatus'] = data['batchStatus'];\r\n this['merchantNumber'] = data['merchantNumber'];\r\n this['merchantAccountId'] = data['merchantAccountId'];\r\n this['batchStartDate'] = data['batchStartDate'];\r\n this['batchCloseDate'] = data['batchCloseDate'];\r\n this['batchSettleDate'] = data['batchSettleDate'];\r\n this['nachaFileBlobUrl'] = data['nachaFileBlobUrl'];\r\n this['nachaFileGenerationDate'] = data['nachaFileGenerationDate'];\r\n this['nachaFileSubmissionDate'] = data['nachaFileSubmissionDate'];\r\n this['nachaFileSubmissionStatus'] = data['nachaFileSubmissionStatus'];\r\n this['transactionCount'] = data['transactionCount'];\r\n this['transactionVolume'] = data['transactionVolume'];\r\n }\r\n}\r\n\r\nexport class PayStarAchTransactionGetDto {\r\n /** */\r\n 'amount': number;\r\n\r\n /** */\r\n 'transactionDate': Date;\r\n\r\n /** */\r\n 'transactionStatus': string;\r\n\r\n /** */\r\n 'paymentGatewayConfigId': number;\r\n\r\n /** */\r\n 'merchantAccountId': number;\r\n\r\n /** */\r\n 'merchantNumber': string;\r\n\r\n /** */\r\n 'payStarAchBatchId': number;\r\n\r\n /** */\r\n 'paymentSourceId': number;\r\n\r\n /** */\r\n 'secCode': string;\r\n\r\n /** */\r\n 'clientReference': string;\r\n\r\n /** */\r\n 'returnTime': Date;\r\n\r\n /** */\r\n 'returnCode': string;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['amount'] = data['amount'];\r\n this['transactionDate'] = data['transactionDate'];\r\n this['transactionStatus'] = data['transactionStatus'];\r\n this['paymentGatewayConfigId'] = data['paymentGatewayConfigId'];\r\n this['merchantAccountId'] = data['merchantAccountId'];\r\n this['merchantNumber'] = data['merchantNumber'];\r\n this['payStarAchBatchId'] = data['payStarAchBatchId'];\r\n this['paymentSourceId'] = data['paymentSourceId'];\r\n this['secCode'] = data['secCode'];\r\n this['clientReference'] = data['clientReference'];\r\n this['returnTime'] = data['returnTime'];\r\n this['returnCode'] = data['returnCode'];\r\n this['id'] = data['id'];\r\n }\r\n}\r\n\r\nexport class PaymentChannelClientSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'channelType': string;\r\n\r\n /** */\r\n 'enabled': boolean;\r\n\r\n /** */\r\n 'allowsFreeFormPayment': boolean;\r\n\r\n /** */\r\n 'requiresMinimumOfBalance': boolean;\r\n\r\n /** */\r\n 'creditCard': PaymentChannelSourceClientSummaryDto;\r\n\r\n /** */\r\n 'ach': PaymentChannelSourceClientSummaryDto;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['channelType'] = data['channelType'];\r\n this['enabled'] = data['enabled'];\r\n this['allowsFreeFormPayment'] = data['allowsFreeFormPayment'];\r\n this['requiresMinimumOfBalance'] = data['requiresMinimumOfBalance'];\r\n this['creditCard'] = data['creditCard'];\r\n this['ach'] = data['ach'];\r\n }\r\n}\r\n\r\nexport class PaymentChannelSourceClientSummaryDto {\r\n /** */\r\n 'enabled': boolean;\r\n\r\n /** */\r\n 'paymentMerchantAccountId': number;\r\n\r\n /** */\r\n 'paymentMerchantAccount': MerchantAccountClientSummaryDto;\r\n\r\n /** */\r\n 'feeMerchantAccountId': number;\r\n\r\n /** */\r\n 'feeMerchantAccount': MerchantAccountClientSummaryDto;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['enabled'] = data['enabled'];\r\n this['paymentMerchantAccountId'] = data['paymentMerchantAccountId'];\r\n this['paymentMerchantAccount'] = data['paymentMerchantAccount'];\r\n this['feeMerchantAccountId'] = data['feeMerchantAccountId'];\r\n this['feeMerchantAccount'] = data['feeMerchantAccount'];\r\n }\r\n}\r\n\r\nexport class PaymentChannelSourceSummaryDto {\r\n /** */\r\n 'enabled': boolean;\r\n\r\n /** */\r\n 'paymentMerchantAccountId': number;\r\n\r\n /** */\r\n 'feeMerchantAccountId': number;\r\n\r\n /** */\r\n 'paymentMerchantAccount': MerchantAccountChannelSummaryDto;\r\n\r\n /** */\r\n 'feeMerchantAccount': MerchantAccountChannelSummaryDto;\r\n\r\n /** */\r\n 'tokenizer': TokenizerConfig;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['enabled'] = data['enabled'];\r\n this['paymentMerchantAccountId'] = data['paymentMerchantAccountId'];\r\n this['feeMerchantAccountId'] = data['feeMerchantAccountId'];\r\n this['paymentMerchantAccount'] = data['paymentMerchantAccount'];\r\n this['feeMerchantAccount'] = data['feeMerchantAccount'];\r\n this['tokenizer'] = data['tokenizer'];\r\n }\r\n}\r\n\r\nexport class PaymentChannelSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'channelType': string;\r\n\r\n /** */\r\n 'enabled': boolean;\r\n\r\n /** */\r\n 'allowsFreeFormPayment': boolean;\r\n\r\n /** */\r\n 'requiresMinimumOfBalance': boolean;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'creditCard': PaymentChannelSourceSummaryDto;\r\n\r\n /** */\r\n 'ach': PaymentChannelSourceSummaryDto;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['channelType'] = data['channelType'];\r\n this['enabled'] = data['enabled'];\r\n this['allowsFreeFormPayment'] = data['allowsFreeFormPayment'];\r\n this['requiresMinimumOfBalance'] = data['requiresMinimumOfBalance'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['creditCard'] = data['creditCard'];\r\n this['ach'] = data['ach'];\r\n }\r\n}\r\n\r\nexport class PaymentDetailDto {\r\n /** */\r\n 'paymentType': string;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'paymentSessionId': number;\r\n\r\n /** */\r\n 'paymentSourceId': number;\r\n\r\n /** */\r\n 'merchantAccountId': number;\r\n\r\n /** */\r\n 'paymentBatchId': number;\r\n\r\n /** */\r\n 'referenceNumber': string;\r\n\r\n /** */\r\n 'channel': string;\r\n\r\n /** */\r\n 'amount': Currency;\r\n\r\n /** */\r\n 'serviceFeeAmount': number;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'gateway': string;\r\n\r\n /** */\r\n 'accountSnapshot': string;\r\n\r\n /** */\r\n 'paymentDescriptor': string;\r\n\r\n /** */\r\n 'paymentMetaJson': string;\r\n\r\n /** */\r\n 'paymentSourceJson': string;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'createdDate': Date;\r\n\r\n /** */\r\n 'organizationId': number;\r\n\r\n /** */\r\n 'gatewayErrorMessage': string;\r\n\r\n /** */\r\n 'reversalReason': string;\r\n\r\n /** */\r\n 'canVoid': boolean;\r\n\r\n /** */\r\n 'canRefund': boolean;\r\n\r\n /** */\r\n 'createdByUserName': string;\r\n\r\n /** */\r\n 'createdByUserRole': string;\r\n\r\n /** */\r\n 'transactions': TransactionDetailDto[];\r\n\r\n /** */\r\n 'relatedPayments': PaymentSummaryDto[];\r\n\r\n /** */\r\n 'lineItems': PaymentSessionLineItemGetDto[];\r\n\r\n /** */\r\n 'accounts': AccountSummaryDto[];\r\n\r\n /** */\r\n 'isMultiAccount': boolean;\r\n\r\n /** */\r\n 'modifiedByUserEmail': string;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['paymentType'] = data['paymentType'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['paymentSessionId'] = data['paymentSessionId'];\r\n this['paymentSourceId'] = data['paymentSourceId'];\r\n this['merchantAccountId'] = data['merchantAccountId'];\r\n this['paymentBatchId'] = data['paymentBatchId'];\r\n this['referenceNumber'] = data['referenceNumber'];\r\n this['channel'] = data['channel'];\r\n this['amount'] = data['amount'];\r\n this['serviceFeeAmount'] = data['serviceFeeAmount'];\r\n this['status'] = data['status'];\r\n this['gateway'] = data['gateway'];\r\n this['accountSnapshot'] = data['accountSnapshot'];\r\n this['paymentDescriptor'] = data['paymentDescriptor'];\r\n this['paymentMetaJson'] = data['paymentMetaJson'];\r\n this['paymentSourceJson'] = data['paymentSourceJson'];\r\n this['id'] = data['id'];\r\n this['createdDate'] = data['createdDate'];\r\n this['organizationId'] = data['organizationId'];\r\n this['gatewayErrorMessage'] = data['gatewayErrorMessage'];\r\n this['reversalReason'] = data['reversalReason'];\r\n this['canVoid'] = data['canVoid'];\r\n this['canRefund'] = data['canRefund'];\r\n this['createdByUserName'] = data['createdByUserName'];\r\n this['createdByUserRole'] = data['createdByUserRole'];\r\n this['transactions'] = data['transactions'];\r\n this['relatedPayments'] = data['relatedPayments'];\r\n this['lineItems'] = data['lineItems'];\r\n this['accounts'] = data['accounts'];\r\n this['isMultiAccount'] = data['isMultiAccount'];\r\n this['modifiedByUserEmail'] = data['modifiedByUserEmail'];\r\n this['accountId'] = data['accountId'];\r\n }\r\n}\r\n\r\nexport class PaymentFieldDetailDto {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'key': string;\r\n\r\n /** */\r\n 'label': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'isDisplayField': boolean;\r\n\r\n /** */\r\n 'isRequired': boolean;\r\n\r\n /** */\r\n 'isQuickPay': boolean;\r\n\r\n /** */\r\n 'isPointOfSale': boolean;\r\n\r\n /** */\r\n 'fieldType': string;\r\n\r\n /** */\r\n 'fieldTypeOptionsJson': string;\r\n\r\n /** */\r\n 'fieldTypeOptions': object;\r\n\r\n /** */\r\n 'accountFieldMappingKey': string;\r\n\r\n /** */\r\n 'order': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['key'] = data['key'];\r\n this['label'] = data['label'];\r\n this['description'] = data['description'];\r\n this['isDisplayField'] = data['isDisplayField'];\r\n this['isRequired'] = data['isRequired'];\r\n this['isQuickPay'] = data['isQuickPay'];\r\n this['isPointOfSale'] = data['isPointOfSale'];\r\n this['fieldType'] = data['fieldType'];\r\n this['fieldTypeOptionsJson'] = data['fieldTypeOptionsJson'];\r\n this['fieldTypeOptions'] = data['fieldTypeOptions'];\r\n this['accountFieldMappingKey'] = data['accountFieldMappingKey'];\r\n this['order'] = data['order'];\r\n }\r\n}\r\n\r\nexport class PaymentFieldGetDto {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'key': string;\r\n\r\n /** */\r\n 'label': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'isDisplayField': boolean;\r\n\r\n /** */\r\n 'isRequired': boolean;\r\n\r\n /** */\r\n 'isQuickPay': boolean;\r\n\r\n /** */\r\n 'isPointOfSale': boolean;\r\n\r\n /** */\r\n 'fieldType': string;\r\n\r\n /** */\r\n 'fieldTypeOptionsJson': string;\r\n\r\n /** */\r\n 'accountFieldMappingKey': string;\r\n\r\n /** */\r\n 'order': number;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['key'] = data['key'];\r\n this['label'] = data['label'];\r\n this['description'] = data['description'];\r\n this['isDisplayField'] = data['isDisplayField'];\r\n this['isRequired'] = data['isRequired'];\r\n this['isQuickPay'] = data['isQuickPay'];\r\n this['isPointOfSale'] = data['isPointOfSale'];\r\n this['fieldType'] = data['fieldType'];\r\n this['fieldTypeOptionsJson'] = data['fieldTypeOptionsJson'];\r\n this['accountFieldMappingKey'] = data['accountFieldMappingKey'];\r\n this['order'] = data['order'];\r\n this['id'] = data['id'];\r\n }\r\n}\r\n\r\nexport class PaymentFieldItemDto {\r\n /** */\r\n 'key': string;\r\n\r\n /** */\r\n 'label': string;\r\n\r\n /** */\r\n 'value': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['key'] = data['key'];\r\n this['label'] = data['label'];\r\n this['value'] = data['value'];\r\n }\r\n}\r\n\r\nexport class PaymentGatewayConfigGetDto {\r\n /** */\r\n 'paymentGatewayType': string;\r\n\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'url': string;\r\n\r\n /** */\r\n 'username': string;\r\n\r\n /** */\r\n 'apiKey': string;\r\n\r\n /** */\r\n 'tokenizerConfigJson': string;\r\n\r\n /** */\r\n 'emvDelaySeconds': number;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['paymentGatewayType'] = data['paymentGatewayType'];\r\n this['name'] = data['name'];\r\n this['url'] = data['url'];\r\n this['username'] = data['username'];\r\n this['apiKey'] = data['apiKey'];\r\n this['tokenizerConfigJson'] = data['tokenizerConfigJson'];\r\n this['emvDelaySeconds'] = data['emvDelaySeconds'];\r\n this['id'] = data['id'];\r\n }\r\n}\r\n\r\nexport class PaymentGatewayConfigSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'paymentGatewayType': string;\r\n\r\n /** */\r\n 'url': string;\r\n\r\n /** */\r\n 'username': string;\r\n\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'tokenizerConfigJson': string;\r\n\r\n /** */\r\n 'emvDelaySeconds': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['paymentGatewayType'] = data['paymentGatewayType'];\r\n this['url'] = data['url'];\r\n this['username'] = data['username'];\r\n this['name'] = data['name'];\r\n this['tokenizerConfigJson'] = data['tokenizerConfigJson'];\r\n this['emvDelaySeconds'] = data['emvDelaySeconds'];\r\n }\r\n}\r\n\r\nexport class PaymentGatewayFundingEventSummary {\r\n /** */\r\n 'activityFound': boolean;\r\n\r\n /** */\r\n 'fundingGroupIds': string[];\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['activityFound'] = data['activityFound'];\r\n this['fundingGroupIds'] = data['fundingGroupIds'];\r\n }\r\n}\r\n\r\nexport class PaymentIntentConfig {\r\n /** */\r\n 'paymentState': string;\r\n\r\n /** */\r\n 'channel': string;\r\n\r\n /** */\r\n 'enabled': boolean;\r\n\r\n /** */\r\n 'scope': string;\r\n\r\n /** */\r\n 'organizationId': number;\r\n\r\n /** */\r\n 'organizationName': string;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'businessUnitSlug': string;\r\n\r\n /** */\r\n 'businessUnitTimezone': string;\r\n\r\n /** */\r\n 'businessUnitHeader': string;\r\n\r\n /** */\r\n 'businessUnitSubHeader': string;\r\n\r\n /** */\r\n 'businessUnitLogoUrl': string;\r\n\r\n /** */\r\n 'businessUnitMobileLogo': string;\r\n\r\n /** */\r\n 'businessUnitPrimaryColor': string;\r\n\r\n /** */\r\n 'businessUnitPhoneNumber': string;\r\n\r\n /** */\r\n 'businessUnitWebsiteUrl': string;\r\n\r\n /** */\r\n 'businessUnitAddress': Address;\r\n\r\n /** */\r\n 'businessUnitPastDueAccounts': boolean;\r\n\r\n /** */\r\n 'businessUnitAutopayEarlyBilling': boolean;\r\n\r\n /** */\r\n 'businessUnitEnableZeroValueEmbeddedCharges': boolean;\r\n\r\n /** */\r\n 'businessUnitEnableAutopayDateToProcess': boolean;\r\n\r\n /** */\r\n 'businessUnitDisplayServiceFees': boolean;\r\n\r\n /** */\r\n 'businessUnitEmbeddedMultiChargePaymentSelector': boolean;\r\n\r\n /** */\r\n 'includeServiceFeeInPayment': boolean;\r\n\r\n /** */\r\n 'currencyCode': string;\r\n\r\n /** */\r\n 'timezone': string;\r\n\r\n /** */\r\n 'openChargeEnabled': boolean;\r\n\r\n /** */\r\n 'paymentSessionLoginEnabled': boolean;\r\n\r\n /** */\r\n 'minPaymentAmount': number;\r\n\r\n /** */\r\n 'maxPaymentAmount': number;\r\n\r\n /** */\r\n 'paymentFields': PaymentFieldDetailDto[];\r\n\r\n /** */\r\n 'messages': MessageDetailDto[];\r\n\r\n /** */\r\n 'accountConfig': AccountConfig;\r\n\r\n /** */\r\n 'paymentSourceConfig': PaymentSourceConfig;\r\n\r\n /** */\r\n 'productConfig': ProductConfig;\r\n\r\n /** */\r\n 'recaptchaConfig': RecaptchaClientConfig;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['paymentState'] = data['paymentState'];\r\n this['channel'] = data['channel'];\r\n this['enabled'] = data['enabled'];\r\n this['scope'] = data['scope'];\r\n this['organizationId'] = data['organizationId'];\r\n this['organizationName'] = data['organizationName'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['businessUnitSlug'] = data['businessUnitSlug'];\r\n this['businessUnitTimezone'] = data['businessUnitTimezone'];\r\n this['businessUnitHeader'] = data['businessUnitHeader'];\r\n this['businessUnitSubHeader'] = data['businessUnitSubHeader'];\r\n this['businessUnitLogoUrl'] = data['businessUnitLogoUrl'];\r\n this['businessUnitMobileLogo'] = data['businessUnitMobileLogo'];\r\n this['businessUnitPrimaryColor'] = data['businessUnitPrimaryColor'];\r\n this['businessUnitPhoneNumber'] = data['businessUnitPhoneNumber'];\r\n this['businessUnitWebsiteUrl'] = data['businessUnitWebsiteUrl'];\r\n this['businessUnitAddress'] = data['businessUnitAddress'];\r\n this['businessUnitPastDueAccounts'] = data['businessUnitPastDueAccounts'];\r\n this['businessUnitAutopayEarlyBilling'] = data['businessUnitAutopayEarlyBilling'];\r\n this['businessUnitEnableZeroValueEmbeddedCharges'] = data['businessUnitEnableZeroValueEmbeddedCharges'];\r\n this['businessUnitEnableAutopayDateToProcess'] = data['businessUnitEnableAutopayDateToProcess'];\r\n this['businessUnitDisplayServiceFees'] = data['businessUnitDisplayServiceFees'];\r\n this['businessUnitEmbeddedMultiChargePaymentSelector'] = data['businessUnitEmbeddedMultiChargePaymentSelector'];\r\n this['includeServiceFeeInPayment'] = data['includeServiceFeeInPayment'];\r\n this['currencyCode'] = data['currencyCode'];\r\n this['timezone'] = data['timezone'];\r\n this['openChargeEnabled'] = data['openChargeEnabled'];\r\n this['paymentSessionLoginEnabled'] = data['paymentSessionLoginEnabled'];\r\n this['minPaymentAmount'] = data['minPaymentAmount'];\r\n this['maxPaymentAmount'] = data['maxPaymentAmount'];\r\n this['paymentFields'] = data['paymentFields'];\r\n this['messages'] = data['messages'];\r\n this['accountConfig'] = data['accountConfig'];\r\n this['paymentSourceConfig'] = data['paymentSourceConfig'];\r\n this['productConfig'] = data['productConfig'];\r\n this['recaptchaConfig'] = data['recaptchaConfig'];\r\n }\r\n}\r\n\r\nexport class PaymentIntentDetailDto {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'sessionIdentifier': string;\r\n\r\n /** */\r\n 'channel': string;\r\n\r\n /** */\r\n 'paymentSourceId': number;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'paymentFieldsJson': string;\r\n\r\n /** */\r\n 'clientReference': string;\r\n\r\n /** */\r\n 'successUrl': string;\r\n\r\n /** */\r\n 'returnUrl': string;\r\n\r\n /** */\r\n 'scope': string;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'organizationId': number;\r\n\r\n /** */\r\n 'lineItems': PaymentSessionLineItemGetDto[];\r\n\r\n /** */\r\n 'paymentSource': PaymentSourceSummaryDto;\r\n\r\n /** */\r\n 'accounts': AccountSummaryDto[];\r\n\r\n /** */\r\n 'isMultiAccount': boolean;\r\n\r\n /** */\r\n 'paymentFields': object;\r\n\r\n /** */\r\n 'subtotal': number;\r\n\r\n /** */\r\n 'serviceFeeCalculation': ServiceFeeCalculationDto;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['sessionIdentifier'] = data['sessionIdentifier'];\r\n this['channel'] = data['channel'];\r\n this['paymentSourceId'] = data['paymentSourceId'];\r\n this['status'] = data['status'];\r\n this['paymentFieldsJson'] = data['paymentFieldsJson'];\r\n this['clientReference'] = data['clientReference'];\r\n this['successUrl'] = data['successUrl'];\r\n this['returnUrl'] = data['returnUrl'];\r\n this['scope'] = data['scope'];\r\n this['id'] = data['id'];\r\n this['organizationId'] = data['organizationId'];\r\n this['lineItems'] = data['lineItems'];\r\n this['paymentSource'] = data['paymentSource'];\r\n this['accounts'] = data['accounts'];\r\n this['isMultiAccount'] = data['isMultiAccount'];\r\n this['paymentFields'] = data['paymentFields'];\r\n this['subtotal'] = data['subtotal'];\r\n this['serviceFeeCalculation'] = data['serviceFeeCalculation'];\r\n this['accountId'] = data['accountId'];\r\n }\r\n}\r\n\r\nexport class PaymentIntentPaymentSource {\r\n /** */\r\n 'externalIdentifier': string;\r\n\r\n /** */\r\n 'savedPaymentSourceId': number;\r\n\r\n /** */\r\n 'newPaymentSource': NewPaymentSource;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['externalIdentifier'] = data['externalIdentifier'];\r\n this['savedPaymentSourceId'] = data['savedPaymentSourceId'];\r\n this['newPaymentSource'] = data['newPaymentSource'];\r\n }\r\n}\r\n\r\nexport class PaymentIntentResultDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'identifier': string;\r\n\r\n /** */\r\n 'sessionStatus': string;\r\n\r\n /** */\r\n 'paymentDate': Date;\r\n\r\n /** */\r\n 'basePaymentId': number;\r\n\r\n /** */\r\n 'basePaymentReference': string;\r\n\r\n /** */\r\n 'basePaymentStatus': string;\r\n\r\n /** */\r\n 'basePaymentAmountMinor': number;\r\n\r\n /** */\r\n 'serviceFeeAmountMinor': number;\r\n\r\n /** */\r\n 'errorMessage': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['identifier'] = data['identifier'];\r\n this['sessionStatus'] = data['sessionStatus'];\r\n this['paymentDate'] = data['paymentDate'];\r\n this['basePaymentId'] = data['basePaymentId'];\r\n this['basePaymentReference'] = data['basePaymentReference'];\r\n this['basePaymentStatus'] = data['basePaymentStatus'];\r\n this['basePaymentAmountMinor'] = data['basePaymentAmountMinor'];\r\n this['serviceFeeAmountMinor'] = data['serviceFeeAmountMinor'];\r\n this['errorMessage'] = data['errorMessage'];\r\n }\r\n}\r\n\r\nexport class PaymentLookupDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'referenceNumber': string;\r\n\r\n /** */\r\n 'paymentDescriptor': string;\r\n\r\n /** */\r\n 'paymentMethod': string;\r\n\r\n /** */\r\n 'paymentSourceAccountNumberLast4': string;\r\n\r\n /** */\r\n 'authCode': string;\r\n\r\n /** */\r\n 'businessUnitHeader': string;\r\n\r\n /** */\r\n 'businessUnitSubHeader': string;\r\n\r\n /** */\r\n 'businessUnitLogoUrl': string;\r\n\r\n /** */\r\n 'businessUnitMobileLogoUrl': string;\r\n\r\n /** */\r\n 'paymentType': string;\r\n\r\n /** */\r\n 'amountMinor': number;\r\n\r\n /** */\r\n 'serviceFeeAmount': number;\r\n\r\n /** */\r\n 'paymentDescriptorLabel': string;\r\n\r\n /** */\r\n 'createdDate': Date;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'hasAdjustment': boolean;\r\n\r\n /** */\r\n 'redirectReferenceNumber': string;\r\n\r\n /** */\r\n 'lineItems': PaymentSessionLineItemGetDto[];\r\n\r\n /** */\r\n 'relatedPayments': PaymentSummaryDto[];\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['referenceNumber'] = data['referenceNumber'];\r\n this['paymentDescriptor'] = data['paymentDescriptor'];\r\n this['paymentMethod'] = data['paymentMethod'];\r\n this['paymentSourceAccountNumberLast4'] = data['paymentSourceAccountNumberLast4'];\r\n this['authCode'] = data['authCode'];\r\n this['businessUnitHeader'] = data['businessUnitHeader'];\r\n this['businessUnitSubHeader'] = data['businessUnitSubHeader'];\r\n this['businessUnitLogoUrl'] = data['businessUnitLogoUrl'];\r\n this['businessUnitMobileLogoUrl'] = data['businessUnitMobileLogoUrl'];\r\n this['paymentType'] = data['paymentType'];\r\n this['amountMinor'] = data['amountMinor'];\r\n this['serviceFeeAmount'] = data['serviceFeeAmount'];\r\n this['paymentDescriptorLabel'] = data['paymentDescriptorLabel'];\r\n this['createdDate'] = data['createdDate'];\r\n this['status'] = data['status'];\r\n this['hasAdjustment'] = data['hasAdjustment'];\r\n this['redirectReferenceNumber'] = data['redirectReferenceNumber'];\r\n this['lineItems'] = data['lineItems'];\r\n this['relatedPayments'] = data['relatedPayments'];\r\n }\r\n}\r\n\r\nexport class PaymentReceiptDto {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'sessionIdentifier': string;\r\n\r\n /** */\r\n 'channel': string;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'paymentSourceId': number;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'paymentFieldsJson': string;\r\n\r\n /** */\r\n 'clientReference': string;\r\n\r\n /** */\r\n 'successUrl': string;\r\n\r\n /** */\r\n 'returnUrl': string;\r\n\r\n /** */\r\n 'scope': string;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'authCode': string;\r\n\r\n /** */\r\n 'hasAdjustments': boolean;\r\n\r\n /** */\r\n 'refundAmount': Currency;\r\n\r\n /** */\r\n 'businessUnitFeaturesPaymentReceiptBarcodes': boolean;\r\n\r\n /** */\r\n 'payments': PaymentSummaryDto[];\r\n\r\n /** */\r\n 'basePayment': PaymentSummaryDto;\r\n\r\n /** */\r\n 'serviceFee': PaymentSummaryDto;\r\n\r\n /** */\r\n 'accounts': AccountSummaryDto[];\r\n\r\n /** */\r\n 'isMultiAccount': boolean;\r\n\r\n /** */\r\n 'accountFields': AccountFieldGetDto[];\r\n\r\n /** */\r\n 'lineItems': PaymentSessionLineItemGetDto[];\r\n\r\n /** */\r\n 'paymentFieldItems': PaymentFieldItemDto[];\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['sessionIdentifier'] = data['sessionIdentifier'];\r\n this['channel'] = data['channel'];\r\n this['accountId'] = data['accountId'];\r\n this['paymentSourceId'] = data['paymentSourceId'];\r\n this['status'] = data['status'];\r\n this['paymentFieldsJson'] = data['paymentFieldsJson'];\r\n this['clientReference'] = data['clientReference'];\r\n this['successUrl'] = data['successUrl'];\r\n this['returnUrl'] = data['returnUrl'];\r\n this['scope'] = data['scope'];\r\n this['id'] = data['id'];\r\n this['authCode'] = data['authCode'];\r\n this['hasAdjustments'] = data['hasAdjustments'];\r\n this['refundAmount'] = data['refundAmount'];\r\n this['businessUnitFeaturesPaymentReceiptBarcodes'] = data['businessUnitFeaturesPaymentReceiptBarcodes'];\r\n this['payments'] = data['payments'];\r\n this['basePayment'] = data['basePayment'];\r\n this['serviceFee'] = data['serviceFee'];\r\n this['accounts'] = data['accounts'];\r\n this['isMultiAccount'] = data['isMultiAccount'];\r\n this['accountFields'] = data['accountFields'];\r\n this['lineItems'] = data['lineItems'];\r\n this['paymentFieldItems'] = data['paymentFieldItems'];\r\n }\r\n}\r\n\r\nexport class PaymentSearchDto {\r\n /** */\r\n 'id': string;\r\n\r\n /** */\r\n 'referenceNumber': string;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'paymentDescriptor': string;\r\n\r\n /** */\r\n 'amount_Value': number;\r\n\r\n /** */\r\n 'createdDate': Date;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['referenceNumber'] = data['referenceNumber'];\r\n this['status'] = data['status'];\r\n this['paymentDescriptor'] = data['paymentDescriptor'];\r\n this['amount_Value'] = data['amount_Value'];\r\n this['createdDate'] = data['createdDate'];\r\n }\r\n}\r\n\r\nexport class PaymentSessionDetailDto {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'sessionIdentifier': string;\r\n\r\n /** */\r\n 'channel': string;\r\n\r\n /** */\r\n 'paymentSourceId': number;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'paymentFieldsJson': string;\r\n\r\n /** */\r\n 'clientReference': string;\r\n\r\n /** */\r\n 'successUrl': string;\r\n\r\n /** */\r\n 'returnUrl': string;\r\n\r\n /** */\r\n 'scope': string;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'accounts': AccountSummaryDto[];\r\n\r\n /** */\r\n 'isMultiAccount': boolean;\r\n\r\n /** */\r\n 'paymentSource': PaymentSourceSummaryDto;\r\n\r\n /** */\r\n 'serviceFeeCalculations': ServiceFeeCalculation;\r\n\r\n /** */\r\n 'payments': PaymentDetailDto[];\r\n\r\n /** */\r\n 'lineItems': PaymentSessionLineItemGetDto[];\r\n\r\n /** */\r\n 'basePayment': PaymentDetailDto;\r\n\r\n /** */\r\n 'serviceFee': PaymentDetailDto;\r\n\r\n /** */\r\n 'subtotal': number;\r\n\r\n /** */\r\n 'includeServiceFeeInPayment': boolean;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['sessionIdentifier'] = data['sessionIdentifier'];\r\n this['channel'] = data['channel'];\r\n this['paymentSourceId'] = data['paymentSourceId'];\r\n this['status'] = data['status'];\r\n this['paymentFieldsJson'] = data['paymentFieldsJson'];\r\n this['clientReference'] = data['clientReference'];\r\n this['successUrl'] = data['successUrl'];\r\n this['returnUrl'] = data['returnUrl'];\r\n this['scope'] = data['scope'];\r\n this['id'] = data['id'];\r\n this['accounts'] = data['accounts'];\r\n this['isMultiAccount'] = data['isMultiAccount'];\r\n this['paymentSource'] = data['paymentSource'];\r\n this['serviceFeeCalculations'] = data['serviceFeeCalculations'];\r\n this['payments'] = data['payments'];\r\n this['lineItems'] = data['lineItems'];\r\n this['basePayment'] = data['basePayment'];\r\n this['serviceFee'] = data['serviceFee'];\r\n this['subtotal'] = data['subtotal'];\r\n this['includeServiceFeeInPayment'] = data['includeServiceFeeInPayment'];\r\n this['accountId'] = data['accountId'];\r\n }\r\n}\r\n\r\nexport class PaymentSessionLineItemGetDto {\r\n /** */\r\n 'paymentSessionId': number;\r\n\r\n /** */\r\n 'lineItemType': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'price': Currency;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'productId': number;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['paymentSessionId'] = data['paymentSessionId'];\r\n this['lineItemType'] = data['lineItemType'];\r\n this['description'] = data['description'];\r\n this['price'] = data['price'];\r\n this['accountId'] = data['accountId'];\r\n this['productId'] = data['productId'];\r\n this['id'] = data['id'];\r\n }\r\n}\r\n\r\nexport class PaymentSourceConfig {\r\n /** */\r\n 'creditCard': CreditCardConfig;\r\n\r\n /** */\r\n 'ach': AchConfig;\r\n\r\n /** */\r\n 'paymentSources': PaymentSourceSummaryDto[];\r\n\r\n /** */\r\n 'accountWalletsEnabled': boolean;\r\n\r\n /** */\r\n 'paymentSourceTypes': string[];\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['creditCard'] = data['creditCard'];\r\n this['ach'] = data['ach'];\r\n this['paymentSources'] = data['paymentSources'];\r\n this['accountWalletsEnabled'] = data['accountWalletsEnabled'];\r\n this['paymentSourceTypes'] = data['paymentSourceTypes'];\r\n }\r\n}\r\n\r\nexport class PaymentSourceJsonDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'accountType': string;\r\n\r\n /** */\r\n 'paymentSourceType': string;\r\n\r\n /** */\r\n 'accountHolderName': string;\r\n\r\n /** */\r\n 'accountNumberLast4': string;\r\n\r\n /** */\r\n 'cardExpirationMonth': string;\r\n\r\n /** */\r\n 'cardExpirationYear': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['accountType'] = data['accountType'];\r\n this['paymentSourceType'] = data['paymentSourceType'];\r\n this['accountHolderName'] = data['accountHolderName'];\r\n this['accountNumberLast4'] = data['accountNumberLast4'];\r\n this['cardExpirationMonth'] = data['cardExpirationMonth'];\r\n this['cardExpirationYear'] = data['cardExpirationYear'];\r\n }\r\n}\r\n\r\nexport class PaymentSourceSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'paymentSourceType': string;\r\n\r\n /** */\r\n 'nickname': string;\r\n\r\n /** */\r\n 'accountHolderName': string;\r\n\r\n /** */\r\n 'accountNumberMasked': string;\r\n\r\n /** */\r\n 'accountNumberTokenMasked': string;\r\n\r\n /** */\r\n 'accountType': string;\r\n\r\n /** */\r\n 'achAccountHolderType': string;\r\n\r\n /** */\r\n 'cardExpirationMonth': string;\r\n\r\n /** */\r\n 'cardExpirationYear': string;\r\n\r\n /** */\r\n 'isAutopay': boolean;\r\n\r\n /** */\r\n 'address': OptionalAddress;\r\n\r\n /** */\r\n 'accountNumberLast4': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['paymentSourceType'] = data['paymentSourceType'];\r\n this['nickname'] = data['nickname'];\r\n this['accountHolderName'] = data['accountHolderName'];\r\n this['accountNumberMasked'] = data['accountNumberMasked'];\r\n this['accountNumberTokenMasked'] = data['accountNumberTokenMasked'];\r\n this['accountType'] = data['accountType'];\r\n this['achAccountHolderType'] = data['achAccountHolderType'];\r\n this['cardExpirationMonth'] = data['cardExpirationMonth'];\r\n this['cardExpirationYear'] = data['cardExpirationYear'];\r\n this['isAutopay'] = data['isAutopay'];\r\n this['address'] = data['address'];\r\n this['accountNumberLast4'] = data['accountNumberLast4'];\r\n }\r\n}\r\n\r\nexport class PaymentSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'createdDate': Date;\r\n\r\n /** */\r\n 'modifiedDate': Date;\r\n\r\n /** */\r\n 'referenceNumber': string;\r\n\r\n /** */\r\n 'createdByUserName': string;\r\n\r\n /** */\r\n 'createdByUserRole': string;\r\n\r\n /** */\r\n 'amount': Currency;\r\n\r\n /** */\r\n 'amountMinor': number;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'paymentDescriptor': string;\r\n\r\n /** */\r\n 'paymentMetaJson': string;\r\n\r\n /** */\r\n 'paymentSourceJson': string;\r\n\r\n /** */\r\n 'channel': string;\r\n\r\n /** */\r\n 'paymentType': string;\r\n\r\n /** */\r\n 'organizationName': string;\r\n\r\n /** */\r\n 'businessUnitName': string;\r\n\r\n /** */\r\n 'header': string;\r\n\r\n /** */\r\n 'subHeader': string;\r\n\r\n /** */\r\n 'paymentSource': PaymentSourceJsonDto;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['createdDate'] = data['createdDate'];\r\n this['modifiedDate'] = data['modifiedDate'];\r\n this['referenceNumber'] = data['referenceNumber'];\r\n this['createdByUserName'] = data['createdByUserName'];\r\n this['createdByUserRole'] = data['createdByUserRole'];\r\n this['amount'] = data['amount'];\r\n this['amountMinor'] = data['amountMinor'];\r\n this['status'] = data['status'];\r\n this['accountId'] = data['accountId'];\r\n this['paymentDescriptor'] = data['paymentDescriptor'];\r\n this['paymentMetaJson'] = data['paymentMetaJson'];\r\n this['paymentSourceJson'] = data['paymentSourceJson'];\r\n this['channel'] = data['channel'];\r\n this['paymentType'] = data['paymentType'];\r\n this['organizationName'] = data['organizationName'];\r\n this['businessUnitName'] = data['businessUnitName'];\r\n this['header'] = data['header'];\r\n this['subHeader'] = data['subHeader'];\r\n this['paymentSource'] = data['paymentSource'];\r\n }\r\n}\r\n\r\nexport class PaymentVoidRefundEventPayload {\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'paymentDescriptor': string;\r\n\r\n /** */\r\n 'createdByUserName': string;\r\n\r\n /** */\r\n 'amount': number;\r\n\r\n /** */\r\n 'amountFormatted': string;\r\n\r\n /** */\r\n 'channel': string;\r\n\r\n /** */\r\n 'referenceNumber': string;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'gatewayErrorMessage': string;\r\n\r\n /** */\r\n 'accountNumberLast4': string;\r\n\r\n /** */\r\n 'paymentType': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['accountId'] = data['accountId'];\r\n this['paymentDescriptor'] = data['paymentDescriptor'];\r\n this['createdByUserName'] = data['createdByUserName'];\r\n this['amount'] = data['amount'];\r\n this['amountFormatted'] = data['amountFormatted'];\r\n this['channel'] = data['channel'];\r\n this['referenceNumber'] = data['referenceNumber'];\r\n this['status'] = data['status'];\r\n this['gatewayErrorMessage'] = data['gatewayErrorMessage'];\r\n this['accountNumberLast4'] = data['accountNumberLast4'];\r\n this['paymentType'] = data['paymentType'];\r\n }\r\n}\r\n\r\nexport class PhoneVerificationIdentifierDto {\r\n /** */\r\n 'expiresAt': Date;\r\n\r\n /** */\r\n 'verificationIdentifier': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['expiresAt'] = data['expiresAt'];\r\n this['verificationIdentifier'] = data['verificationIdentifier'];\r\n }\r\n}\r\n\r\nexport class PlaidLinkTokenDto {\r\n /** */\r\n 'linkToken': string;\r\n\r\n /** */\r\n 'expiration': Date;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['linkToken'] = data['linkToken'];\r\n this['expiration'] = data['expiration'];\r\n }\r\n}\r\n\r\nexport class ProcessAccountUploadRequest {\r\n /** */\r\n 'fileName': string;\r\n\r\n /** */\r\n 'blobUrl': string;\r\n\r\n /** */\r\n 'dueDateOverride': Date;\r\n\r\n /** */\r\n 'issueDateOverride': Date;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['fileName'] = data['fileName'];\r\n this['blobUrl'] = data['blobUrl'];\r\n this['dueDateOverride'] = data['dueDateOverride'];\r\n this['issueDateOverride'] = data['issueDateOverride'];\r\n }\r\n}\r\n\r\nexport class ProcessPaymentIntentRequest {\r\n /** */\r\n 'cardCvv': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['cardCvv'] = data['cardCvv'];\r\n }\r\n}\r\n\r\nexport class ProductCharge {\r\n /** */\r\n 'productId': number;\r\n\r\n /** */\r\n 'price': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['productId'] = data['productId'];\r\n this['price'] = data['price'];\r\n }\r\n}\r\n\r\nexport class ProductConfig {\r\n /** */\r\n 'enabled': boolean;\r\n\r\n /** */\r\n 'options': ProductSummaryDto[];\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['enabled'] = data['enabled'];\r\n this['options'] = data['options'];\r\n }\r\n}\r\n\r\nexport class ProductGetDto {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'sku': string;\r\n\r\n /** */\r\n 'price': number;\r\n\r\n /** */\r\n 'allowPriceModification': boolean;\r\n\r\n /** */\r\n 'active': boolean;\r\n\r\n /** */\r\n 'required': boolean;\r\n\r\n /** */\r\n 'paymentChannel': string;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['name'] = data['name'];\r\n this['description'] = data['description'];\r\n this['sku'] = data['sku'];\r\n this['price'] = data['price'];\r\n this['allowPriceModification'] = data['allowPriceModification'];\r\n this['active'] = data['active'];\r\n this['required'] = data['required'];\r\n this['paymentChannel'] = data['paymentChannel'];\r\n this['id'] = data['id'];\r\n }\r\n}\r\n\r\nexport class ProductReportDto {\r\n /** */\r\n 'paymentId': number;\r\n\r\n /** */\r\n 'paymentReferenceNumber': string;\r\n\r\n /** */\r\n 'paymentDescriptor': string;\r\n\r\n /** */\r\n 'paymentStatus': string;\r\n\r\n /** */\r\n 'productName': string;\r\n\r\n /** */\r\n 'productPaidAmount': number;\r\n\r\n /** */\r\n 'totalPaymentAmount': number;\r\n\r\n /** */\r\n 'createdDate': Date;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['paymentId'] = data['paymentId'];\r\n this['paymentReferenceNumber'] = data['paymentReferenceNumber'];\r\n this['paymentDescriptor'] = data['paymentDescriptor'];\r\n this['paymentStatus'] = data['paymentStatus'];\r\n this['productName'] = data['productName'];\r\n this['productPaidAmount'] = data['productPaidAmount'];\r\n this['totalPaymentAmount'] = data['totalPaymentAmount'];\r\n this['createdDate'] = data['createdDate'];\r\n }\r\n}\r\n\r\nexport class ProductSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'sku': string;\r\n\r\n /** */\r\n 'price': number;\r\n\r\n /** */\r\n 'allowPriceModification': boolean;\r\n\r\n /** */\r\n 'active': boolean;\r\n\r\n /** */\r\n 'required': boolean;\r\n\r\n /** */\r\n 'paymentChannel': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['name'] = data['name'];\r\n this['description'] = data['description'];\r\n this['sku'] = data['sku'];\r\n this['price'] = data['price'];\r\n this['allowPriceModification'] = data['allowPriceModification'];\r\n this['active'] = data['active'];\r\n this['required'] = data['required'];\r\n this['paymentChannel'] = data['paymentChannel'];\r\n }\r\n}\r\n\r\nexport class ReadingsFileUploadedEventPayload {\r\n /** */\r\n 'blobUrl': string;\r\n\r\n /** */\r\n 'downloadBlobUrl': string;\r\n\r\n /** */\r\n 'userEmail': string;\r\n\r\n /** */\r\n 'fileName': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['blobUrl'] = data['blobUrl'];\r\n this['downloadBlobUrl'] = data['downloadBlobUrl'];\r\n this['userEmail'] = data['userEmail'];\r\n this['fileName'] = data['fileName'];\r\n }\r\n}\r\n\r\nexport class ReadingsSyncLogSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'type': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'metaJson': string;\r\n\r\n /** */\r\n 'eventDate': Date;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['type'] = data['type'];\r\n this['description'] = data['description'];\r\n this['metaJson'] = data['metaJson'];\r\n this['eventDate'] = data['eventDate'];\r\n }\r\n}\r\n\r\nexport class RecaptchaClientConfig {\r\n /** */\r\n 'enabled': boolean;\r\n\r\n /** */\r\n 'siteKey': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['enabled'] = data['enabled'];\r\n this['siteKey'] = data['siteKey'];\r\n }\r\n}\r\n\r\nexport class ReceiptEmailLogDto {\r\n /** */\r\n 'sender': string;\r\n\r\n /** */\r\n 'toEmail': string;\r\n\r\n /** */\r\n 'createdDate': Date;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['sender'] = data['sender'];\r\n this['toEmail'] = data['toEmail'];\r\n this['createdDate'] = data['createdDate'];\r\n this['status'] = data['status'];\r\n }\r\n}\r\n\r\nexport class RefundPaymentRequest {\r\n /** */\r\n 'paymentId': number;\r\n\r\n /** */\r\n 'amount': number;\r\n\r\n /** */\r\n 'newBalance': number;\r\n\r\n /** */\r\n 'reason': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['paymentId'] = data['paymentId'];\r\n this['amount'] = data['amount'];\r\n this['newBalance'] = data['newBalance'];\r\n this['reason'] = data['reason'];\r\n }\r\n}\r\n\r\nexport class RemoveBillingCycleInsertRequest {\r\n /** */\r\n 'billingCycleId': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['billingCycleId'] = data['billingCycleId'];\r\n }\r\n}\r\n\r\nexport class ScheduleManualJobRequest {\r\n /** */\r\n 'executionContext': object;\r\n\r\n /** */\r\n 'runOnDateUtc': Date;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['executionContext'] = data['executionContext'];\r\n this['runOnDateUtc'] = data['runOnDateUtc'];\r\n }\r\n}\r\n\r\nexport class ScheduledPaymentCustomerSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'customerId': number;\r\n\r\n /** */\r\n 'dateToProcess': Date;\r\n\r\n /** */\r\n 'dateToProcessLocal': string;\r\n\r\n /** */\r\n 'paymentAmountMinor': number;\r\n\r\n /** */\r\n 'schedulingStatus': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['accountId'] = data['accountId'];\r\n this['customerId'] = data['customerId'];\r\n this['dateToProcess'] = data['dateToProcess'];\r\n this['dateToProcessLocal'] = data['dateToProcessLocal'];\r\n this['paymentAmountMinor'] = data['paymentAmountMinor'];\r\n this['schedulingStatus'] = data['schedulingStatus'];\r\n }\r\n}\r\n\r\nexport class ScheduledPaymentDetailDto {\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'customerId': number;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'paymentSourceId': number;\r\n\r\n /** */\r\n 'paymentAmountMinor': number;\r\n\r\n /** */\r\n 'dateToProcess': Date;\r\n\r\n /** */\r\n 'dateToProcessLocal': string;\r\n\r\n /** */\r\n 'schedulingType': string;\r\n\r\n /** */\r\n 'schedulingStatus': string;\r\n\r\n /** */\r\n 'schedulingMessage': string;\r\n\r\n /** */\r\n 'idempotencyKey': string;\r\n\r\n /** */\r\n 'customerNotified': boolean;\r\n\r\n /** */\r\n 'paymentId': number;\r\n\r\n /** */\r\n 'autopaySettingsId': number;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'customerName': string;\r\n\r\n /** */\r\n 'customerEmail': string;\r\n\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'accountName': string;\r\n\r\n /** */\r\n 'paymentSourceType': string;\r\n\r\n /** */\r\n 'paymentSourceAccountType': string;\r\n\r\n /** */\r\n 'paymentSourceAccountNumberMasked': string;\r\n\r\n /** */\r\n 'autopayActivityLogMetaJson': string;\r\n\r\n /** */\r\n 'paymentDetail': PaymentDetailDto;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['accountId'] = data['accountId'];\r\n this['customerId'] = data['customerId'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['paymentSourceId'] = data['paymentSourceId'];\r\n this['paymentAmountMinor'] = data['paymentAmountMinor'];\r\n this['dateToProcess'] = data['dateToProcess'];\r\n this['dateToProcessLocal'] = data['dateToProcessLocal'];\r\n this['schedulingType'] = data['schedulingType'];\r\n this['schedulingStatus'] = data['schedulingStatus'];\r\n this['schedulingMessage'] = data['schedulingMessage'];\r\n this['idempotencyKey'] = data['idempotencyKey'];\r\n this['customerNotified'] = data['customerNotified'];\r\n this['paymentId'] = data['paymentId'];\r\n this['autopaySettingsId'] = data['autopaySettingsId'];\r\n this['id'] = data['id'];\r\n this['customerName'] = data['customerName'];\r\n this['customerEmail'] = data['customerEmail'];\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['accountName'] = data['accountName'];\r\n this['paymentSourceType'] = data['paymentSourceType'];\r\n this['paymentSourceAccountType'] = data['paymentSourceAccountType'];\r\n this['paymentSourceAccountNumberMasked'] = data['paymentSourceAccountNumberMasked'];\r\n this['autopayActivityLogMetaJson'] = data['autopayActivityLogMetaJson'];\r\n this['paymentDetail'] = data['paymentDetail'];\r\n }\r\n}\r\n\r\nexport class ScheduledPaymentSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'customerId': number;\r\n\r\n /** */\r\n 'dateToProcess': Date;\r\n\r\n /** */\r\n 'dateToProcessLocal': string;\r\n\r\n /** */\r\n 'scheduledPaymentType': string;\r\n\r\n /** */\r\n 'schedulingStatus': string;\r\n\r\n /** */\r\n 'schedulingMessage': string;\r\n\r\n /** */\r\n 'paymentAmountMinor': number;\r\n\r\n /** */\r\n 'customerNotified': boolean;\r\n\r\n /** */\r\n 'paymentId': number;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'customerName': string;\r\n\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'accountName': string;\r\n\r\n /** */\r\n 'enrollmentType': string;\r\n\r\n /** */\r\n 'accountBalanceMinor': number;\r\n\r\n /** */\r\n 'accountDueDate': Date;\r\n\r\n /** */\r\n 'accountSyncDate': Date;\r\n\r\n /** */\r\n 'paymentSourceType': string;\r\n\r\n /** */\r\n 'paymentSourceAccountNumberMasked': string;\r\n\r\n /** */\r\n 'paymentStatus': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['accountId'] = data['accountId'];\r\n this['customerId'] = data['customerId'];\r\n this['dateToProcess'] = data['dateToProcess'];\r\n this['dateToProcessLocal'] = data['dateToProcessLocal'];\r\n this['scheduledPaymentType'] = data['scheduledPaymentType'];\r\n this['schedulingStatus'] = data['schedulingStatus'];\r\n this['schedulingMessage'] = data['schedulingMessage'];\r\n this['paymentAmountMinor'] = data['paymentAmountMinor'];\r\n this['customerNotified'] = data['customerNotified'];\r\n this['paymentId'] = data['paymentId'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['customerName'] = data['customerName'];\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['accountName'] = data['accountName'];\r\n this['enrollmentType'] = data['enrollmentType'];\r\n this['accountBalanceMinor'] = data['accountBalanceMinor'];\r\n this['accountDueDate'] = data['accountDueDate'];\r\n this['accountSyncDate'] = data['accountSyncDate'];\r\n this['paymentSourceType'] = data['paymentSourceType'];\r\n this['paymentSourceAccountNumberMasked'] = data['paymentSourceAccountNumberMasked'];\r\n this['paymentStatus'] = data['paymentStatus'];\r\n }\r\n}\r\n\r\nexport class ScheduledPaymentsStats {\r\n /** */\r\n 'stagedCount': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['stagedCount'] = data['stagedCount'];\r\n }\r\n}\r\n\r\nexport class SearchResponse {\r\n /** */\r\n 'accountSummaries': AccountSearchDto[];\r\n\r\n /** */\r\n 'paymentSummaries': PaymentSearchDto[];\r\n\r\n /** */\r\n 'customerSummaries': CustomerSearchDto[];\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['accountSummaries'] = data['accountSummaries'];\r\n this['paymentSummaries'] = data['paymentSummaries'];\r\n this['customerSummaries'] = data['customerSummaries'];\r\n }\r\n}\r\n\r\nexport class SendClientEmailRequest {\r\n /** */\r\n 'message': string;\r\n\r\n /** */\r\n 'ticketId': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['message'] = data['message'];\r\n this['ticketId'] = data['ticketId'];\r\n }\r\n}\r\n\r\nexport class SendEmail_Config {\r\n /** */\r\n 'toEmail': string;\r\n\r\n /** */\r\n 'emailDataHeader': string;\r\n\r\n /** */\r\n 'emailDataSubject': string;\r\n\r\n /** */\r\n 'emailDataBody': string;\r\n\r\n /** */\r\n 'emailDataLinkUrl': string;\r\n\r\n /** */\r\n 'emailDataLinkText': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['toEmail'] = data['toEmail'];\r\n this['emailDataHeader'] = data['emailDataHeader'];\r\n this['emailDataSubject'] = data['emailDataSubject'];\r\n this['emailDataBody'] = data['emailDataBody'];\r\n this['emailDataLinkUrl'] = data['emailDataLinkUrl'];\r\n this['emailDataLinkText'] = data['emailDataLinkText'];\r\n }\r\n}\r\n\r\nexport class SendPaymentReceiptRequest {\r\n /** */\r\n 'emailAddress': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['emailAddress'] = data['emailAddress'];\r\n }\r\n}\r\n\r\nexport class SendWebhook_Config {\r\n /** */\r\n 'url': string;\r\n\r\n /** */\r\n 'hmacSha1Secret': string;\r\n\r\n /** */\r\n 'payload': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['url'] = data['url'];\r\n this['hmacSha1Secret'] = data['hmacSha1Secret'];\r\n this['payload'] = data['payload'];\r\n }\r\n}\r\n\r\nexport class ServiceFeeCalculation {\r\n /** */\r\n 'flatFee': number;\r\n\r\n /** */\r\n 'percentageFee': number;\r\n\r\n /** */\r\n 'totalFee': number;\r\n\r\n /** */\r\n 'tier': ServiceFeeTierGetDto;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['flatFee'] = data['flatFee'];\r\n this['percentageFee'] = data['percentageFee'];\r\n this['totalFee'] = data['totalFee'];\r\n this['tier'] = data['tier'];\r\n }\r\n}\r\n\r\nexport class ServiceFeeCalculationDto {\r\n /** */\r\n 'tier': ServiceFeeTierGetDto;\r\n\r\n /** */\r\n 'amount': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['tier'] = data['tier'];\r\n this['amount'] = data['amount'];\r\n }\r\n}\r\n\r\nexport class ServiceFeeTierGetDto {\r\n /** */\r\n 'paymentChannel': string;\r\n\r\n /** */\r\n 'paymentSourceType': string;\r\n\r\n /** */\r\n 'startRange': number;\r\n\r\n /** */\r\n 'endRange': number;\r\n\r\n /** */\r\n 'flatFee': number;\r\n\r\n /** */\r\n 'percentageFee': number;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['paymentChannel'] = data['paymentChannel'];\r\n this['paymentSourceType'] = data['paymentSourceType'];\r\n this['startRange'] = data['startRange'];\r\n this['endRange'] = data['endRange'];\r\n this['flatFee'] = data['flatFee'];\r\n this['percentageFee'] = data['percentageFee'];\r\n this['id'] = data['id'];\r\n }\r\n}\r\n\r\nexport class ServiceFeeTierSyncDto {\r\n /** */\r\n 'paymentChannel': string;\r\n\r\n /** */\r\n 'paymentSourceType': string;\r\n\r\n /** */\r\n 'startRange': number;\r\n\r\n /** */\r\n 'endRange': number;\r\n\r\n /** */\r\n 'flatFee': number;\r\n\r\n /** */\r\n 'percentageFee': number;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['paymentChannel'] = data['paymentChannel'];\r\n this['paymentSourceType'] = data['paymentSourceType'];\r\n this['startRange'] = data['startRange'];\r\n this['endRange'] = data['endRange'];\r\n this['flatFee'] = data['flatFee'];\r\n this['percentageFee'] = data['percentageFee'];\r\n this['id'] = data['id'];\r\n }\r\n}\r\n\r\nexport class SettingSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'key': string;\r\n\r\n /** */\r\n 'value': string;\r\n\r\n /** */\r\n 'type': string;\r\n\r\n /** */\r\n 'enum': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['key'] = data['key'];\r\n this['value'] = data['value'];\r\n this['type'] = data['type'];\r\n this['enum'] = data['enum'];\r\n }\r\n}\r\n\r\nexport class SmsLogDetailDto {\r\n /** */\r\n 'messageIdentifier': string;\r\n\r\n /** */\r\n 'messageBody': string;\r\n\r\n /** */\r\n 'fromNumber': string;\r\n\r\n /** */\r\n 'recipientNumber': string;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'userId': number;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'createdDate': Date;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['messageIdentifier'] = data['messageIdentifier'];\r\n this['messageBody'] = data['messageBody'];\r\n this['fromNumber'] = data['fromNumber'];\r\n this['recipientNumber'] = data['recipientNumber'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['userId'] = data['userId'];\r\n this['status'] = data['status'];\r\n this['id'] = data['id'];\r\n this['createdDate'] = data['createdDate'];\r\n }\r\n}\r\n\r\nexport class StageImportedAccounts_Config {\r\n /** */\r\n 'blobUrl': string;\r\n\r\n /** */\r\n 'aggregateAccounts': boolean;\r\n\r\n /** */\r\n 'skippedAccountThreshold': number;\r\n\r\n /** */\r\n 'duplicateAccountStrategy': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['blobUrl'] = data['blobUrl'];\r\n this['aggregateAccounts'] = data['aggregateAccounts'];\r\n this['skippedAccountThreshold'] = data['skippedAccountThreshold'];\r\n this['duplicateAccountStrategy'] = data['duplicateAccountStrategy'];\r\n }\r\n}\r\n\r\nexport class SubmitFormRequest {\r\n /** */\r\n 'valuesJson': string;\r\n\r\n /** */\r\n 'customerId': number;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'paymentSessionSessionIdentifier': string;\r\n\r\n /** */\r\n 'baseFormResponseId': number;\r\n\r\n /** */\r\n 'isDependentForm': boolean;\r\n\r\n /** */\r\n 'dependentFormResponses': DependentFormResponseDto[];\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['valuesJson'] = data['valuesJson'];\r\n this['customerId'] = data['customerId'];\r\n this['accountId'] = data['accountId'];\r\n this['paymentSessionSessionIdentifier'] = data['paymentSessionSessionIdentifier'];\r\n this['baseFormResponseId'] = data['baseFormResponseId'];\r\n this['isDependentForm'] = data['isDependentForm'];\r\n this['dependentFormResponses'] = data['dependentFormResponses'];\r\n }\r\n}\r\n\r\nexport class SubmitFormResponse {\r\n /** */\r\n 'formResponseIdentifier': string;\r\n\r\n /** */\r\n 'formConfigurationId': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['formResponseIdentifier'] = data['formResponseIdentifier'];\r\n this['formConfigurationId'] = data['formConfigurationId'];\r\n }\r\n}\r\n\r\nexport class SyncStagedAccounts_Config {\r\n /** */\r\n 'importSource': string;\r\n\r\n /** */\r\n 'missingAccountStrategy': string;\r\n\r\n /** */\r\n 'overrideBadUploadProtection': boolean;\r\n\r\n /** */\r\n 'optimizeSync': boolean;\r\n\r\n /** */\r\n 'minimumRecordCount': number;\r\n\r\n /** */\r\n 'updateConfiguration': SyncStagedAccounts_UpdateConfiguration;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['importSource'] = data['importSource'];\r\n this['missingAccountStrategy'] = data['missingAccountStrategy'];\r\n this['overrideBadUploadProtection'] = data['overrideBadUploadProtection'];\r\n this['optimizeSync'] = data['optimizeSync'];\r\n this['minimumRecordCount'] = data['minimumRecordCount'];\r\n this['updateConfiguration'] = data['updateConfiguration'];\r\n }\r\n}\r\n\r\nexport class SyncStagedAccounts_UpdateConfiguration {\r\n /** */\r\n 'skippedFields': string[];\r\n\r\n /** */\r\n 'includedFields': string[];\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['skippedFields'] = data['skippedFields'];\r\n this['includedFields'] = data['includedFields'];\r\n }\r\n}\r\n\r\nexport class SynchronizeServiceFeeTiersRequest {\r\n /** */\r\n 'reasonForConfigChange': string;\r\n\r\n /** */\r\n 'removeAllServiceFees': boolean;\r\n\r\n /** */\r\n 'serviceFeeTiers': ServiceFeeTierSyncDto[];\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['reasonForConfigChange'] = data['reasonForConfigChange'];\r\n this['removeAllServiceFees'] = data['removeAllServiceFees'];\r\n this['serviceFeeTiers'] = data['serviceFeeTiers'];\r\n }\r\n}\r\n\r\nexport class TermsOfServiceDetailDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'acknowledgementType': string;\r\n\r\n /** */\r\n 'identifier': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'terms': string;\r\n\r\n /** */\r\n 'version': number;\r\n\r\n /** */\r\n 'isDraft': boolean;\r\n\r\n /** */\r\n 'isDefault': boolean;\r\n\r\n /** */\r\n 'publishedByUserName': string;\r\n\r\n /** */\r\n 'createdByUserName': string;\r\n\r\n /** */\r\n 'lastModifiedByUserName': string;\r\n\r\n /** */\r\n 'createdDate': Date;\r\n\r\n /** */\r\n 'modifiedDate': Date;\r\n\r\n /** */\r\n 'publishedDate': Date;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['acknowledgementType'] = data['acknowledgementType'];\r\n this['identifier'] = data['identifier'];\r\n this['description'] = data['description'];\r\n this['terms'] = data['terms'];\r\n this['version'] = data['version'];\r\n this['isDraft'] = data['isDraft'];\r\n this['isDefault'] = data['isDefault'];\r\n this['publishedByUserName'] = data['publishedByUserName'];\r\n this['createdByUserName'] = data['createdByUserName'];\r\n this['lastModifiedByUserName'] = data['lastModifiedByUserName'];\r\n this['createdDate'] = data['createdDate'];\r\n this['modifiedDate'] = data['modifiedDate'];\r\n this['publishedDate'] = data['publishedDate'];\r\n }\r\n}\r\n\r\nexport class TermsOfServiceGetDto {\r\n /** */\r\n 'acknowledgementType': string;\r\n\r\n /** */\r\n 'identifier': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'terms': string;\r\n\r\n /** */\r\n 'isDefault': boolean;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'version': number;\r\n\r\n /** */\r\n 'isDraft': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['acknowledgementType'] = data['acknowledgementType'];\r\n this['identifier'] = data['identifier'];\r\n this['description'] = data['description'];\r\n this['terms'] = data['terms'];\r\n this['isDefault'] = data['isDefault'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['id'] = data['id'];\r\n this['version'] = data['version'];\r\n this['isDraft'] = data['isDraft'];\r\n }\r\n}\r\n\r\nexport class TicketCreatedEventPayload {\r\n /** */\r\n 'title': string;\r\n\r\n /** */\r\n 'assignedUser': string;\r\n\r\n /** */\r\n 'assignedUserEmail': string;\r\n\r\n /** */\r\n 'category': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'businessUnitHeader': string;\r\n\r\n /** */\r\n 'businessUnitSubHeader': string;\r\n\r\n /** */\r\n 'ticketUrl': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['title'] = data['title'];\r\n this['assignedUser'] = data['assignedUser'];\r\n this['assignedUserEmail'] = data['assignedUserEmail'];\r\n this['category'] = data['category'];\r\n this['description'] = data['description'];\r\n this['status'] = data['status'];\r\n this['businessUnitHeader'] = data['businessUnitHeader'];\r\n this['businessUnitSubHeader'] = data['businessUnitSubHeader'];\r\n this['ticketUrl'] = data['ticketUrl'];\r\n }\r\n}\r\n\r\nexport class TicketDetailDto {\r\n /** */\r\n 'title': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'category': string;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'metaJson': string;\r\n\r\n /** */\r\n 'assignedUserId': number;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'jobId': number;\r\n\r\n /** */\r\n 'referenceNumber': string;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'businessUnitHeader': string;\r\n\r\n /** */\r\n 'businessUnitSubHeader': string;\r\n\r\n /** */\r\n 'businessUnitSlug': string;\r\n\r\n /** */\r\n 'assignedUser': UserGetDto;\r\n\r\n /** */\r\n 'createdDate': Date;\r\n\r\n /** */\r\n 'modifiedDate': Date;\r\n\r\n /** */\r\n 'followerIds': number[];\r\n\r\n /** */\r\n 'paystarAccountManager': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['title'] = data['title'];\r\n this['description'] = data['description'];\r\n this['category'] = data['category'];\r\n this['status'] = data['status'];\r\n this['metaJson'] = data['metaJson'];\r\n this['assignedUserId'] = data['assignedUserId'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['jobId'] = data['jobId'];\r\n this['referenceNumber'] = data['referenceNumber'];\r\n this['id'] = data['id'];\r\n this['businessUnitHeader'] = data['businessUnitHeader'];\r\n this['businessUnitSubHeader'] = data['businessUnitSubHeader'];\r\n this['businessUnitSlug'] = data['businessUnitSlug'];\r\n this['assignedUser'] = data['assignedUser'];\r\n this['createdDate'] = data['createdDate'];\r\n this['modifiedDate'] = data['modifiedDate'];\r\n this['followerIds'] = data['followerIds'];\r\n this['paystarAccountManager'] = data['paystarAccountManager'];\r\n }\r\n}\r\n\r\nexport class TicketEventGetDto {\r\n /** */\r\n 'ticketId': number;\r\n\r\n /** */\r\n 'eventType': string;\r\n\r\n /** */\r\n 'text': string;\r\n\r\n /** */\r\n 'metaJson': string;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['ticketId'] = data['ticketId'];\r\n this['eventType'] = data['eventType'];\r\n this['text'] = data['text'];\r\n this['metaJson'] = data['metaJson'];\r\n this['id'] = data['id'];\r\n }\r\n}\r\n\r\nexport class TicketEventSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'eventType': string;\r\n\r\n /** */\r\n 'text': string;\r\n\r\n /** */\r\n 'metaJson': string;\r\n\r\n /** */\r\n 'createdDate': Date;\r\n\r\n /** */\r\n 'createdByUserName': string;\r\n\r\n /** */\r\n 'createdByUserRole': string;\r\n\r\n /** */\r\n 'ticketId': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['eventType'] = data['eventType'];\r\n this['text'] = data['text'];\r\n this['metaJson'] = data['metaJson'];\r\n this['createdDate'] = data['createdDate'];\r\n this['createdByUserName'] = data['createdByUserName'];\r\n this['createdByUserRole'] = data['createdByUserRole'];\r\n this['ticketId'] = data['ticketId'];\r\n }\r\n}\r\n\r\nexport class TicketGetDto {\r\n /** */\r\n 'title': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'category': string;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'metaJson': string;\r\n\r\n /** */\r\n 'assignedUserId': number;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'jobId': number;\r\n\r\n /** */\r\n 'referenceNumber': string;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['title'] = data['title'];\r\n this['description'] = data['description'];\r\n this['category'] = data['category'];\r\n this['status'] = data['status'];\r\n this['metaJson'] = data['metaJson'];\r\n this['assignedUserId'] = data['assignedUserId'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['jobId'] = data['jobId'];\r\n this['referenceNumber'] = data['referenceNumber'];\r\n this['id'] = data['id'];\r\n }\r\n}\r\n\r\nexport class TicketSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'title': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'businessUnit': string;\r\n\r\n /** */\r\n 'organization': string;\r\n\r\n /** */\r\n 'category': string;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'modifiedDate': Date;\r\n\r\n /** */\r\n 'createdDate': Date;\r\n\r\n /** */\r\n 'assignedUserName': string;\r\n\r\n /** */\r\n 'paystarAccountManager': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['title'] = data['title'];\r\n this['description'] = data['description'];\r\n this['businessUnit'] = data['businessUnit'];\r\n this['organization'] = data['organization'];\r\n this['category'] = data['category'];\r\n this['status'] = data['status'];\r\n this['modifiedDate'] = data['modifiedDate'];\r\n this['createdDate'] = data['createdDate'];\r\n this['assignedUserName'] = data['assignedUserName'];\r\n this['paystarAccountManager'] = data['paystarAccountManager'];\r\n }\r\n}\r\n\r\nexport class TimeSpan {\r\n /** */\r\n 'ticks': number;\r\n\r\n /** */\r\n 'days': number;\r\n\r\n /** */\r\n 'hours': number;\r\n\r\n /** */\r\n 'milliseconds': number;\r\n\r\n /** */\r\n 'minutes': number;\r\n\r\n /** */\r\n 'seconds': number;\r\n\r\n /** */\r\n 'totalDays': number;\r\n\r\n /** */\r\n 'totalHours': number;\r\n\r\n /** */\r\n 'totalMilliseconds': number;\r\n\r\n /** */\r\n 'totalMinutes': number;\r\n\r\n /** */\r\n 'totalSeconds': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['ticks'] = data['ticks'];\r\n this['days'] = data['days'];\r\n this['hours'] = data['hours'];\r\n this['milliseconds'] = data['milliseconds'];\r\n this['minutes'] = data['minutes'];\r\n this['seconds'] = data['seconds'];\r\n this['totalDays'] = data['totalDays'];\r\n this['totalHours'] = data['totalHours'];\r\n this['totalMilliseconds'] = data['totalMilliseconds'];\r\n this['totalMinutes'] = data['totalMinutes'];\r\n this['totalSeconds'] = data['totalSeconds'];\r\n }\r\n}\r\n\r\nexport class TokenizerConfig {\r\n /** */\r\n 'strategy': string;\r\n\r\n /** */\r\n 'properties': object;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['strategy'] = data['strategy'];\r\n this['properties'] = data['properties'];\r\n }\r\n}\r\n\r\nexport class TransactionBatchAggregate {\r\n /** */\r\n 'merchantConfigId': number;\r\n\r\n /** */\r\n 'transactionBatchStartInclusive': Date;\r\n\r\n /** */\r\n 'transactionBatchEndExclusive': Date;\r\n\r\n /** */\r\n 'transactionCount': number;\r\n\r\n /** */\r\n 'paymentCount': number;\r\n\r\n /** */\r\n 'transactionNetMinor': number;\r\n\r\n /** */\r\n 'transactionSalesMinor': number;\r\n\r\n /** */\r\n 'transactionRefundsMinor': number;\r\n\r\n /** */\r\n 'merchantConfigName': string;\r\n\r\n /** */\r\n 'merchantNumber': string;\r\n\r\n /** */\r\n 'paymentSourceType': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['merchantConfigId'] = data['merchantConfigId'];\r\n this['transactionBatchStartInclusive'] = data['transactionBatchStartInclusive'];\r\n this['transactionBatchEndExclusive'] = data['transactionBatchEndExclusive'];\r\n this['transactionCount'] = data['transactionCount'];\r\n this['paymentCount'] = data['paymentCount'];\r\n this['transactionNetMinor'] = data['transactionNetMinor'];\r\n this['transactionSalesMinor'] = data['transactionSalesMinor'];\r\n this['transactionRefundsMinor'] = data['transactionRefundsMinor'];\r\n this['merchantConfigName'] = data['merchantConfigName'];\r\n this['merchantNumber'] = data['merchantNumber'];\r\n this['paymentSourceType'] = data['paymentSourceType'];\r\n }\r\n}\r\n\r\nexport class TransactionBatchAggregateV2 {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'merchantAccountId': number;\r\n\r\n /** */\r\n 'merchantNumber': string;\r\n\r\n /** */\r\n 'processorId': string;\r\n\r\n /** */\r\n 'paymentSourceType': string;\r\n\r\n /** */\r\n 'batchIdentifier': string;\r\n\r\n /** */\r\n 'rawBatchIdentifier': string;\r\n\r\n /** */\r\n 'potentialMissedBatchClose': boolean;\r\n\r\n /** */\r\n 'transactionCount': number;\r\n\r\n /** */\r\n 'transactionNetMinor': number;\r\n\r\n /** */\r\n 'transactionSalesMinor': number;\r\n\r\n /** */\r\n 'transactionRefundsMinor': number;\r\n\r\n /** */\r\n 'firstTransaction': Date;\r\n\r\n /** */\r\n 'lastTransaction': Date;\r\n\r\n /** */\r\n 'expectedBatchSettlement': Date;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['merchantAccountId'] = data['merchantAccountId'];\r\n this['merchantNumber'] = data['merchantNumber'];\r\n this['processorId'] = data['processorId'];\r\n this['paymentSourceType'] = data['paymentSourceType'];\r\n this['batchIdentifier'] = data['batchIdentifier'];\r\n this['rawBatchIdentifier'] = data['rawBatchIdentifier'];\r\n this['potentialMissedBatchClose'] = data['potentialMissedBatchClose'];\r\n this['transactionCount'] = data['transactionCount'];\r\n this['transactionNetMinor'] = data['transactionNetMinor'];\r\n this['transactionSalesMinor'] = data['transactionSalesMinor'];\r\n this['transactionRefundsMinor'] = data['transactionRefundsMinor'];\r\n this['firstTransaction'] = data['firstTransaction'];\r\n this['lastTransaction'] = data['lastTransaction'];\r\n this['expectedBatchSettlement'] = data['expectedBatchSettlement'];\r\n }\r\n}\r\n\r\nexport class TransactionDetailDto {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'paymentId': number;\r\n\r\n /** */\r\n 'merchantId': string;\r\n\r\n /** */\r\n 'expectedSettlementDate': Date;\r\n\r\n /** */\r\n 'authCode': string;\r\n\r\n /** */\r\n 'type': string;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'amount': Currency;\r\n\r\n /** */\r\n 'referenceNumber': string;\r\n\r\n /** */\r\n 'batchIdentifier': string;\r\n\r\n /** */\r\n 'errorMessage': string;\r\n\r\n /** */\r\n 'gatewayResponseCode': string;\r\n\r\n /** */\r\n 'gatewayResponseDescription': string;\r\n\r\n /** */\r\n 'success': boolean;\r\n\r\n /** */\r\n 'adjustmentId': number;\r\n\r\n /** */\r\n 'latestExportTime': Date;\r\n\r\n /** */\r\n 'latestExportIdentifier': string;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'hasError': boolean;\r\n\r\n /** */\r\n 'paymentReferenceNumber': string;\r\n\r\n /** */\r\n 'paymentDescriptor': string;\r\n\r\n /** */\r\n 'createdDate': Date;\r\n\r\n /** */\r\n 'adjustmentCreatedByUserEmail': string;\r\n\r\n /** */\r\n 'canVoid': boolean;\r\n\r\n /** */\r\n 'canRefund': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['accountId'] = data['accountId'];\r\n this['paymentId'] = data['paymentId'];\r\n this['merchantId'] = data['merchantId'];\r\n this['expectedSettlementDate'] = data['expectedSettlementDate'];\r\n this['authCode'] = data['authCode'];\r\n this['type'] = data['type'];\r\n this['status'] = data['status'];\r\n this['amount'] = data['amount'];\r\n this['referenceNumber'] = data['referenceNumber'];\r\n this['batchIdentifier'] = data['batchIdentifier'];\r\n this['errorMessage'] = data['errorMessage'];\r\n this['gatewayResponseCode'] = data['gatewayResponseCode'];\r\n this['gatewayResponseDescription'] = data['gatewayResponseDescription'];\r\n this['success'] = data['success'];\r\n this['adjustmentId'] = data['adjustmentId'];\r\n this['latestExportTime'] = data['latestExportTime'];\r\n this['latestExportIdentifier'] = data['latestExportIdentifier'];\r\n this['id'] = data['id'];\r\n this['hasError'] = data['hasError'];\r\n this['paymentReferenceNumber'] = data['paymentReferenceNumber'];\r\n this['paymentDescriptor'] = data['paymentDescriptor'];\r\n this['createdDate'] = data['createdDate'];\r\n this['adjustmentCreatedByUserEmail'] = data['adjustmentCreatedByUserEmail'];\r\n this['canVoid'] = data['canVoid'];\r\n this['canRefund'] = data['canRefund'];\r\n }\r\n}\r\n\r\nexport class TransactionFundingActivityDetailDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'gatewayFundingActivityId': string;\r\n\r\n /** */\r\n 'gatewayFundingGroupId': string;\r\n\r\n /** */\r\n 'paymentGatewayType': string;\r\n\r\n /** */\r\n 'paymentGatewayConfigId': number;\r\n\r\n /** */\r\n 'merchantNumber': string;\r\n\r\n /** */\r\n 'referenceNumber': string;\r\n\r\n /** */\r\n 'transactionId': number;\r\n\r\n /** */\r\n 'paymentId': number;\r\n\r\n /** */\r\n 'activityType': string;\r\n\r\n /** */\r\n 'activityDate': string;\r\n\r\n /** */\r\n 'amount': string;\r\n\r\n /** */\r\n 'activityStatus': string;\r\n\r\n /** */\r\n 'activityJson': string;\r\n\r\n /** */\r\n 'payment': PaymentSummaryDto;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['gatewayFundingActivityId'] = data['gatewayFundingActivityId'];\r\n this['gatewayFundingGroupId'] = data['gatewayFundingGroupId'];\r\n this['paymentGatewayType'] = data['paymentGatewayType'];\r\n this['paymentGatewayConfigId'] = data['paymentGatewayConfigId'];\r\n this['merchantNumber'] = data['merchantNumber'];\r\n this['referenceNumber'] = data['referenceNumber'];\r\n this['transactionId'] = data['transactionId'];\r\n this['paymentId'] = data['paymentId'];\r\n this['activityType'] = data['activityType'];\r\n this['activityDate'] = data['activityDate'];\r\n this['amount'] = data['amount'];\r\n this['activityStatus'] = data['activityStatus'];\r\n this['activityJson'] = data['activityJson'];\r\n this['payment'] = data['payment'];\r\n }\r\n}\r\n\r\nexport class TransactionFundingActivityGetDto {\r\n /** */\r\n 'fundingDate': string;\r\n\r\n /** */\r\n 'gatewayFundingActivityId': string;\r\n\r\n /** */\r\n 'gatewayFundingGroupId': string;\r\n\r\n /** */\r\n 'paymentGatewayType': string;\r\n\r\n /** */\r\n 'paymentGatewayConfigId': number;\r\n\r\n /** */\r\n 'merchantNumber': string;\r\n\r\n /** */\r\n 'referenceNumber': string;\r\n\r\n /** */\r\n 'transactionId': number;\r\n\r\n /** */\r\n 'paymentId': number;\r\n\r\n /** */\r\n 'activityType': string;\r\n\r\n /** */\r\n 'activityDate': string;\r\n\r\n /** */\r\n 'amount': string;\r\n\r\n /** */\r\n 'activityStatus': string;\r\n\r\n /** */\r\n 'authDate': string;\r\n\r\n /** */\r\n 'achReturnCode': string;\r\n\r\n /** */\r\n 'batchId': string;\r\n\r\n /** */\r\n 'activityJson': string;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['fundingDate'] = data['fundingDate'];\r\n this['gatewayFundingActivityId'] = data['gatewayFundingActivityId'];\r\n this['gatewayFundingGroupId'] = data['gatewayFundingGroupId'];\r\n this['paymentGatewayType'] = data['paymentGatewayType'];\r\n this['paymentGatewayConfigId'] = data['paymentGatewayConfigId'];\r\n this['merchantNumber'] = data['merchantNumber'];\r\n this['referenceNumber'] = data['referenceNumber'];\r\n this['transactionId'] = data['transactionId'];\r\n this['paymentId'] = data['paymentId'];\r\n this['activityType'] = data['activityType'];\r\n this['activityDate'] = data['activityDate'];\r\n this['amount'] = data['amount'];\r\n this['activityStatus'] = data['activityStatus'];\r\n this['authDate'] = data['authDate'];\r\n this['achReturnCode'] = data['achReturnCode'];\r\n this['batchId'] = data['batchId'];\r\n this['activityJson'] = data['activityJson'];\r\n this['id'] = data['id'];\r\n }\r\n}\r\n\r\nexport class TransactionFundingEntryDto {\r\n /** */\r\n 'transactionFundingActivity': TransactionFundingActivityGetDto;\r\n\r\n /** */\r\n 'fundingEntry': FundingEntryGetDto;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['transactionFundingActivity'] = data['transactionFundingActivity'];\r\n this['fundingEntry'] = data['fundingEntry'];\r\n }\r\n}\r\n\r\nexport class TransactionGetDto {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'paymentId': number;\r\n\r\n /** */\r\n 'merchantId': string;\r\n\r\n /** */\r\n 'expectedSettlementDate': Date;\r\n\r\n /** */\r\n 'authCode': string;\r\n\r\n /** */\r\n 'type': string;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'amount': Currency;\r\n\r\n /** */\r\n 'referenceNumber': string;\r\n\r\n /** */\r\n 'batchIdentifier': string;\r\n\r\n /** */\r\n 'errorMessage': string;\r\n\r\n /** */\r\n 'gatewayResponseCode': string;\r\n\r\n /** */\r\n 'gatewayResponseDescription': string;\r\n\r\n /** */\r\n 'success': boolean;\r\n\r\n /** */\r\n 'adjustmentId': number;\r\n\r\n /** */\r\n 'latestExportTime': Date;\r\n\r\n /** */\r\n 'latestExportIdentifier': string;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'hasError': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['accountId'] = data['accountId'];\r\n this['paymentId'] = data['paymentId'];\r\n this['merchantId'] = data['merchantId'];\r\n this['expectedSettlementDate'] = data['expectedSettlementDate'];\r\n this['authCode'] = data['authCode'];\r\n this['type'] = data['type'];\r\n this['status'] = data['status'];\r\n this['amount'] = data['amount'];\r\n this['referenceNumber'] = data['referenceNumber'];\r\n this['batchIdentifier'] = data['batchIdentifier'];\r\n this['errorMessage'] = data['errorMessage'];\r\n this['gatewayResponseCode'] = data['gatewayResponseCode'];\r\n this['gatewayResponseDescription'] = data['gatewayResponseDescription'];\r\n this['success'] = data['success'];\r\n this['adjustmentId'] = data['adjustmentId'];\r\n this['latestExportTime'] = data['latestExportTime'];\r\n this['latestExportIdentifier'] = data['latestExportIdentifier'];\r\n this['id'] = data['id'];\r\n this['hasError'] = data['hasError'];\r\n }\r\n}\r\n\r\nexport class TransactionMetricResponse {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'transactionDateCst': Date;\r\n\r\n /** */\r\n 'transactionCount': number;\r\n\r\n /** */\r\n 'transactionsTotal': number;\r\n\r\n /** */\r\n 'paymentStatus': string;\r\n\r\n /** */\r\n 'currencyCode': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['transactionDateCst'] = data['transactionDateCst'];\r\n this['transactionCount'] = data['transactionCount'];\r\n this['transactionsTotal'] = data['transactionsTotal'];\r\n this['paymentStatus'] = data['paymentStatus'];\r\n this['currencyCode'] = data['currencyCode'];\r\n }\r\n}\r\n\r\nexport class TransactionSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'authCode': string;\r\n\r\n /** */\r\n 'createdByUserName': string;\r\n\r\n /** */\r\n 'createdByUserRole': string;\r\n\r\n /** */\r\n 'type': string;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'paymentStatus': string;\r\n\r\n /** */\r\n 'paymentId': number;\r\n\r\n /** */\r\n 'paymentReferenceNumber': string;\r\n\r\n /** */\r\n 'paymentDescriptor': string;\r\n\r\n /** */\r\n 'referenceNumber': string;\r\n\r\n /** */\r\n 'channel': string;\r\n\r\n /** */\r\n 'amountMinor': number;\r\n\r\n /** */\r\n 'createdDate': Date;\r\n\r\n /** */\r\n 'gatewayResponseCode': string;\r\n\r\n /** */\r\n 'gatewayResponseDescription': string;\r\n\r\n /** */\r\n 'success': boolean;\r\n\r\n /** */\r\n 'errorMessage': string;\r\n\r\n /** */\r\n 'adjustmentId': number;\r\n\r\n /** */\r\n 'amount': Currency;\r\n\r\n /** */\r\n 'isEmbeddedPayment': boolean;\r\n\r\n /** */\r\n 'paymentSourceSnapshot': string;\r\n\r\n /** */\r\n 'paymentSourceJson': PaymentSourceJsonDto;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['authCode'] = data['authCode'];\r\n this['createdByUserName'] = data['createdByUserName'];\r\n this['createdByUserRole'] = data['createdByUserRole'];\r\n this['type'] = data['type'];\r\n this['status'] = data['status'];\r\n this['paymentStatus'] = data['paymentStatus'];\r\n this['paymentId'] = data['paymentId'];\r\n this['paymentReferenceNumber'] = data['paymentReferenceNumber'];\r\n this['paymentDescriptor'] = data['paymentDescriptor'];\r\n this['referenceNumber'] = data['referenceNumber'];\r\n this['channel'] = data['channel'];\r\n this['amountMinor'] = data['amountMinor'];\r\n this['createdDate'] = data['createdDate'];\r\n this['gatewayResponseCode'] = data['gatewayResponseCode'];\r\n this['gatewayResponseDescription'] = data['gatewayResponseDescription'];\r\n this['success'] = data['success'];\r\n this['errorMessage'] = data['errorMessage'];\r\n this['adjustmentId'] = data['adjustmentId'];\r\n this['amount'] = data['amount'];\r\n this['isEmbeddedPayment'] = data['isEmbeddedPayment'];\r\n this['paymentSourceSnapshot'] = data['paymentSourceSnapshot'];\r\n this['paymentSourceJson'] = data['paymentSourceJson'];\r\n }\r\n}\r\n\r\nexport class TransformContext_Config {\r\n /** */\r\n 'transformFunction': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['transformFunction'] = data['transformFunction'];\r\n }\r\n}\r\n\r\nexport class TransformFile_Config {\r\n /** */\r\n 'blobUrl': string;\r\n\r\n /** */\r\n 'fieldMapConfiguration': string;\r\n\r\n /** */\r\n 'fieldOverrides': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['blobUrl'] = data['blobUrl'];\r\n this['fieldMapConfiguration'] = data['fieldMapConfiguration'];\r\n this['fieldOverrides'] = data['fieldOverrides'];\r\n }\r\n}\r\n\r\nexport class TransformPreviewRequest {\r\n /** */\r\n 'transformType': string;\r\n\r\n /** */\r\n 'arguments': string;\r\n\r\n /** */\r\n 'inputs': string[];\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['transformType'] = data['transformType'];\r\n this['arguments'] = data['arguments'];\r\n this['inputs'] = data['inputs'];\r\n }\r\n}\r\n\r\nexport class UnfundedPaymentDto {\r\n /** */\r\n 'paymentId': number;\r\n\r\n /** */\r\n 'createdDate': Date;\r\n\r\n /** */\r\n 'paymentAmount': number;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'referenceNumber': string;\r\n\r\n /** */\r\n 'merchantNumber': string;\r\n\r\n /** */\r\n 'transactionReferenceNumber': string;\r\n\r\n /** */\r\n 'channel': string;\r\n\r\n /** */\r\n 'merchantAccountName': string;\r\n\r\n /** */\r\n 'paymentSourceType': string;\r\n\r\n /** */\r\n 'batchTime': TimeSpan;\r\n\r\n /** */\r\n 'timezone': string;\r\n\r\n /** */\r\n 'paymentStatus': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['paymentId'] = data['paymentId'];\r\n this['createdDate'] = data['createdDate'];\r\n this['paymentAmount'] = data['paymentAmount'];\r\n this['accountId'] = data['accountId'];\r\n this['referenceNumber'] = data['referenceNumber'];\r\n this['merchantNumber'] = data['merchantNumber'];\r\n this['transactionReferenceNumber'] = data['transactionReferenceNumber'];\r\n this['channel'] = data['channel'];\r\n this['merchantAccountName'] = data['merchantAccountName'];\r\n this['paymentSourceType'] = data['paymentSourceType'];\r\n this['batchTime'] = data['batchTime'];\r\n this['timezone'] = data['timezone'];\r\n this['paymentStatus'] = data['paymentStatus'];\r\n }\r\n}\r\n\r\nexport class UnlinkCustomerAccountAsAdminRequest {\r\n /** */\r\n 'customerId': number;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['customerId'] = data['customerId'];\r\n this['accountId'] = data['accountId'];\r\n }\r\n}\r\n\r\nexport class UnlinkCustomerAccountAsCustomerRequest {\r\n /** */\r\n 'accountId': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['accountId'] = data['accountId'];\r\n }\r\n}\r\n\r\nexport class UpdateAccountFieldsRequest {\r\n /** */\r\n 'accountFields': AccountFieldUpdateDto[];\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['accountFields'] = data['accountFields'];\r\n }\r\n}\r\n\r\nexport class UpdateAccountNotesRequest {\r\n /** */\r\n 'notes': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['notes'] = data['notes'];\r\n }\r\n}\r\n\r\nexport class UpdateAccountRequest {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'balance': number;\r\n\r\n /** */\r\n 'lateFee': number;\r\n\r\n /** */\r\n 'pastDueAmountMinor': number;\r\n\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'phoneNumber': string;\r\n\r\n /** */\r\n 'emailAddress': string;\r\n\r\n /** */\r\n 'address': OptionalAddress;\r\n\r\n /** */\r\n 'dueDate': Date;\r\n\r\n /** */\r\n 'issueDate': Date;\r\n\r\n /** */\r\n 'note': string;\r\n\r\n /** */\r\n 'meta': string;\r\n\r\n /** */\r\n 'createMethod': string;\r\n\r\n /** */\r\n 'allowOnlinePayment': boolean;\r\n\r\n /** */\r\n 'blockCreditCardPayment': boolean;\r\n\r\n /** */\r\n 'blockAchPayment': boolean;\r\n\r\n /** */\r\n 'paperlessBilling': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['balance'] = data['balance'];\r\n this['lateFee'] = data['lateFee'];\r\n this['pastDueAmountMinor'] = data['pastDueAmountMinor'];\r\n this['name'] = data['name'];\r\n this['description'] = data['description'];\r\n this['phoneNumber'] = data['phoneNumber'];\r\n this['emailAddress'] = data['emailAddress'];\r\n this['address'] = data['address'];\r\n this['dueDate'] = data['dueDate'];\r\n this['issueDate'] = data['issueDate'];\r\n this['note'] = data['note'];\r\n this['meta'] = data['meta'];\r\n this['createMethod'] = data['createMethod'];\r\n this['allowOnlinePayment'] = data['allowOnlinePayment'];\r\n this['blockCreditCardPayment'] = data['blockCreditCardPayment'];\r\n this['blockAchPayment'] = data['blockAchPayment'];\r\n this['paperlessBilling'] = data['paperlessBilling'];\r\n }\r\n}\r\n\r\nexport class UpdateAgencyRequest {\r\n /** */\r\n 'name': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['name'] = data['name'];\r\n }\r\n}\r\n\r\nexport class UpdateBillingCycleConfigRequest {\r\n /** */\r\n 'identifier': string;\r\n\r\n /** */\r\n 'notificationStrategyType': string;\r\n\r\n /** */\r\n 'billType': string;\r\n\r\n /** */\r\n 'allowInserts': boolean;\r\n\r\n /** */\r\n 'isBillPrinted': boolean;\r\n\r\n /** */\r\n 'isDisabled': boolean;\r\n\r\n /** */\r\n 'executionOrder': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['identifier'] = data['identifier'];\r\n this['notificationStrategyType'] = data['notificationStrategyType'];\r\n this['billType'] = data['billType'];\r\n this['allowInserts'] = data['allowInserts'];\r\n this['isBillPrinted'] = data['isBillPrinted'];\r\n this['isDisabled'] = data['isDisabled'];\r\n this['executionOrder'] = data['executionOrder'];\r\n }\r\n}\r\n\r\nexport class UpdateBillingSystemRequest {\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'notes': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['name'] = data['name'];\r\n this['notes'] = data['notes'];\r\n }\r\n}\r\n\r\nexport class UpdateBusinessUnitClientManagementSettingsRequest {\r\n /** */\r\n 'paymentsDisabled': boolean;\r\n\r\n /** */\r\n 'reasonForConfigChange': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['paymentsDisabled'] = data['paymentsDisabled'];\r\n this['reasonForConfigChange'] = data['reasonForConfigChange'];\r\n }\r\n}\r\n\r\nexport class UpdateBusinessUnitFeaturesRequest {\r\n /** */\r\n 'reasonForConfigChange': string;\r\n\r\n /** */\r\n 'features': BusinessUnitFeatures;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['reasonForConfigChange'] = data['reasonForConfigChange'];\r\n this['features'] = data['features'];\r\n }\r\n}\r\n\r\nexport class UpdateBusinessUnitRequest {\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'slug': string;\r\n\r\n /** */\r\n 'address': Address;\r\n\r\n /** */\r\n 'phoneNumber': string;\r\n\r\n /** */\r\n 'ivrNumber': string;\r\n\r\n /** */\r\n 'websiteUrl': string;\r\n\r\n /** */\r\n 'logoUrl': string;\r\n\r\n /** */\r\n 'mobileLogoUrl': string;\r\n\r\n /** */\r\n 'accountHelpUrl': string;\r\n\r\n /** */\r\n 'billingAddressCollectionType': string;\r\n\r\n /** */\r\n 'currencyCode': string;\r\n\r\n /** */\r\n 'timezone': string;\r\n\r\n /** */\r\n 'notes': string;\r\n\r\n /** */\r\n 'primaryColor': string;\r\n\r\n /** */\r\n 'header': string;\r\n\r\n /** */\r\n 'subHeader': string;\r\n\r\n /** */\r\n 'billTemplateIdentifier': string;\r\n\r\n /** */\r\n 'pdfTemplateIdentifier': string;\r\n\r\n /** */\r\n 'excelTemplateIdentifier': string;\r\n\r\n /** */\r\n 'accountSyncStrategy': string;\r\n\r\n /** */\r\n 'accountSyncUrl': string;\r\n\r\n /** */\r\n 'accountSyncApiKey': string;\r\n\r\n /** */\r\n 'trustedDomains': string;\r\n\r\n /** */\r\n 'readingsIdentifier': string;\r\n\r\n /** */\r\n 'readingsSyncUrl': string;\r\n\r\n /** */\r\n 'readingsSyncApiKey': string;\r\n\r\n /** */\r\n 'syncPayments': boolean;\r\n\r\n /** */\r\n 'paymentSyncUrl': string;\r\n\r\n /** */\r\n 'paymentSyncSecret': string;\r\n\r\n /** */\r\n 'paymentSyncPayload': string;\r\n\r\n /** */\r\n 'paymentSyncOnSucceeded': boolean;\r\n\r\n /** */\r\n 'paymentSyncOnDeclined': boolean;\r\n\r\n /** */\r\n 'paymentSyncOnRefunded': boolean;\r\n\r\n /** */\r\n 'paymentSyncOnVoided': boolean;\r\n\r\n /** */\r\n 'quickPayConfigId': number;\r\n\r\n /** */\r\n 'ivrConfigId': number;\r\n\r\n /** */\r\n 'pointOfSaleConfigId': number;\r\n\r\n /** */\r\n 'autopayConfigId': number;\r\n\r\n /** */\r\n 'minPaymentAmount': number;\r\n\r\n /** */\r\n 'maxPaymentAmount': number;\r\n\r\n /** */\r\n 'maxRefundAmount': number;\r\n\r\n /** */\r\n 'agencyId': number;\r\n\r\n /** */\r\n 'paymentsDisabled': boolean;\r\n\r\n /** */\r\n 'testAccount': boolean;\r\n\r\n /** */\r\n 'includeServiceFeeInPayment': boolean;\r\n\r\n /** */\r\n 'billingSystemId': number;\r\n\r\n /** */\r\n 'onboardingConfigurationId': number;\r\n\r\n /** */\r\n 'billingSystemVersion': string;\r\n\r\n /** */\r\n 'reasonForConfigChange': string;\r\n\r\n /** */\r\n 'payerLoginMode': string;\r\n\r\n /** */\r\n 'embeddedHost': string;\r\n\r\n /** */\r\n 'uploadAccountsDueDateDay': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['name'] = data['name'];\r\n this['slug'] = data['slug'];\r\n this['address'] = data['address'];\r\n this['phoneNumber'] = data['phoneNumber'];\r\n this['ivrNumber'] = data['ivrNumber'];\r\n this['websiteUrl'] = data['websiteUrl'];\r\n this['logoUrl'] = data['logoUrl'];\r\n this['mobileLogoUrl'] = data['mobileLogoUrl'];\r\n this['accountHelpUrl'] = data['accountHelpUrl'];\r\n this['billingAddressCollectionType'] = data['billingAddressCollectionType'];\r\n this['currencyCode'] = data['currencyCode'];\r\n this['timezone'] = data['timezone'];\r\n this['notes'] = data['notes'];\r\n this['primaryColor'] = data['primaryColor'];\r\n this['header'] = data['header'];\r\n this['subHeader'] = data['subHeader'];\r\n this['billTemplateIdentifier'] = data['billTemplateIdentifier'];\r\n this['pdfTemplateIdentifier'] = data['pdfTemplateIdentifier'];\r\n this['excelTemplateIdentifier'] = data['excelTemplateIdentifier'];\r\n this['accountSyncStrategy'] = data['accountSyncStrategy'];\r\n this['accountSyncUrl'] = data['accountSyncUrl'];\r\n this['accountSyncApiKey'] = data['accountSyncApiKey'];\r\n this['trustedDomains'] = data['trustedDomains'];\r\n this['readingsIdentifier'] = data['readingsIdentifier'];\r\n this['readingsSyncUrl'] = data['readingsSyncUrl'];\r\n this['readingsSyncApiKey'] = data['readingsSyncApiKey'];\r\n this['syncPayments'] = data['syncPayments'];\r\n this['paymentSyncUrl'] = data['paymentSyncUrl'];\r\n this['paymentSyncSecret'] = data['paymentSyncSecret'];\r\n this['paymentSyncPayload'] = data['paymentSyncPayload'];\r\n this['paymentSyncOnSucceeded'] = data['paymentSyncOnSucceeded'];\r\n this['paymentSyncOnDeclined'] = data['paymentSyncOnDeclined'];\r\n this['paymentSyncOnRefunded'] = data['paymentSyncOnRefunded'];\r\n this['paymentSyncOnVoided'] = data['paymentSyncOnVoided'];\r\n this['quickPayConfigId'] = data['quickPayConfigId'];\r\n this['ivrConfigId'] = data['ivrConfigId'];\r\n this['pointOfSaleConfigId'] = data['pointOfSaleConfigId'];\r\n this['autopayConfigId'] = data['autopayConfigId'];\r\n this['minPaymentAmount'] = data['minPaymentAmount'];\r\n this['maxPaymentAmount'] = data['maxPaymentAmount'];\r\n this['maxRefundAmount'] = data['maxRefundAmount'];\r\n this['agencyId'] = data['agencyId'];\r\n this['paymentsDisabled'] = data['paymentsDisabled'];\r\n this['testAccount'] = data['testAccount'];\r\n this['includeServiceFeeInPayment'] = data['includeServiceFeeInPayment'];\r\n this['billingSystemId'] = data['billingSystemId'];\r\n this['onboardingConfigurationId'] = data['onboardingConfigurationId'];\r\n this['billingSystemVersion'] = data['billingSystemVersion'];\r\n this['reasonForConfigChange'] = data['reasonForConfigChange'];\r\n this['payerLoginMode'] = data['payerLoginMode'];\r\n this['embeddedHost'] = data['embeddedHost'];\r\n this['uploadAccountsDueDateDay'] = data['uploadAccountsDueDateDay'];\r\n }\r\n}\r\n\r\nexport class UpdateCustomGatewayMessageRequest {\r\n /** */\r\n 'originalMessage': string;\r\n\r\n /** */\r\n 'replacementMessage': string;\r\n\r\n /** */\r\n 'transactionStatus': string;\r\n\r\n /** */\r\n 'gateway': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['originalMessage'] = data['originalMessage'];\r\n this['replacementMessage'] = data['replacementMessage'];\r\n this['transactionStatus'] = data['transactionStatus'];\r\n this['gateway'] = data['gateway'];\r\n }\r\n}\r\n\r\nexport class UpdateCustomerRequest {\r\n /** */\r\n 'userId': number;\r\n\r\n /** */\r\n 'upcomingPaymentLeadTimeInDays': number;\r\n\r\n /** */\r\n 'notifyUpcomingPaymentEmail': boolean;\r\n\r\n /** */\r\n 'notifyUpcomingPaymentSms': boolean;\r\n\r\n /** */\r\n 'notifyNewBillEmail': boolean;\r\n\r\n /** */\r\n 'notifyNewBillSms': boolean;\r\n\r\n /** */\r\n 'isEmbedded': boolean;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['userId'] = data['userId'];\r\n this['upcomingPaymentLeadTimeInDays'] = data['upcomingPaymentLeadTimeInDays'];\r\n this['notifyUpcomingPaymentEmail'] = data['notifyUpcomingPaymentEmail'];\r\n this['notifyUpcomingPaymentSms'] = data['notifyUpcomingPaymentSms'];\r\n this['notifyNewBillEmail'] = data['notifyNewBillEmail'];\r\n this['notifyNewBillSms'] = data['notifyNewBillSms'];\r\n this['isEmbedded'] = data['isEmbedded'];\r\n this['id'] = data['id'];\r\n }\r\n}\r\n\r\nexport class UpdateDeviceRequest {\r\n /** */\r\n 'serialNumber': string;\r\n\r\n /** */\r\n 'model': string;\r\n\r\n /** */\r\n 'manufacturer': string;\r\n\r\n /** */\r\n 'tokenizationType': string;\r\n\r\n /** */\r\n 'notes': string;\r\n\r\n /** */\r\n 'quantity': number;\r\n\r\n /** */\r\n 'organizationId': number;\r\n\r\n /** */\r\n 'merchantAccountId': number;\r\n\r\n /** */\r\n 'modifiedBy': string;\r\n\r\n /** */\r\n 'meta': string;\r\n\r\n /** */\r\n 'businessUnitIds': number[];\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['serialNumber'] = data['serialNumber'];\r\n this['model'] = data['model'];\r\n this['manufacturer'] = data['manufacturer'];\r\n this['tokenizationType'] = data['tokenizationType'];\r\n this['notes'] = data['notes'];\r\n this['quantity'] = data['quantity'];\r\n this['organizationId'] = data['organizationId'];\r\n this['merchantAccountId'] = data['merchantAccountId'];\r\n this['modifiedBy'] = data['modifiedBy'];\r\n this['meta'] = data['meta'];\r\n this['businessUnitIds'] = data['businessUnitIds'];\r\n }\r\n}\r\n\r\nexport class UpdateExternalLinkConfigRequest {\r\n /** */\r\n 'identifier': string;\r\n\r\n /** */\r\n 'showOnCustomerDashboard': boolean;\r\n\r\n /** */\r\n 'payloadConfigurationJson': string;\r\n\r\n /** */\r\n 'url': string;\r\n\r\n /** */\r\n 'isGeneratedLink': boolean;\r\n\r\n /** */\r\n 'httpMethod': string;\r\n\r\n /** */\r\n 'display': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'functionTriggerId': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['identifier'] = data['identifier'];\r\n this['showOnCustomerDashboard'] = data['showOnCustomerDashboard'];\r\n this['payloadConfigurationJson'] = data['payloadConfigurationJson'];\r\n this['url'] = data['url'];\r\n this['isGeneratedLink'] = data['isGeneratedLink'];\r\n this['httpMethod'] = data['httpMethod'];\r\n this['display'] = data['display'];\r\n this['description'] = data['description'];\r\n this['functionTriggerId'] = data['functionTriggerId'];\r\n }\r\n}\r\n\r\nexport class UpdateInternalAccountNotesRequest {\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'notes': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['accountId'] = data['accountId'];\r\n this['notes'] = data['notes'];\r\n }\r\n}\r\n\r\nexport class UpdateIvrPaymentIntentChargesRequest {\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'paymentAmount': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['accountId'] = data['accountId'];\r\n this['paymentAmount'] = data['paymentAmount'];\r\n }\r\n}\r\n\r\nexport class UpdateIvrPaymentIntentPaymentSourceRequest {\r\n /** */\r\n 'accountType': string;\r\n\r\n /** */\r\n 'achAccountHolderType': string;\r\n\r\n /** */\r\n 'achAccountNumber': string;\r\n\r\n /** */\r\n 'achRoutingNumber': string;\r\n\r\n /** */\r\n 'accountNumberToken': string;\r\n\r\n /** */\r\n 'cardExpirationMonth': string;\r\n\r\n /** */\r\n 'cardExpirationYear': string;\r\n\r\n /** */\r\n 'cardExpiration': Date;\r\n\r\n /** */\r\n 'cardEntryMethod': string;\r\n\r\n /** */\r\n 'channel': string;\r\n\r\n /** */\r\n 'accountHolderName': string;\r\n\r\n /** */\r\n 'paymentSourceType': string;\r\n\r\n /** */\r\n 'achConfirmAccountNumber': string;\r\n\r\n /** */\r\n 'nickname': string;\r\n\r\n /** */\r\n 'address': OptionalAddress;\r\n\r\n /** */\r\n 'accountNumberMasked': string;\r\n\r\n /** */\r\n 'savePaymentSource': boolean;\r\n\r\n /** */\r\n 'saveAccountPaymentSource': boolean;\r\n\r\n /** */\r\n 'zipCode': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['accountType'] = data['accountType'];\r\n this['achAccountHolderType'] = data['achAccountHolderType'];\r\n this['achAccountNumber'] = data['achAccountNumber'];\r\n this['achRoutingNumber'] = data['achRoutingNumber'];\r\n this['accountNumberToken'] = data['accountNumberToken'];\r\n this['cardExpirationMonth'] = data['cardExpirationMonth'];\r\n this['cardExpirationYear'] = data['cardExpirationYear'];\r\n this['cardExpiration'] = data['cardExpiration'];\r\n this['cardEntryMethod'] = data['cardEntryMethod'];\r\n this['channel'] = data['channel'];\r\n this['accountHolderName'] = data['accountHolderName'];\r\n this['paymentSourceType'] = data['paymentSourceType'];\r\n this['achConfirmAccountNumber'] = data['achConfirmAccountNumber'];\r\n this['nickname'] = data['nickname'];\r\n this['address'] = data['address'];\r\n this['accountNumberMasked'] = data['accountNumberMasked'];\r\n this['savePaymentSource'] = data['savePaymentSource'];\r\n this['saveAccountPaymentSource'] = data['saveAccountPaymentSource'];\r\n this['zipCode'] = data['zipCode'];\r\n }\r\n}\r\n\r\nexport class UpdateJobRequest {\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'disabled': boolean;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'jobContextJson': string;\r\n\r\n /** */\r\n 'tags': string;\r\n\r\n /** */\r\n 'notes': string;\r\n\r\n /** */\r\n 'jobEventTriggers': string[];\r\n\r\n /** */\r\n 'jobTasks': JobTaskGetDto[];\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['description'] = data['description'];\r\n this['disabled'] = data['disabled'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['jobContextJson'] = data['jobContextJson'];\r\n this['tags'] = data['tags'];\r\n this['notes'] = data['notes'];\r\n this['jobEventTriggers'] = data['jobEventTriggers'];\r\n this['jobTasks'] = data['jobTasks'];\r\n }\r\n}\r\n\r\nexport class UpdateJobScheduleRequest {\r\n /** */\r\n 'jobId': number;\r\n\r\n /** */\r\n 'rRule': string;\r\n\r\n /** */\r\n 'timeZone': string;\r\n\r\n /** */\r\n 'nextExecutionTimeUtc': Date;\r\n\r\n /** */\r\n 'lastExecutionTimeUtc': Date;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['jobId'] = data['jobId'];\r\n this['rRule'] = data['rRule'];\r\n this['timeZone'] = data['timeZone'];\r\n this['nextExecutionTimeUtc'] = data['nextExecutionTimeUtc'];\r\n this['lastExecutionTimeUtc'] = data['lastExecutionTimeUtc'];\r\n }\r\n}\r\n\r\nexport class UpdateJobTaskRequest {\r\n /** */\r\n 'jobId': number;\r\n\r\n /** */\r\n 'type': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'settingsJson': string;\r\n\r\n /** */\r\n 'executionOrder': number;\r\n\r\n /** */\r\n 'executionCondition': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['jobId'] = data['jobId'];\r\n this['type'] = data['type'];\r\n this['description'] = data['description'];\r\n this['settingsJson'] = data['settingsJson'];\r\n this['executionOrder'] = data['executionOrder'];\r\n this['executionCondition'] = data['executionCondition'];\r\n }\r\n}\r\n\r\nexport class UpdateJobTemplateRequest {\r\n /** */\r\n 'name': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['name'] = data['name'];\r\n }\r\n}\r\n\r\nexport class UpdateJobWebhookRequest {\r\n /** */\r\n 'regenerate': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['regenerate'] = data['regenerate'];\r\n }\r\n}\r\n\r\nexport class UpdateMerchantAccountRequest {\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'merchantNumber': string;\r\n\r\n /** */\r\n 'paymentGatewayConfigId': number;\r\n\r\n /** */\r\n 'currencyCode': string;\r\n\r\n /** */\r\n 'paymentSourceType': string;\r\n\r\n /** */\r\n 'monthlyProcessingLimit': number;\r\n\r\n /** */\r\n 'timezone': string;\r\n\r\n /** */\r\n 'batchTime': TimeSpan;\r\n\r\n /** */\r\n 'supportsSettlement': boolean;\r\n\r\n /** */\r\n 'supportsFunding': boolean;\r\n\r\n /** */\r\n 'feeOnly': boolean;\r\n\r\n /** */\r\n 'processorId': string;\r\n\r\n /** */\r\n 'notes': string;\r\n\r\n /** */\r\n 'tokenizerConfigJson': string;\r\n\r\n /** */\r\n 'nachaConfigId': number;\r\n\r\n /** */\r\n 'tokenizerConfig': object;\r\n\r\n /** */\r\n 'acceptedCardBrands': AcceptedCardBrands;\r\n\r\n /** */\r\n 'organizationIds': number[];\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['name'] = data['name'];\r\n this['merchantNumber'] = data['merchantNumber'];\r\n this['paymentGatewayConfigId'] = data['paymentGatewayConfigId'];\r\n this['currencyCode'] = data['currencyCode'];\r\n this['paymentSourceType'] = data['paymentSourceType'];\r\n this['monthlyProcessingLimit'] = data['monthlyProcessingLimit'];\r\n this['timezone'] = data['timezone'];\r\n this['batchTime'] = data['batchTime'];\r\n this['supportsSettlement'] = data['supportsSettlement'];\r\n this['supportsFunding'] = data['supportsFunding'];\r\n this['feeOnly'] = data['feeOnly'];\r\n this['processorId'] = data['processorId'];\r\n this['notes'] = data['notes'];\r\n this['tokenizerConfigJson'] = data['tokenizerConfigJson'];\r\n this['nachaConfigId'] = data['nachaConfigId'];\r\n this['tokenizerConfig'] = data['tokenizerConfig'];\r\n this['acceptedCardBrands'] = data['acceptedCardBrands'];\r\n this['organizationIds'] = data['organizationIds'];\r\n }\r\n}\r\n\r\nexport class UpdateMessageRequest {\r\n /** */\r\n 'type': string;\r\n\r\n /** */\r\n 'messageBody': string;\r\n\r\n /** */\r\n 'organizationId': number;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'paymentChannelType': string;\r\n\r\n /** */\r\n 'showOnLogin': boolean;\r\n\r\n /** */\r\n 'showOnPayment': boolean;\r\n\r\n /** */\r\n 'showOnConfirmation': boolean;\r\n\r\n /** */\r\n 'showOnAdminPortal': boolean;\r\n\r\n /** */\r\n 'showOnBackOfficeAutopayPayerModal': boolean;\r\n\r\n /** */\r\n 'showDate': Date;\r\n\r\n /** */\r\n 'removeDate': Date;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['type'] = data['type'];\r\n this['messageBody'] = data['messageBody'];\r\n this['organizationId'] = data['organizationId'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['paymentChannelType'] = data['paymentChannelType'];\r\n this['showOnLogin'] = data['showOnLogin'];\r\n this['showOnPayment'] = data['showOnPayment'];\r\n this['showOnConfirmation'] = data['showOnConfirmation'];\r\n this['showOnAdminPortal'] = data['showOnAdminPortal'];\r\n this['showOnBackOfficeAutopayPayerModal'] = data['showOnBackOfficeAutopayPayerModal'];\r\n this['showDate'] = data['showDate'];\r\n this['removeDate'] = data['removeDate'];\r\n }\r\n}\r\n\r\nexport class UpdateNachaConfigRequest {\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'encryptionType': string;\r\n\r\n /** */\r\n 'immediateOrigin': string;\r\n\r\n /** */\r\n 'originatingCompanyId': string;\r\n\r\n /** */\r\n 'originatingCompanyName': string;\r\n\r\n /** */\r\n 'destinationBankRoutingNumber': string;\r\n\r\n /** */\r\n 'destinationBankName': string;\r\n\r\n /** */\r\n 'companyDiscretionaryData': string;\r\n\r\n /** */\r\n 'companyEntryDescription': string;\r\n\r\n /** */\r\n 'effectiveEntryDateCutoffTime': TimeSpan;\r\n\r\n /** */\r\n 'effectiveEntryDateCutoffTimezone': string;\r\n\r\n /** */\r\n 'secCodeOverride': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['name'] = data['name'];\r\n this['encryptionType'] = data['encryptionType'];\r\n this['immediateOrigin'] = data['immediateOrigin'];\r\n this['originatingCompanyId'] = data['originatingCompanyId'];\r\n this['originatingCompanyName'] = data['originatingCompanyName'];\r\n this['destinationBankRoutingNumber'] = data['destinationBankRoutingNumber'];\r\n this['destinationBankName'] = data['destinationBankName'];\r\n this['companyDiscretionaryData'] = data['companyDiscretionaryData'];\r\n this['companyEntryDescription'] = data['companyEntryDescription'];\r\n this['effectiveEntryDateCutoffTime'] = data['effectiveEntryDateCutoffTime'];\r\n this['effectiveEntryDateCutoffTimezone'] = data['effectiveEntryDateCutoffTimezone'];\r\n this['secCodeOverride'] = data['secCodeOverride'];\r\n }\r\n}\r\n\r\nexport class UpdateOrganizationRequest {\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'slug': string;\r\n\r\n /** */\r\n 'agencyId': number;\r\n\r\n /** */\r\n 'notes': string;\r\n\r\n /** */\r\n 'paystarAccountManagerId': number;\r\n\r\n /** */\r\n 'paystarAccountManager': string;\r\n\r\n /** */\r\n 'hubSpotIdentifier': string;\r\n\r\n /** */\r\n 'hubSpotUrl': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['name'] = data['name'];\r\n this['slug'] = data['slug'];\r\n this['agencyId'] = data['agencyId'];\r\n this['notes'] = data['notes'];\r\n this['paystarAccountManagerId'] = data['paystarAccountManagerId'];\r\n this['paystarAccountManager'] = data['paystarAccountManager'];\r\n this['hubSpotIdentifier'] = data['hubSpotIdentifier'];\r\n this['hubSpotUrl'] = data['hubSpotUrl'];\r\n }\r\n}\r\n\r\nexport class UpdatePaymentChannelRequest {\r\n /** */\r\n 'channelType': string;\r\n\r\n /** */\r\n 'enabled': boolean;\r\n\r\n /** */\r\n 'allowsFreeFormPayment': boolean;\r\n\r\n /** */\r\n 'requiresMinimumOfBalance': boolean;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'creditCard': PaymentChannelSourceSummaryDto;\r\n\r\n /** */\r\n 'ach': PaymentChannelSourceSummaryDto;\r\n\r\n /** */\r\n 'reasonForConfigChange': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['channelType'] = data['channelType'];\r\n this['enabled'] = data['enabled'];\r\n this['allowsFreeFormPayment'] = data['allowsFreeFormPayment'];\r\n this['requiresMinimumOfBalance'] = data['requiresMinimumOfBalance'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['creditCard'] = data['creditCard'];\r\n this['ach'] = data['ach'];\r\n this['reasonForConfigChange'] = data['reasonForConfigChange'];\r\n }\r\n}\r\n\r\nexport class UpdatePaymentFieldsRequest {\r\n /** */\r\n 'paymentFields': PaymentFieldGetDto[];\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['paymentFields'] = data['paymentFields'];\r\n }\r\n}\r\n\r\nexport class UpdatePaymentGatewayConfigPasswordRequest {\r\n /** */\r\n 'paymentGatewayConfigId': number;\r\n\r\n /** */\r\n 'password': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['paymentGatewayConfigId'] = data['paymentGatewayConfigId'];\r\n this['password'] = data['password'];\r\n }\r\n}\r\n\r\nexport class UpdatePaymentGatewayConfigRequest {\r\n /** */\r\n 'paymentGatewayType': string;\r\n\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'url': string;\r\n\r\n /** */\r\n 'username': string;\r\n\r\n /** */\r\n 'apiKey': string;\r\n\r\n /** */\r\n 'tokenizerConfigJson': string;\r\n\r\n /** */\r\n 'emvDelaySeconds': number;\r\n\r\n /** */\r\n 'password': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['paymentGatewayType'] = data['paymentGatewayType'];\r\n this['name'] = data['name'];\r\n this['url'] = data['url'];\r\n this['username'] = data['username'];\r\n this['apiKey'] = data['apiKey'];\r\n this['tokenizerConfigJson'] = data['tokenizerConfigJson'];\r\n this['emvDelaySeconds'] = data['emvDelaySeconds'];\r\n this['password'] = data['password'];\r\n }\r\n}\r\n\r\nexport class UpdatePaymentIntentCardDataRequest {\r\n /** */\r\n 'cardCvv': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['cardCvv'] = data['cardCvv'];\r\n }\r\n}\r\n\r\nexport class UpdatePaymentIntentChargesRequest {\r\n /** */\r\n 'charges': Charges;\r\n\r\n /** */\r\n 'scope': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['charges'] = data['charges'];\r\n this['scope'] = data['scope'];\r\n }\r\n}\r\n\r\nexport class UpdatePaymentIntentFormRequest {\r\n /** */\r\n 'valuesJson': string;\r\n\r\n /** */\r\n 'formConfigurationId': number;\r\n\r\n /** */\r\n 'customerId': number;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'paymentSessionSessionIdentifier': string;\r\n\r\n /** */\r\n 'baseFormResponseId': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['valuesJson'] = data['valuesJson'];\r\n this['formConfigurationId'] = data['formConfigurationId'];\r\n this['customerId'] = data['customerId'];\r\n this['accountId'] = data['accountId'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['paymentSessionSessionIdentifier'] = data['paymentSessionSessionIdentifier'];\r\n this['baseFormResponseId'] = data['baseFormResponseId'];\r\n }\r\n}\r\n\r\nexport class UpdatePaymentIntentPaymentFieldsRequest {\r\n /** */\r\n 'paymentFields': object;\r\n\r\n /** */\r\n 'useMergeStrategy': boolean;\r\n\r\n /** */\r\n 'scope': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['paymentFields'] = data['paymentFields'];\r\n this['useMergeStrategy'] = data['useMergeStrategy'];\r\n this['scope'] = data['scope'];\r\n }\r\n}\r\n\r\nexport class UpdatePaymentIntentPaymentSourceRequest {\r\n /** */\r\n 'paymentSource': PaymentIntentPaymentSource;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['paymentSource'] = data['paymentSource'];\r\n }\r\n}\r\n\r\nexport class UpdatePaymentSessionPaymentSourceRequest {\r\n /** */\r\n 'sessionIdentifier': string;\r\n\r\n /** */\r\n 'emailAddress': string;\r\n\r\n /** */\r\n 'achConfirmAccountNumber': string;\r\n\r\n /** */\r\n 'savedPaymentSourceId': number;\r\n\r\n /** */\r\n 'savePaymentSource': boolean;\r\n\r\n /** */\r\n 'saveAccountPaymentSource': boolean;\r\n\r\n /** */\r\n 'cardEntryMethod': string;\r\n\r\n /** */\r\n 'paymentSourceType': string;\r\n\r\n /** */\r\n 'accountHolderName': string;\r\n\r\n /** */\r\n 'accountNumberToken': string;\r\n\r\n /** */\r\n 'accountType': string;\r\n\r\n /** */\r\n 'streetAddress': string;\r\n\r\n /** */\r\n 'streetAddress2': string;\r\n\r\n /** */\r\n 'city': string;\r\n\r\n /** */\r\n 'state': string;\r\n\r\n /** */\r\n 'zipCode': string;\r\n\r\n /** */\r\n 'cardExpirationMonth': string;\r\n\r\n /** */\r\n 'cardExpirationYear': string;\r\n\r\n /** */\r\n 'achAccountHolderType': string;\r\n\r\n /** */\r\n 'achAccountNumber': string;\r\n\r\n /** */\r\n 'achRoutingNumber': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['sessionIdentifier'] = data['sessionIdentifier'];\r\n this['emailAddress'] = data['emailAddress'];\r\n this['achConfirmAccountNumber'] = data['achConfirmAccountNumber'];\r\n this['savedPaymentSourceId'] = data['savedPaymentSourceId'];\r\n this['savePaymentSource'] = data['savePaymentSource'];\r\n this['saveAccountPaymentSource'] = data['saveAccountPaymentSource'];\r\n this['cardEntryMethod'] = data['cardEntryMethod'];\r\n this['paymentSourceType'] = data['paymentSourceType'];\r\n this['accountHolderName'] = data['accountHolderName'];\r\n this['accountNumberToken'] = data['accountNumberToken'];\r\n this['accountType'] = data['accountType'];\r\n this['streetAddress'] = data['streetAddress'];\r\n this['streetAddress2'] = data['streetAddress2'];\r\n this['city'] = data['city'];\r\n this['state'] = data['state'];\r\n this['zipCode'] = data['zipCode'];\r\n this['cardExpirationMonth'] = data['cardExpirationMonth'];\r\n this['cardExpirationYear'] = data['cardExpirationYear'];\r\n this['achAccountHolderType'] = data['achAccountHolderType'];\r\n this['achAccountNumber'] = data['achAccountNumber'];\r\n this['achRoutingNumber'] = data['achRoutingNumber'];\r\n }\r\n}\r\n\r\nexport class UpdateProductRequest {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'sku': string;\r\n\r\n /** */\r\n 'price': number;\r\n\r\n /** */\r\n 'allowPriceModification': boolean;\r\n\r\n /** */\r\n 'active': boolean;\r\n\r\n /** */\r\n 'required': boolean;\r\n\r\n /** */\r\n 'paymentChannel': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['name'] = data['name'];\r\n this['description'] = data['description'];\r\n this['sku'] = data['sku'];\r\n this['price'] = data['price'];\r\n this['allowPriceModification'] = data['allowPriceModification'];\r\n this['active'] = data['active'];\r\n this['required'] = data['required'];\r\n this['paymentChannel'] = data['paymentChannel'];\r\n }\r\n}\r\n\r\nexport class UpdateSettingRequest {\r\n /** */\r\n 'value': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['value'] = data['value'];\r\n }\r\n}\r\n\r\nexport class UpdateTermsOfServiceRequest {\r\n /** */\r\n 'acknowledgementType': string;\r\n\r\n /** */\r\n 'identifier': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'terms': string;\r\n\r\n /** */\r\n 'isDefault': boolean;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['acknowledgementType'] = data['acknowledgementType'];\r\n this['identifier'] = data['identifier'];\r\n this['description'] = data['description'];\r\n this['terms'] = data['terms'];\r\n this['isDefault'] = data['isDefault'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n }\r\n}\r\n\r\nexport class UpdateTicketRequest {\r\n /** */\r\n 'title': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'category': string;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'metaJson': string;\r\n\r\n /** */\r\n 'assignedUserId': number;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'jobId': number;\r\n\r\n /** */\r\n 'referenceNumber': string;\r\n\r\n /** */\r\n 'followerIds': number[];\r\n\r\n /** */\r\n 'ticketBefore': TicketGetDto;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['title'] = data['title'];\r\n this['description'] = data['description'];\r\n this['category'] = data['category'];\r\n this['status'] = data['status'];\r\n this['metaJson'] = data['metaJson'];\r\n this['assignedUserId'] = data['assignedUserId'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['jobId'] = data['jobId'];\r\n this['referenceNumber'] = data['referenceNumber'];\r\n this['followerIds'] = data['followerIds'];\r\n this['ticketBefore'] = data['ticketBefore'];\r\n }\r\n}\r\n\r\nexport class UpdateUserPasswordRequest {\r\n /** */\r\n 'confirmNewPassword': string;\r\n\r\n /** */\r\n 'currentPassword': string;\r\n\r\n /** */\r\n 'newPassword': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['confirmNewPassword'] = data['confirmNewPassword'];\r\n this['currentPassword'] = data['currentPassword'];\r\n this['newPassword'] = data['newPassword'];\r\n }\r\n}\r\n\r\nexport class UpdateUserRequest {\r\n /** */\r\n 'emailAddress': string;\r\n\r\n /** */\r\n 'firstName': string;\r\n\r\n /** */\r\n 'lastName': string;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'organizationId': number;\r\n\r\n /** */\r\n 'customerId': number;\r\n\r\n /** */\r\n 'role': string;\r\n\r\n /** */\r\n 'isDeleted': boolean;\r\n\r\n /** */\r\n 'phoneNumber': string;\r\n\r\n /** */\r\n 'claims': string[];\r\n\r\n /** */\r\n 'organizationIdRequired': boolean;\r\n\r\n /** */\r\n 'accountIdRequired': boolean;\r\n\r\n /** */\r\n 'businessUnitIds': number[];\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['emailAddress'] = data['emailAddress'];\r\n this['firstName'] = data['firstName'];\r\n this['lastName'] = data['lastName'];\r\n this['accountId'] = data['accountId'];\r\n this['organizationId'] = data['organizationId'];\r\n this['customerId'] = data['customerId'];\r\n this['role'] = data['role'];\r\n this['isDeleted'] = data['isDeleted'];\r\n this['phoneNumber'] = data['phoneNumber'];\r\n this['claims'] = data['claims'];\r\n this['organizationIdRequired'] = data['organizationIdRequired'];\r\n this['accountIdRequired'] = data['accountIdRequired'];\r\n this['businessUnitIds'] = data['businessUnitIds'];\r\n }\r\n}\r\n\r\nexport class UpdatedEmbeddedPaymentSessionChargesRequest {\r\n /** */\r\n 'recaptchaToken': string;\r\n\r\n /** */\r\n 'charges': Charges;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['recaptchaToken'] = data['recaptchaToken'];\r\n this['charges'] = data['charges'];\r\n }\r\n}\r\n\r\nexport class UpdatedEmbeddedPaymentSessionPaymentSourceRequest {\r\n /** */\r\n 'recaptchaToken': string;\r\n\r\n /** */\r\n 'paymentSource': NewPaymentSource;\r\n\r\n /** */\r\n 'savedPaymentSourceId': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['recaptchaToken'] = data['recaptchaToken'];\r\n this['paymentSource'] = data['paymentSource'];\r\n this['savedPaymentSourceId'] = data['savedPaymentSourceId'];\r\n }\r\n}\r\n\r\nexport class UploadFileResponse {\r\n /** */\r\n 'uri': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['uri'] = data['uri'];\r\n }\r\n}\r\n\r\nexport class UploadFileToFtp_Config {\r\n /** */\r\n 'directory': string;\r\n\r\n /** */\r\n 'blobUrl': string;\r\n\r\n /** */\r\n 'newFileName': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['directory'] = data['directory'];\r\n this['blobUrl'] = data['blobUrl'];\r\n this['newFileName'] = data['newFileName'];\r\n }\r\n}\r\n\r\nexport class UsageMetricDto {\r\n /** */\r\n 'key': string;\r\n\r\n /** */\r\n 'unit': string;\r\n\r\n /** */\r\n 'readingType': string;\r\n\r\n /** */\r\n 'interval': string;\r\n\r\n /** */\r\n 'timestamp': Date;\r\n\r\n /** */\r\n 'value': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['key'] = data['key'];\r\n this['unit'] = data['unit'];\r\n this['readingType'] = data['readingType'];\r\n this['interval'] = data['interval'];\r\n this['timestamp'] = data['timestamp'];\r\n this['value'] = data['value'];\r\n }\r\n}\r\n\r\nexport class UserDetailDto {\r\n /** */\r\n 'emailAddress': string;\r\n\r\n /** */\r\n 'firstName': string;\r\n\r\n /** */\r\n 'lastName': string;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'organizationId': number;\r\n\r\n /** */\r\n 'customerId': number;\r\n\r\n /** */\r\n 'role': string;\r\n\r\n /** */\r\n 'isDeleted': boolean;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'phoneNumber': string;\r\n\r\n /** */\r\n 'claims': string[];\r\n\r\n /** */\r\n 'isLockedOut': boolean;\r\n\r\n /** */\r\n 'businessUnitIds': number[];\r\n\r\n /** */\r\n 'environmentKey': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['emailAddress'] = data['emailAddress'];\r\n this['firstName'] = data['firstName'];\r\n this['lastName'] = data['lastName'];\r\n this['accountId'] = data['accountId'];\r\n this['organizationId'] = data['organizationId'];\r\n this['customerId'] = data['customerId'];\r\n this['role'] = data['role'];\r\n this['isDeleted'] = data['isDeleted'];\r\n this['id'] = data['id'];\r\n this['phoneNumber'] = data['phoneNumber'];\r\n this['claims'] = data['claims'];\r\n this['isLockedOut'] = data['isLockedOut'];\r\n this['businessUnitIds'] = data['businessUnitIds'];\r\n this['environmentKey'] = data['environmentKey'];\r\n }\r\n}\r\n\r\nexport class UserGetDto {\r\n /** */\r\n 'emailAddress': string;\r\n\r\n /** */\r\n 'firstName': string;\r\n\r\n /** */\r\n 'lastName': string;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'organizationId': number;\r\n\r\n /** */\r\n 'customerId': number;\r\n\r\n /** */\r\n 'role': string;\r\n\r\n /** */\r\n 'isDeleted': boolean;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'phoneNumber': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['emailAddress'] = data['emailAddress'];\r\n this['firstName'] = data['firstName'];\r\n this['lastName'] = data['lastName'];\r\n this['accountId'] = data['accountId'];\r\n this['organizationId'] = data['organizationId'];\r\n this['customerId'] = data['customerId'];\r\n this['role'] = data['role'];\r\n this['isDeleted'] = data['isDeleted'];\r\n this['id'] = data['id'];\r\n this['phoneNumber'] = data['phoneNumber'];\r\n }\r\n}\r\n\r\nexport class UserOptionItemDto {\r\n /** */\r\n 'value': number;\r\n\r\n /** */\r\n 'text': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['value'] = data['value'];\r\n this['text'] = data['text'];\r\n }\r\n}\r\n\r\nexport class UserSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'emailAddress': string;\r\n\r\n /** */\r\n 'phoneNumber': string;\r\n\r\n /** */\r\n 'firstName': string;\r\n\r\n /** */\r\n 'lastName': string;\r\n\r\n /** */\r\n 'fullName': string;\r\n\r\n /** */\r\n 'role': string;\r\n\r\n /** */\r\n 'organizationName': string;\r\n\r\n /** */\r\n 'organizationId': number;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'customerId': number;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['emailAddress'] = data['emailAddress'];\r\n this['phoneNumber'] = data['phoneNumber'];\r\n this['firstName'] = data['firstName'];\r\n this['lastName'] = data['lastName'];\r\n this['fullName'] = data['fullName'];\r\n this['role'] = data['role'];\r\n this['organizationName'] = data['organizationName'];\r\n this['organizationId'] = data['organizationId'];\r\n this['accountId'] = data['accountId'];\r\n this['customerId'] = data['customerId'];\r\n }\r\n}\r\n\r\nexport class ValidateApiPaymentChannelUserRequest {\r\n /** */\r\n 'businessUnitSlug': string;\r\n\r\n /** */\r\n 'paymentChannelType': string;\r\n\r\n /** */\r\n 'lookupFieldEntries': object;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitSlug'] = data['businessUnitSlug'];\r\n this['paymentChannelType'] = data['paymentChannelType'];\r\n this['lookupFieldEntries'] = data['lookupFieldEntries'];\r\n }\r\n}\r\n\r\nexport class VerifyCustomerPhoneRequest {\r\n /** */\r\n 'identifier': string;\r\n\r\n /** */\r\n 'code': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['identifier'] = data['identifier'];\r\n this['code'] = data['code'];\r\n }\r\n}\r\n\r\nexport class VerifyOnboardingAutopayEnrollmentRequest {\r\n /** */\r\n 'businessUnitSlug': string;\r\n\r\n /** */\r\n 'skipAutopayEnrollment': boolean;\r\n\r\n /** */\r\n 'processingLeadTimeInDays': number;\r\n\r\n /** */\r\n 'paymentSourceId': number;\r\n\r\n /** */\r\n 'maximumBalanceAllowed': number;\r\n\r\n /** */\r\n 'termsAcknowledged': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitSlug'] = data['businessUnitSlug'];\r\n this['skipAutopayEnrollment'] = data['skipAutopayEnrollment'];\r\n this['processingLeadTimeInDays'] = data['processingLeadTimeInDays'];\r\n this['paymentSourceId'] = data['paymentSourceId'];\r\n this['maximumBalanceAllowed'] = data['maximumBalanceAllowed'];\r\n this['termsAcknowledged'] = data['termsAcknowledged'];\r\n }\r\n}\r\n\r\nexport class VerifyOnboardingAutopayUnenrollmentRequest {\r\n /** */\r\n 'businessUnitSlug': string;\r\n\r\n /** */\r\n 'termsAcknowledged': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitSlug'] = data['businessUnitSlug'];\r\n this['termsAcknowledged'] = data['termsAcknowledged'];\r\n }\r\n}\r\n\r\nexport class VerifyOnboardingNotificationSettingsRequest {\r\n /** */\r\n 'businessUnitSlug': string;\r\n\r\n /** */\r\n 'skipNotificationSettings': boolean;\r\n\r\n /** */\r\n 'upcomingPaymentLeadTimeInDays': number;\r\n\r\n /** */\r\n 'notifyUpcomingPaymentEmail': boolean;\r\n\r\n /** */\r\n 'notifyUpcomingPaymentSms': boolean;\r\n\r\n /** */\r\n 'notifyNewBillEmail': boolean;\r\n\r\n /** */\r\n 'notifyNewBillSms': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitSlug'] = data['businessUnitSlug'];\r\n this['skipNotificationSettings'] = data['skipNotificationSettings'];\r\n this['upcomingPaymentLeadTimeInDays'] = data['upcomingPaymentLeadTimeInDays'];\r\n this['notifyUpcomingPaymentEmail'] = data['notifyUpcomingPaymentEmail'];\r\n this['notifyUpcomingPaymentSms'] = data['notifyUpcomingPaymentSms'];\r\n this['notifyNewBillEmail'] = data['notifyNewBillEmail'];\r\n this['notifyNewBillSms'] = data['notifyNewBillSms'];\r\n }\r\n}\r\n\r\nexport class VerifyOnboardingPaperlessEnrollmentRequest {\r\n /** */\r\n 'businessUnitSlug': string;\r\n\r\n /** */\r\n 'skipPaperlessEnrollment': boolean;\r\n\r\n /** */\r\n 'emailAddress': string;\r\n\r\n /** */\r\n 'termsAcknowledged': boolean;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitSlug'] = data['businessUnitSlug'];\r\n this['skipPaperlessEnrollment'] = data['skipPaperlessEnrollment'];\r\n this['emailAddress'] = data['emailAddress'];\r\n this['termsAcknowledged'] = data['termsAcknowledged'];\r\n }\r\n}\r\n\r\nexport class VerifyOnboardingPhoneNumberRequest {\r\n /** */\r\n 'businessUnitSlug': string;\r\n\r\n /** */\r\n 'identifier': string;\r\n\r\n /** */\r\n 'code': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitSlug'] = data['businessUnitSlug'];\r\n this['identifier'] = data['identifier'];\r\n this['code'] = data['code'];\r\n }\r\n}\r\n\r\nexport class ViewAutopayAccountSummary {\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'timezone': string;\r\n\r\n /** */\r\n 'mappedTimezone': string;\r\n\r\n /** */\r\n 'scheduleAutopayOnEarlyBilling': boolean;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'name': string;\r\n\r\n /** */\r\n 'uniqueAccountKey': string;\r\n\r\n /** */\r\n 'accountSyncDate': Date;\r\n\r\n /** */\r\n 'dueDate': Date;\r\n\r\n /** */\r\n 'autopaySchedulingDateComputed': Date;\r\n\r\n /** */\r\n 'autopayProcessingDateComputed': Date;\r\n\r\n /** */\r\n 'balance': number;\r\n\r\n /** */\r\n 'autopaySettingsId': number;\r\n\r\n /** */\r\n 'autopayCustomerId': number;\r\n\r\n /** */\r\n 'scheduledPaymentId': number;\r\n\r\n /** */\r\n 'scheduledPaymentAmountMinor': number;\r\n\r\n /** */\r\n 'scheduledDateToProcess': Date;\r\n\r\n /** */\r\n 'schedulingStatus': string;\r\n\r\n /** */\r\n 'schedulingMessage': string;\r\n\r\n /** */\r\n 'customerNotified': boolean;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'createdByUserId': number;\r\n\r\n /** */\r\n 'modifiedByUserId': number;\r\n\r\n /** */\r\n 'deletedByUserId': number;\r\n\r\n /** */\r\n 'isDeleted': boolean;\r\n\r\n /** */\r\n 'createdDate': Date;\r\n\r\n /** */\r\n 'modifiedDate': Date;\r\n\r\n /** */\r\n 'deletedDate': Date;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['timezone'] = data['timezone'];\r\n this['mappedTimezone'] = data['mappedTimezone'];\r\n this['scheduleAutopayOnEarlyBilling'] = data['scheduleAutopayOnEarlyBilling'];\r\n this['accountId'] = data['accountId'];\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['name'] = data['name'];\r\n this['uniqueAccountKey'] = data['uniqueAccountKey'];\r\n this['accountSyncDate'] = data['accountSyncDate'];\r\n this['dueDate'] = data['dueDate'];\r\n this['autopaySchedulingDateComputed'] = data['autopaySchedulingDateComputed'];\r\n this['autopayProcessingDateComputed'] = data['autopayProcessingDateComputed'];\r\n this['balance'] = data['balance'];\r\n this['autopaySettingsId'] = data['autopaySettingsId'];\r\n this['autopayCustomerId'] = data['autopayCustomerId'];\r\n this['scheduledPaymentId'] = data['scheduledPaymentId'];\r\n this['scheduledPaymentAmountMinor'] = data['scheduledPaymentAmountMinor'];\r\n this['scheduledDateToProcess'] = data['scheduledDateToProcess'];\r\n this['schedulingStatus'] = data['schedulingStatus'];\r\n this['schedulingMessage'] = data['schedulingMessage'];\r\n this['customerNotified'] = data['customerNotified'];\r\n this['id'] = data['id'];\r\n this['createdByUserId'] = data['createdByUserId'];\r\n this['modifiedByUserId'] = data['modifiedByUserId'];\r\n this['deletedByUserId'] = data['deletedByUserId'];\r\n this['isDeleted'] = data['isDeleted'];\r\n this['createdDate'] = data['createdDate'];\r\n this['modifiedDate'] = data['modifiedDate'];\r\n this['deletedDate'] = data['deletedDate'];\r\n }\r\n}\r\n\r\nexport class ViewCustomerAccounts {\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'customerId': number;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'accountName': string;\r\n\r\n /** */\r\n 'emailAddress': string;\r\n\r\n /** */\r\n 'dueDate': Date;\r\n\r\n /** */\r\n 'issueDate': Date;\r\n\r\n /** */\r\n 'balance': number;\r\n\r\n /** */\r\n 'lateFee': number;\r\n\r\n /** */\r\n 'processingLeadTimeInDays': number;\r\n\r\n /** */\r\n 'paperlessBilling': boolean;\r\n\r\n /** */\r\n 'isArchived': boolean;\r\n\r\n /** */\r\n 'anyCustomerAccountEnrolledInAutopay': boolean;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'createdByUserId': number;\r\n\r\n /** */\r\n 'modifiedByUserId': number;\r\n\r\n /** */\r\n 'deletedByUserId': number;\r\n\r\n /** */\r\n 'isDeleted': boolean;\r\n\r\n /** */\r\n 'createdDate': Date;\r\n\r\n /** */\r\n 'modifiedDate': Date;\r\n\r\n /** */\r\n 'deletedDate': Date;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['accountId'] = data['accountId'];\r\n this['customerId'] = data['customerId'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['accountName'] = data['accountName'];\r\n this['emailAddress'] = data['emailAddress'];\r\n this['dueDate'] = data['dueDate'];\r\n this['issueDate'] = data['issueDate'];\r\n this['balance'] = data['balance'];\r\n this['lateFee'] = data['lateFee'];\r\n this['processingLeadTimeInDays'] = data['processingLeadTimeInDays'];\r\n this['paperlessBilling'] = data['paperlessBilling'];\r\n this['isArchived'] = data['isArchived'];\r\n this['anyCustomerAccountEnrolledInAutopay'] = data['anyCustomerAccountEnrolledInAutopay'];\r\n this['id'] = data['id'];\r\n this['createdByUserId'] = data['createdByUserId'];\r\n this['modifiedByUserId'] = data['modifiedByUserId'];\r\n this['deletedByUserId'] = data['deletedByUserId'];\r\n this['isDeleted'] = data['isDeleted'];\r\n this['createdDate'] = data['createdDate'];\r\n this['modifiedDate'] = data['modifiedDate'];\r\n this['deletedDate'] = data['deletedDate'];\r\n }\r\n}\r\n\r\nexport class ViewJobSummaryDto {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'latestJobExecutionId': number;\r\n\r\n /** */\r\n 'scheduleCount': number;\r\n\r\n /** */\r\n 'jobEventTriggerCount': number;\r\n\r\n /** */\r\n 'jobTasksBitMask': number;\r\n\r\n /** */\r\n 'jobTriggerBitMask': number;\r\n\r\n /** */\r\n 'display': string;\r\n\r\n /** */\r\n 'businessUnitName': string;\r\n\r\n /** */\r\n 'organizationName': string;\r\n\r\n /** */\r\n 'businessUnitTimezone': string;\r\n\r\n /** */\r\n 'identifier': string;\r\n\r\n /** */\r\n 'startTime': Date;\r\n\r\n /** */\r\n 'endTime': Date;\r\n\r\n /** */\r\n 'executionStatus': string;\r\n\r\n /** */\r\n 'pausedJobTaskIndex': number;\r\n\r\n /** */\r\n 'contextSnapshotJson': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'disabled': boolean;\r\n\r\n /** */\r\n 'tags': string;\r\n\r\n /** */\r\n 'webhookId': string;\r\n\r\n /** */\r\n 'notes': string;\r\n\r\n /** */\r\n 'taskDescriptions': string[];\r\n\r\n /** */\r\n 'createdByUserId': number;\r\n\r\n /** */\r\n 'modifiedByUserId': number;\r\n\r\n /** */\r\n 'deletedByUserId': number;\r\n\r\n /** */\r\n 'isDeleted': boolean;\r\n\r\n /** */\r\n 'createdDate': Date;\r\n\r\n /** */\r\n 'modifiedDate': Date;\r\n\r\n /** */\r\n 'deletedDate': Date;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['latestJobExecutionId'] = data['latestJobExecutionId'];\r\n this['scheduleCount'] = data['scheduleCount'];\r\n this['jobEventTriggerCount'] = data['jobEventTriggerCount'];\r\n this['jobTasksBitMask'] = data['jobTasksBitMask'];\r\n this['jobTriggerBitMask'] = data['jobTriggerBitMask'];\r\n this['display'] = data['display'];\r\n this['businessUnitName'] = data['businessUnitName'];\r\n this['organizationName'] = data['organizationName'];\r\n this['businessUnitTimezone'] = data['businessUnitTimezone'];\r\n this['identifier'] = data['identifier'];\r\n this['startTime'] = data['startTime'];\r\n this['endTime'] = data['endTime'];\r\n this['executionStatus'] = data['executionStatus'];\r\n this['pausedJobTaskIndex'] = data['pausedJobTaskIndex'];\r\n this['contextSnapshotJson'] = data['contextSnapshotJson'];\r\n this['description'] = data['description'];\r\n this['disabled'] = data['disabled'];\r\n this['tags'] = data['tags'];\r\n this['webhookId'] = data['webhookId'];\r\n this['notes'] = data['notes'];\r\n this['taskDescriptions'] = data['taskDescriptions'];\r\n this['createdByUserId'] = data['createdByUserId'];\r\n this['modifiedByUserId'] = data['modifiedByUserId'];\r\n this['deletedByUserId'] = data['deletedByUserId'];\r\n this['isDeleted'] = data['isDeleted'];\r\n this['createdDate'] = data['createdDate'];\r\n this['modifiedDate'] = data['modifiedDate'];\r\n this['deletedDate'] = data['deletedDate'];\r\n }\r\n}\r\n\r\nexport class ViewPaymentProcessedEvent {\r\n /** */\r\n 'sessionIdentifier': string;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'businessUnitName': string;\r\n\r\n /** */\r\n 'businessUnitSlug': string;\r\n\r\n /** */\r\n 'businessUnitTimeZone': string;\r\n\r\n /** */\r\n 'paymentDescriptor': string;\r\n\r\n /** */\r\n 'accountNumber': string;\r\n\r\n /** */\r\n 'subAccountNumber': string;\r\n\r\n /** */\r\n 'accountName': string;\r\n\r\n /** */\r\n 'balanceMinor': number;\r\n\r\n /** */\r\n 'lateFeeMinor': number;\r\n\r\n /** */\r\n 'balance': string;\r\n\r\n /** */\r\n 'lateFee': string;\r\n\r\n /** */\r\n 'dueDate': Date;\r\n\r\n /** */\r\n 'gatewayErrorMessage': string;\r\n\r\n /** */\r\n 'accountCreateMethod': string;\r\n\r\n /** */\r\n 'amountMinor': number;\r\n\r\n /** */\r\n 'currencyCode': string;\r\n\r\n /** */\r\n 'amount': number;\r\n\r\n /** */\r\n 'amountFormatted': string;\r\n\r\n /** */\r\n 'serviceFeeAmountMinor': number;\r\n\r\n /** */\r\n 'serviceFeeAmountFormatted': string;\r\n\r\n /** */\r\n 'createdByUserName': string;\r\n\r\n /** */\r\n 'paymentCreatedDateUtc': Date;\r\n\r\n /** */\r\n 'channel': string;\r\n\r\n /** */\r\n 'referenceNumber': string;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'paymentType': string;\r\n\r\n /** */\r\n 'paymentSourceType': string;\r\n\r\n /** */\r\n 'accountNumberLast4': string;\r\n\r\n /** */\r\n 'accountType': string;\r\n\r\n /** */\r\n 'paymentMetaJson': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['sessionIdentifier'] = data['sessionIdentifier'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['businessUnitName'] = data['businessUnitName'];\r\n this['businessUnitSlug'] = data['businessUnitSlug'];\r\n this['businessUnitTimeZone'] = data['businessUnitTimeZone'];\r\n this['paymentDescriptor'] = data['paymentDescriptor'];\r\n this['accountNumber'] = data['accountNumber'];\r\n this['subAccountNumber'] = data['subAccountNumber'];\r\n this['accountName'] = data['accountName'];\r\n this['balanceMinor'] = data['balanceMinor'];\r\n this['lateFeeMinor'] = data['lateFeeMinor'];\r\n this['balance'] = data['balance'];\r\n this['lateFee'] = data['lateFee'];\r\n this['dueDate'] = data['dueDate'];\r\n this['gatewayErrorMessage'] = data['gatewayErrorMessage'];\r\n this['accountCreateMethod'] = data['accountCreateMethod'];\r\n this['amountMinor'] = data['amountMinor'];\r\n this['currencyCode'] = data['currencyCode'];\r\n this['amount'] = data['amount'];\r\n this['amountFormatted'] = data['amountFormatted'];\r\n this['serviceFeeAmountMinor'] = data['serviceFeeAmountMinor'];\r\n this['serviceFeeAmountFormatted'] = data['serviceFeeAmountFormatted'];\r\n this['createdByUserName'] = data['createdByUserName'];\r\n this['paymentCreatedDateUtc'] = data['paymentCreatedDateUtc'];\r\n this['channel'] = data['channel'];\r\n this['referenceNumber'] = data['referenceNumber'];\r\n this['status'] = data['status'];\r\n this['paymentType'] = data['paymentType'];\r\n this['paymentSourceType'] = data['paymentSourceType'];\r\n this['accountNumberLast4'] = data['accountNumberLast4'];\r\n this['accountType'] = data['accountType'];\r\n this['paymentMetaJson'] = data['paymentMetaJson'];\r\n }\r\n}\r\n\r\nexport class ViewTermsOfService {\r\n /** */\r\n 'identifier': string;\r\n\r\n /** */\r\n 'description': string;\r\n\r\n /** */\r\n 'acknowledgementType': string;\r\n\r\n /** */\r\n 'newestPublishedVersion': number;\r\n\r\n /** */\r\n 'newestDraftVersion': number;\r\n\r\n /** */\r\n 'draftCount': number;\r\n\r\n /** */\r\n 'newerDraft': boolean;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'createdByUserId': number;\r\n\r\n /** */\r\n 'modifiedByUserId': number;\r\n\r\n /** */\r\n 'deletedByUserId': number;\r\n\r\n /** */\r\n 'isDeleted': boolean;\r\n\r\n /** */\r\n 'createdDate': Date;\r\n\r\n /** */\r\n 'modifiedDate': Date;\r\n\r\n /** */\r\n 'deletedDate': Date;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['identifier'] = data['identifier'];\r\n this['description'] = data['description'];\r\n this['acknowledgementType'] = data['acknowledgementType'];\r\n this['newestPublishedVersion'] = data['newestPublishedVersion'];\r\n this['newestDraftVersion'] = data['newestDraftVersion'];\r\n this['draftCount'] = data['draftCount'];\r\n this['newerDraft'] = data['newerDraft'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['id'] = data['id'];\r\n this['createdByUserId'] = data['createdByUserId'];\r\n this['modifiedByUserId'] = data['modifiedByUserId'];\r\n this['deletedByUserId'] = data['deletedByUserId'];\r\n this['isDeleted'] = data['isDeleted'];\r\n this['createdDate'] = data['createdDate'];\r\n this['modifiedDate'] = data['modifiedDate'];\r\n this['deletedDate'] = data['deletedDate'];\r\n }\r\n}\r\n\r\nexport class ViewTransactionAggregate {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'organizationId': number;\r\n\r\n /** */\r\n 'paymentId': number;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'adjustmentId': number;\r\n\r\n /** */\r\n 'paymentSourceId': number;\r\n\r\n /** */\r\n 'merchantAccountId': number;\r\n\r\n /** */\r\n 'paymentSessionId': number;\r\n\r\n /** */\r\n 'paymentDescriptor': string;\r\n\r\n /** */\r\n 'paymentMetaJson': string;\r\n\r\n /** */\r\n 'createdDateLocal': string;\r\n\r\n /** */\r\n 'type': string;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'amountMinor': number;\r\n\r\n /** */\r\n 'currencyCode': string;\r\n\r\n /** */\r\n 'gatewayId': string;\r\n\r\n /** */\r\n 'errorMessage': string;\r\n\r\n /** */\r\n 'successful': boolean;\r\n\r\n /** */\r\n 'merchantNumber': string;\r\n\r\n /** */\r\n 'authCode': string;\r\n\r\n /** */\r\n 'batchIdentifier': string;\r\n\r\n /** */\r\n 'businessUnitDisplay': string;\r\n\r\n /** */\r\n 'businessUnitState': string;\r\n\r\n /** */\r\n 'includeServiceFeeInPayment': boolean;\r\n\r\n /** */\r\n 'businessUnitTimezone': string;\r\n\r\n /** */\r\n 'paymentCreatedDate': Date;\r\n\r\n /** */\r\n 'paymentCreatedDateLocal': string;\r\n\r\n /** */\r\n 'paymentReferenceNumber': string;\r\n\r\n /** */\r\n 'paymentAmountMinor': number;\r\n\r\n /** */\r\n 'paymentStatus': string;\r\n\r\n /** */\r\n 'paymentChannel': string;\r\n\r\n /** */\r\n 'paymentType': string;\r\n\r\n /** */\r\n 'paymentServiceFeeAmountMinor': number;\r\n\r\n /** */\r\n 'paymentSessionStatus': string;\r\n\r\n /** */\r\n 'paymentSourcePaymentSourceType': string;\r\n\r\n /** */\r\n 'paymentSourceNickname': string;\r\n\r\n /** */\r\n 'paymentSourceStreetAddress': string;\r\n\r\n /** */\r\n 'paymentSourceCity': string;\r\n\r\n /** */\r\n 'paymentSourceState': string;\r\n\r\n /** */\r\n 'paymentSourceZipCode': string;\r\n\r\n /** */\r\n 'paymentSourceAccountNumberMasked': string;\r\n\r\n /** */\r\n 'paymentSourceAccountType': string;\r\n\r\n /** */\r\n 'paymentSourceAchAccountHolderType': string;\r\n\r\n /** */\r\n 'paymentSourceAccountHolderName': string;\r\n\r\n /** */\r\n 'paymentSourceCardExpirationMonth': string;\r\n\r\n /** */\r\n 'paymentSourceCardExpirationYear': string;\r\n\r\n /** */\r\n 'accountCreateMethod': string;\r\n\r\n /** */\r\n 'accountAddressStreetAddress': string;\r\n\r\n /** */\r\n 'paymentSourceAccountNumberLast4': string;\r\n\r\n /** */\r\n 'createdByUserName': string;\r\n\r\n /** */\r\n 'createdByUserRole': string;\r\n\r\n /** */\r\n 'transactionExported': boolean;\r\n\r\n /** */\r\n 'isEmbeddedPayment': boolean;\r\n\r\n /** */\r\n 'createdByUserId': number;\r\n\r\n /** */\r\n 'modifiedByUserId': number;\r\n\r\n /** */\r\n 'deletedByUserId': number;\r\n\r\n /** */\r\n 'isDeleted': boolean;\r\n\r\n /** */\r\n 'createdDate': Date;\r\n\r\n /** */\r\n 'modifiedDate': Date;\r\n\r\n /** */\r\n 'deletedDate': Date;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['organizationId'] = data['organizationId'];\r\n this['paymentId'] = data['paymentId'];\r\n this['accountId'] = data['accountId'];\r\n this['adjustmentId'] = data['adjustmentId'];\r\n this['paymentSourceId'] = data['paymentSourceId'];\r\n this['merchantAccountId'] = data['merchantAccountId'];\r\n this['paymentSessionId'] = data['paymentSessionId'];\r\n this['paymentDescriptor'] = data['paymentDescriptor'];\r\n this['paymentMetaJson'] = data['paymentMetaJson'];\r\n this['createdDateLocal'] = data['createdDateLocal'];\r\n this['type'] = data['type'];\r\n this['status'] = data['status'];\r\n this['amountMinor'] = data['amountMinor'];\r\n this['currencyCode'] = data['currencyCode'];\r\n this['gatewayId'] = data['gatewayId'];\r\n this['errorMessage'] = data['errorMessage'];\r\n this['successful'] = data['successful'];\r\n this['merchantNumber'] = data['merchantNumber'];\r\n this['authCode'] = data['authCode'];\r\n this['batchIdentifier'] = data['batchIdentifier'];\r\n this['businessUnitDisplay'] = data['businessUnitDisplay'];\r\n this['businessUnitState'] = data['businessUnitState'];\r\n this['includeServiceFeeInPayment'] = data['includeServiceFeeInPayment'];\r\n this['businessUnitTimezone'] = data['businessUnitTimezone'];\r\n this['paymentCreatedDate'] = data['paymentCreatedDate'];\r\n this['paymentCreatedDateLocal'] = data['paymentCreatedDateLocal'];\r\n this['paymentReferenceNumber'] = data['paymentReferenceNumber'];\r\n this['paymentAmountMinor'] = data['paymentAmountMinor'];\r\n this['paymentStatus'] = data['paymentStatus'];\r\n this['paymentChannel'] = data['paymentChannel'];\r\n this['paymentType'] = data['paymentType'];\r\n this['paymentServiceFeeAmountMinor'] = data['paymentServiceFeeAmountMinor'];\r\n this['paymentSessionStatus'] = data['paymentSessionStatus'];\r\n this['paymentSourcePaymentSourceType'] = data['paymentSourcePaymentSourceType'];\r\n this['paymentSourceNickname'] = data['paymentSourceNickname'];\r\n this['paymentSourceStreetAddress'] = data['paymentSourceStreetAddress'];\r\n this['paymentSourceCity'] = data['paymentSourceCity'];\r\n this['paymentSourceState'] = data['paymentSourceState'];\r\n this['paymentSourceZipCode'] = data['paymentSourceZipCode'];\r\n this['paymentSourceAccountNumberMasked'] = data['paymentSourceAccountNumberMasked'];\r\n this['paymentSourceAccountType'] = data['paymentSourceAccountType'];\r\n this['paymentSourceAchAccountHolderType'] = data['paymentSourceAchAccountHolderType'];\r\n this['paymentSourceAccountHolderName'] = data['paymentSourceAccountHolderName'];\r\n this['paymentSourceCardExpirationMonth'] = data['paymentSourceCardExpirationMonth'];\r\n this['paymentSourceCardExpirationYear'] = data['paymentSourceCardExpirationYear'];\r\n this['accountCreateMethod'] = data['accountCreateMethod'];\r\n this['accountAddressStreetAddress'] = data['accountAddressStreetAddress'];\r\n this['paymentSourceAccountNumberLast4'] = data['paymentSourceAccountNumberLast4'];\r\n this['createdByUserName'] = data['createdByUserName'];\r\n this['createdByUserRole'] = data['createdByUserRole'];\r\n this['transactionExported'] = data['transactionExported'];\r\n this['isEmbeddedPayment'] = data['isEmbeddedPayment'];\r\n this['createdByUserId'] = data['createdByUserId'];\r\n this['modifiedByUserId'] = data['modifiedByUserId'];\r\n this['deletedByUserId'] = data['deletedByUserId'];\r\n this['isDeleted'] = data['isDeleted'];\r\n this['createdDate'] = data['createdDate'];\r\n this['modifiedDate'] = data['modifiedDate'];\r\n this['deletedDate'] = data['deletedDate'];\r\n }\r\n}\r\n\r\nexport class ViewTransactionSummary {\r\n /** */\r\n 'id': number;\r\n\r\n /** */\r\n 'businessUnitId': number;\r\n\r\n /** */\r\n 'organizationId': number;\r\n\r\n /** */\r\n 'paymentId': number;\r\n\r\n /** */\r\n 'accountId': number;\r\n\r\n /** */\r\n 'paymentSourceId': number;\r\n\r\n /** */\r\n 'merchantAccountId': number;\r\n\r\n /** */\r\n 'paymentSessionId': number;\r\n\r\n /** */\r\n 'adjustmentId': number;\r\n\r\n /** */\r\n 'paymentDescriptor': string;\r\n\r\n /** */\r\n 'createdDateLocal': string;\r\n\r\n /** */\r\n 'type': string;\r\n\r\n /** */\r\n 'status': string;\r\n\r\n /** */\r\n 'amountMinor': number;\r\n\r\n /** */\r\n 'currencyCode': string;\r\n\r\n /** */\r\n 'gatewayId': string;\r\n\r\n /** */\r\n 'successful': boolean;\r\n\r\n /** */\r\n 'authCode': string;\r\n\r\n /** */\r\n 'batchIdentifier': string;\r\n\r\n /** */\r\n 'businessUnitTimezone': string;\r\n\r\n /** */\r\n 'businessUnitDisplay': string;\r\n\r\n /** */\r\n 'businessUnitState': string;\r\n\r\n /** */\r\n 'includeServiceFeeInPayment': boolean;\r\n\r\n /** */\r\n 'paymentCreatedDateLocal': string;\r\n\r\n /** */\r\n 'paymentReferenceNumber': string;\r\n\r\n /** */\r\n 'paymentAmountMinor': number;\r\n\r\n /** */\r\n 'paymentStatus': string;\r\n\r\n /** */\r\n 'paymentChannel': string;\r\n\r\n /** */\r\n 'paymentType': string;\r\n\r\n /** */\r\n 'paymentSessionStatus': string;\r\n\r\n /** */\r\n 'paymentSourcePaymentSourceType': string;\r\n\r\n /** */\r\n 'paymentSourceAccountNumberMasked': string;\r\n\r\n /** */\r\n 'paymentSourceAccountType': string;\r\n\r\n /** */\r\n 'paymentSourceAccountHolderName': string;\r\n\r\n /** */\r\n 'paymentSourceNickname': string;\r\n\r\n /** */\r\n 'paymentSourceStreetAddress': string;\r\n\r\n /** */\r\n 'paymentSourceCity': string;\r\n\r\n /** */\r\n 'paymentSourceState': string;\r\n\r\n /** */\r\n 'paymentSourceZipCode': string;\r\n\r\n /** */\r\n 'accountCreateMethod': string;\r\n\r\n /** */\r\n 'accountAddressStreetAddress': string;\r\n\r\n /** */\r\n 'paymentSourceAccountNumberLast4': string;\r\n\r\n /** */\r\n 'createdByUserName': string;\r\n\r\n /** */\r\n 'createdByUserRole': string;\r\n\r\n /** */\r\n 'transactionExported': boolean;\r\n\r\n /** */\r\n 'isEmbeddedPayment': boolean;\r\n\r\n /** */\r\n 'createdByUserId': number;\r\n\r\n /** */\r\n 'modifiedByUserId': number;\r\n\r\n /** */\r\n 'deletedByUserId': number;\r\n\r\n /** */\r\n 'isDeleted': boolean;\r\n\r\n /** */\r\n 'createdDate': Date;\r\n\r\n /** */\r\n 'modifiedDate': Date;\r\n\r\n /** */\r\n 'deletedDate': Date;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['id'] = data['id'];\r\n this['businessUnitId'] = data['businessUnitId'];\r\n this['organizationId'] = data['organizationId'];\r\n this['paymentId'] = data['paymentId'];\r\n this['accountId'] = data['accountId'];\r\n this['paymentSourceId'] = data['paymentSourceId'];\r\n this['merchantAccountId'] = data['merchantAccountId'];\r\n this['paymentSessionId'] = data['paymentSessionId'];\r\n this['adjustmentId'] = data['adjustmentId'];\r\n this['paymentDescriptor'] = data['paymentDescriptor'];\r\n this['createdDateLocal'] = data['createdDateLocal'];\r\n this['type'] = data['type'];\r\n this['status'] = data['status'];\r\n this['amountMinor'] = data['amountMinor'];\r\n this['currencyCode'] = data['currencyCode'];\r\n this['gatewayId'] = data['gatewayId'];\r\n this['successful'] = data['successful'];\r\n this['authCode'] = data['authCode'];\r\n this['batchIdentifier'] = data['batchIdentifier'];\r\n this['businessUnitTimezone'] = data['businessUnitTimezone'];\r\n this['businessUnitDisplay'] = data['businessUnitDisplay'];\r\n this['businessUnitState'] = data['businessUnitState'];\r\n this['includeServiceFeeInPayment'] = data['includeServiceFeeInPayment'];\r\n this['paymentCreatedDateLocal'] = data['paymentCreatedDateLocal'];\r\n this['paymentReferenceNumber'] = data['paymentReferenceNumber'];\r\n this['paymentAmountMinor'] = data['paymentAmountMinor'];\r\n this['paymentStatus'] = data['paymentStatus'];\r\n this['paymentChannel'] = data['paymentChannel'];\r\n this['paymentType'] = data['paymentType'];\r\n this['paymentSessionStatus'] = data['paymentSessionStatus'];\r\n this['paymentSourcePaymentSourceType'] = data['paymentSourcePaymentSourceType'];\r\n this['paymentSourceAccountNumberMasked'] = data['paymentSourceAccountNumberMasked'];\r\n this['paymentSourceAccountType'] = data['paymentSourceAccountType'];\r\n this['paymentSourceAccountHolderName'] = data['paymentSourceAccountHolderName'];\r\n this['paymentSourceNickname'] = data['paymentSourceNickname'];\r\n this['paymentSourceStreetAddress'] = data['paymentSourceStreetAddress'];\r\n this['paymentSourceCity'] = data['paymentSourceCity'];\r\n this['paymentSourceState'] = data['paymentSourceState'];\r\n this['paymentSourceZipCode'] = data['paymentSourceZipCode'];\r\n this['accountCreateMethod'] = data['accountCreateMethod'];\r\n this['accountAddressStreetAddress'] = data['accountAddressStreetAddress'];\r\n this['paymentSourceAccountNumberLast4'] = data['paymentSourceAccountNumberLast4'];\r\n this['createdByUserName'] = data['createdByUserName'];\r\n this['createdByUserRole'] = data['createdByUserRole'];\r\n this['transactionExported'] = data['transactionExported'];\r\n this['isEmbeddedPayment'] = data['isEmbeddedPayment'];\r\n this['createdByUserId'] = data['createdByUserId'];\r\n this['modifiedByUserId'] = data['modifiedByUserId'];\r\n this['deletedByUserId'] = data['deletedByUserId'];\r\n this['isDeleted'] = data['isDeleted'];\r\n this['createdDate'] = data['createdDate'];\r\n this['modifiedDate'] = data['modifiedDate'];\r\n this['deletedDate'] = data['deletedDate'];\r\n }\r\n}\r\n\r\nexport class VoidPaymentRequest {\r\n /** */\r\n 'paymentId': number;\r\n\r\n /** */\r\n 'newBalance': number;\r\n\r\n /** */\r\n 'reason': string;\r\n\r\n constructor(data: undefined | any = {}) {\r\n this['paymentId'] = data['paymentId'];\r\n this['newBalance'] = data['newBalance'];\r\n this['reason'] = data['reason'];\r\n }\r\n}\r\n","// Enums\r\n\r\nexport type CustomClaims = keyof typeof CustomClaims;\r\nexport const CustomClaims = {permissions: 'permissions', role: 'role'} as const;\r\n\r\nexport type CustomSessionClaims = keyof typeof CustomSessionClaims;\r\nexport const CustomSessionClaims = {\r\n business_unit_id: 'business_unit_id',\r\n business_unit_slug: 'business_unit_slug',\r\n customer_id: 'customer_id',\r\n environment_key: 'environment_key',\r\n embedded_data: 'embedded_data',\r\n session_identifier: 'session_identifier',\r\n} as const;\r\n\r\nexport type Permissions = keyof typeof Permissions;\r\nexport const Permissions = {\r\n 'Accounts:Manage': 'Accounts:Manage',\r\n 'Accounts:Read': 'Accounts:Read',\r\n 'Billing:Default': 'Billing:Default',\r\n 'BusinessUnits:Manage': 'BusinessUnits:Manage',\r\n 'BusinessUnits:Read': 'BusinessUnits:Read',\r\n 'Payments:Default': 'Payments:Default',\r\n 'Payments:Refund': 'Payments:Refund',\r\n 'Payments:Void': 'Payments:Void',\r\n 'Reports:Default': 'Reports:Default',\r\n 'Transactions:Default': 'Transactions:Default',\r\n 'Users:Manage': 'Users:Manage',\r\n 'Users:Read': 'Users:Read',\r\n 'AutopayEnrollment:Manage': 'AutopayEnrollment:Manage',\r\n 'ScheduledPayments:Manage': 'ScheduledPayments:Manage',\r\n} as const;\r\n\r\nexport type KnownCookies = keyof typeof KnownCookies;\r\nexport const KnownCookies = {PreferEmailLogin: 'PreferEmailLogin'} as const;\r\n\r\nexport type ClientQueryKeys = keyof typeof ClientQueryKeys;\r\nexport const ClientQueryKeys = {\r\n PaymentSuccessful: 'PaymentSuccessful',\r\n BusinessUnitSlug: 'BusinessUnitSlug',\r\n AuthSessionToken: 'AuthSessionToken',\r\n CustomRedirectUrl: 'CustomRedirectUrl',\r\n initialAction: 'initialAction',\r\n returnUrl: 'returnUrl',\r\n sessionIdentifier: 'sessionIdentifier',\r\n sessionAction: 'sessionAction',\r\n accountNumber: 'accountNumber',\r\n subaccountNumber: 'subaccountNumber',\r\n accountId: 'accountId',\r\n} as const;\r\n\r\nexport type ClientActionQueryValues = keyof typeof ClientActionQueryValues;\r\nexport const ClientActionQueryValues = {\r\n 'initiate-pos': 'initiate-pos',\r\n 'AUTOPAY.ENROLL': 'AUTOPAY.ENROLL',\r\n 'PAYMENT.INITIATE': 'PAYMENT.INITIATE',\r\n 'ONBOARDING.RESUME': 'ONBOARDING.RESUME',\r\n} as const;\r\n\r\nexport type Roles = keyof typeof Roles;\r\nexport const Roles = {\r\n 'System User': 'System User',\r\n 'Global Admin': 'Global Admin',\r\n 'Organization Admin': 'Organization Admin',\r\n 'Organization User': 'Organization User',\r\n Customer: 'Customer',\r\n QuickPay: 'QuickPay',\r\n Embedded: 'Embedded',\r\n 'Base User': 'Base User',\r\n} as const;\r\n\r\nexport type AccountCreateMethods = keyof typeof AccountCreateMethods;\r\nexport const AccountCreateMethods = {\r\n Manual: 'Manual',\r\n Imported: 'Imported',\r\n Api: 'Api',\r\n POS: 'POS',\r\n} as const;\r\n\r\nexport type AccountFieldTypes = keyof typeof AccountFieldTypes;\r\nexport const AccountFieldTypes = {\r\n AccountNumber: 'AccountNumber',\r\n SubAccountNumber: 'SubAccountNumber',\r\n Name: 'Name',\r\n Zip: 'Zip',\r\n Balance: 'Balance',\r\n LateFee: 'LateFee',\r\n Description: 'Description',\r\n IssueDate: 'IssueDate',\r\n DueDate: 'DueDate',\r\n PhoneNumber: 'PhoneNumber',\r\n EmailAddress: 'EmailAddress',\r\n Note: 'Note',\r\n Address: 'Address',\r\n PastDueAmountMinor: 'PastDueAmountMinor',\r\n} as const;\r\n\r\nexport type AccountFieldTypesThatCannotBeLookup = keyof typeof AccountFieldTypesThatCannotBeLookup;\r\nexport const AccountFieldTypesThatCannotBeLookup = {\r\n Balance: 'Balance',\r\n IssueDate: 'IssueDate',\r\n DueDate: 'DueDate',\r\n Note: 'Note',\r\n Address: 'Address',\r\n} as const;\r\n\r\nexport type AccountFieldTypesThatCannotBeRequired =\r\n keyof typeof AccountFieldTypesThatCannotBeRequired;\r\nexport const AccountFieldTypesThatCannotBeRequired = {Address: 'Address'} as const;\r\n\r\nexport type AccountLogTypes = keyof typeof AccountLogTypes;\r\nexport const AccountLogTypes = {\r\n 'Account History Begin': 'Account History Begin',\r\n 'Account Manual Update': 'Account Manual Update',\r\n 'Account Sync': 'Account Sync',\r\n 'Account Sync With Balance Update': 'Account Sync With Balance Update',\r\n 'Account Archived': 'Account Archived',\r\n} as const;\r\n\r\nexport type PaperlessBillingActivityTypes = keyof typeof PaperlessBillingActivityTypes;\r\nexport const PaperlessBillingActivityTypes = {\r\n Enroll: 'Enroll',\r\n Unenroll: 'Unenroll',\r\n Update: 'Update',\r\n} as const;\r\n\r\nexport type PaperlessBillingExportTypes = keyof typeof PaperlessBillingExportTypes;\r\nexport const PaperlessBillingExportTypes = {Csv: 'Csv'} as const;\r\n\r\nexport type SmsLogStatuses = keyof typeof SmsLogStatuses;\r\nexport const SmsLogStatuses = {Pending: 'Pending', Complete: 'Complete', Failed: 'Failed'} as const;\r\n\r\nexport type BillingCycleStatuses = keyof typeof BillingCycleStatuses;\r\nexport const BillingCycleStatuses = {\r\n Processing: 'Processing',\r\n Draft: 'Draft',\r\n Approved: 'Approved',\r\n Error: 'Error',\r\n 'Requires Bills': 'Requires Bills',\r\n} as const;\r\n\r\nexport type NotificationStrategyTypes = keyof typeof NotificationStrategyTypes;\r\nexport const NotificationStrategyTypes = {\r\n None: 'None',\r\n 'Per Billing Cycle': 'Per Billing Cycle',\r\n 'Per Bill': 'Per Bill',\r\n} as const;\r\n\r\nexport type BillParsers = keyof typeof BillParsers;\r\nexport const BillParsers = {\r\n StJohn: 'StJohn',\r\n CUSI: 'CUSI',\r\n UDS: 'UDS',\r\n RVS: 'RVS',\r\n Omnis: 'Omnis',\r\n 'Ohio Software': 'Ohio Software',\r\n SaltCreek: 'SaltCreek',\r\n Bai: 'Bai',\r\n} as const;\r\n\r\nexport type BillTemplates = keyof typeof BillTemplates;\r\nexport const BillTemplates = {generic: 'generic', 'generic-color': 'generic-color'} as const;\r\n\r\nexport type ReadingsSyncLogTypes = keyof typeof ReadingsSyncLogTypes;\r\nexport const ReadingsSyncLogTypes = {\r\n 'Readings File Uploaded': 'Readings File Uploaded',\r\n 'Readings File Processed': 'Readings File Processed',\r\n 'Readings Linked': 'Readings Linked',\r\n 'Readings Linking Error': 'Readings Linking Error',\r\n 'Readings File Processing Error': 'Readings File Processing Error',\r\n} as const;\r\n\r\nexport type ReadingIntervals = keyof typeof ReadingIntervals;\r\nexport const ReadingIntervals = {Daily: 'Daily', Monthly: 'Monthly'} as const;\r\n\r\nexport type AdjustmentTypes = keyof typeof AdjustmentTypes;\r\nexport const AdjustmentTypes = {Chargeback: 'Chargeback', 'ACH Return': 'ACH Return'} as const;\r\n\r\nexport type PaymentStatuses = keyof typeof PaymentStatuses;\r\nexport const PaymentStatuses = {\r\n Pending: 'Pending',\r\n Succeeded: 'Succeeded',\r\n Declined: 'Declined',\r\n Error: 'Error',\r\n Abandoned: 'Abandoned',\r\n Refunded: 'Refunded',\r\n Voided: 'Voided',\r\n} as const;\r\n\r\nexport type PaymentSessionStatuses = keyof typeof PaymentSessionStatuses;\r\nexport const PaymentSessionStatuses = {\r\n RequiresPaymentFields: 'RequiresPaymentFields',\r\n RequiresPaymentSource: 'RequiresPaymentSource',\r\n RequiresCharges: 'RequiresCharges',\r\n RequiresConfirmation: 'RequiresConfirmation',\r\n Processing: 'Processing',\r\n RequiresGatewayResolution: 'RequiresGatewayResolution',\r\n RequiresFormResponse: 'RequiresFormResponse',\r\n Complete: 'Complete',\r\n Abandoned: 'Abandoned',\r\n} as const;\r\n\r\nexport type PaymentIntentConfigScopes = keyof typeof PaymentIntentConfigScopes;\r\nexport const PaymentIntentConfigScopes = {\r\n Default: 'Default',\r\n Checkout: 'Checkout',\r\n Embedded: 'Embedded',\r\n} as const;\r\n\r\nexport type PaymentTypes = keyof typeof PaymentTypes;\r\nexport const PaymentTypes = {'Base Payment': 'Base Payment', 'Service Fee': 'Service Fee'} as const;\r\n\r\nexport type PaymentFieldTypes = keyof typeof PaymentFieldTypes;\r\nexport const PaymentFieldTypes = {Text: 'Text'} as const;\r\n\r\nexport type PaymentLineItemTypes = keyof typeof PaymentLineItemTypes;\r\nexport const PaymentLineItemTypes = {\r\n AccountBalance: 'AccountBalance',\r\n OpenCharge: 'OpenCharge',\r\n LateFee: 'LateFee',\r\n Product: 'Product',\r\n ServiceFee: 'ServiceFee',\r\n} as const;\r\n\r\nexport type PaymentMetaKeys = keyof typeof PaymentMetaKeys;\r\nexport const PaymentMetaKeys = {__Accounts: '__Accounts', __LineItems: '__LineItems'} as const;\r\n\r\nexport type PaymentChannels = keyof typeof PaymentChannels;\r\nexport const PaymentChannels = {\r\n QuickPay: 'QuickPay',\r\n IVR: 'IVR',\r\n Autopay: 'Autopay',\r\n POS: 'POS',\r\n} as const;\r\n\r\nexport type PaymentEnabledModes = keyof typeof PaymentEnabledModes;\r\nexport const PaymentEnabledModes = {\r\n Enabled: 'Enabled',\r\n 'Prevent New': 'Prevent New',\r\n Disabled: 'Disabled',\r\n} as const;\r\n\r\nexport type TransactionExportTypes = keyof typeof TransactionExportTypes;\r\nexport const TransactionExportTypes = {\r\n 'Appalachian Software': 'Appalachian Software',\r\n BAI: 'BAI',\r\n 'Black Mountain': 'Black Mountain',\r\n 'Bossier Sheriff': 'Bossier Sheriff',\r\n 'Central Square': 'Central Square',\r\n 'City of Slidell': 'City of Slidell',\r\n CSDC: 'CSDC',\r\n CUSI: 'CUSI',\r\n 'Dynamic CSV': 'Dynamic CSV',\r\n 'Frey Municipal Software': 'Frey Municipal Software',\r\n Generic: 'Generic',\r\n GFC: 'GFC',\r\n Incode: 'Incode',\r\n 'iNHANCE Small Business': 'iNHANCE Small Business',\r\n JsReport: 'JsReport',\r\n Lamar: 'Lamar',\r\n 'LMS Waterworks': 'LMS Waterworks',\r\n Munis: 'Munis',\r\n 'Nicholson Business Systems': 'Nicholson Business Systems',\r\n 'New World': 'New World',\r\n 'Ohio Software': 'Ohio Software',\r\n OMNIS: 'OMNIS',\r\n 'River Road CUSI': 'River Road CUSI',\r\n RVS: 'RVS',\r\n SaltCreek: 'SaltCreek',\r\n Softel: 'Softel',\r\n SoftWater: 'SoftWater',\r\n StJohn: 'StJohn',\r\n Thoroughbred: 'Thoroughbred',\r\n 'Tyler Tech': 'Tyler Tech',\r\n 'Tyler Tech (No Hyphens)': 'Tyler Tech (No Hyphens)',\r\n 'West Baton Rouge Parish': 'West Baton Rouge Parish',\r\n} as const;\r\n\r\nexport type TransactionStatuses = keyof typeof TransactionStatuses;\r\nexport const TransactionStatuses = {\r\n Approved: 'Approved',\r\n Declined: 'Declined',\r\n Error: 'Error',\r\n} as const;\r\n\r\nexport type TransactionTypes = keyof typeof TransactionTypes;\r\nexport const TransactionTypes = {Sale: 'Sale', Void: 'Void', Refund: 'Refund'} as const;\r\n\r\nexport type CardBrands = keyof typeof CardBrands;\r\nexport const CardBrands = {\r\n Visa: 'Visa',\r\n Mastercard: 'Mastercard',\r\n Amex: 'Amex',\r\n Discover: 'Discover',\r\n Unknown: 'Unknown',\r\n} as const;\r\n\r\nexport type ShortCardBrands = keyof typeof ShortCardBrands;\r\nexport const ShortCardBrands = {\r\n VISA: 'VISA',\r\n MC: 'MC',\r\n AMEX: 'AMEX',\r\n DISC: 'DISC',\r\n CHK: 'CHK',\r\n SAV: 'SAV',\r\n UNKN: 'UNKN',\r\n} as const;\r\n\r\nexport type CardSwipeDevices = keyof typeof CardSwipeDevices;\r\nexport const CardSwipeDevices = {None: 'None', 'Encrypted Reader': 'Encrypted Reader'} as const;\r\n\r\nexport type CardEntryMethods = keyof typeof CardEntryMethods;\r\nexport const CardEntryMethods = {\r\n Unknown: 'Unknown',\r\n Keyed: 'Keyed',\r\n Swiped: 'Swiped',\r\n 'EMV Contact': 'EMV Contact',\r\n} as const;\r\n\r\nexport type DeviceManufacturers = keyof typeof DeviceManufacturers;\r\nexport const DeviceManufacturers = {\r\n Magtek: 'Magtek',\r\n Clover: 'Clover',\r\n 'ID Tech': 'ID Tech',\r\n Ingenico: 'Ingenico',\r\n Verifone: 'Verifone',\r\n BBPOS: 'BBPOS',\r\n} as const;\r\n\r\nexport type PlaidEnabledModes = keyof typeof PlaidEnabledModes;\r\nexport const PlaidEnabledModes = {Enabled: 'Enabled', Disabled: 'Disabled'} as const;\r\n\r\nexport type PaymentSourceTypes = keyof typeof PaymentSourceTypes;\r\nexport const PaymentSourceTypes = {'Credit Card': 'Credit Card', ACH: 'ACH'} as const;\r\n\r\nexport type PaymentSourceVerificationMethods = keyof typeof PaymentSourceVerificationMethods;\r\nexport const PaymentSourceVerificationMethods = {Plaid: 'Plaid'} as const;\r\n\r\nexport type TokenizationTypes = keyof typeof TokenizationTypes;\r\nexport const TokenizationTypes = {\r\n 'msr.unencrypted': 'msr.unencrypted',\r\n 'msr.encrypted': 'msr.encrypted',\r\n 'emv.encrypted': 'emv.encrypted',\r\n} as const;\r\n\r\nexport type PaymentGatewayTypes = keyof typeof PaymentGatewayTypes;\r\nexport const PaymentGatewayTypes = {\r\n 'Paystar NACHA Gateway': 'Paystar NACHA Gateway',\r\n NMI: 'NMI',\r\n SPS: 'SPS',\r\n 'Card Connect': 'Card Connect',\r\n} as const;\r\n\r\nexport type SettlementBatchStatuses = keyof typeof SettlementBatchStatuses;\r\nexport const SettlementBatchStatuses = {Open: 'Open', Closed: 'Closed', Funded: 'Funded'} as const;\r\n\r\nexport type AutopayActivityTypes = keyof typeof AutopayActivityTypes;\r\nexport const AutopayActivityTypes = {\r\n Enroll: 'Enroll',\r\n UpdateSettings: 'UpdateSettings',\r\n Unenroll: 'Unenroll',\r\n AdminCancel: 'AdminCancel',\r\n SystemCancel: 'SystemCancel',\r\n} as const;\r\n\r\nexport type AutopayExportTypes = keyof typeof AutopayExportTypes;\r\nexport const AutopayExportTypes = {Csv: 'Csv', Excel: 'Excel'} as const;\r\n\r\nexport type AutopayEnrollmentTypes = keyof typeof AutopayEnrollmentTypes;\r\nexport const AutopayEnrollmentTypes = {Organization: 'Organization', Customer: 'Customer'} as const;\r\n\r\nexport type AutopaySchedulingTypes = keyof typeof AutopaySchedulingTypes;\r\nexport const AutopaySchedulingTypes = {\r\n DueDateLeadTime: 'DueDateLeadTime',\r\n DayOfMonth: 'DayOfMonth',\r\n} as const;\r\n\r\nexport type AbaNumberValidationModes = keyof typeof AbaNumberValidationModes;\r\nexport const AbaNumberValidationModes = {Enabled: 'Enabled', Disabled: 'Disabled'} as const;\r\n\r\nexport type AutopayEnabledModes = keyof typeof AutopayEnabledModes;\r\nexport const AutopayEnabledModes = {Enabled: 'Enabled', Disabled: 'Disabled'} as const;\r\n\r\nexport type ScheduledPaymentTypes = keyof typeof ScheduledPaymentTypes;\r\nexport const ScheduledPaymentTypes = {\r\n Autopay: 'Autopay',\r\n 'One Time Payment': 'One Time Payment',\r\n} as const;\r\n\r\nexport type ScheduledPaymentStatuses = keyof typeof ScheduledPaymentStatuses;\r\nexport const ScheduledPaymentStatuses = {\r\n Staged: 'Staged',\r\n Scheduled: 'Scheduled',\r\n Processing: 'Processing',\r\n Processed: 'Processed',\r\n Canceled: 'Canceled',\r\n Skipped: 'Skipped',\r\n Invalid: 'Invalid',\r\n InvalidPaymentSource: 'InvalidPaymentSource',\r\n InvalidProcessingDate: 'InvalidProcessingDate',\r\n InvalidEntityState: 'InvalidEntityState',\r\n InvalidIdempotencyKey: 'InvalidIdempotencyKey',\r\n} as const;\r\n\r\nexport type AchAccountTypes = keyof typeof AchAccountTypes;\r\nexport const AchAccountTypes = {\r\n 'Checking Account': 'Checking Account',\r\n 'Savings Account': 'Savings Account',\r\n} as const;\r\n\r\nexport type AchAccountHolderTypes = keyof typeof AchAccountHolderTypes;\r\nexport const AchAccountHolderTypes = {\r\n Personal: 'Personal',\r\n Business: 'Business',\r\n Unknown: 'Unknown',\r\n} as const;\r\n\r\nexport type AchStandardEntryClassCodes = keyof typeof AchStandardEntryClassCodes;\r\nexport const AchStandardEntryClassCodes = {WEB: 'WEB', TEL: 'TEL', CCD: 'CCD', PPD: 'PPD'} as const;\r\n\r\nexport type PayStarAchStatuses = keyof typeof PayStarAchStatuses;\r\nexport const PayStarAchStatuses = {\r\n Pending: 'Pending',\r\n Voided: 'Voided',\r\n Submitted: 'Submitted',\r\n Settled: 'Settled',\r\n Reversed: 'Reversed',\r\n Returned: 'Returned',\r\n Error: 'Error',\r\n} as const;\r\n\r\nexport type PayStarAchBatchStatuses = keyof typeof PayStarAchBatchStatuses;\r\nexport const PayStarAchBatchStatuses = {\r\n Open: 'Open',\r\n Closed: 'Closed',\r\n Submitted: 'Submitted',\r\n Settled: 'Settled',\r\n} as const;\r\n\r\nexport type NachaFileSubmissionStatuses = keyof typeof NachaFileSubmissionStatuses;\r\nexport const NachaFileSubmissionStatuses = {\r\n Generated: 'Generated',\r\n Submitted: 'Submitted',\r\n Accepted: 'Accepted',\r\n Rejected: 'Rejected',\r\n Error: 'Error',\r\n} as const;\r\n\r\nexport type ImportFileTypes = keyof typeof ImportFileTypes;\r\nexport const ImportFileTypes = {\r\n CSV: 'CSV',\r\n Excel: 'Excel',\r\n FixedWidth: 'FixedWidth',\r\n MultilineFixedWidth: 'MultilineFixedWidth',\r\n MultilineCSV: 'MultilineCSV',\r\n} as const;\r\n\r\nexport type BusinessUnitFileTypes = keyof typeof BusinessUnitFileTypes;\r\nexport const BusinessUnitFileTypes = {\r\n 'Client Provided Accounts': 'Client Provided Accounts',\r\n 'Client Provided Bills': 'Client Provided Bills',\r\n 'Client Provided Readings': 'Client Provided Readings',\r\n 'Client Provided Outbound IVR File': 'Client Provided Outbound IVR File',\r\n 'Automated Payment Report': 'Automated Payment Report',\r\n 'Paperless Billing Report': 'Paperless Billing Report',\r\n 'On Demand Account Report': 'On Demand Account Report',\r\n 'On Demand Adjustments Report': 'On Demand Adjustments Report',\r\n 'On Demand Autopay Activity Report': 'On Demand Autopay Activity Report',\r\n 'On Demand Batch Report': 'On Demand Batch Report',\r\n 'On Demand Paperless Billing Activity Report': 'On Demand Paperless Billing Activity Report',\r\n 'On Demand Payment Report': 'On Demand Payment Report',\r\n 'On Demand Products Report': 'On Demand Products Report',\r\n 'FTP Upload File': 'FTP Upload File',\r\n 'FTP Download File': 'FTP Download File',\r\n 'Account Import Error Records': 'Account Import Error Records',\r\n 'Job Artifact': 'Job Artifact',\r\n 'NACHA File': 'NACHA File',\r\n 'Gateway Batch File': 'Gateway Batch File',\r\n Other: 'Other',\r\n} as const;\r\n\r\nexport type ListSeparators = keyof typeof ListSeparators;\r\nexport const ListSeparators = {',': ',', '|': '|', ';': ';', '\\t': '\\t'} as const;\r\n\r\nexport type ImportTransformers = keyof typeof ImportTransformers;\r\nexport const ImportTransformers = {\r\n Currency: 'Currency',\r\n JsTransform: 'JsTransform',\r\n Date: 'Date',\r\n Substring: 'Substring',\r\n StripNonAlphaNumeric: 'StripNonAlphaNumeric',\r\n} as const;\r\n\r\nexport type AccountSyncLogTypes = keyof typeof AccountSyncLogTypes;\r\nexport const AccountSyncLogTypes = {\r\n 'Account File Uploaded': 'Account File Uploaded',\r\n 'Account File Staged': 'Account File Staged',\r\n 'Account File Merged': 'Account File Merged',\r\n 'Account File Processed': 'Account File Processed',\r\n 'Account File Processing Error': 'Account File Processing Error',\r\n} as const;\r\n\r\nexport type AccountSyncProperties = keyof typeof AccountSyncProperties;\r\nexport const AccountSyncProperties = {\r\n BusinessUnitId: 'BusinessUnitId',\r\n AccountNumber: 'AccountNumber',\r\n SubAccountNumber: 'SubAccountNumber',\r\n Balance: 'Balance',\r\n LateFee: 'LateFee',\r\n PastDueAmountMinor: 'PastDueAmountMinor',\r\n Name: 'Name',\r\n DueDate: 'DueDate',\r\n IssueDate: 'IssueDate',\r\n Note: 'Note',\r\n Meta: 'Meta',\r\n Address: 'Address',\r\n PhoneNumber: 'PhoneNumber',\r\n AllowOnlinePayment: 'AllowOnlinePayment',\r\n BlockCreditCardPayment: 'BlockCreditCardPayment',\r\n BlockAchPayment: 'BlockAchPayment',\r\n CreatedDate: 'CreatedDate',\r\n ModifiedDate: 'ModifiedDate',\r\n AccountSyncDate: 'AccountSyncDate',\r\n CreateMethod: 'CreateMethod',\r\n IsArchived: 'IsArchived',\r\n IsDeleted: 'IsDeleted',\r\n} as const;\r\n\r\nexport type AccountSyncInsertProperties = keyof typeof AccountSyncInsertProperties;\r\nexport const AccountSyncInsertProperties = {Balance: 'Balance', Name: 'Name'} as const;\r\n\r\nexport type AccountSyncStrategies = keyof typeof AccountSyncStrategies;\r\nexport const AccountSyncStrategies = {\r\n Default: 'Default',\r\n FunctionApp: 'FunctionApp',\r\n ImpresaApi: 'ImpresaApi',\r\n IncodeApi: 'IncodeApi',\r\n RvsApi: 'RvsApi',\r\n UdsApi: 'UdsApi',\r\n} as const;\r\n\r\nexport type MergeReplaceStrategies = keyof typeof MergeReplaceStrategies;\r\nexport const MergeReplaceStrategies = {Merge: 'Merge', Replace: 'Replace'} as const;\r\n\r\nexport type MissingAccountStrategies = keyof typeof MissingAccountStrategies;\r\nexport const MissingAccountStrategies = {\r\n None: 'None',\r\n Archive: 'Archive',\r\n 'Set Balance to $0': 'Set Balance to $0',\r\n} as const;\r\n\r\nexport type DuplicateAccountStrategies = keyof typeof DuplicateAccountStrategies;\r\nexport const DuplicateAccountStrategies = {\r\n 'Apply Missing Strategy To All Occurrences': 'Apply Missing Strategy To All Occurrences',\r\n 'Keep Last Occurrence Of Largest Balance': 'Keep Last Occurrence Of Largest Balance',\r\n 'Keep Last Occurrence Of Most Recent Due Date': 'Keep Last Occurrence Of Most Recent Due Date',\r\n 'Keep First Occurrence': 'Keep First Occurrence',\r\n 'Keep Last Occurrence': 'Keep Last Occurrence',\r\n} as const;\r\n\r\nexport type RequiredAccountSyncProperties = keyof typeof RequiredAccountSyncProperties;\r\nexport const RequiredAccountSyncProperties = {\r\n AccountNumber: 'AccountNumber',\r\n SubAccountNumber: 'SubAccountNumber',\r\n IsDeleted: 'IsDeleted',\r\n IsArchived: 'IsArchived',\r\n BusinessUnitId: 'BusinessUnitId',\r\n ModifiedDate: 'ModifiedDate',\r\n CreateMethod: 'CreateMethod',\r\n AccountSyncDate: 'AccountSyncDate',\r\n} as const;\r\n\r\nexport type JobTaskTypes = keyof typeof JobTaskTypes;\r\nexport const JobTaskTypes = {\r\n TransformContext: 'TransformContext',\r\n GenerateTransactionExportV2: 'GenerateTransactionExportV2',\r\n GenerateTransactionExportFunction: 'GenerateTransactionExportFunction',\r\n GenerateAutopayEnrollmentExport: 'GenerateAutopayEnrollmentExport',\r\n GeneratePaperlessBillingEnrollmentExport: 'GeneratePaperlessBillingEnrollmentExport',\r\n CheckFtpForFile: 'CheckFtpForFile',\r\n UploadFileToFtp: 'UploadFileToFtp',\r\n SyncStagedAccounts: 'SyncStagedAccounts',\r\n ParseFile: 'ParseFile',\r\n ParseBills: 'ParseBills',\r\n LinkReadings: 'LinkReadings',\r\n InitiateFunctionOrchestration: 'InitiateFunctionOrchestration',\r\n ImportProcessedBills: 'ImportProcessedBills',\r\n StageImportedAccounts: 'StageImportedAccounts',\r\n TransformFile: 'TransformFile',\r\n SendEmail: 'SendEmail',\r\n SendWebhook: 'SendWebhook',\r\n Conditional: 'Conditional',\r\n GeneratePaymentLineItemReport: 'GeneratePaymentLineItemReport',\r\n} as const;\r\n\r\nexport type JobTriggerTypes = keyof typeof JobTriggerTypes;\r\nexport const JobTriggerTypes = {\r\n 'Account.FileUploaded': 'Account.FileUploaded',\r\n 'Account.ImportErrorsFound': 'Account.ImportErrorsFound',\r\n 'Account.ImportMerged': 'Account.ImportMerged',\r\n 'Account.ImportStaged': 'Account.ImportStaged',\r\n 'Account.PaymentProcessed': 'Account.PaymentProcessed',\r\n 'AutoPay.Enrolled': 'AutoPay.Enrolled',\r\n 'AutoPay.Unenrolled': 'AutoPay.Unenrolled',\r\n 'Bill.CycleImportApproved': 'Bill.CycleImportApproved',\r\n 'Bill.FileUploaded': 'Bill.FileUploaded',\r\n 'BusinessUnit.SettingsUpdated': 'BusinessUnit.SettingsUpdated',\r\n 'Forms.FormSubmitted': 'Forms.FormSubmitted',\r\n 'Gateway.PartnerBatchClosed': 'Gateway.PartnerBatchClosed',\r\n 'Gateway.PaystarAchBatchClosed': 'Gateway.PaystarAchBatchClosed',\r\n 'Gateway.PaystarAchBatchCreated': 'Gateway.PaystarAchBatchCreated',\r\n 'IVR.FileUploaded': 'IVR.FileUploaded',\r\n 'OutboundIvr.Completed': 'OutboundIvr.Completed',\r\n 'OutboundIvr.Failed': 'OutboundIvr.Failed',\r\n 'PaperlessBilling.Enrolled': 'PaperlessBilling.Enrolled',\r\n 'PaperlessBilling.Unenrolled': 'PaperlessBilling.Unenrolled',\r\n 'Payment.AdjustmentFound': 'Payment.AdjustmentFound',\r\n 'Payment.Declined': 'Payment.Declined',\r\n 'Payment.Refunded': 'Payment.Refunded',\r\n 'Payment.Succeeded': 'Payment.Succeeded',\r\n 'Payment.Voided': 'Payment.Voided',\r\n 'Readings.FileUploaded': 'Readings.FileUploaded',\r\n 'Ticket.Created': 'Ticket.Created',\r\n} as const;\r\n\r\nexport type BillTypes = keyof typeof BillTypes;\r\nexport const BillTypes = {\r\n Bill: 'Bill',\r\n Final: 'Final',\r\n Notice: 'Notice',\r\n 'Late Notice': 'Late Notice',\r\n Recalculated: 'Recalculated',\r\n Invoice: 'Invoice',\r\n} as const;\r\n\r\nexport type TaskExecutionStatuses = keyof typeof TaskExecutionStatuses;\r\nexport const TaskExecutionStatuses = {\r\n Pending: 'Pending',\r\n Skipped: 'Skipped',\r\n Processing: 'Processing',\r\n Successful: 'Successful',\r\n Failed: 'Failed',\r\n} as const;\r\n\r\nexport type TaskExecutionRunConditions = keyof typeof TaskExecutionRunConditions;\r\nexport const TaskExecutionRunConditions = {\r\n 'Previous Tasks Completed': 'Previous Tasks Completed',\r\n Always: 'Always',\r\n 'Previous Tasks Exited Early': 'Previous Tasks Exited Early',\r\n 'Previous Tasks Failed': 'Previous Tasks Failed',\r\n Never: 'Never',\r\n} as const;\r\n\r\nexport type TaskExecutionActions = keyof typeof TaskExecutionActions;\r\nexport const TaskExecutionActions = {\r\n 'Exit Early': 'Exit Early',\r\n Fail: 'Fail',\r\n Pass: 'Pass',\r\n} as const;\r\n\r\nexport type ComparisonOperators = keyof typeof ComparisonOperators;\r\nexport const ComparisonOperators = {\r\n Contains: 'Contains',\r\n 'Does Not Contain': 'Does Not Contain',\r\n 'Does Not End With': 'Does Not End With',\r\n 'Does Not Start With': 'Does Not Start With',\r\n 'Ends With': 'Ends With',\r\n 'Equal To': 'Equal To',\r\n 'Greater Than': 'Greater Than',\r\n 'Greater Than Or Equal To': 'Greater Than Or Equal To',\r\n 'Is Not Set': 'Is Not Set',\r\n 'Is Set': 'Is Set',\r\n 'Less Than': 'Less Than',\r\n 'Less Than Or Equal To': 'Less Than Or Equal To',\r\n 'Not Equal To': 'Not Equal To',\r\n 'Starts With': 'Starts With',\r\n} as const;\r\n\r\nexport type ComparisonSetOperatorTypes = keyof typeof ComparisonSetOperatorTypes;\r\nexport const ComparisonSetOperatorTypes = {\r\n 'All Match': 'All Match',\r\n 'Any Match': 'Any Match',\r\n} as const;\r\n\r\nexport type ConditionalTaskTypes = keyof typeof ConditionalTaskTypes;\r\nexport const ConditionalTaskTypes = {Standard: 'Standard', Complex: 'Complex'} as const;\r\n\r\nexport type BillingAddressCollectionTypes = keyof typeof BillingAddressCollectionTypes;\r\nexport const BillingAddressCollectionTypes = {\r\n None: 'None',\r\n 'Full Address': 'Full Address',\r\n 'Zip Only': 'Zip Only',\r\n} as const;\r\n\r\nexport type CurrencyCodes = keyof typeof CurrencyCodes;\r\nexport const CurrencyCodes = {USD: 'USD', CAD: 'CAD'} as const;\r\n\r\nexport type ClientCultureTypes = keyof typeof ClientCultureTypes;\r\nexport const ClientCultureTypes = {'en-US': 'en-US', 'en-CA': 'en-CA'} as const;\r\n\r\nexport type ClientDbSettingTypes = keyof typeof ClientDbSettingTypes;\r\nexport const ClientDbSettingTypes = {\r\n 'Autopay - Max Amount (Decimal)': 'Autopay - Max Amount (Decimal)',\r\n 'Autopay - Days Processing Allowed Before Due Date':\r\n 'Autopay - Days Processing Allowed Before Due Date',\r\n 'Autopay - Days Scheduled Before Processed': 'Autopay - Days Scheduled Before Processed',\r\n 'Autopay - Hours Cancellation Allowed Before Processed':\r\n 'Autopay - Hours Cancellation Allowed Before Processed',\r\n} as const;\r\n\r\nexport type DatePresets = keyof typeof DatePresets;\r\nexport const DatePresets = {\r\n Custom: 'Custom',\r\n Today: 'Today',\r\n Yesterday: 'Yesterday',\r\n 'This Week': 'This Week',\r\n 'Last Week': 'Last Week',\r\n 'This Month': 'This Month',\r\n 'Last Month': 'Last Month',\r\n} as const;\r\n\r\nexport type FundingActivityTypes = keyof typeof FundingActivityTypes;\r\nexport const FundingActivityTypes = {\r\n 'ACH Return': 'ACH Return',\r\n Sale: 'Sale',\r\n Refund: 'Refund',\r\n} as const;\r\n\r\nexport type MessageTypes = keyof typeof MessageTypes;\r\nexport const MessageTypes = {\r\n Positive: 'Positive',\r\n Warning: 'Warning',\r\n Negative: 'Negative',\r\n} as const;\r\n\r\nexport type MessagePaymentChannels = keyof typeof MessagePaymentChannels;\r\nexport const MessagePaymentChannels = {QuickPay: 'QuickPay', IVR: 'IVR'} as const;\r\n\r\nexport type OutboundSmsEnabledModes = keyof typeof OutboundSmsEnabledModes;\r\nexport const OutboundSmsEnabledModes = {Enabled: 'Enabled', Disabled: 'Disabled'} as const;\r\n\r\nexport type SignalRConfig = keyof typeof SignalRConfig;\r\nexport const SignalRConfig = {'/signalr-hub': '/signalr-hub'} as const;\r\n\r\nexport type SignalRTopics = keyof typeof SignalRTopics;\r\nexport const SignalRTopics = {\r\n 'Global.AppUpdated': 'Global.AppUpdated',\r\n 'Global.Notification': 'Global.Notification',\r\n 'Global.MessagesUpdated': 'Global.MessagesUpdated',\r\n 'Payment.Processed': 'Payment.Processed',\r\n 'Payment.Voided': 'Payment.Voided',\r\n 'Payment.Refunded': 'Payment.Refunded',\r\n 'BusinessUnit.AccountsUpdated': 'BusinessUnit.AccountsUpdated',\r\n 'BusinessUnit.BillsUpdated': 'BusinessUnit.BillsUpdated',\r\n 'BusinessUnit.AccountAuditUpdated': 'BusinessUnit.AccountAuditUpdated',\r\n 'BusinessUnit.OutboundIvrHistoryUpdated': 'BusinessUnit.OutboundIvrHistoryUpdated',\r\n 'BusinessUnit.ReadingsAuditUpdated': 'BusinessUnit.ReadingsAuditUpdated',\r\n 'Account.Updated': 'Account.Updated',\r\n} as const;\r\n\r\nexport type TicketCategories = keyof typeof TicketCategories;\r\nexport const TicketCategories = {\r\n Manual: 'Manual',\r\n Client: 'Client',\r\n Technical: 'Technical',\r\n} as const;\r\n\r\nexport type TicketEventTypes = keyof typeof TicketEventTypes;\r\nexport const TicketEventTypes = {\r\n Comment: 'Comment',\r\n 'Ticket Modified': 'Ticket Modified',\r\n 'Client Emailed': 'Client Emailed',\r\n} as const;\r\n\r\nexport type TicketStatuses = keyof typeof TicketStatuses;\r\nexport const TicketStatuses = {\r\n New: 'New',\r\n Investigating: 'Investigating',\r\n 'Waiting On Client': 'Waiting On Client',\r\n \"Can't Reproduce\": \"Can't Reproduce\",\r\n Resolved: 'Resolved',\r\n Closed: 'Closed',\r\n} as const;\r\n\r\nexport type TicketAssignmentStatuses = keyof typeof TicketAssignmentStatuses;\r\nexport const TicketAssignmentStatuses = {Assigned: 'Assigned', Unassigned: 'Unassigned'} as const;\r\n\r\nexport type Timezones = keyof typeof Timezones;\r\nexport const Timezones = {\r\n 'US/Pacific': 'US/Pacific',\r\n 'US/Mountain': 'US/Mountain',\r\n 'US/Central': 'US/Central',\r\n 'US/Eastern': 'US/Eastern',\r\n} as const;\r\n\r\nexport type ReportTypes = keyof typeof ReportTypes;\r\nexport const ReportTypes = {PDF: 'PDF', Excel: 'Excel', CSV: 'CSV'} as const;\r\n\r\nexport type UriProtocols = keyof typeof UriProtocols;\r\nexport const UriProtocols = {'http://': 'http://', 'https://': 'https://'} as const;\r\n\r\nexport type OutboundWebhookTypes = keyof typeof OutboundWebhookTypes;\r\nexport const OutboundWebhookTypes = {Generic: 'Generic', PaymentExport: 'PaymentExport'} as const;\r\n\r\nexport type OutboundWebhookStatuses = keyof typeof OutboundWebhookStatuses;\r\nexport const OutboundWebhookStatuses = {\r\n Queued: 'Queued',\r\n Accepted: 'Accepted',\r\n Failed: 'Failed',\r\n} as const;\r\n\r\nexport type WebClientDirectories = keyof typeof WebClientDirectories;\r\nexport const WebClientDirectories = {portal: 'portal', customer: 'customer'} as const;\r\n\r\nexport type StandardTermsOfServiceIdentifiers = keyof typeof StandardTermsOfServiceIdentifiers;\r\nexport const StandardTermsOfServiceIdentifiers = {\r\n 'ach-terms': 'ach-terms',\r\n 'ach-terms-with-service-fee': 'ach-terms-with-service-fee',\r\n 'autopay-enrollment': 'autopay-enrollment',\r\n 'credit-card-terms': 'credit-card-terms',\r\n 'credit-card-terms-with-service-fee': 'credit-card-terms-with-service-fee',\r\n 'electronic-debit-authorization': 'electronic-debit-authorization',\r\n 'terms-of-use': 'terms-of-use',\r\n 'paperless-billing-enrollment': 'paperless-billing-enrollment',\r\n 'accountless-terms': 'accountless-terms',\r\n 'account-wallet-authorization': 'account-wallet-authorization',\r\n 'account-wallet-terms': 'account-wallet-terms',\r\n 'sms-notification-terms': 'sms-notification-terms',\r\n 'back-office-autopay-enrollment': 'back-office-autopay-enrollment',\r\n} as const;\r\n\r\nexport type AcknowledgmentTypes = keyof typeof AcknowledgmentTypes;\r\nexport const AcknowledgmentTypes = {\r\n 'ACH Terms': 'ACH Terms',\r\n 'AutoPay Enrollment': 'AutoPay Enrollment',\r\n 'Credit Card Terms': 'Credit Card Terms',\r\n 'Electronic Debit Authorization': 'Electronic Debit Authorization',\r\n 'Terms Of Use': 'Terms Of Use',\r\n 'Paperless Billing': 'Paperless Billing',\r\n 'Account Wallet Terms': 'Account Wallet Terms',\r\n 'Accountless Terms': 'Accountless Terms',\r\n 'SMS Notification Terms': 'SMS Notification Terms',\r\n 'Back Office Autopay Enrollment': 'Back Office Autopay Enrollment',\r\n} as const;\r\n\r\nexport type FunctionTriggerTypes = keyof typeof FunctionTriggerTypes;\r\nexport const FunctionTriggerTypes = {\r\n Activity: 'Activity',\r\n SubOrchestration: 'SubOrchestration',\r\n Http: 'Http',\r\n} as const;\r\n\r\nexport type FunctionApplications = keyof typeof FunctionApplications;\r\nexport const FunctionApplications = {\r\n Serverless: 'Serverless',\r\n Bills: 'Bills',\r\n Engage: 'Engage',\r\n} as const;\r\n\r\nexport type ExternalLinkDisplayLocations = keyof typeof ExternalLinkDisplayLocations;\r\nexport const ExternalLinkDisplayLocations = {'Customer Dashboard': 'Customer Dashboard'} as const;\r\n\r\nexport type FormDisplayLocations = keyof typeof FormDisplayLocations;\r\nexport const FormDisplayLocations = {\r\n 'Customer Dashboard': 'Customer Dashboard',\r\n Login: 'Login',\r\n Checkout: 'Checkout',\r\n} as const;\r\n\r\nexport type PaymentActivityReportStrategy = keyof typeof PaymentActivityReportStrategy;\r\nexport const PaymentActivityReportStrategy = {\r\n JsReport: 'JsReport',\r\n ServerlessExport: 'ServerlessExport',\r\n} as const;\r\n\r\nexport type NachaEncryptionTypes = keyof typeof NachaEncryptionTypes;\r\nexport const NachaEncryptionTypes = {\r\n None: 'None',\r\n Encrypt: 'Encrypt',\r\n 'Encrypt and Sign': 'Encrypt and Sign',\r\n} as const;\r\n\r\nexport type FormResponseStatuses = keyof typeof FormResponseStatuses;\r\nexport const FormResponseStatuses = {\r\n Errored: 'Errored',\r\n Submitting: 'Submitting',\r\n Submitted: 'Submitted',\r\n} as const;\r\n\r\nexport type OnboardingSessionStatuses = keyof typeof OnboardingSessionStatuses;\r\nexport const OnboardingSessionStatuses = {\r\n VerifyCustomer: 'VerifyCustomer',\r\n VerifyAccount: 'VerifyAccount',\r\n SelectPaperlessBillingEnrollment: 'SelectPaperlessBillingEnrollment',\r\n SelectAutopayEnrollment: 'SelectAutopayEnrollment',\r\n SelectNotificationsEnrollment: 'SelectNotificationsEnrollment',\r\n VerifyPhoneNumber: 'VerifyPhoneNumber',\r\n Redirect: 'Redirect',\r\n Invalid: 'Invalid',\r\n Cancelled: 'Cancelled',\r\n Completed: 'Completed',\r\n} as const;\r\n\r\nexport type PayerLoginModes = keyof typeof PayerLoginModes;\r\nexport const PayerLoginModes = {Paystar: 'Paystar', Embedded: 'Embedded'} as const;\r\n\r\nexport type OutboundIvrJobStatuses = keyof typeof OutboundIvrJobStatuses;\r\nexport const OutboundIvrJobStatuses = {\r\n Completed: 'Completed',\r\n Pending: 'Pending',\r\n Failed: 'Failed',\r\n Error: 'Error',\r\n} as const;\r\n\r\nexport type JobExecutionStatuses = keyof typeof JobExecutionStatuses;\r\nexport const JobExecutionStatuses = {\r\n Processing: 'Processing',\r\n Paused: 'Paused',\r\n Successful: 'Successful',\r\n ExitedEarly: 'ExitedEarly',\r\n Failed: 'Failed',\r\n} as const;\r\n\r\nexport type CheckFtpForFile_Variables = keyof typeof CheckFtpForFile_Variables;\r\nexport const CheckFtpForFile_Variables = {\r\n '{{CheckFtpForFile_BlobUrl}}': '{{CheckFtpForFile_BlobUrl}}',\r\n '{{CheckFtpForFile_DownloadUrl}}': '{{CheckFtpForFile_DownloadUrl}}',\r\n '{{CheckFtpForFile_DownloadUrls}}': '{{CheckFtpForFile_DownloadUrls}}',\r\n} as const;\r\n\r\nexport type GenerateAutopayEnrollmentExport_Variables =\r\n keyof typeof GenerateAutopayEnrollmentExport_Variables;\r\nexport const GenerateAutopayEnrollmentExport_Variables = {\r\n '{{GenerateAutopayEnrollmentExport_TotalActivityCount}}':\r\n '{{GenerateAutopayEnrollmentExport_TotalActivityCount}}',\r\n '{{GenerateAutopayEnrollmentExport_EnrollCount}}':\r\n '{{GenerateAutopayEnrollmentExport_EnrollCount}}',\r\n '{{GenerateAutopayEnrollmentExport_UnEnrollCount}}':\r\n '{{GenerateAutopayEnrollmentExport_UnEnrollCount}}',\r\n '{{GenerateAutopayEnrollmentExport_UpdateCount}}':\r\n '{{GenerateAutopayEnrollmentExport_UpdateCount}}',\r\n '{{GenerateAutopayEnrollmentExport_BlobUrl}}': '{{GenerateAutopayEnrollmentExport_BlobUrl}}',\r\n '{{GenerateAutopayEnrollmentExport_DownloadUrl}}':\r\n '{{GenerateAutopayEnrollmentExport_DownloadUrl}}',\r\n '{{GenerateAutopayEnrollmentExport_FileName}}': '{{GenerateAutopayEnrollmentExport_FileName}}',\r\n} as const;\r\n\r\nexport type GeneratePaperlessBillingEnrollmentExport_Variables =\r\n keyof typeof GeneratePaperlessBillingEnrollmentExport_Variables;\r\nexport const GeneratePaperlessBillingEnrollmentExport_Variables = {\r\n '{{GeneratePaperlessBillingEnrollmentExport_BlobUrl}}':\r\n '{{GeneratePaperlessBillingEnrollmentExport_BlobUrl}}',\r\n '{{GeneratePaperlessBillingEnrollmentExport_DownloadUrl}}':\r\n '{{GeneratePaperlessBillingEnrollmentExport_DownloadUrl}}',\r\n '{{GeneratePaperlessBillingEnrollmentExport_FileName}}':\r\n '{{GeneratePaperlessBillingEnrollmentExport_FileName}}',\r\n} as const;\r\n\r\nexport type GeneratePaymentLineItemReport_Variables =\r\n keyof typeof GeneratePaymentLineItemReport_Variables;\r\nexport const GeneratePaymentLineItemReport_Variables = {\r\n '{{GeneratePaymentLineItemReport_BlobUrl}}': '{{GeneratePaymentLineItemReport_BlobUrl}}',\r\n '{{GeneratePaymentLineItemReport_DownloadUrl}}': '{{GeneratePaymentLineItemReport_DownloadUrl}}',\r\n '{{GeneratePaymentLineItemReport_LineItemCount}}':\r\n '{{GeneratePaymentLineItemReport_LineItemCount}}',\r\n '{{GeneratePaymentLineItemReport_FileName}}': '{{GeneratePaymentLineItemReport_FileName}}',\r\n} as const;\r\n\r\nexport type GeneratePaymentLineItemReport_PaymentLineItemTypes =\r\n keyof typeof GeneratePaymentLineItemReport_PaymentLineItemTypes;\r\nexport const GeneratePaymentLineItemReport_PaymentLineItemTypes = {\r\n AccountBalance: 'AccountBalance',\r\n OpenCharge: 'OpenCharge',\r\n LateFee: 'LateFee',\r\n Product: 'Product',\r\n ServiceFee: 'ServiceFee',\r\n} as const;\r\n\r\nexport type GenerateTransactionExportFunction_Variables =\r\n keyof typeof GenerateTransactionExportFunction_Variables;\r\nexport const GenerateTransactionExportFunction_Variables = {\r\n '{{GenerateTransactionExportFunction_BlobUrl}}': '{{GenerateTransactionExportFunction_BlobUrl}}',\r\n '{{GenerateTransactionExportFunction_DownloadUrl}}':\r\n '{{GenerateTransactionExportFunction_DownloadUrl}}',\r\n} as const;\r\n\r\nexport type GenerateTransactionExportV2_Variables =\r\n keyof typeof GenerateTransactionExportV2_Variables;\r\nexport const GenerateTransactionExportV2_Variables = {\r\n '{{GenerateTransactionExportV2_BlobUrl}}': '{{GenerateTransactionExportV2_BlobUrl}}',\r\n '{{GenerateTransactionExportV2_DownloadUrl}}': '{{GenerateTransactionExportV2_DownloadUrl}}',\r\n '{{GenerateTransactionExportV2_TransactionCount}}':\r\n '{{GenerateTransactionExportV2_TransactionCount}}',\r\n '{{GenerateTransactionExportV2_FileName}}': '{{GenerateTransactionExportV2_FileName}}',\r\n} as const;\r\n\r\nexport type ImportProcessedBills_Variables = keyof typeof ImportProcessedBills_Variables;\r\nexport const ImportProcessedBills_Variables = {\r\n '{{ImportProcessedBills_BillCount}}': '{{ImportProcessedBills_BillCount}}',\r\n} as const;\r\n\r\nexport type InitiateFunctionOrchestration_Variables =\r\n keyof typeof InitiateFunctionOrchestration_Variables;\r\nexport const InitiateFunctionOrchestration_Variables = {\r\n '{{InitiateFunctionOrchestration_ResumeExecutionUrl}}':\r\n '{{InitiateFunctionOrchestration_ResumeExecutionUrl}}',\r\n '{{InitiateFunctionOrchestration_FailExecutionUrl}}':\r\n '{{InitiateFunctionOrchestration_FailExecutionUrl}}',\r\n} as const;\r\n\r\nexport type LinkReadings_Variables = keyof typeof LinkReadings_Variables;\r\nexport const LinkReadings_Variables = {} as const;\r\n\r\nexport type ParseBills_Variables = keyof typeof ParseBills_Variables;\r\nexport const ParseBills_Variables = {\r\n '{{ParseBills_BillCount}}': '{{ParseBills_BillCount}}',\r\n} as const;\r\n\r\nexport type ParseFile_Variables = keyof typeof ParseFile_Variables;\r\nexport const ParseFile_Variables = {\r\n '{{ParseFile_SuccessCount}}': '{{ParseFile_SuccessCount}}',\r\n '{{ParseFile_SkippedCount}}': '{{ParseFile_SkippedCount}}',\r\n} as const;\r\n\r\nexport type SendEmail_Variables = keyof typeof SendEmail_Variables;\r\nexport const SendEmail_Variables = {\r\n '{{SendEmail_SomeStatus}}': '{{SendEmail_SomeStatus}}',\r\n} as const;\r\n\r\nexport type SendWebhook_Variables = keyof typeof SendWebhook_Variables;\r\nexport const SendWebhook_Variables = {} as const;\r\n\r\nexport type StageImportedAccounts_Variables = keyof typeof StageImportedAccounts_Variables;\r\nexport const StageImportedAccounts_Variables = {\r\n '{{StageImportedAccounts_ImportSource}}': '{{StageImportedAccounts_ImportSource}}',\r\n '{{StageImportedAccounts_TotalStagedAccounts}}': '{{StageImportedAccounts_TotalStagedAccounts}}',\r\n '{{StageImportedAccounts_TotalSkippedAccounts}}':\r\n '{{StageImportedAccounts_TotalSkippedAccounts}}',\r\n} as const;\r\n\r\nexport type SyncStagedAccounts_Variables = keyof typeof SyncStagedAccounts_Variables;\r\nexport const SyncStagedAccounts_Variables = {\r\n '{{SyncStagedAccounts_TotalStagedAccounts}}': '{{SyncStagedAccounts_TotalStagedAccounts}}',\r\n '{{SyncStagedAccounts_TotalExistingAccounts}}': '{{SyncStagedAccounts_TotalExistingAccounts}}',\r\n '{{SyncStagedAccounts_StagedNewAccounts}}': '{{SyncStagedAccounts_StagedNewAccounts}}',\r\n '{{SyncStagedAccounts_StagedMatchedAccounts}}': '{{SyncStagedAccounts_StagedMatchedAccounts}}',\r\n '{{SyncStagedAccounts_ExistingAccountsNotStaged}}':\r\n '{{SyncStagedAccounts_ExistingAccountsNotStaged}}',\r\n '{{SyncStagedAccounts_AggregateTotal}}': '{{SyncStagedAccounts_AggregateTotal}}',\r\n} as const;\r\n\r\nexport type TransformContext_Variables = keyof typeof TransformContext_Variables;\r\nexport const TransformContext_Variables = {\r\n '{{TransformContext_NewContextValues}}': '{{TransformContext_NewContextValues}}',\r\n} as const;\r\n\r\nexport type TransformFile_Variables = keyof typeof TransformFile_Variables;\r\nexport const TransformFile_Variables = {\r\n '{{Transform_Records}}': '{{Transform_Records}}',\r\n '{{TransformFile_BlobUrl}}': '{{TransformFile_BlobUrl}}',\r\n '{{TransformFile_DownloadUrl}}': '{{TransformFile_DownloadUrl}}',\r\n} as const;\r\n\r\nexport type UploadFileToFtp_Variables = keyof typeof UploadFileToFtp_Variables;\r\nexport const UploadFileToFtp_Variables = {\r\n '{{UploadFileToFtp_BlobUrl}}': '{{UploadFileToFtp_BlobUrl}}',\r\n} as const;\r\n\r\nexport type JobExecution_Variables = keyof typeof JobExecution_Variables;\r\nexport const JobExecution_Variables = {\r\n '{{JobExecution_Identifier}}': '{{JobExecution_Identifier}}',\r\n '{{JobExecution_Id}}': '{{JobExecution_Id}}',\r\n '{{JobExecution_JobId}}': '{{JobExecution_JobId}}',\r\n '{{JobExecution_BusinessUnitId}}': '{{JobExecution_BusinessUnitId}}',\r\n '{{JobExecution_BusinessUnitSlug}}': '{{JobExecution_BusinessUnitSlug}}',\r\n '{{JobExecution_BusinessUnitHeader}}': '{{JobExecution_BusinessUnitHeader}}',\r\n '{{JobExecution_BusinessUnitSubHeader}}': '{{JobExecution_BusinessUnitSubHeader}}',\r\n '{{JobExecution_BusinessUnitAutopayEnabled}}': '{{JobExecution_BusinessUnitAutopayEnabled}}',\r\n '{{JobExecution_BusinessUnitTimezone}}': '{{JobExecution_BusinessUnitTimezone}}',\r\n '{{JobExecution_StartTime}}': '{{JobExecution_StartTime}}',\r\n '{{JobExecution_TimeZone}}': '{{JobExecution_TimeZone}}',\r\n} as const;\r\n\r\n// Statics\r\n\r\nexport const RoleTemplates = {\r\n 'Global Admin': [\r\n 'Accounts:Manage',\r\n 'Accounts:Read',\r\n 'Billing:Default',\r\n 'BusinessUnits:Manage',\r\n 'BusinessUnits:Read',\r\n 'Payments:Default',\r\n 'Payments:Refund',\r\n 'Payments:Void',\r\n 'Reports:Default',\r\n 'Transactions:Default',\r\n 'Users:Manage',\r\n 'Users:Read',\r\n 'AutopayEnrollment:Manage',\r\n 'ScheduledPayments:Manage',\r\n ],\r\n 'Organization Admin': [\r\n 'Accounts:Manage',\r\n 'Accounts:Read',\r\n 'Billing:Default',\r\n 'BusinessUnits:Manage',\r\n 'BusinessUnits:Read',\r\n 'Payments:Default',\r\n 'Payments:Refund',\r\n 'Payments:Void',\r\n 'Reports:Default',\r\n 'Transactions:Default',\r\n 'Users:Manage',\r\n 'Users:Read',\r\n 'AutopayEnrollment:Manage',\r\n 'ScheduledPayments:Manage',\r\n ],\r\n 'Organization User': [\r\n 'Accounts:Manage',\r\n 'Accounts:Read',\r\n 'Billing:Default',\r\n 'BusinessUnits:Read',\r\n 'Payments:Default',\r\n 'Reports:Default',\r\n 'Transactions:Default',\r\n ],\r\n Customer: [],\r\n QuickPay: [],\r\n 'Base User': [],\r\n} as const;\r\n\r\nexport const AllPermissions = [\r\n 'Accounts:Manage',\r\n 'Accounts:Read',\r\n 'Billing:Default',\r\n 'BusinessUnits:Manage',\r\n 'BusinessUnits:Read',\r\n 'Payments:Default',\r\n 'Payments:Refund',\r\n 'Payments:Void',\r\n 'Reports:Default',\r\n 'Transactions:Default',\r\n 'Users:Manage',\r\n 'Users:Read',\r\n 'AutopayEnrollment:Manage',\r\n 'ScheduledPayments:Manage',\r\n] as const;\r\n\r\nexport const DefaultAccountFields = [\r\n {\r\n BusinessUnitId: 0,\r\n Type: 'AccountNumber',\r\n Label: 'Account Number',\r\n Description: null,\r\n IsQuickPayLookupField: true,\r\n IsIvrLookupField: true,\r\n IsDisplayField: true,\r\n IsRequired: true,\r\n Order: 0,\r\n },\r\n {\r\n BusinessUnitId: 0,\r\n Type: 'SubAccountNumber',\r\n Label: 'Subaccount Number',\r\n Description: null,\r\n IsQuickPayLookupField: false,\r\n IsIvrLookupField: false,\r\n IsDisplayField: false,\r\n IsRequired: false,\r\n Order: 1,\r\n },\r\n {\r\n BusinessUnitId: 0,\r\n Type: 'Name',\r\n Label: 'Name',\r\n Description: null,\r\n IsQuickPayLookupField: false,\r\n IsIvrLookupField: false,\r\n IsDisplayField: true,\r\n IsRequired: false,\r\n Order: 2,\r\n },\r\n {\r\n BusinessUnitId: 0,\r\n Type: 'Balance',\r\n Label: 'Balance',\r\n Description: null,\r\n IsQuickPayLookupField: false,\r\n IsIvrLookupField: false,\r\n IsDisplayField: true,\r\n IsRequired: false,\r\n Order: 3,\r\n },\r\n {\r\n BusinessUnitId: 0,\r\n Type: 'IssueDate',\r\n Label: 'Issue Date',\r\n Description: null,\r\n IsQuickPayLookupField: false,\r\n IsIvrLookupField: false,\r\n IsDisplayField: true,\r\n IsRequired: false,\r\n Order: 4,\r\n },\r\n {\r\n BusinessUnitId: 0,\r\n Type: 'DueDate',\r\n Label: 'Due Date',\r\n Description: null,\r\n IsQuickPayLookupField: false,\r\n IsIvrLookupField: false,\r\n IsDisplayField: true,\r\n IsRequired: false,\r\n Order: 5,\r\n },\r\n {\r\n BusinessUnitId: 0,\r\n Type: 'Zip',\r\n Label: 'Zip Code',\r\n Description: null,\r\n IsQuickPayLookupField: false,\r\n IsIvrLookupField: false,\r\n IsDisplayField: false,\r\n IsRequired: false,\r\n Order: 6,\r\n },\r\n {\r\n BusinessUnitId: 0,\r\n Type: 'Address',\r\n Label: 'Address',\r\n Description: null,\r\n IsQuickPayLookupField: false,\r\n IsIvrLookupField: false,\r\n IsDisplayField: true,\r\n IsRequired: false,\r\n Order: 7,\r\n },\r\n {\r\n BusinessUnitId: 0,\r\n Type: 'PhoneNumber',\r\n Label: 'Phone Number',\r\n Description: null,\r\n IsQuickPayLookupField: false,\r\n IsIvrLookupField: false,\r\n IsDisplayField: true,\r\n IsRequired: false,\r\n Order: 8,\r\n },\r\n {\r\n BusinessUnitId: 0,\r\n Type: 'Note',\r\n Label: 'Note',\r\n Description: null,\r\n IsQuickPayLookupField: false,\r\n IsIvrLookupField: false,\r\n IsDisplayField: true,\r\n IsRequired: false,\r\n Order: 9,\r\n },\r\n {\r\n BusinessUnitId: 0,\r\n Type: 'LateFee',\r\n Label: 'Late Fee',\r\n Description: null,\r\n IsQuickPayLookupField: false,\r\n IsIvrLookupField: false,\r\n IsDisplayField: true,\r\n IsRequired: false,\r\n Order: 10,\r\n },\r\n {\r\n BusinessUnitId: 0,\r\n Type: 'Description',\r\n Label: 'Description',\r\n Description: null,\r\n IsQuickPayLookupField: false,\r\n IsIvrLookupField: false,\r\n IsDisplayField: false,\r\n IsRequired: false,\r\n Order: 11,\r\n },\r\n] as const;\r\n","import React from 'react';\r\nimport {cx} from '@emotion/css';\r\nimport {css} from '@emotion/react';\r\n\r\nexport const Flex = ({children}: {children: React.ReactNode}) => (\r\n
\r\n {children}\r\n
\r\n);\r\n\r\ntype FlexProps = {\r\n children: any;\r\n className?: string;\r\n container?: boolean;\r\n fill?: boolean;\r\n};\r\n\r\ntype RowProps = FlexProps & {\r\n align?: 'top' | 'center' | 'bottom';\r\n vAlign?: 'top' | 'center' | 'bottom';\r\n justifyContent?:\r\n | 'space-between'\r\n | 'space-around'\r\n | 'space-evenly'\r\n | 'flex-start'\r\n | 'flex-end'\r\n | 'justify-center';\r\n};\r\n\r\ntype ColProps = FlexProps & {\r\n align?: 'left' | 'center' | 'right';\r\n justifyContent?:\r\n | 'space-between'\r\n | 'space-around'\r\n | 'space-evenly'\r\n | 'flex-start'\r\n | 'flex-end'\r\n | 'justify-center';\r\n};\r\n\r\nconst Row: React.FC = (props) => {\r\n const className = cx('row', props.className, {\r\n container: props.container,\r\n [props.align as string]: !!props.align,\r\n [props.vAlign as string]: !!props.vAlign,\r\n [props.justifyContent as string]: !!props.justifyContent,\r\n fill: !!props.fill,\r\n });\r\n const {children} = props;\r\n\r\n return (\r\n
\r\n {children}\r\n
\r\n );\r\n};\r\n\r\nconst Col: React.FC = (props) => {\r\n const className = cx('column', props.className, {\r\n [props.align as string]: !!props.align,\r\n [props.justifyContent as string]: !!props.justifyContent,\r\n fill: !!props.fill,\r\n });\r\n const {children} = props;\r\n\r\n return (\r\n
\r\n {children}\r\n
\r\n );\r\n};\r\n\r\nconst Fill: React.FC<{className?: string; scroll?: boolean}> = ({children, className, scroll}) => (\r\n
{children}
\r\n);\r\nconst Box: React.FC<{className?: string}> = ({children, className}) => (\r\n
{children}
\r\n);\r\n\r\nFlex.Row = Row;\r\nFlex.Col = Col;\r\nFlex.Fill = Fill;\r\nFlex.Box = Box;\r\n\r\ntype FlexRowWithActions = {\r\n actions: React.ReactNode;\r\n actionsPosition?: 'left' | 'right';\r\n align?: RowProps['align'];\r\n className?: string;\r\n};\r\nexport const FlexRowWithActions: React.FC = ({\r\n actions,\r\n actionsPosition = 'left',\r\n align = 'center',\r\n className,\r\n children,\r\n}) => (\r\n \r\n {actionsPosition === 'left' ? (\r\n <>\r\n {actions}\r\n {children}\r\n \r\n ) : (\r\n <>\r\n {children}\r\n {actions}\r\n \r\n )}\r\n \r\n);\r\n\r\nconst styles = css`\r\n &.container {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n overflow: hidden;\r\n }\r\n\r\n &.row {\r\n display: flex;\r\n flex-direction: row;\r\n\r\n @media only screen and (max-width: 767px) {\r\n &:not(.unstackable) {\r\n display: block;\r\n\r\n > * {\r\n margin-bottom: 1rem;\r\n }\r\n }\r\n }\r\n\r\n &.top {\r\n align-items: flex-start;\r\n }\r\n\r\n &.center {\r\n align-items: center;\r\n }\r\n\r\n &.bottom {\r\n align-items: flex-end;\r\n }\r\n\r\n &.space-between {\r\n justify-content: space-between;\r\n }\r\n\r\n &.space-around {\r\n justify-content: space-around;\r\n }\r\n\r\n &.space-evenly {\r\n justify-content: space-evenly;\r\n }\r\n\r\n &.flex-start {\r\n justify-content: flex-start;\r\n }\r\n\r\n &.flex-end {\r\n justify-content: flex-end;\r\n }\r\n\r\n &.justify-center {\r\n justify-content: center;\r\n }\r\n }\r\n\r\n &.column {\r\n display: flex;\r\n flex-direction: column;\r\n\r\n &.center {\r\n align-items: center;\r\n }\r\n\r\n &.bottom {\r\n align-items: flex-end;\r\n }\r\n\r\n &.space-between {\r\n justify-content: space-between;\r\n }\r\n\r\n &.space-around {\r\n justify-content: space-around;\r\n }\r\n\r\n &.space-evenly {\r\n justify-content: space-evenly;\r\n }\r\n\r\n &.flex-start {\r\n justify-content: flex-start;\r\n }\r\n\r\n &.flex-end {\r\n justify-content: flex-end;\r\n }\r\n\r\n &.justify-center {\r\n justify-content: center;\r\n }\r\n }\r\n\r\n .fill {\r\n flex: 1 1 0%;\r\n }\r\n\r\n .scroll {\r\n overflow-y: auto;\r\n }\r\n`;\r\n","import {useSelector} from 'react-redux';\r\nimport {StoreState, BusinessUnitContext} from './store';\r\n\r\nexport function useGlobalState(cb: (state: StoreState) => T) {\r\n return useSelector((state: StoreState) => cb(state));\r\n}\r\n\r\nexport const useBusinessUnitContext = () =>\r\n useGlobalState((state) => state.global.context.value as BusinessUnitContext);\r\n\r\nexport const useBusinessUnits = () => useGlobalState((state) => state.global.businessUnits);\r\n","import mixpanel from 'mixpanel-browser';\r\nimport ReactGA from 'react-ga4';\r\nimport {Env} from '../config/env-vars';\r\nimport {logger} from '../utils/logger';\r\nimport {AnalyticsEvents} from './events';\r\n\r\ntype TrackedEventProperties = {\r\n subject: string;\r\n value?: number;\r\n [index: string]: any;\r\n};\r\n\r\ntype Analytics = {\r\n identify: Mixpanel['identify'];\r\n trackEvent: (eventName: AnalyticsEvents, properties?: TrackedEventProperties) => void;\r\n setDefaultEventProperties: (properties?: TrackedEventProperties) => void;\r\n timeEvent: (eventName: AnalyticsEvents) => void;\r\n trackPage: (url: string) => void;\r\n trackUserProperties: (properties: {[index: string]: any}) => void;\r\n};\r\n\r\nconst log = logger('analytics');\r\n\r\nconst {isProductionBuild, mixPanelToken, googleAnalyticsId} = Env;\r\n\r\nconst initializeMixpanel = isProductionBuild && !!mixPanelToken;\r\nconst initializeGoogleAnalytics = isProductionBuild && !!googleAnalyticsId;\r\n\r\nlet analytics: Analytics;\r\n\r\nlet identified = false;\r\n\r\nlet defaultEventProperties = {};\r\n\r\nanalytics = {\r\n identify: mockInDevelopment('identify', (uniqueId) => {\r\n identified = true;\r\n mixpanel.identify(uniqueId);\r\n ReactGA.set({userId: uniqueId});\r\n }),\r\n setDefaultEventProperties: mockInDevelopment(\r\n 'setDefaultEventProperties',\r\n (properties: TrackedEventProperties) => {\r\n defaultEventProperties = properties;\r\n }\r\n ),\r\n trackEvent: mockInDevelopment('trackEvent', (eventName, properties: TrackedEventProperties) => {\r\n const mergedProperties = {...defaultEventProperties, ...properties};\r\n\r\n if (identified) {\r\n mixpanel.track(eventName, mergedProperties);\r\n }\r\n\r\n const [category, action] = eventName.split('.');\r\n\r\n ReactGA.event({\r\n category,\r\n action,\r\n label: mergedProperties?.subject,\r\n value: mergedProperties?.value,\r\n });\r\n }),\r\n timeEvent: mockInDevelopment('timeEvent', (eventName) => {\r\n if (identified) {\r\n mixpanel.time_event(eventName);\r\n }\r\n }),\r\n trackPage: mockInDevelopment('trackPage', (url) => {\r\n // ReactGA.pageview(url);\r\n\r\n if (identified) {\r\n const pageview: AnalyticsEvents = 'routes.page-viewed';\r\n mixpanel.track(pageview, {url});\r\n }\r\n }),\r\n trackUserProperties: mockInDevelopment('trackUserProperties', (properties) => {\r\n if (identified) {\r\n mixpanel.people.set(properties);\r\n }\r\n }),\r\n};\r\n\r\nif (initializeMixpanel) {\r\n mixpanel.init(mixPanelToken as string);\r\n}\r\n\r\nif (initializeGoogleAnalytics) {\r\n ReactGA.initialize(googleAnalyticsId as string);\r\n}\r\n\r\nfunction mockInDevelopment(method, action) {\r\n return isProductionBuild\r\n ? (...args) => {\r\n try {\r\n action(...args);\r\n } catch (error) {\r\n log.error(`analytics.${method}`, error);\r\n }\r\n }\r\n : (...args) => log.debug(`analytics.${method}`, ...args);\r\n}\r\n\r\nexport {analytics};\r\n","import {Options, useToasts} from 'react-toast-notifications';\r\nimport {Error} from '../api/generated/index.defs';\r\n\r\ntype MessageTypes = 'success' | 'error' | 'info' | 'warning';\r\n\r\nconst defaultOptions = {\r\n autoDismiss: true,\r\n autoDismissTimeout: 5000,\r\n};\r\n\r\nexport function useNotification() {\r\n const {addToast} = useToasts();\r\n\r\n type AddToast = Parameters;\r\n\r\n const createMessageType =\r\n (type: MessageTypes) =>\r\n (message: string | React.ReactNode, options?: Partial, callback?: AddToast[2]) => {\r\n addToast(\r\n message,\r\n {\r\n appearance: type,\r\n ...defaultOptions,\r\n ...(options || {}),\r\n },\r\n callback\r\n );\r\n };\r\n\r\n const notifiers = {\r\n success: createMessageType('success'),\r\n error: createMessageType('error'),\r\n info: createMessageType('info'),\r\n warning: createMessageType('warning'),\r\n };\r\n\r\n return {\r\n ...notifiers,\r\n errors: (errors: Error[]) => notifiers.error(errors.map((x) => x.errorMessage).join(' ')),\r\n };\r\n}\r\n","/* eslint-disable */\r\n\r\nimport {\r\n AdvancedQueryColumnFilter,\r\n AdvancedQueryColumnSort,\r\n AccountSummaryDto,\r\n OptionalAddress,\r\n CreateAccountRequest,\r\n AccountGetDto,\r\n AccountDetailDto,\r\n CustomerAccountGetDto,\r\n AutopayEnrollmentSettings,\r\n ScheduledPaymentCustomerSummaryDto,\r\n AccountMergeSearchDto,\r\n UpdateAccountRequest,\r\n EmptyResponse,\r\n Error,\r\n MergeAccountsRequest,\r\n AccountDetailCustomerDto,\r\n UpdateAccountNotesRequest,\r\n BlobUploadUrlResult,\r\n ProcessAccountUploadRequest,\r\n ViewJobSummaryDto,\r\n AccountAutopaySettingsDto,\r\n AccountAutopayUpdateEnrollmentRequest,\r\n AutopayEnrollmentResponse,\r\n IList,\r\n List,\r\n Response,\r\n AdvancedQueryPage,\r\n IRequestOptions,\r\n IRequestConfig,\r\n getConfigs,\r\n axios,\r\n basePath\r\n} from './index.defs';\r\n\r\nexport class AccountsService {\r\n /** Generate by swagger-axios-codegen */\r\n // @ts-nocheck\r\n /* eslint-disable */\r\n\r\n /**\r\n *\r\n */\r\n static getAll(\r\n params: {\r\n /** */\r\n businessUnitId: number;\r\n /** */\r\n isArchived?: boolean;\r\n /** */\r\n isPos?: boolean;\r\n /** */\r\n onlyAutopayEnabled?: boolean;\r\n /** */\r\n onlyRegisteredCustomers?: boolean;\r\n /** */\r\n onlyRestrictedAccounts?: boolean;\r\n /** */\r\n onlyPaperlessBilling?: boolean;\r\n /** */\r\n notifyUpcomingPayment?: boolean;\r\n /** */\r\n notifyNewBill?: boolean;\r\n /** */\r\n notifyWithSms?: boolean;\r\n /** */\r\n isPastDue?: boolean;\r\n /** */\r\n page?: number;\r\n /** */\r\n pageSize?: number;\r\n /** */\r\n searchFieldNames?: string[];\r\n /** */\r\n searchSearchText?: string;\r\n /** */\r\n searchExactMatch?: boolean;\r\n /** */\r\n filtered?: AdvancedQueryColumnFilter[];\r\n /** */\r\n sorted?: AdvancedQueryColumnSort[];\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise>> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/business-units/{businessUnitId}/accounts';\r\n url = url.replace('{businessUnitId}', params['businessUnitId'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n configs.params = {\r\n IsArchived: params['isArchived'],\r\n IsPos: params['isPos'],\r\n OnlyAutopayEnabled: params['onlyAutopayEnabled'],\r\n OnlyRegisteredCustomers: params['onlyRegisteredCustomers'],\r\n OnlyRestrictedAccounts: params['onlyRestrictedAccounts'],\r\n OnlyPaperlessBilling: params['onlyPaperlessBilling'],\r\n NotifyUpcomingPayment: params['notifyUpcomingPayment'],\r\n NotifyNewBill: params['notifyNewBill'],\r\n NotifyWithSms: params['notifyWithSms'],\r\n IsPastDue: params['isPastDue'],\r\n Page: params['page'],\r\n PageSize: params['pageSize'],\r\n 'Search.FieldNames': params['searchFieldNames'],\r\n 'Search.SearchText': params['searchSearchText'],\r\n 'Search.ExactMatch': params['searchExactMatch'],\r\n Filtered: params['filtered'],\r\n Sorted: params['sorted']\r\n };\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static create(\r\n params: {\r\n /** */\r\n businessUnitId: number;\r\n /** */\r\n body?: CreateAccountRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/business-units/{businessUnitId}/accounts';\r\n url = url.replace('{businessUnitId}', params['businessUnitId'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('post', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getById(\r\n params: {\r\n /** */\r\n id: number;\r\n /** */\r\n businessUnitId: number;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/accounts/{id}/{businessUnitId}';\r\n url = url.replace('{id}', params['id'] + '');\r\n url = url.replace('{businessUnitId}', params['businessUnitId'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static initiatePosAccountSearch(\r\n params: {\r\n /** */\r\n businessUnitId: number;\r\n /** */\r\n accountNumber?: string;\r\n /** */\r\n subaccountNumber?: string;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/business-units/{businessUnitId}/initiate-pos-account-search';\r\n url = url.replace('{businessUnitId}', params['businessUnitId'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n configs.params = { accountNumber: params['accountNumber'], subaccountNumber: params['subaccountNumber'] };\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static search(\r\n params: {\r\n /** */\r\n businessUnitId: number;\r\n /** */\r\n query?: string;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise>> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/business-units/{businessUnitId}/accounts/search';\r\n url = url.replace('{businessUnitId}', params['businessUnitId'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n configs.params = { query: params['query'] };\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static mergeSearch(\r\n params: {\r\n /** */\r\n businessUnitId: number;\r\n /** */\r\n destinationAccountId?: number;\r\n /** */\r\n page?: number;\r\n /** */\r\n pageSize?: number;\r\n /** */\r\n searchFieldNames?: string[];\r\n /** */\r\n searchSearchText?: string;\r\n /** */\r\n searchExactMatch?: boolean;\r\n /** */\r\n filtered?: AdvancedQueryColumnFilter[];\r\n /** */\r\n sorted?: AdvancedQueryColumnSort[];\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise>> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/business-units/{businessUnitId}/accounts/merge-search';\r\n url = url.replace('{businessUnitId}', params['businessUnitId'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n configs.params = {\r\n DestinationAccountId: params['destinationAccountId'],\r\n Page: params['page'],\r\n PageSize: params['pageSize'],\r\n 'Search.FieldNames': params['searchFieldNames'],\r\n 'Search.SearchText': params['searchSearchText'],\r\n 'Search.ExactMatch': params['searchExactMatch'],\r\n Filtered: params['filtered'],\r\n Sorted: params['sorted']\r\n };\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static update(\r\n params: {\r\n /** */\r\n id: number;\r\n /** */\r\n body?: UpdateAccountRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/accounts/{id}';\r\n url = url.replace('{id}', params['id'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('put', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static deleteById(\r\n params: {\r\n /** */\r\n id: number;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/accounts/{id}';\r\n url = url.replace('{id}', params['id'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('delete', 'application/json', url, options);\r\n\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static merge(\r\n params: {\r\n /** */\r\n body?: MergeAccountsRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/accounts/merge';\r\n\r\n const configs: IRequestConfig = getConfigs('put', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getContext(options: IRequestOptions = {}): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/accounts/context';\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getMyAccounts(options: IRequestOptions = {}): Promise>> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/accounts/mine';\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static download(\r\n params: {\r\n /** */\r\n businessUnitId: number;\r\n /** */\r\n isArchived?: boolean;\r\n /** */\r\n isPos?: boolean;\r\n /** */\r\n onlyAutopayEnabled?: boolean;\r\n /** */\r\n onlyRegisteredCustomers?: boolean;\r\n /** */\r\n onlyRestrictedAccounts?: boolean;\r\n /** */\r\n onlyPaperlessBilling?: boolean;\r\n /** */\r\n notifyUpcomingPayment?: boolean;\r\n /** */\r\n notifyNewBill?: boolean;\r\n /** */\r\n notifyWithSms?: boolean;\r\n /** */\r\n isPastDue?: boolean;\r\n /** */\r\n page?: number;\r\n /** */\r\n pageSize?: number;\r\n /** */\r\n searchFieldNames?: string[];\r\n /** */\r\n searchSearchText?: string;\r\n /** */\r\n searchExactMatch?: boolean;\r\n /** */\r\n filtered?: AdvancedQueryColumnFilter[];\r\n /** */\r\n sorted?: AdvancedQueryColumnSort[];\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/business-units/{businessUnitId}/accounts/download';\r\n url = url.replace('{businessUnitId}', params['businessUnitId'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n configs.params = {\r\n IsArchived: params['isArchived'],\r\n IsPos: params['isPos'],\r\n OnlyAutopayEnabled: params['onlyAutopayEnabled'],\r\n OnlyRegisteredCustomers: params['onlyRegisteredCustomers'],\r\n OnlyRestrictedAccounts: params['onlyRestrictedAccounts'],\r\n OnlyPaperlessBilling: params['onlyPaperlessBilling'],\r\n NotifyUpcomingPayment: params['notifyUpcomingPayment'],\r\n NotifyNewBill: params['notifyNewBill'],\r\n NotifyWithSms: params['notifyWithSms'],\r\n IsPastDue: params['isPastDue'],\r\n Page: params['page'],\r\n PageSize: params['pageSize'],\r\n 'Search.FieldNames': params['searchFieldNames'],\r\n 'Search.SearchText': params['searchSearchText'],\r\n 'Search.ExactMatch': params['searchExactMatch'],\r\n Filtered: params['filtered'],\r\n Sorted: params['sorted']\r\n };\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static updateNotes(\r\n params: {\r\n /** */\r\n id: number;\r\n /** */\r\n body?: UpdateAccountNotesRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/accounts/update-notes/{id}';\r\n url = url.replace('{id}', params['id'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('patch', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static archive(\r\n params: {\r\n /** */\r\n id: number;\r\n /** */\r\n shouldRollover?: boolean;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/accounts/archive/{id}';\r\n url = url.replace('{id}', params['id'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('put', 'application/json', url, options);\r\n configs.params = { shouldRollover: params['shouldRollover'] };\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static unarchive(\r\n params: {\r\n /** */\r\n id: number;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/accounts/unarchive/{id}';\r\n url = url.replace('{id}', params['id'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('put', 'application/json', url, options);\r\n\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getUploadUrl(\r\n params: {\r\n /** */\r\n businessUnitId: number;\r\n /** */\r\n fileName?: string;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/business-units/{businessUnitId}/accounts/get-upload-url';\r\n url = url.replace('{businessUnitId}', params['businessUnitId'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('post', 'application/json', url, options);\r\n configs.params = { fileName: params['fileName'] };\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static processUpload(\r\n params: {\r\n /** */\r\n businessUnitId: number;\r\n /** */\r\n body?: ProcessAccountUploadRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/business-units/{businessUnitId}/accounts/process-upload';\r\n url = url.replace('{businessUnitId}', params['businessUnitId'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('post', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getAccountUploadConfig(\r\n params: {\r\n /** */\r\n businessUnitId: number;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise>> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/business-units/{businessUnitId}/account-upload-config';\r\n url = url.replace('{businessUnitId}', params['businessUnitId'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static sendPaymentDueReminders(\r\n params: {\r\n /** */\r\n id: number;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/accounts/{id}/send-payment-due-reminders';\r\n url = url.replace('{id}', params['id'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('post', 'application/json', url, options);\r\n\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getAutopaySettings(\r\n params: {\r\n /** */\r\n id: number;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/accounts/{id}/autopay-settings';\r\n url = url.replace('{id}', params['id'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static updateAutopaySettings(\r\n params: {\r\n /** */\r\n id: number;\r\n /** */\r\n body?: AccountAutopayUpdateEnrollmentRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/accounts/{id}/autopay-settings';\r\n url = url.replace('{id}', params['id'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('put', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static cancelAutopay(\r\n params: {\r\n /** */\r\n id: number;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/accounts/{id}/autopay-unenroll';\r\n url = url.replace('{id}', params['id'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('put', 'application/json', url, options);\r\n\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getAccounts(\r\n params: {\r\n /** */\r\n slug: string;\r\n /** */\r\n accountNumber?: string;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise>> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/accounts/{slug}/get-accounts';\r\n url = url.replace('{slug}', params['slug'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n configs.params = { accountNumber: params['accountNumber'] };\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n}\r\n","/* eslint-disable */\r\n\r\nimport {\r\n PaymentIntentConfig,\r\n Address,\r\n PaymentFieldDetailDto,\r\n MessageDetailDto,\r\n AccountConfig,\r\n AccountFieldGetDto,\r\n PaymentSourceConfig,\r\n CreditCardConfig,\r\n TokenizerConfig,\r\n AcceptedCardBrands,\r\n AchConfig,\r\n PaymentSourceSummaryDto,\r\n OptionalAddress,\r\n ProductConfig,\r\n ProductSummaryDto,\r\n RecaptchaClientConfig,\r\n PaymentIntentDetailDto,\r\n PaymentSessionLineItemGetDto,\r\n Currency,\r\n AccountSummaryDto,\r\n ServiceFeeCalculationDto,\r\n ServiceFeeTierGetDto,\r\n CreatePaymentIntentRequest,\r\n Charges,\r\n OpenCharge,\r\n AccountCharge,\r\n ProductCharge,\r\n PaymentIntentPaymentSource,\r\n NewPaymentSource,\r\n CreateIvrPaymentIntentRequest,\r\n UpdatePaymentIntentPaymentFieldsRequest,\r\n UpdatePaymentIntentChargesRequest,\r\n UpdatePaymentIntentFormRequest,\r\n UpdateIvrPaymentIntentChargesRequest,\r\n UpdatePaymentIntentPaymentSourceRequest,\r\n CreatePaymentSessionSourceFromPlaidRequest,\r\n UpdatePaymentIntentCardDataRequest,\r\n EmptyResponse,\r\n Error,\r\n UpdateIvrPaymentIntentPaymentSourceRequest,\r\n ProcessPaymentIntentRequest,\r\n PaymentSessionDetailDto,\r\n ServiceFeeCalculation,\r\n PaymentDetailDto,\r\n TransactionDetailDto,\r\n PaymentSummaryDto,\r\n PaymentSourceJsonDto,\r\n PaymentIntentResultDto,\r\n IList,\r\n List,\r\n Response,\r\n AdvancedQueryPage,\r\n IRequestOptions,\r\n IRequestConfig,\r\n getConfigs,\r\n axios,\r\n basePath\r\n} from './index.defs';\r\n\r\nexport class PaymentIntentsService {\r\n /** Generate by swagger-axios-codegen */\r\n // @ts-nocheck\r\n /* eslint-disable */\r\n\r\n /**\r\n *\r\n */\r\n static getConfig(\r\n params: {\r\n /** */\r\n businessUnitId: number;\r\n /** */\r\n channel: string;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/business-units/{businessUnitId}/channel/{channel}/payment-intent-config';\r\n url = url.replace('{businessUnitId}', params['businessUnitId'] + '');\r\n url = url.replace('{channel}', params['channel'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static get(\r\n params: {\r\n /** */\r\n identifier: string;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/payment-intents/{identifier}';\r\n url = url.replace('{identifier}', params['identifier'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static create(\r\n params: {\r\n /** */\r\n body?: CreatePaymentIntentRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/payment-intents';\r\n\r\n const configs: IRequestConfig = getConfigs('post', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static createIvr(\r\n params: {\r\n /** */\r\n body?: CreateIvrPaymentIntentRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/payment-intents/ivr';\r\n\r\n const configs: IRequestConfig = getConfigs('post', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static updatePaymentFields(\r\n params: {\r\n /** */\r\n identifier: string;\r\n /** */\r\n body?: UpdatePaymentIntentPaymentFieldsRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/payment-intents/{identifier}/payment-fields';\r\n url = url.replace('{identifier}', params['identifier'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('put', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static updateCharges(\r\n params: {\r\n /** */\r\n identifier: string;\r\n /** */\r\n body?: UpdatePaymentIntentChargesRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/payment-intents/{identifier}/charges';\r\n url = url.replace('{identifier}', params['identifier'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('put', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static updateCheckoutForms(\r\n params: {\r\n /** */\r\n identifier: string;\r\n /** */\r\n body?: UpdatePaymentIntentFormRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/payment-intents/{identifier}/forms';\r\n url = url.replace('{identifier}', params['identifier'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('put', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static updateIvrCharges(\r\n params: {\r\n /** */\r\n identifier: string;\r\n /** */\r\n body?: UpdateIvrPaymentIntentChargesRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/payment-intents/{identifier}/charges/ivr';\r\n url = url.replace('{identifier}', params['identifier'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('put', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static updatePaymentSource(\r\n params: {\r\n /** */\r\n identifier: string;\r\n /** */\r\n body?: UpdatePaymentIntentPaymentSourceRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/payment-intents/{identifier}/payment-source';\r\n url = url.replace('{identifier}', params['identifier'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('put', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static updatePaymentSourceFromPlaid(\r\n params: {\r\n /** */\r\n identifier: string;\r\n /** */\r\n body?: CreatePaymentSessionSourceFromPlaidRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/payment-intents/{identifier}/payment-source/plaid';\r\n url = url.replace('{identifier}', params['identifier'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('put', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static updatePaymentSourceCardData(\r\n params: {\r\n /** */\r\n identifier: string;\r\n /** */\r\n body?: UpdatePaymentIntentCardDataRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/payment-intents/{identifier}/payment-source/card-data';\r\n url = url.replace('{identifier}', params['identifier'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('put', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static updateIvrPaymentSource(\r\n params: {\r\n /** */\r\n identifier: string;\r\n /** */\r\n body?: UpdateIvrPaymentIntentPaymentSourceRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/payment-intents/{identifier}/payment-source/ivr';\r\n url = url.replace('{identifier}', params['identifier'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('put', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static process(\r\n params: {\r\n /** */\r\n identifier: string;\r\n /** */\r\n body?: ProcessPaymentIntentRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/payment-intents/{identifier}/process';\r\n url = url.replace('{identifier}', params['identifier'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('post', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static abandon(\r\n params: {\r\n /** */\r\n identifier: string;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/payment-intents/{identifier}/abandon';\r\n url = url.replace('{identifier}', params['identifier'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('put', 'application/json', url, options);\r\n\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getResult(\r\n params: {\r\n /** */\r\n identifier: string;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/payment-intents/{identifier}/result';\r\n url = url.replace('{identifier}', params['identifier'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getFeeAmount(\r\n params: {\r\n /** */\r\n identifier: string;\r\n /** */\r\n paymentSourceType?: string;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/payment-intents/{identifier}/fee-amount';\r\n url = url.replace('{identifier}', params['identifier'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n configs.params = { paymentSourceType: params['paymentSourceType'] };\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n}\r\n","/* eslint-disable */\r\n\r\nimport {\r\n PaymentDetailDto,\r\n Currency,\r\n TransactionDetailDto,\r\n PaymentSummaryDto,\r\n PaymentSourceJsonDto,\r\n PaymentSessionLineItemGetDto,\r\n AccountSummaryDto,\r\n OptionalAddress,\r\n PaymentLookupDto,\r\n AdvancedQueryColumnFilter,\r\n AdvancedQueryColumnSort,\r\n NetRevenueTransactionMetricsResponse,\r\n SendPaymentReceiptRequest,\r\n EmptyResponse,\r\n Error,\r\n VoidPaymentRequest,\r\n TransactionGetDto,\r\n RefundPaymentRequest,\r\n ChargebackRequest,\r\n AccountPaymentsDto,\r\n IList,\r\n List,\r\n Response,\r\n AdvancedQueryPage,\r\n IRequestOptions,\r\n IRequestConfig,\r\n getConfigs,\r\n axios,\r\n basePath\r\n} from './index.defs';\r\n\r\nexport class PaymentsService {\r\n /** Generate by swagger-axios-codegen */\r\n // @ts-nocheck\r\n /* eslint-disable */\r\n\r\n /**\r\n *\r\n */\r\n static getDetails(\r\n params: {\r\n /** */\r\n id: number;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/payments/{id}';\r\n url = url.replace('{id}', params['id'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getLookup(\r\n params: {\r\n /** */\r\n referenceNumber: string;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/payments/lookup/{referenceNumber}';\r\n url = url.replace('{referenceNumber}', params['referenceNumber'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getDetailsByReferenceNumber(\r\n params: {\r\n /** */\r\n referenceNumber: string;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/payments/reference-number/{referenceNumber}';\r\n url = url.replace('{referenceNumber}', params['referenceNumber'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getSummaries(\r\n params: {\r\n /** */\r\n businessUnitId: number;\r\n /** */\r\n startDate?: string;\r\n /** */\r\n endDate?: string;\r\n /** */\r\n paymentStatuses?: string[];\r\n /** */\r\n paymentSourceTypes?: string[];\r\n /** */\r\n paymentChannels?: string[];\r\n /** */\r\n reportName?: string;\r\n /** */\r\n page?: number;\r\n /** */\r\n pageSize?: number;\r\n /** */\r\n searchFieldNames?: string[];\r\n /** */\r\n searchSearchText?: string;\r\n /** */\r\n searchExactMatch?: boolean;\r\n /** */\r\n filtered?: AdvancedQueryColumnFilter[];\r\n /** */\r\n sorted?: AdvancedQueryColumnSort[];\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise>> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/business-units/{businessUnitId}/payments';\r\n url = url.replace('{businessUnitId}', params['businessUnitId'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n configs.params = {\r\n StartDate: params['startDate'],\r\n EndDate: params['endDate'],\r\n PaymentStatuses: params['paymentStatuses'],\r\n PaymentSourceTypes: params['paymentSourceTypes'],\r\n PaymentChannels: params['paymentChannels'],\r\n ReportName: params['reportName'],\r\n Page: params['page'],\r\n PageSize: params['pageSize'],\r\n 'Search.FieldNames': params['searchFieldNames'],\r\n 'Search.SearchText': params['searchSearchText'],\r\n 'Search.ExactMatch': params['searchExactMatch'],\r\n Filtered: params['filtered'],\r\n Sorted: params['sorted']\r\n };\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getNetRevenueMetrics(\r\n params: {\r\n /** */\r\n businessUnitId: number;\r\n /** */\r\n startDate?: string;\r\n /** */\r\n endDate?: string;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise>> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/business-units/{businessUnitId}/net-revenue-metrics';\r\n url = url.replace('{businessUnitId}', params['businessUnitId'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n configs.params = { StartDate: params['startDate'], EndDate: params['endDate'] };\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static sendReceipt(\r\n params: {\r\n /** */\r\n paymentId: number;\r\n /** */\r\n body?: SendPaymentReceiptRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/payments/{paymentId}/send-receipt';\r\n url = url.replace('{paymentId}', params['paymentId'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('post', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static void(\r\n params: {\r\n /** */\r\n id: number;\r\n /** */\r\n body?: VoidPaymentRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/payments/{id}/void';\r\n url = url.replace('{id}', params['id'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('post', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static refund(\r\n params: {\r\n /** */\r\n id: number;\r\n /** */\r\n body?: RefundPaymentRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/payments/{id}/refund';\r\n url = url.replace('{id}', params['id'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('post', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static chargeback(\r\n params: {\r\n /** */\r\n id: number;\r\n /** */\r\n body?: ChargebackRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/payments/{id}/chargeback';\r\n url = url.replace('{id}', params['id'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('post', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getAllAccountPayments(\r\n params: {\r\n /** */\r\n businessUnitId: number;\r\n /** */\r\n startDate?: string;\r\n /** */\r\n endDate?: string;\r\n /** */\r\n paymentSourceTypes?: string[];\r\n /** */\r\n paymentChannels?: string[];\r\n /** */\r\n searchText?: string;\r\n /** */\r\n page?: number;\r\n /** */\r\n pageSize?: number;\r\n /** */\r\n searchFieldNames?: string[];\r\n /** */\r\n searchSearchText?: string;\r\n /** */\r\n searchExactMatch?: boolean;\r\n /** */\r\n filtered?: AdvancedQueryColumnFilter[];\r\n /** */\r\n sorted?: AdvancedQueryColumnSort[];\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise>> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/payments/{businessUnitId}/account-payments';\r\n url = url.replace('{businessUnitId}', params['businessUnitId'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n configs.params = {\r\n StartDate: params['startDate'],\r\n EndDate: params['endDate'],\r\n PaymentSourceTypes: params['paymentSourceTypes'],\r\n PaymentChannels: params['paymentChannels'],\r\n SearchText: params['searchText'],\r\n Page: params['page'],\r\n PageSize: params['pageSize'],\r\n 'Search.FieldNames': params['searchFieldNames'],\r\n 'Search.SearchText': params['searchSearchText'],\r\n 'Search.ExactMatch': params['searchExactMatch'],\r\n Filtered: params['filtered'],\r\n Sorted: params['sorted']\r\n };\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static downloadAccountPaymentsPdf(\r\n params: {\r\n /** */\r\n businessUnitId: number;\r\n /** */\r\n startDate?: string;\r\n /** */\r\n endDate?: string;\r\n /** */\r\n paymentSourceTypes?: string[];\r\n /** */\r\n paymentChannels?: string[];\r\n /** */\r\n searchText?: string;\r\n /** */\r\n page?: number;\r\n /** */\r\n pageSize?: number;\r\n /** */\r\n searchFieldNames?: string[];\r\n /** */\r\n searchSearchText?: string;\r\n /** */\r\n searchExactMatch?: boolean;\r\n /** */\r\n filtered?: AdvancedQueryColumnFilter[];\r\n /** */\r\n sorted?: AdvancedQueryColumnSort[];\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/payments/{businessUnitId}/account-payments/download/pdf';\r\n url = url.replace('{businessUnitId}', params['businessUnitId'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n configs.params = {\r\n StartDate: params['startDate'],\r\n EndDate: params['endDate'],\r\n PaymentSourceTypes: params['paymentSourceTypes'],\r\n PaymentChannels: params['paymentChannels'],\r\n SearchText: params['searchText'],\r\n Page: params['page'],\r\n PageSize: params['pageSize'],\r\n 'Search.FieldNames': params['searchFieldNames'],\r\n 'Search.SearchText': params['searchSearchText'],\r\n 'Search.ExactMatch': params['searchExactMatch'],\r\n Filtered: params['filtered'],\r\n Sorted: params['sorted']\r\n };\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n}\r\n","/* eslint-disable */\r\n\r\nimport {\r\n AdvancedQueryColumnFilter,\r\n AdvancedQueryColumnSort,\r\n BusinessUnitSummaryDto,\r\n Address,\r\n CreateBusinessUnitRequest,\r\n BusinessUnitGetDto,\r\n BusinessUnitHeaderDto,\r\n BusinessUnitDetailDto,\r\n BusinessUnitFeatures,\r\n BusinessUnitTermsOfServices,\r\n UpdateBusinessUnitRequest,\r\n EmptyResponse,\r\n Error,\r\n BusinessUnitContextDto,\r\n PaymentChannelSummaryDto,\r\n PaymentChannelSourceSummaryDto,\r\n MerchantAccountChannelSummaryDto,\r\n AcceptedCardBrands,\r\n TokenizerConfig,\r\n AccountFieldGetDto,\r\n PaymentFieldDetailDto,\r\n MessageDetailDto,\r\n BusinessUnitClientManagementSettingsDto,\r\n UpdateBusinessUnitClientManagementSettingsRequest,\r\n BusinessUnitClientSummaryDto,\r\n PaymentChannelClientSummaryDto,\r\n PaymentChannelSourceClientSummaryDto,\r\n MerchantAccountClientSummaryDto,\r\n TimeSpan,\r\n UpdateBusinessUnitFeaturesRequest,\r\n IList,\r\n List,\r\n Response,\r\n AdvancedQueryPage,\r\n IRequestOptions,\r\n IRequestConfig,\r\n getConfigs,\r\n axios,\r\n basePath\r\n} from './index.defs';\r\n\r\nexport class BusinessUnitsService {\r\n /** Generate by swagger-axios-codegen */\r\n // @ts-nocheck\r\n /* eslint-disable */\r\n\r\n /**\r\n *\r\n */\r\n static getAll(\r\n params: {\r\n /** */\r\n page?: number;\r\n /** */\r\n pageSize?: number;\r\n /** */\r\n searchFieldNames?: string[];\r\n /** */\r\n searchSearchText?: string;\r\n /** */\r\n searchExactMatch?: boolean;\r\n /** */\r\n filtered?: AdvancedQueryColumnFilter[];\r\n /** */\r\n sorted?: AdvancedQueryColumnSort[];\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise>> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/business-units';\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n configs.params = {\r\n Page: params['page'],\r\n PageSize: params['pageSize'],\r\n 'Search.FieldNames': params['searchFieldNames'],\r\n 'Search.SearchText': params['searchSearchText'],\r\n 'Search.ExactMatch': params['searchExactMatch'],\r\n Filtered: params['filtered'],\r\n Sorted: params['sorted']\r\n };\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getAllByOrgId(\r\n params: {\r\n /** */\r\n organizationId: number;\r\n /** */\r\n page?: number;\r\n /** */\r\n pageSize?: number;\r\n /** */\r\n searchFieldNames?: string[];\r\n /** */\r\n searchSearchText?: string;\r\n /** */\r\n searchExactMatch?: boolean;\r\n /** */\r\n filtered?: AdvancedQueryColumnFilter[];\r\n /** */\r\n sorted?: AdvancedQueryColumnSort[];\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise>> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/organizations/{organizationId}/business-units';\r\n url = url.replace('{organizationId}', params['organizationId'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n configs.params = {\r\n Page: params['page'],\r\n PageSize: params['pageSize'],\r\n 'Search.FieldNames': params['searchFieldNames'],\r\n 'Search.SearchText': params['searchSearchText'],\r\n 'Search.ExactMatch': params['searchExactMatch'],\r\n Filtered: params['filtered'],\r\n Sorted: params['sorted']\r\n };\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static create(\r\n params: {\r\n /** */\r\n organizationId: number;\r\n /** */\r\n body?: CreateBusinessUnitRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/organizations/{organizationId}/business-units';\r\n url = url.replace('{organizationId}', params['organizationId'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('post', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getHeaderById(\r\n params: {\r\n /** */\r\n id: number;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/business-units/{id}/header';\r\n url = url.replace('{id}', params['id'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getById(\r\n params: {\r\n /** */\r\n id: number;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/business-units/{id}';\r\n url = url.replace('{id}', params['id'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static update(\r\n params: {\r\n /** */\r\n id: number;\r\n /** */\r\n body?: UpdateBusinessUnitRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/business-units/{id}';\r\n url = url.replace('{id}', params['id'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('put', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static deleteById(\r\n params: {\r\n /** */\r\n id: number;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/business-units/{id}';\r\n url = url.replace('{id}', params['id'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('delete', 'application/json', url, options);\r\n\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getContextById(\r\n params: {\r\n /** */\r\n id: number;\r\n /** */\r\n channelType: string;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/business-units/{id}/context/{channelType}';\r\n url = url.replace('{id}', params['id'] + '');\r\n url = url.replace('{channelType}', params['channelType'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getSettingsById(\r\n params: {\r\n /** */\r\n id: number;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/business-units/{id}/settings';\r\n url = url.replace('{id}', params['id'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static updateSettings(\r\n params: {\r\n /** */\r\n id: number;\r\n /** */\r\n body?: UpdateBusinessUnitClientManagementSettingsRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/business-units/{id}/settings';\r\n url = url.replace('{id}', params['id'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('put', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getContextBySlug(\r\n params: {\r\n /** */\r\n slug: string;\r\n /** */\r\n channelType: string;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/business-units/by-slug/{slug}/context/{channelType}';\r\n url = url.replace('{slug}', params['slug'] + '');\r\n url = url.replace('{channelType}', params['channelType'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getSummaryById(\r\n params: {\r\n /** */\r\n id: number;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/business-units/{id}/summary';\r\n url = url.replace('{id}', params['id'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static updateFeatures(\r\n params: {\r\n /** */\r\n id: number;\r\n /** */\r\n body?: UpdateBusinessUnitFeaturesRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/business-units/{id}/features';\r\n url = url.replace('{id}', params['id'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('put', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n}\r\n","/* eslint-disable */\r\n\r\nimport {\r\n CustomerDetailDto,\r\n AdvancedQueryColumnFilter,\r\n AdvancedQueryColumnSort,\r\n UpdateCustomerRequest,\r\n CustomerGetDto,\r\n InitiateCustomerPhoneVerificationRequest,\r\n PhoneVerificationIdentifierDto,\r\n VerifyCustomerPhoneRequest,\r\n LinkCustomerAccountRequest,\r\n AccountDetailDto,\r\n OptionalAddress,\r\n CustomerAccountGetDto,\r\n AutopayEnrollmentSettings,\r\n ScheduledPaymentCustomerSummaryDto,\r\n ViewCustomerAccounts,\r\n UnlinkCustomerAccountAsCustomerRequest,\r\n UnlinkCustomerAccountAsAdminRequest,\r\n AutopayActivityLogSummaryDto,\r\n PaymentSourceSummaryDto,\r\n AutopayUpdateEnrollmentRequest,\r\n AutopayEnrollmentResponse,\r\n EmptyResponse,\r\n Error,\r\n ViewTransactionAggregate,\r\n IList,\r\n List,\r\n Response,\r\n AdvancedQueryPage,\r\n IRequestOptions,\r\n IRequestConfig,\r\n getConfigs,\r\n axios,\r\n basePath\r\n} from './index.defs';\r\n\r\nexport class CustomersService {\r\n /** Generate by swagger-axios-codegen */\r\n // @ts-nocheck\r\n /* eslint-disable */\r\n\r\n /**\r\n *\r\n */\r\n static getByUserId(\r\n params: {\r\n /** */\r\n id: number;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/customers/by-user/{id}';\r\n url = url.replace('{id}', params['id'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getByAccountId(\r\n params: {\r\n /** */\r\n accountId: number;\r\n /** */\r\n page?: number;\r\n /** */\r\n pageSize?: number;\r\n /** */\r\n searchFieldNames?: string[];\r\n /** */\r\n searchSearchText?: string;\r\n /** */\r\n searchExactMatch?: boolean;\r\n /** */\r\n filtered?: AdvancedQueryColumnFilter[];\r\n /** */\r\n sorted?: AdvancedQueryColumnSort[];\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise>> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/customers/by-account/{accountId}';\r\n url = url.replace('{accountId}', params['accountId'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n configs.params = {\r\n Page: params['page'],\r\n PageSize: params['pageSize'],\r\n 'Search.FieldNames': params['searchFieldNames'],\r\n 'Search.SearchText': params['searchSearchText'],\r\n 'Search.ExactMatch': params['searchExactMatch'],\r\n Filtered: params['filtered'],\r\n Sorted: params['sorted']\r\n };\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getCustomerSlug(options: IRequestOptions = {}): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/customers/business-unit-slug';\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static update(\r\n params: {\r\n /** */\r\n id?: number;\r\n /** */\r\n body?: UpdateCustomerRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/customers';\r\n\r\n const configs: IRequestConfig = getConfigs('put', 'application/json', url, options);\r\n configs.params = { id: params['id'] };\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static initiatePhoneVerification(\r\n params: {\r\n /** */\r\n businessUnitId: number;\r\n /** */\r\n body?: InitiateCustomerPhoneVerificationRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/customers/initiate-phone-verification/{businessUnitId}';\r\n url = url.replace('{businessUnitId}', params['businessUnitId'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('post', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static verifyPhone(\r\n params: {\r\n /** */\r\n businessUnitId: number;\r\n /** */\r\n body?: VerifyCustomerPhoneRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/customers/verify-phone/{businessUnitId}';\r\n url = url.replace('{businessUnitId}', params['businessUnitId'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('post', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static linkCustomerAccount(\r\n params: {\r\n /** */\r\n body?: LinkCustomerAccountRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/customers/accounts';\r\n\r\n const configs: IRequestConfig = getConfigs('post', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getAllCustomerAccounts(\r\n params: {\r\n /** */\r\n businessUnitId?: number;\r\n /** */\r\n customerId?: number;\r\n /** */\r\n page?: number;\r\n /** */\r\n pageSize?: number;\r\n /** */\r\n searchFieldNames?: string[];\r\n /** */\r\n searchSearchText?: string;\r\n /** */\r\n searchExactMatch?: boolean;\r\n /** */\r\n filtered?: AdvancedQueryColumnFilter[];\r\n /** */\r\n sorted?: AdvancedQueryColumnSort[];\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise>> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/customers/accounts';\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n configs.params = {\r\n BusinessUnitId: params['businessUnitId'],\r\n CustomerId: params['customerId'],\r\n Page: params['page'],\r\n PageSize: params['pageSize'],\r\n 'Search.FieldNames': params['searchFieldNames'],\r\n 'Search.SearchText': params['searchSearchText'],\r\n 'Search.ExactMatch': params['searchExactMatch'],\r\n Filtered: params['filtered'],\r\n Sorted: params['sorted']\r\n };\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static unlinkCustomerAccountAsCustomer(\r\n params: {\r\n /** */\r\n body?: UnlinkCustomerAccountAsCustomerRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/customers/accounts/as-customer';\r\n\r\n const configs: IRequestConfig = getConfigs('put', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static unlinkCustomerAccountAsAdmin(\r\n params: {\r\n /** */\r\n body?: UnlinkCustomerAccountAsAdminRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/customers/accounts/as-admin';\r\n\r\n const configs: IRequestConfig = getConfigs('put', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getAutopayEnrollmentHistoryByAccountId(\r\n params: {\r\n /** */\r\n accountId: number;\r\n /** */\r\n page?: number;\r\n /** */\r\n pageSize?: number;\r\n /** */\r\n searchFieldNames?: string[];\r\n /** */\r\n searchSearchText?: string;\r\n /** */\r\n searchExactMatch?: boolean;\r\n /** */\r\n filtered?: AdvancedQueryColumnFilter[];\r\n /** */\r\n sorted?: AdvancedQueryColumnSort[];\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise>> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/customers/{accountId}/autopay-enrollment-history';\r\n url = url.replace('{accountId}', params['accountId'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n configs.params = {\r\n Page: params['page'],\r\n PageSize: params['pageSize'],\r\n 'Search.FieldNames': params['searchFieldNames'],\r\n 'Search.SearchText': params['searchSearchText'],\r\n 'Search.ExactMatch': params['searchExactMatch'],\r\n Filtered: params['filtered'],\r\n Sorted: params['sorted']\r\n };\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static updateAutopaySettings(\r\n params: {\r\n /** */\r\n customerId: number;\r\n /** */\r\n accountId: number;\r\n /** */\r\n body?: AutopayUpdateEnrollmentRequest;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/customers/{customerId}/{accountId}/autopay-settings';\r\n url = url.replace('{customerId}', params['customerId'] + '');\r\n url = url.replace('{accountId}', params['accountId'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('put', 'application/json', url, options);\r\n\r\n let data = params['body'];\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static generateLoginLink(\r\n params: {\r\n /** */\r\n customerId?: number;\r\n /** */\r\n accountId?: number;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/customers/generate-login-link';\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n configs.params = { customerId: params['customerId'], accountId: params['accountId'] };\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getAllCustomers(\r\n params: {\r\n /** */\r\n businessUnitId: number;\r\n /** */\r\n page?: number;\r\n /** */\r\n pageSize?: number;\r\n /** */\r\n searchFieldNames?: string[];\r\n /** */\r\n searchSearchText?: string;\r\n /** */\r\n searchExactMatch?: boolean;\r\n /** */\r\n filtered?: AdvancedQueryColumnFilter[];\r\n /** */\r\n sorted?: AdvancedQueryColumnSort[];\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise>> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/customers/by-business-unit/{businessUnitId}';\r\n url = url.replace('{businessUnitId}', params['businessUnitId'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n configs.params = {\r\n Page: params['page'],\r\n PageSize: params['pageSize'],\r\n 'Search.FieldNames': params['searchFieldNames'],\r\n 'Search.SearchText': params['searchSearchText'],\r\n 'Search.ExactMatch': params['searchExactMatch'],\r\n Filtered: params['filtered'],\r\n Sorted: params['sorted']\r\n };\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getCustomerById(\r\n params: {\r\n /** */\r\n customerId: number;\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/customers/{customerId}';\r\n url = url.replace('{customerId}', params['customerId'] + '');\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getAllCustomerAccountPayments(\r\n params: {\r\n /** */\r\n businessUnitId?: number;\r\n /** */\r\n accountIds?: number[];\r\n /** */\r\n page?: number;\r\n /** */\r\n pageSize?: number;\r\n /** */\r\n searchFieldNames?: string[];\r\n /** */\r\n searchSearchText?: string;\r\n /** */\r\n searchExactMatch?: boolean;\r\n /** */\r\n filtered?: AdvancedQueryColumnFilter[];\r\n /** */\r\n sorted?: AdvancedQueryColumnSort[];\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise>> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/customers/payments';\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n configs.params = {\r\n BusinessUnitId: params['businessUnitId'],\r\n AccountIds: params['accountIds'],\r\n Page: params['page'],\r\n PageSize: params['pageSize'],\r\n 'Search.FieldNames': params['searchFieldNames'],\r\n 'Search.SearchText': params['searchSearchText'],\r\n 'Search.ExactMatch': params['searchExactMatch'],\r\n Filtered: params['filtered'],\r\n Sorted: params['sorted']\r\n };\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n /**\r\n *\r\n */\r\n static getAllAccountsEnrolledInAutopay(\r\n params: {\r\n /** */\r\n businessUnitId?: number;\r\n /** */\r\n customerId?: number;\r\n /** */\r\n page?: number;\r\n /** */\r\n pageSize?: number;\r\n /** */\r\n searchFieldNames?: string[];\r\n /** */\r\n searchSearchText?: string;\r\n /** */\r\n searchExactMatch?: boolean;\r\n /** */\r\n filtered?: AdvancedQueryColumnFilter[];\r\n /** */\r\n sorted?: AdvancedQueryColumnSort[];\r\n } = {} as any,\r\n options: IRequestOptions = {}\r\n ): Promise>> {\r\n return new Promise((resolve, reject) => {\r\n let url = basePath + '/api/customers/autopay-enabled-accounts';\r\n\r\n const configs: IRequestConfig = getConfigs('get', 'application/json', url, options);\r\n configs.params = {\r\n BusinessUnitId: params['businessUnitId'],\r\n CustomerId: params['customerId'],\r\n Page: params['page'],\r\n PageSize: params['pageSize'],\r\n 'Search.FieldNames': params['searchFieldNames'],\r\n 'Search.SearchText': params['searchSearchText'],\r\n 'Search.ExactMatch': params['searchExactMatch'],\r\n Filtered: params['filtered'],\r\n Sorted: params['sorted']\r\n };\r\n let data = null as any;\r\n\r\n configs.data = data;\r\n axios(configs, resolve, reject);\r\n });\r\n }\r\n}\r\n","import React from 'react';\r\nimport {useField} from 'react-final-form';\r\nimport Alert from '@reach/alert';\r\n\r\nexport const SubmitError = ({name}) => {\r\n const {\r\n meta: {submitError},\r\n } = useField(name, {\r\n subscription: {touched: true, submitError: true},\r\n });\r\n\r\n return submitError ? (\r\n
\r\n {submitError}\r\n
\r\n ) : null;\r\n};\r\n","const calendarLabel = 'Calendar';\r\nconst roleDescription = 'datepicker';\r\nconst closeDatePicker = 'Close';\r\nconst focusStartDate = 'Interact with the calendar and add the start date.';\r\nconst clearDate = 'Clear Date';\r\nconst clearDates = 'Clear Dates';\r\nconst jumpToPrevMonth = 'Move backward to switch to the previous month.';\r\nconst jumpToNextMonth = 'Move forward to switch to the next month.';\r\nconst keyboardShortcuts = 'Keyboard Shortcuts';\r\nconst showKeyboardShortcutsPanel = 'Open the keyboard shortcuts panel.';\r\nconst hideKeyboardShortcutsPanel = 'Close the shortcuts panel.';\r\nconst openThisPanel = 'Open this panel.';\r\nconst enterKey = 'Enter key';\r\nconst leftArrowRightArrow = 'Right and left arrow keys';\r\nconst upArrowDownArrow = 'up and down arrow keys';\r\nconst pageUpPageDown = 'page up and page down keys';\r\nconst homeEnd = 'Home and end keys';\r\nconst escape = 'Escape key';\r\nconst questionMark = 'Question mark';\r\nconst selectFocusedDate = 'Select the date in focus.';\r\nconst moveFocusByOneDay = 'Move backward (left) and forward (right) by one day.';\r\nconst moveFocusByOneWeek = 'Move backward (up) and forward (down) by one week.';\r\nconst moveFocusByOneMonth = 'Switch months.';\r\nconst moveFocustoStartAndEndOfWeek = 'Go to the first or last day of a week.';\r\nconst returnFocusToInput = 'Return to the date input field.';\r\nconst keyboardForwardNavigationInstructions =\r\n 'Navigate forward to interact with the calendar and select a date. Press the question mark key to get the keyboard shortcuts for changing dates.';\r\nconst keyboardBackwardNavigationInstructions =\r\n 'Navigate backward to interact with the calendar and select a date. Press the question mark key to get the keyboard shortcuts for changing dates.';\r\n\r\nconst chooseAvailableStartDate = ({date}) => `Choose ${date} as your start date.`;\r\nconst chooseAvailableEndDate = ({date}) => `Choose ${date} as your end date.`;\r\nconst chooseAvailableDate = ({date}) => date;\r\nconst dateIsUnavailable = ({date}) => `Not available. ${date}`;\r\nconst dateIsSelected = ({date}) => `Selected. ${date}`;\r\nconst dateIsSelectedAsStartDate = ({date}) => `Selected as start date. ${date}`;\r\nconst dateIsSelectedAsEndDate = ({date}) => `Selected as end date. ${date}`;\r\n\r\n// eslint-disable-next-line import/no-anonymous-default-export\r\nexport default {\r\n calendarLabel,\r\n roleDescription,\r\n closeDatePicker,\r\n focusStartDate,\r\n clearDate,\r\n clearDates,\r\n jumpToPrevMonth,\r\n jumpToNextMonth,\r\n keyboardShortcuts,\r\n showKeyboardShortcutsPanel,\r\n hideKeyboardShortcutsPanel,\r\n openThisPanel,\r\n enterKey,\r\n leftArrowRightArrow,\r\n upArrowDownArrow,\r\n pageUpPageDown,\r\n homeEnd,\r\n escape,\r\n questionMark,\r\n selectFocusedDate,\r\n moveFocusByOneDay,\r\n moveFocusByOneWeek,\r\n moveFocusByOneMonth,\r\n moveFocustoStartAndEndOfWeek,\r\n returnFocusToInput,\r\n keyboardForwardNavigationInstructions,\r\n keyboardBackwardNavigationInstructions,\r\n\r\n chooseAvailableStartDate,\r\n chooseAvailableEndDate,\r\n dateIsUnavailable,\r\n dateIsSelected,\r\n dateIsSelectedAsStartDate,\r\n dateIsSelectedAsEndDate,\r\n};\r\n\r\nexport const DateRangePickerPhrases = {\r\n calendarLabel,\r\n roleDescription,\r\n closeDatePicker,\r\n clearDates,\r\n focusStartDate,\r\n jumpToPrevMonth,\r\n jumpToNextMonth,\r\n keyboardShortcuts,\r\n showKeyboardShortcutsPanel,\r\n hideKeyboardShortcutsPanel,\r\n openThisPanel,\r\n enterKey,\r\n leftArrowRightArrow,\r\n upArrowDownArrow,\r\n pageUpPageDown,\r\n homeEnd,\r\n escape,\r\n questionMark,\r\n selectFocusedDate,\r\n moveFocusByOneDay,\r\n moveFocusByOneWeek,\r\n moveFocusByOneMonth,\r\n moveFocustoStartAndEndOfWeek,\r\n returnFocusToInput,\r\n keyboardForwardNavigationInstructions,\r\n keyboardBackwardNavigationInstructions,\r\n chooseAvailableStartDate,\r\n chooseAvailableEndDate,\r\n dateIsUnavailable,\r\n dateIsSelected,\r\n dateIsSelectedAsStartDate,\r\n dateIsSelectedAsEndDate,\r\n};\r\n\r\nexport const DateRangePickerInputPhrases = {\r\n focusStartDate,\r\n clearDates,\r\n keyboardForwardNavigationInstructions,\r\n keyboardBackwardNavigationInstructions,\r\n};\r\n\r\nexport const SingleDatePickerPhrases = {\r\n calendarLabel,\r\n roleDescription,\r\n closeDatePicker,\r\n clearDate,\r\n jumpToPrevMonth,\r\n jumpToNextMonth,\r\n keyboardShortcuts,\r\n showKeyboardShortcutsPanel,\r\n hideKeyboardShortcutsPanel,\r\n openThisPanel,\r\n enterKey,\r\n leftArrowRightArrow,\r\n upArrowDownArrow,\r\n pageUpPageDown,\r\n homeEnd,\r\n escape,\r\n questionMark,\r\n selectFocusedDate,\r\n moveFocusByOneDay,\r\n moveFocusByOneWeek,\r\n moveFocusByOneMonth,\r\n moveFocustoStartAndEndOfWeek,\r\n returnFocusToInput,\r\n keyboardForwardNavigationInstructions,\r\n keyboardBackwardNavigationInstructions,\r\n chooseAvailableDate,\r\n dateIsUnavailable,\r\n dateIsSelected,\r\n};\r\n\r\nexport const SingleDatePickerInputPhrases = {\r\n clearDate,\r\n keyboardForwardNavigationInstructions,\r\n keyboardBackwardNavigationInstructions,\r\n};\r\n\r\nexport const DayPickerPhrases = {\r\n calendarLabel,\r\n roleDescription,\r\n jumpToPrevMonth,\r\n jumpToNextMonth,\r\n keyboardShortcuts,\r\n showKeyboardShortcutsPanel,\r\n hideKeyboardShortcutsPanel,\r\n openThisPanel,\r\n enterKey,\r\n leftArrowRightArrow,\r\n upArrowDownArrow,\r\n pageUpPageDown,\r\n homeEnd,\r\n escape,\r\n questionMark,\r\n selectFocusedDate,\r\n moveFocusByOneDay,\r\n moveFocusByOneWeek,\r\n moveFocusByOneMonth,\r\n moveFocustoStartAndEndOfWeek,\r\n returnFocusToInput,\r\n chooseAvailableStartDate,\r\n chooseAvailableEndDate,\r\n chooseAvailableDate,\r\n dateIsUnavailable,\r\n dateIsSelected,\r\n dateIsSelectedAsStartDate,\r\n dateIsSelectedAsEndDate,\r\n};\r\n\r\nexport const DayPickerKeyboardShortcutsPhrases = {\r\n keyboardShortcuts,\r\n showKeyboardShortcutsPanel,\r\n hideKeyboardShortcutsPanel,\r\n openThisPanel,\r\n enterKey,\r\n leftArrowRightArrow,\r\n upArrowDownArrow,\r\n pageUpPageDown,\r\n homeEnd,\r\n escape,\r\n questionMark,\r\n selectFocusedDate,\r\n moveFocusByOneDay,\r\n moveFocusByOneWeek,\r\n moveFocusByOneMonth,\r\n moveFocustoStartAndEndOfWeek,\r\n returnFocusToInput,\r\n};\r\n\r\nexport const DayPickerNavigationPhrases = {\r\n jumpToPrevMonth,\r\n jumpToNextMonth,\r\n};\r\n\r\nexport const CalendarDayPhrases = {\r\n chooseAvailableDate,\r\n dateIsUnavailable,\r\n dateIsSelected,\r\n dateIsSelectedAsStartDate,\r\n dateIsSelectedAsEndDate,\r\n};\r\n","import {Global} from '@emotion/react';\r\nimport {css} from '@emotion/react/macro';\r\nimport moment, {Moment} from 'moment';\r\nimport React, {useEffect, useMemo, useRef, useState} from 'react';\r\nimport 'react-dates/initialize';\r\nimport 'react-dates/lib/css/_datepicker.css';\r\nimport {useForm, useFormState} from 'react-final-form';\r\nimport {Header, HtmlInputrops, StrictInputProps} from 'semantic-ui-react';\r\nimport nameof from 'ts-nameof.macro';\r\nimport {DateRangePickerPhrases} from '../../aria/date-picker';\r\nimport {DateFormat} from '../../components/date';\r\nimport {payStarColors} from '../../styles/styled';\r\nimport {Button} from '../button';\r\nimport {\r\n DateRangePicker,\r\n SingleDatePicker,\r\n AnchorDirectionShape,\r\n SingleDatePickerShape,\r\n} from 'react-dates';\r\n\r\ntype OmittedDatePickerProps = 'id' | 'focused' | 'onFocusChange' | 'date' | 'onDateChange';\r\n\r\ntype DatePickerShape = Omit;\r\n\r\nexport type DatePickerAdapterProps = StrictInputProps & HtmlInputrops & DatePickerShape;\r\n\r\nexport type DateRangeAdapterProps = StrictInputProps &\r\n HtmlInputrops & {\r\n startDateProperty: string;\r\n endDateProperty: string;\r\n onClose?: () => void;\r\n anchorDirection?: AnchorDirectionShape;\r\n hideQuickSelection?: boolean;\r\n };\r\n\r\nexport const DatePickerAdapter = ({input, meta, isOutsideRange = () => false}) => {\r\n const [focused, setFocused] = useState(false);\r\n const last = useRef();\r\n\r\n const getDate = (date) => {\r\n if (last.current !== date) {\r\n last.current = date ? moment(date) : undefined;\r\n }\r\n\r\n return last.current;\r\n };\r\n\r\n return (\r\n
\r\n setFocused(focused as any)}\r\n noBorder\r\n enableOutsideDays\r\n isOutsideRange={isOutsideRange}\r\n numberOfMonths={1}\r\n date={getDate(input.value) as any}\r\n onDateChange={(date) => {\r\n input.onChange(date ? date.startOf('day').toDate().toISOString() : date);\r\n }}\r\n />\r\n
\r\n );\r\n};\r\n\r\nconst getDate = (date) => (date ? moment(date) : undefined);\r\n\r\nexport const DateRangeCustomField: React.FC = (props) => {\r\n const state = useFormState();\r\n const startDate = getDate(state.values[props.startDateProperty]);\r\n const endDate = getDate(state.values[props.endDateProperty]);\r\n\r\n const form = useForm(nameof(DateRangeCustomField));\r\n\r\n useEffect(() => {\r\n form.registerField(props.startDateProperty, () => {}, {dirty: true});\r\n form.registerField(props.endDateProperty, () => {}, {dirty: true});\r\n }, [form, props.endDateProperty, props.startDateProperty]);\r\n\r\n const onDatesChanged = ({startDate, endDate}) => {\r\n form.batch(() => {\r\n form.change(props.startDateProperty, startDate ? startDate.toISOString() : startDate);\r\n form.change(props.endDateProperty, endDate ? endDate.toISOString() : endDate);\r\n form.blur(props.startDateProperty);\r\n form.blur(props.endDateProperty);\r\n });\r\n };\r\n\r\n return (\r\n props.onClose?.()}\r\n />\r\n );\r\n};\r\n\r\ntype Dates = {startDate: Moment | undefined; endDate: Moment | undefined};\r\ntype ChangeActionProps =\r\n | {\r\n onClose: (dates: Dates) => void;\r\n onDatesChanged?: (dates: Dates) => void;\r\n }\r\n | {\r\n onClose?: (dates: Dates) => void;\r\n onDatesChanged: (dates: Dates) => void;\r\n }\r\n | {\r\n onClose: (dates: Dates) => void;\r\n onDatesChanged: (dates: Dates) => void;\r\n };\r\n\r\ntype DateRangeProps = StrictInputProps &\r\n ChangeActionProps &\r\n HtmlInputrops & {\r\n startDateProperty: string;\r\n startDate?: Moment | string;\r\n endDateProperty: string;\r\n endDate?: Moment | string;\r\n anchorDirection?: AnchorDirectionShape;\r\n hideQuickSelection?: boolean;\r\n };\r\n\r\nexport const DateRange: React.FC = (props) => {\r\n const [focusedInput, setFocusedInput] = useState(null);\r\n const {startDateProperty, endDateProperty} = props;\r\n const startDate = getDate(props.startDate);\r\n const endDate = getDate(props.endDate);\r\n\r\n const getDates = ({startDate, endDate}) => {\r\n const startOfStartDate: Moment | undefined = startDate?.startOf('day');\r\n const endOfEndDate: Moment | undefined = endDate?.endOf('day');\r\n\r\n const dates: Dates = {\r\n startDate: startOfStartDate,\r\n endDate: endOfEndDate,\r\n };\r\n return dates;\r\n };\r\n\r\n const onDatesChanged = ({startDate, endDate}) =>\r\n props.onDatesChanged?.(getDates({startDate, endDate}));\r\n\r\n const onClose = ({startDate, endDate}) => props.onClose?.(getDates({startDate, endDate}));\r\n\r\n return (\r\n <>\r\n \r\n {\r\n setFocusedInput(focusedInput as any);\r\n }}\r\n noBorder\r\n enableOutsideDays\r\n appendToBody\r\n anchorDirection={props.anchorDirection}\r\n isOutsideRange={() => false}\r\n numberOfMonths={1}\r\n minimumNights={0}\r\n renderCalendarInfo={() =>\r\n !props.hideQuickSelection && (\r\n {\r\n onDatesChanged({startDate, endDate});\r\n onClose({startDate, endDate});\r\n }}\r\n requestClose={() => setFocusedInput(null)}\r\n />\r\n )\r\n }\r\n calendarInfoPosition=\"before\"\r\n phrases={DateRangePickerPhrases}\r\n onClose={onClose}\r\n />\r\n \r\n );\r\n};\r\n\r\ntype CalendarQuickSelection = {\r\n onDatesChanged: (dates: {startDate: Moment; endDate: Moment}) => void;\r\n requestClose: () => void;\r\n};\r\n\r\nconst CalendarQuickSelection: React.FC = ({\r\n onDatesChanged,\r\n requestClose,\r\n}) => {\r\n const {\r\n today,\r\n yesterday,\r\n startOfWeek,\r\n startOfLastWeek,\r\n endOfLastWeek,\r\n startOfMonth,\r\n startOfLastMonth,\r\n endOfLastMonth,\r\n } = useMemo(() => {\r\n const today = moment().startOf('date').toDate();\r\n const yesterday = moment().startOf('date').subtract(1, 'day').toDate();\r\n const startOfWeek = moment().startOf('week').toDate();\r\n\r\n const startOfLastWeek = moment().startOf('week').subtract(1, 'week').toDate();\r\n\r\n const endOfLastWeek = moment(startOfLastWeek).add(1, 'week').subtract(1, 'day').toDate();\r\n\r\n const startOfMonth = moment().startOf('month').toDate();\r\n\r\n const startOfLastMonth = moment().subtract(1, 'month').startOf('month').toDate();\r\n\r\n const endOfLastMonth = moment().subtract(1, 'month').endOf('month').toDate();\r\n\r\n return {\r\n today,\r\n yesterday,\r\n startOfWeek,\r\n startOfLastWeek,\r\n endOfLastWeek,\r\n startOfMonth,\r\n startOfLastMonth,\r\n endOfLastMonth,\r\n };\r\n }, []);\r\n\r\n return (\r\n
\r\n
Quick Selection
\r\n {\r\n onDatesChanged({\r\n startDate: moment(today),\r\n endDate: moment(today).endOf('day'),\r\n });\r\n requestClose();\r\n }}\r\n >\r\n {'Today: '}\r\n \r\n \r\n {\r\n onDatesChanged({\r\n startDate: moment(yesterday),\r\n endDate: moment(yesterday).endOf('day'),\r\n });\r\n requestClose();\r\n }}\r\n >\r\n {'Yesterday: '}\r\n \r\n \r\n {\r\n onDatesChanged({\r\n startDate: moment(startOfWeek),\r\n endDate: moment(today).endOf('day'),\r\n });\r\n requestClose();\r\n }}\r\n >\r\n {'This Week: '}\r\n \r\n {' - '}\r\n \r\n \r\n {\r\n onDatesChanged({\r\n startDate: moment(startOfLastWeek),\r\n endDate: moment(endOfLastWeek).endOf('day'),\r\n });\r\n requestClose();\r\n }}\r\n >\r\n {'Last Week: '}\r\n \r\n {' - '}\r\n \r\n \r\n {\r\n onDatesChanged({\r\n startDate: moment(startOfLastMonth),\r\n endDate: moment(endOfLastMonth),\r\n });\r\n requestClose();\r\n }}\r\n >\r\n {'Last Month: '}\r\n \r\n {' - '}\r\n \r\n \r\n {\r\n onDatesChanged({\r\n startDate: moment(startOfMonth),\r\n endDate: moment(today).endOf('day'),\r\n });\r\n requestClose();\r\n }}\r\n >\r\n {'MTD: '}\r\n \r\n {' - '}\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nconst datePickerStyles = css`\r\n .DateInput_input {\r\n font-weight: 400 !important;\r\n }\r\n\r\n .SingleDatePicker,\r\n .SingleDatePicker > div,\r\n .SingleDatePickerInput,\r\n .SingleDatePickerInput > div {\r\n display: flex;\r\n flex: 1;\r\n width: 100%;\r\n }\r\n\r\n .SingleDatePicker .DateInput_input[readonly] {\r\n background-color: #fff !important;\r\n font-weight: 400 !important;\r\n }\r\n\r\n .DateInput_fang {\r\n margin-top: 1px;\r\n }\r\n\r\n .DayPicker__withBorder {\r\n box-shadow: 0px 1px 11px 1px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(0, 0, 0, 0.07) !important;\r\n }\r\n\r\n .DateRangePicker_picker {\r\n /* z-index: 100; */\r\n }\r\n\r\n .DateRangePicker {\r\n border: solid 2px #cbcfd1;\r\n border-radius: 4px;\r\n\r\n .DateInput_input {\r\n border: none !important;\r\n background: #fff !important;\r\n font-weight: normal;\r\n }\r\n\r\n .DateRangePickerInput_arrow {\r\n margin: 0 5px;\r\n }\r\n\r\n .DateInput {\r\n width: 128px;\r\n }\r\n\r\n .DateInput:last-child .DateInput_input {\r\n text-align: right;\r\n }\r\n\r\n .DateInput_input__focused {\r\n outline: solid #85b7d9 2px !important;\r\n }\r\n }\r\n\r\n .CalendarDay__selected,\r\n .CalendarDay__selected:active,\r\n .CalendarDay__selected:hover,\r\n .CalendarDay__selected_span:active,\r\n .CalendarDay__selected_span:hover {\r\n background: ${payStarColors.blue3};\r\n border: 1px double ${payStarColors.blue3};\r\n color: #fff;\r\n }\r\n\r\n .CalendarDay__selected_span,\r\n .CalendarDay__hovered_span,\r\n .CalendarDay__hovered_span:active {\r\n background: ${payStarColors.blue4};\r\n border: 1px double ${payStarColors.blue4};\r\n color: #fff;\r\n }\r\n\r\n .DayPicker {\r\n background: #f1f1f1;\r\n }\r\n\r\n .DayPicker_wrapper__horizontal {\r\n background: #fff;\r\n }\r\n\r\n .DayPicker_transitionContainer {\r\n border-right: solid 1px #d2d2d2;\r\n }\r\n\r\n .DateRangePicker__actions {\r\n padding: 20px;\r\n\r\n .ui.button {\r\n text-align: left;\r\n\r\n strong {\r\n width: 85px;\r\n display: inline-block;\r\n }\r\n }\r\n }\r\n`;\r\n","import {forEach, isNil} from 'lodash';\r\nimport {useEffect} from 'react';\r\nimport {RouteComponentProps} from '@reach/router';\r\nimport {ClientQueryKeys} from '../api/generated/enums';\r\nimport {userManager} from '../auth';\r\n\r\nexport const SignOut = (props: RouteComponentProps) => {\r\n useEffect(() => {\r\n signOut();\r\n }, []);\r\n\r\n return null;\r\n};\r\n\r\ninterface SignOutProps {\r\n businessUnitSlug?: string;\r\n returnUrl?: string;\r\n paymentSuccessful?: boolean;\r\n}\r\n\r\nconst AuthQueryKeyLookup = {\r\n businessUnitSlug: ClientQueryKeys.BusinessUnitSlug,\r\n returnUrl: ClientQueryKeys.CustomRedirectUrl,\r\n paymentSuccessful: ClientQueryKeys.PaymentSuccessful,\r\n};\r\n\r\nexport const signOut = (signoutProps: SignOutProps = {}) => {\r\n const queryParams = {};\r\n\r\n forEach(signoutProps, (value, key) => {\r\n if (!isNil(value)) {\r\n queryParams[AuthQueryKeyLookup[key]] = value;\r\n }\r\n });\r\n\r\n userManager.signoutRedirect({\r\n extraQueryParams: queryParams,\r\n });\r\n};\r\n","import * as Sentry from '@sentry/browser';\r\nimport {Severity} from '@sentry/browser';\r\nimport {Env} from '../config/env-vars';\r\n\r\nfunction guard(\r\n fn: () => ReturnType | DefaultValue,\r\n defaultValue: ReturnType\r\n): () => ReturnType | DefaultValue;\r\nfunction guard(\r\n fn: (param1: InputParam) => ReturnType | DefaultValue,\r\n defaultValue: ReturnType\r\n): (param1: InputParam) => ReturnType | DefaultValue;\r\nfunction guard(\r\n fn: (param1: InputParam1, param2: InputParam2) => ReturnType | DefaultValue,\r\n defaultValue: ReturnType\r\n): (param1: InputParam1, param2: InputParam2) => ReturnType | DefaultValue;\r\nfunction guard(\r\n fn: (param1: InputParam1, param2: InputParam2, param3: InputParam3) => ReturnType | DefaultValue,\r\n defaultValue: ReturnType\r\n): (param1: InputParam1, param2: InputParam2, param3: InputParam3) => ReturnType | DefaultValue {\r\n const guarded: typeof fn = (...args) => {\r\n try {\r\n return fn(...args);\r\n } catch (error: any) {\r\n return handleError(error, defaultValue, args);\r\n }\r\n };\r\n\r\n return guarded;\r\n}\r\n\r\nfunction guardAsync(\r\n fn: () => Promise,\r\n defaultValue: ReturnType\r\n): () => Promise;\r\nfunction guardAsync(\r\n fn: (param1: InputParam) => Promise,\r\n defaultValue: ReturnType\r\n): (param1: InputParam) => Promise;\r\nfunction guardAsync(\r\n fn: (param1: InputParam1, param2: InputParam2) => Promise,\r\n defaultValue: ReturnType\r\n): (param1: InputParam1, param2: InputParam2) => Promise;\r\nfunction guardAsync(\r\n fn: (\r\n param1: InputParam1,\r\n param2: InputParam2,\r\n param3: InputParam3\r\n ) => Promise,\r\n defaultValue: ReturnType\r\n): (\r\n param1: InputParam1,\r\n param2: InputParam2,\r\n param3: InputParam3\r\n) => Promise {\r\n const guarded: typeof fn = async (...args) => {\r\n try {\r\n return await fn(...args);\r\n } catch (error: any) {\r\n return handleError(error, defaultValue, args);\r\n }\r\n };\r\n\r\n return guarded;\r\n}\r\n\r\nfunction handleError(error: Error, defaultValue: T, args?: any[]): T {\r\n if (Env.isProductionBuild) {\r\n Sentry.addBreadcrumb({\r\n level: Severity.Warning,\r\n message: error.message,\r\n data: {args},\r\n });\r\n\r\n Sentry.captureException(error);\r\n }\r\n return defaultValue;\r\n}\r\n\r\nexport {guard, guardAsync};\r\n","import {darken, lighten, textInputs, transparentize} from 'polished';\r\nimport React from 'react';\r\nimport {useAsync} from 'react-use';\r\nimport {Loader} from 'semantic-ui-react';\r\nimport {Global} from '@emotion/react';\r\nimport {ThemeProvider as EmotionThemeProvider} from '@emotion/react';\r\nimport {css} from '@emotion/react/macro';\r\nimport {DelayedLoadingContainer} from '../components/delayed-loading-container';\r\nimport styled, {defaultTheme, payStarColors} from './styled';\r\n\r\ntype Theme = typeof defaultTheme;\r\n\r\ntype ThemeProvider = {\r\n children: React.ReactNode;\r\n resolveTheme: () => Promise;\r\n};\r\n\r\nexport const ThemeContainer = styled.div`\r\n .ui {\r\n &.buttons .button,\r\n &.button {\r\n font-weight: normal;\r\n\r\n &.primary {\r\n background-color: ${(props) => props.theme.primaryButtonBg || payStarColors.primary.blue};\r\n\r\n &:hover,\r\n &:focus {\r\n &:not(.basic) {\r\n background-color: ${(props) =>\r\n lighten(0.1, props.theme.primaryButtonBg || payStarColors.primary.blue)} !important;\r\n }\r\n }\r\n }\r\n\r\n &.secondary {\r\n background-color: ${(props) => props.theme.secondaryButtonBg || '#e8e8e8'};\r\n box-shadow: 0px 0px 0px 1px ${(props) => props.theme.secondaryButtonShadow} !important;\r\n color: ${(props) => props.theme.secondaryButtonText || payStarColors.textLabel};\r\n\r\n &:hover,\r\n &:focus {\r\n background-color: ${(props) =>\r\n lighten(0.1, props.theme.secondaryButtonBg || '#e8e8e8')} !important;\r\n }\r\n }\r\n }\r\n }\r\n\r\n a {\r\n color: ${(props) => props.theme.primaryColor || payStarColors.primary.blue};\r\n\r\n &.hint {\r\n color: ${(props) => lighten(0.1, props.theme.primaryColor || payStarColors.primary.blue)};\r\n }\r\n }\r\n`;\r\n\r\nconst globalStyles = css`\r\n .root {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n }\r\n\r\n .ui {\r\n &.form {\r\n ${textInputs()} {\r\n border-width: 2px;\r\n border-color: ${payStarColors.grey2};\r\n\r\n &:focus {\r\n outline: -webkit-focus-ring-color auto 3px;\r\n }\r\n\r\n &[readonly] {\r\n background: #f1f1f1;\r\n color: #6b6b6b;\r\n &:focus {\r\n outline: none;\r\n background: #f1f1f1;\r\n color: #6b6b6b;\r\n }\r\n }\r\n }\r\n\r\n .field.error {\r\n ${textInputs()} {\r\n background: #fff;\r\n border-color: #e0b4b4;\r\n color: #9f3a38;\r\n box-shadow: none;\r\n }\r\n }\r\n\r\n .dropdown,\r\n .selection.dropdown {\r\n border-width: 2px;\r\n border-color: ${payStarColors.grey2};\r\n\r\n .menu {\r\n border-width: 2px;\r\n border-color: ${payStarColors.grey2};\r\n margin: 0px -2px;\r\n min-width: calc(100% + 4px);\r\n width: calc(100% + 4px);\r\n }\r\n\r\n &:not(.button) > .default.text,\r\n &.default:not(.button) > .text {\r\n color: ${payStarColors.grey1};\r\n }\r\n }\r\n\r\n .field > label,\r\n .field-label {\r\n color: ${payStarColors.textLabel};\r\n font-weight: normal;\r\n font-size: 0.92857143em;\r\n\r\n .hint {\r\n float: right;\r\n }\r\n }\r\n\r\n .success.message,\r\n .warning.message,\r\n .error.message {\r\n display: block;\r\n }\r\n\r\n .error.error input:-webkit-autofill {\r\n box-shadow: inherit !important;\r\n border-color: #cbcfd1 !important;\r\n }\r\n }\r\n\r\n &.input {\r\n &.labeled:not([class*='corner labeled']) .label {\r\n line-height: 1.3rem;\r\n border-width: 2px;\r\n border-color: ${payStarColors.grey2};\r\n padding-top: calc(0.78571429em - 2px);\r\n padding-bottom: calc(0.78571429em - 2px);\r\n background-color: #fff;\r\n\r\n &:first-of-type + input {\r\n border-left: 0;\r\n }\r\n }\r\n\r\n &.action {\r\n > .button {\r\n border: solid 2px ${payStarColors.grey2} !important;\r\n box-shadow: none;\r\n\r\n &:hover {\r\n box-shadow: none;\r\n }\r\n }\r\n\r\n &:not([class*='left action']) {\r\n > input {\r\n border-right-color: ${payStarColors.grey2} !important;\r\n }\r\n\r\n > .button:last-child {\r\n border-left: none !important;\r\n }\r\n }\r\n }\r\n\r\n &.input-file-upload {\r\n .file-upload {\r\n padding: 0 !important;\r\n background: #fff;\r\n\r\n .ui.button {\r\n margin: 0;\r\n border-radius: 0;\r\n }\r\n }\r\n }\r\n }\r\n\r\n &.breadcrumb a {\r\n color: ${payStarColors.primary.lightBlue};\r\n }\r\n\r\n &.table {\r\n font-size: 1rem;\r\n\r\n .error-text {\r\n color: ${payStarColors.errorText} !important;\r\n }\r\n\r\n .muted-text {\r\n color: ${payStarColors.mutedText} !important;\r\n }\r\n\r\n .warning-text {\r\n color: ${payStarColors.warningText} !important;\r\n }\r\n\r\n &.compact th {\r\n padding: 0.528571em 0.78571429em;\r\n }\r\n\r\n &.table tr th {\r\n border-left: none;\r\n }\r\n\r\n &.celled tr th {\r\n border-left: 1px solid rgba(222, 222, 222, 0.43);\r\n }\r\n\r\n thead th {\r\n border-radius: 0 !important;\r\n color: ${payStarColors.blue1};\r\n font-weight: 500;\r\n }\r\n\r\n &.selectable tbody tr {\r\n cursor: pointer;\r\n\r\n &.active,\r\n &.active:hover,\r\n &:hover {\r\n background: #d3eafb !important;\r\n\r\n .ui.label {\r\n /* border: solid 1px; */\r\n }\r\n }\r\n }\r\n\r\n tbody tr,\r\n thead tr {\r\n .hidden-row-action {\r\n opacity: 0;\r\n }\r\n\r\n &:hover .hidden-row-action {\r\n opacity: 1;\r\n }\r\n\r\n td:first-of-type,\r\n th:first-of-type {\r\n padding-left: 30px;\r\n }\r\n\r\n td:last-child,\r\n th:last-child {\r\n padding-right: 30px;\r\n }\r\n }\r\n\r\n &[class*='very basic']&:not(.not-padded) td:last-child {\r\n padding-right: 0.78571429rem !important;\r\n }\r\n }\r\n\r\n &.button {\r\n font-weight: normal;\r\n\r\n &.primary {\r\n background-color: ${payStarColors.primary.blue};\r\n\r\n &:hover,\r\n &:focus {\r\n background-color: ${lighten(0.075, payStarColors.primary.blue)} !important;\r\n }\r\n &:focus {\r\n box-shadow: 0px 0px 0px 1px ${darken(0.04, payStarColors.basicBoxShadow)};\r\n outline: -webkit-focus-ring-color auto 1px;\r\n }\r\n }\r\n\r\n &.secondary {\r\n background-color: #e8e8e8;\r\n color: ${payStarColors.textLabel};\r\n font-weight: normal;\r\n border-radius: 0.28571429rem;\r\n text-transform: none;\r\n text-shadow: none !important;\r\n &:hover,\r\n &:focus {\r\n color: ${payStarColors.textLabel};\r\n background-color: ${darken(0.075, '#e8e8e8')} !important;\r\n }\r\n &:focus {\r\n box-shadow: 0px 0px 0px 1px ${darken(0.04, payStarColors.basicBoxShadow)};\r\n outline: -webkit-focus-ring-color auto 1px;\r\n }\r\n }\r\n\r\n &.tertiary {\r\n background-color: #fff;\r\n color: ${payStarColors.textLabel};\r\n font-weight: normal;\r\n border-radius: 0.28571429rem;\r\n text-transform: none;\r\n text-shadow: none !important;\r\n\r\n &.negative {\r\n color: #db2828;\r\n\r\n &:hover,\r\n &:focus,\r\n &:active {\r\n background: #f9dbdc !important;\r\n color: #db2828;\r\n }\r\n }\r\n\r\n &.primary {\r\n background-color: #fff;\r\n color: ${payStarColors.primary.blue};\r\n\r\n &:hover,\r\n &:focus,\r\n &:active {\r\n background: ${transparentize(0.8, payStarColors.primary.blue)} !important;\r\n color: ${darken(0.1, payStarColors.primary.blue)};\r\n }\r\n }\r\n\r\n &:hover,\r\n &:focus {\r\n color: ${payStarColors.textLabel};\r\n background-color: ${darken(0.075, '#e8e8e8')} !important;\r\n }\r\n &:focus {\r\n box-shadow: 0px 0px 0px 1px ${darken(0.04, payStarColors.basicBoxShadow)};\r\n outline: -webkit-focus-ring-color auto 1px;\r\n }\r\n }\r\n\r\n &.basic {\r\n background-color: ${payStarColors.white1} !important;\r\n color: ${payStarColors.black};\r\n\r\n &:not(.action-button) {\r\n box-shadow: 0px 0px 0px 1px ${payStarColors.basicBoxShadow} !important;\r\n }\r\n &:hover {\r\n box-shadow: 0px 0px 0px 1px ${darken(0.04, payStarColors.basicBoxShadow)};\r\n color: ${darken(0.04, payStarColors.black)} !important;\r\n background-color: ${darken(0.08, payStarColors.white1)} !important;\r\n }\r\n &:focus {\r\n box-shadow: 0px 0px 0px 1px ${darken(0.04, payStarColors.basicBoxShadow)};\r\n color: ${darken(0.04, payStarColors.black)} !important;\r\n background-color: ${darken(0.02, payStarColors.white1)} !important;\r\n }\r\n &:active {\r\n box-shadow: 0px 0px 0px 1px ${darken(0.08, payStarColors.basicBoxShadow)};\r\n color: ${darken(0.08, payStarColors.black)} !important;\r\n background-color: ${darken(0.05, payStarColors.white1)} !important;\r\n }\r\n\r\n &.transparent {\r\n background-color: ${payStarColors.transparent} !important;\r\n &:hover {\r\n background-color: ${payStarColors.transparentHover} !important;\r\n }\r\n &:active {\r\n background-color: ${darken(0.05, payStarColors.transparentHover)} !important;\r\n }\r\n }\r\n\r\n &.warning {\r\n background-color: ${payStarColors.warningBackground} !important;\r\n box-shadow: 0px 0px 0px 1px ${payStarColors.warningBoxShadow} !important;\r\n color: ${payStarColors.warning};\r\n &:hover {\r\n box-shadow: 0px 0px 0px 1px ${darken(0.2, payStarColors.warningBoxShadow)};\r\n color: ${darken(0.2, payStarColors.warning)} !important;\r\n background-color: ${darken(0.03, payStarColors.warningBackground)} !important;\r\n }\r\n &:focus {\r\n box-shadow: 0px 0px 0px 1px ${darken(0.2, payStarColors.warningBoxShadow)};\r\n color: ${darken(0.2, payStarColors.warning)} !important;\r\n background-color: ${darken(0.03, payStarColors.warningBackground)} !important;\r\n }\r\n &:active {\r\n box-shadow: 0px 0px 0px 1px ${darken(0.3, payStarColors.warningBoxShadow)};\r\n color: ${darken(0.3, payStarColors.warning)} !important;\r\n background-color: ${darken(0.05, payStarColors.warningBackground)} !important;\r\n }\r\n }\r\n\r\n &.clear {\r\n background-color: transparent !important;\r\n box-shadow: none !important;\r\n\r\n &:hover,\r\n &:focus {\r\n background-color: rgba(27, 28, 29, 0.1) !important;\r\n }\r\n }\r\n }\r\n\r\n &.link {\r\n background: transparent none;\r\n color: rgba(0, 0, 0, 0.6);\r\n font-weight: normal;\r\n border-radius: 0.28571429rem;\r\n text-transform: none;\r\n text-shadow: none !important;\r\n display: inline-block;\r\n padding: 5px 0px;\r\n &:hover {\r\n color: rgba(0, 0, 0, 0.8);\r\n }\r\n &:focus {\r\n box-shadow: 0px 0px 0px 1px ${darken(0.04, payStarColors.basicBoxShadow)};\r\n color: ${darken(0.04, payStarColors.black)} !important;\r\n background-color: ${darken(0.02, payStarColors.white1)} !important;\r\n outline: -webkit-focus-ring-color auto 1px;\r\n }\r\n &:active {\r\n background: #f8f8f8;\r\n }\r\n }\r\n\r\n &.white {\r\n background: #fff !important;\r\n box-shadow: 0px 0px 0px 1px rgba(107, 112, 117, 0.35) inset,\r\n 0px 0px 0px 0px rgba(50, 53, 56, 0.15) inset;\r\n }\r\n\r\n &.clear {\r\n background: transparent none;\r\n color: rgba(0, 0, 0, 0.6);\r\n font-weight: normal;\r\n border-radius: 0.28571429rem;\r\n text-transform: none;\r\n text-shadow: none !important;\r\n &:hover {\r\n color: rgba(0, 0, 0, 0.8);\r\n }\r\n &:focus {\r\n box-shadow: 0px 0px 0px 1px ${darken(0.04, payStarColors.basicBoxShadow)};\r\n color: ${darken(0.04, payStarColors.black)} !important;\r\n background-color: ${transparentize(0.9, payStarColors.black)} !important;\r\n outline: -webkit-focus-ring-color auto 1px;\r\n }\r\n &:active {\r\n background: #f8f8f8;\r\n }\r\n }\r\n\r\n &.no-focus:not(:active) {\r\n box-shadow: none !important;\r\n outline: none !important;\r\n }\r\n }\r\n\r\n &.header {\r\n &.no-margin {\r\n margin: 0;\r\n }\r\n\r\n &.small {\r\n font-weight: 500;\r\n font-size: 0.971429rem;\r\n }\r\n\r\n &.inverted.attached {\r\n background-color: ${payStarColors.primary.blue};\r\n }\r\n\r\n &.icon svg {\r\n display: block;\r\n line-height: 1;\r\n padding: 0em;\r\n font-size: 3em;\r\n }\r\n\r\n &.icon > svg {\r\n margin: 0em auto 0.5rem;\r\n }\r\n }\r\n\r\n &.buttons > .ui.button:not(.basic):not(.inverted),\r\n &.buttons:not(.basic):not(.inverted) > .button,\r\n &.buttons .ui.button:not(.basic):not(.inverted),\r\n &.buttons:not(.basic):not(.inverted) .button {\r\n box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\r\n }\r\n\r\n &.menu {\r\n &.pagination {\r\n border: 1px solid ${payStarColors.basicBoxShadow};\r\n box-shadow: none;\r\n\r\n .item:before {\r\n background: ${payStarColors.basicBoxShadow};\r\n }\r\n }\r\n\r\n &.secondary.pointing .active.item {\r\n font-weight: normal;\r\n color: ${payStarColors.primary.blue};\r\n border-color: ${payStarColors.primary.blue};\r\n }\r\n }\r\n\r\n &.page.modals {\r\n z-index: 1000;\r\n }\r\n\r\n &.modal {\r\n &.basic {\r\n .ui.segment {\r\n color: #0a2233;\r\n }\r\n\r\n > .close {\r\n padding: 0.6rem 0rem 0rem 0.1rem;\r\n border: solid 2px #fff;\r\n box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.88);\r\n background: #000;\r\n color: #fff;\r\n border-radius: 4rem;\r\n font-size: 0.9rem;\r\n top: 0.5rem;\r\n right: 0.3rem;\r\n opacity: 1;\r\n }\r\n }\r\n\r\n .close-icon {\r\n position: absolute;\r\n right: -1rem;\r\n top: -1rem;\r\n\r\n .ui.button {\r\n width: 2rem;\r\n height: 2rem;\r\n padding: 0;\r\n border: solid 2px #fff;\r\n box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.88);\r\n }\r\n }\r\n\r\n .content .actions {\r\n margin: 15px -1.5rem -1.5rem;\r\n padding: 15px 10px;\r\n border-top: solid 1px rgba(0, 0, 0, 0.2);\r\n background: rgba(0, 0, 0, 0.02);\r\n }\r\n\r\n & > .actions {\r\n text-align: left;\r\n }\r\n\r\n .ui.form .form-actions {\r\n margin: 2em -1em -1em !important;\r\n padding: 1.5em 1em 1.5em 1em !important;\r\n }\r\n\r\n .ui.dimmer:not(.active) + .ui.loader {\r\n display: none;\r\n }\r\n }\r\n\r\n &.segment {\r\n display: block;\r\n border: 1px solid rgba(34, 36, 38, 0.3);\r\n\r\n padding: 2em;\r\n @media only screen and (max-width: 767px) {\r\n padding: 1em;\r\n }\r\n\r\n &.padding-sm {\r\n padding: 1em;\r\n }\r\n\r\n &.placeholder {\r\n min-height: 8rem;\r\n display: flex;\r\n }\r\n }\r\n\r\n &.tab {\r\n &.basic.segment {\r\n padding: 0;\r\n }\r\n }\r\n\r\n &.statistic {\r\n .label {\r\n text-align: left;\r\n font-weight: normal;\r\n }\r\n }\r\n\r\n &.dimmer {\r\n background-color: rgba(0, 0, 0, 0.75);\r\n }\r\n\r\n a.hint {\r\n float: right;\r\n font-weight: normal;\r\n font-size: 1rem;\r\n }\r\n }\r\n\r\n .secondary-navigation {\r\n background-color: #fff;\r\n padding: 6px 0;\r\n border-bottom: 2px solid #d9d9da;\r\n\r\n .ui.container {\r\n max-width: 1330px !important;\r\n\r\n @media only screen and (max-width: 767px) {\r\n margin-left: 0 !important;\r\n margin-right: 0 !important;\r\n }\r\n }\r\n\r\n .ui.secondary.pointing.menu {\r\n border-bottom: 2px solid #d9d9da;\r\n margin-bottom: -8px;\r\n }\r\n }\r\n\r\n .muted,\r\n .muted label {\r\n color: ${payStarColors.mutedText} !important;\r\n }\r\n\r\n .text-bold {\r\n font-weight: 600;\r\n }\r\n\r\n .relative {\r\n position: relative !important;\r\n }\r\n\r\n .clearfix:after {\r\n content: '';\r\n display: table;\r\n clear: both;\r\n }\r\n\r\n .react-toast-notifications__container {\r\n z-index: 10000 !important;\r\n }\r\n\r\n [data-reach-skip-link]:focus {\r\n z-index: 10;\r\n }\r\n\r\n [data-reach-tab-list] {\r\n margin: 0 0 1em 0;\r\n display: inline-block;\r\n background: #fff;\r\n border-radius: 5px;\r\n padding: 4px;\r\n border: 1px solid rgba(34, 36, 38, 0.15);\r\n box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\r\n }\r\n\r\n [data-reach-tab-panel] {\r\n outline: none;\r\n }\r\n\r\n [data-reach-tab] {\r\n display: inline-block;\r\n padding: 0.25em 0.5em;\r\n margin: 0;\r\n background: none;\r\n color: inherit;\r\n font: inherit;\r\n cursor: pointer;\r\n -webkit-appearance: none;\r\n -moz-appearance: none;\r\n align-self: flex-end;\r\n border: none;\r\n margin: 0 2.5px 0;\r\n padding: 0.557143em 1.14285714em;\r\n border-bottom-width: 2px;\r\n transition: color 0.1s ease;\r\n background-color: transparent;\r\n color: #0a2233;\r\n border-radius: 5px;\r\n\r\n &:hover {\r\n background: rgba(0, 0, 0, 0.05);\r\n }\r\n\r\n &[data-selected] {\r\n background: #185885;\r\n color: #fff;\r\n }\r\n\r\n &:first-of-type {\r\n margin-left: 0px;\r\n }\r\n\r\n &:last-of-type {\r\n margin-right: 0px;\r\n }\r\n }\r\n\r\n [data-reach-tab]:disabled {\r\n opacity: 0.25;\r\n cursor: default;\r\n }\r\n\r\n [data-reach-menu-list],\r\n [data-reach-menu-items] {\r\n box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.08);\r\n border-radius: 0.26666667rem;\r\n margin-top: 0.33333333em;\r\n padding: 0;\r\n }\r\n\r\n [data-reach-menu-item][data-selected] {\r\n background: rgba(0, 0, 0, 0.05) !important;\r\n color: rgba(0, 0, 0, 0.95) !important;\r\n }\r\n\r\n [data-reach-menu-button][aria-expanded='true'] {\r\n background: rgba(20, 74, 111, 0.2) !important;\r\n color: #0c2d44;\r\n }\r\n`;\r\n\r\nexport const GlobalStyles = () => ;\r\n\r\nconst DEFAULT_RESOLVE_THEME = (): Promise => Promise.resolve(defaultTheme);\r\n\r\nexport const ThemeProvider = ({children, resolveTheme}: ThemeProvider) => {\r\n const fetchTheme = useAsync(resolveTheme);\r\n\r\n if (fetchTheme.loading) {\r\n return (\r\n \r\n \r\n Loading...\r\n \r\n \r\n );\r\n }\r\n\r\n if (fetchTheme.error || !fetchTheme.value) {\r\n return
Error
;\r\n }\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nThemeProvider.defaultProps = {\r\n resolveTheme: DEFAULT_RESOLVE_THEME,\r\n};\r\n","import React, {useCallback, useEffect, useMemo, useState} from 'react';\r\nimport {useAsyncRetry} from 'react-use';\r\nimport {Container, Header, Message} from 'semantic-ui-react';\r\nimport {css} from '@emotion/react/macro';\r\nimport {Link, RouteComponentProps, useLocation, useNavigate, useParams} from '@reach/router';\r\nimport {\r\n AccountDetailDto,\r\n DependentFormResponseDto,\r\n Error,\r\n PaymentIntentDetailDto,\r\n Response,\r\n SubmitFormResponse,\r\n} from '../api/generated/index.defs';\r\nimport {FormsService} from '../api/generated/FormsService';\r\nimport {Form} from '../forms';\r\nimport {notifications} from '../utils/notification-service';\r\nimport {payStarColors} from '../styles/styled';\r\nimport {lighten} from 'polished';\r\nimport {Media} from '../styles/breakpoints';\r\nimport {User} from '../types';\r\nimport {routes} from '../routes';\r\nimport {PaymentIntentsService} from '../api/generated/PaymentIntentsService';\r\nimport {sessionStore} from '../utils/session-store';\r\nimport moment from 'moment';\r\nimport {DateTimeFormats} from '../components/date';\r\nimport {isInclusivelyAfterDay, isInclusivelyBeforeDay} from 'react-dates';\r\n\r\nconst DEFAULT_ON_FORM_COMPLETE_URL = routes.customer.dashboard;\r\n\r\nexport type CustomFormProps = RouteComponentProps & {\r\n account?: AccountDetailDto;\r\n businessUnitId: number;\r\n user?: User;\r\n formId?: number;\r\n paymentSessionSessionIdentifier?: string;\r\n onCompleteUrl?: string;\r\n onComplete?: () => void;\r\n onCancel?: () => void;\r\n};\r\n\r\nconst mapContextToFields = (schemaJson, key, context, initialObject = {}) => {\r\n const schema = JSON.parse(schemaJson ?? '{}');\r\n const fields = schema[key] ?? [];\r\n\r\n const result = {\r\n ...initialObject,\r\n ...fields.reduce(\r\n (data, curr) => ({\r\n ...data,\r\n [`${curr.fieldName}`]: context[curr.mapFromContextKey] ?? curr.defaultValue,\r\n }),\r\n {}\r\n ),\r\n };\r\n\r\n return result;\r\n};\r\n\r\nconst weekends = [0, 6];\r\n\r\nconst filterFormConfigurationProps = (providedProps) => {\r\n const {mapFromContextKey, ...propsToApply} = providedProps;\r\n return propsToApply;\r\n};\r\n\r\nexport const buildIsOutsideRangeForDatePicker = (\r\n minimumDayOffset,\r\n maximumDayOffset,\r\n skipWeekends\r\n) => {\r\n if (minimumDayOffset !== undefined) minimumDayOffset--;\r\n\r\n if (maximumDayOffset !== undefined) maximumDayOffset++;\r\n\r\n if (skipWeekends && moment().day() - minimumDayOffset <= 0) {\r\n minimumDayOffset -= 2;\r\n }\r\n\r\n if (skipWeekends && moment().day() + maximumDayOffset >= 6) {\r\n maximumDayOffset += 2;\r\n }\r\n\r\n const minimumDayCheck =\r\n minimumDayOffset !== undefined\r\n ? (x) => isInclusivelyBeforeDay(x, moment().add(minimumDayOffset, 'days'))\r\n : () => false;\r\n\r\n const maximumDayCheck =\r\n maximumDayOffset !== undefined\r\n ? (x) => isInclusivelyAfterDay(x, moment().add(maximumDayOffset, 'days'))\r\n : () => false;\r\n\r\n var weekendCheck = skipWeekends ? (x) => weekends.some((y) => x.day() === y) : () => false;\r\n\r\n return (x) => minimumDayCheck(x) || maximumDayCheck(x) || weekendCheck(x);\r\n};\r\n\r\nconst fields = {\r\n input: (propsToApply) => (\r\n \r\n ),\r\n 'input-currency': (propsToApply) => (\r\n \r\n ),\r\n 'input-masked': (propsToApply) => (\r\n \r\n ),\r\n 'input-decimal': (propsToApply) => (\r\n \r\n ),\r\n datepicker: (propsToApply) => {\r\n const {minimumDayOffset, maximumDayOffset, skipWeekends, ...remainingPropsToApply} =\r\n propsToApply;\r\n\r\n return (\r\n \r\n );\r\n },\r\n dropdown: (propsToApply) => (\r\n \r\n ),\r\n radio: (propsToApply) => (\r\n \r\n ),\r\n textarea: (propsToApply) => (\r\n \r\n ),\r\n checkbox: (propsToApply) => (\r\n \r\n ),\r\n header: (propsToApply) => {\r\n const {fieldName, mapFromContextKey, ...remainingPropsToApply} = propsToApply;\r\n return
;\r\n },\r\n message: (propsToApply) => {\r\n const {fieldName, mapFromContextKey, ...remainingPropsToApply} = propsToApply;\r\n return ;\r\n },\r\n};\r\n\r\nexport const CustomForm: React.FC = ({\r\n account,\r\n businessUnitId,\r\n formId,\r\n user,\r\n onCompleteUrl,\r\n onComplete,\r\n onCancel,\r\n paymentSessionSessionIdentifier,\r\n}) => {\r\n const navigate = useNavigate();\r\n const {baseFormId} = useParams();\r\n const location = useLocation();\r\n\r\n const isDependentForm = !!baseFormId;\r\n\r\n const [submitResults, setSubmitResults] = useState<{\r\n info?: boolean;\r\n error?: boolean;\r\n content?: string;\r\n }>({});\r\n\r\n const [dependentFormState, setDependentFormState] = useState([]);\r\n\r\n const fetchFormConfiguration = useAsyncRetry(async () => {\r\n if (!formId) return null;\r\n\r\n var request = !user\r\n ? FormsService.getAnonymousFormConfigurationById\r\n : FormsService.getFormConfigurationById;\r\n\r\n const {data} = await request({\r\n businessUnitId: businessUnitId,\r\n formConfigurationId: formId,\r\n });\r\n return data;\r\n });\r\n\r\n useEffect(() => {\r\n setDependentFormState(\r\n JSON.parse(sessionStore.getAndRemove(`formConfiguration:${formId}`) ?? '[]')\r\n );\r\n }, [formId]);\r\n\r\n const contextData = useMemo(() => {\r\n const parsedMeta = JSON.parse(account?.meta ?? '{}');\r\n const accountMeta = Object.keys(parsedMeta).reduce(\r\n (obj, curr) => ({...obj, [`meta_${curr}`]: parsedMeta[curr]}),\r\n {}\r\n );\r\n\r\n const data = {\r\n ...accountMeta,\r\n ...account,\r\n ...user,\r\n date: moment().format(DateTimeFormats.DateTime),\r\n };\r\n\r\n return data;\r\n }, [account, user]);\r\n\r\n const getFormFields = useMemo(() => {\r\n if (!fetchFormConfiguration.value) return [];\r\n const schema: any = JSON.parse(fetchFormConfiguration?.value?.fieldsJson ?? '{}');\r\n\r\n return (\r\n schema.fields?.reduce((acc: JSX.Element[], curr) => {\r\n const {fieldType, fieldMatches, ...propsToApply} = curr;\r\n return [...acc, fields[fieldType](propsToApply) ?? null];\r\n }, []) ?? []\r\n );\r\n }, [fetchFormConfiguration.value]);\r\n\r\n const navigateToDependentForm = useCallback(\r\n (dependentFormConfigurationId, values) => {\r\n sessionStore.set(`formConfigurationState:${formId}`, JSON.stringify(values));\r\n navigate(`${location.pathname}/${dependentFormConfigurationId}${location.search}`);\r\n },\r\n [location.pathname, location.search, navigate, formId]\r\n );\r\n\r\n const getDependentForms = (values) => {\r\n if (!fetchFormConfiguration.value) return [];\r\n const schema: any = JSON.parse(fetchFormConfiguration?.value?.fieldsJson ?? '{}');\r\n\r\n if (!schema.dependentForms || schema.dependentForms?.length === 0) return [];\r\n\r\n let remainingDependentForms = false;\r\n\r\n let dependentForms =\r\n schema.dependentForms?.reduce((acc: JSX.Element[], curr) => {\r\n const {fieldType, fieldMatches, ...propsToApply} = curr;\r\n const {\r\n fieldName,\r\n content: formName,\r\n dependentFormConfigurationId,\r\n ...remainingPropsToApply\r\n } = propsToApply;\r\n const matchingState =\r\n !!dependentFormConfigurationId &&\r\n dependentFormState?.some(\r\n (x) => `${x?.formConfigurationId}` === dependentFormConfigurationId\r\n );\r\n\r\n remainingDependentForms = remainingDependentForms || !matchingState;\r\n\r\n return [\r\n ...acc,\r\n matchingState ? (\r\n Completed additional form: {formName}\r\n ) : (\r\n navigateToDependentForm(dependentFormConfigurationId, values)}\r\n content={formName}\r\n {...remainingPropsToApply}\r\n />\r\n ),\r\n ];\r\n }, []) ?? [];\r\n\r\n if (remainingDependentForms) {\r\n dependentForms = [\r\n ,\r\n ...dependentForms,\r\n ];\r\n }\r\n\r\n return
{dependentForms}
;\r\n };\r\n\r\n const onSubmit = async (values) => {\r\n if (!formId || !fetchFormConfiguration?.value) return null;\r\n\r\n const valuesToSubmit = mapContextToFields(\r\n fetchFormConfiguration?.value?.fieldsJson,\r\n 'hiddenFields',\r\n contextData,\r\n values\r\n );\r\n\r\n const validationResult = validateForm(\r\n fetchFormConfiguration.value.fieldsJson,\r\n valuesToSubmit,\r\n dependentFormState\r\n );\r\n\r\n if (validationResult.hasErrors) return validationResult;\r\n\r\n let response: Response | Response;\r\n\r\n if (paymentSessionSessionIdentifier) {\r\n response = await PaymentIntentsService.updateCheckoutForms({\r\n identifier: paymentSessionSessionIdentifier,\r\n body: {\r\n businessUnitId: businessUnitId,\r\n accountId: account?.id ?? 0,\r\n customerId: user?.id ?? 0,\r\n valuesJson: JSON.stringify(valuesToSubmit),\r\n paymentSessionSessionIdentifier: `${paymentSessionSessionIdentifier}`,\r\n formConfigurationId: formId,\r\n baseFormResponseId: 0,\r\n },\r\n });\r\n } else {\r\n const request = !user ? FormsService.submitAnonymousForm : FormsService.submitForm;\r\n\r\n response = await request({\r\n businessUnitId: businessUnitId,\r\n formConfigurationId: formId,\r\n body: {\r\n accountId: account?.id ?? 0,\r\n customerId: user?.id ?? 0,\r\n valuesJson: JSON.stringify(valuesToSubmit),\r\n baseFormResponseId: isDependentForm ? baseFormId : undefined,\r\n paymentSessionSessionIdentifier: '',\r\n isDependentForm,\r\n dependentFormResponses: dependentFormState,\r\n },\r\n });\r\n }\r\n\r\n const submitResults = {\r\n info: !response.hasErrors,\r\n error: response.hasErrors,\r\n content: response.hasErrors\r\n ? 'An error occurred submitting the form'\r\n : 'Form successfully submitted',\r\n };\r\n\r\n if (response.hasErrors) {\r\n notifications?.error(submitResults.content);\r\n return;\r\n }\r\n\r\n notifications?.success(submitResults.content);\r\n\r\n if (!!onComplete) {\r\n onComplete();\r\n return;\r\n } else if (!!onCompleteUrl) {\r\n navigate(onCompleteUrl);\r\n return;\r\n } else if (isDependentForm) {\r\n const baseFormUrl = location.pathname.split('/').slice(0, -1).join('/');\r\n const returnUrl = `${baseFormUrl}${location.search}`;\r\n\r\n const existingData = JSON.parse(sessionStore.get(`formConfiguration:${baseFormId}`) ?? '[]');\r\n sessionStore.set(\r\n `formConfiguration:${baseFormId}`,\r\n JSON.stringify([...existingData, response.data])\r\n );\r\n\r\n navigate(returnUrl);\r\n return;\r\n }\r\n\r\n setSubmitResults(submitResults);\r\n };\r\n\r\n const getInitialValues = useMemo(() => {\r\n if (!fetchFormConfiguration?.value) return {};\r\n\r\n // Consider timestamping or utilizing UUID\r\n const sessionFormData = JSON.parse(\r\n sessionStore.getAndRemove(`formConfigurationState:${formId}`) ?? '{}'\r\n );\r\n\r\n const mappedValues = mapContextToFields(\r\n fetchFormConfiguration?.value?.fieldsJson,\r\n 'fields',\r\n contextData\r\n );\r\n\r\n return {...mappedValues, ...sessionFormData};\r\n }, [fetchFormConfiguration?.value, contextData, formId]);\r\n\r\n return (\r\n \r\n
{fetchFormConfiguration?.value?.displayName}
\r\n \r\n {submitResults?.content ? (\r\n <>\r\n \r\n
\r\n {onComplete ? (\r\n \r\n Back\r\n \r\n ) : (\r\n \r\n Back\r\n \r\n )}\r\n
\r\n \r\n ) : !!fetchFormConfiguration?.value ? (\r\n (\r\n <>\r\n {getFormFields}\r\n {getDependentForms(values)}\r\n\r\n \r\n
\r\n \r\n {isDependentForm ? 'Continue' : 'Submit'}\r\n \r\n {onCancel ? (\r\n \r\n Cancel\r\n \r\n ) : (\r\n \r\n Cancel\r\n \r\n )}\r\n
\r\n \r\n )}\r\n />\r\n ) : null}\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst styles = css`\r\n .ui.button.primary[type='submit'],\r\n .ui.button.primary[type='button'] {\r\n background-color: ${payStarColors.primary.blue};\r\n color: white;\r\n\r\n &:hover,\r\n &:focus {\r\n background-color: ${lighten(0.1, payStarColors.primary.blue)} !important;\r\n }\r\n }\r\n\r\n ${Media('MobileMax')} {\r\n .form-actions {\r\n margin-top: 1rem;\r\n }\r\n }\r\n\r\n input:read-only {\r\n color: grey;\r\n }\r\n\r\n .ui.radio.checkbox {\r\n display: flex;\r\n }\r\n\r\n .ui.checkbox input.hidden + label {\r\n margin-bottom: 8px;\r\n }\r\n\r\n .ui.form .ui.header {\r\n margin-bottom: 0.3rem;\r\n }\r\n\r\n .dependent-forms-container {\r\n margin-bottom: 1.25rem;\r\n }\r\n`;\r\n\r\nconst failsFieldRequired = (schemaRecord, submittedValues): Error | undefined => {\r\n const isValid = !schemaRecord.fieldRequired || !!submittedValues[schemaRecord.fieldName];\r\n\r\n return isValid\r\n ? undefined\r\n : {\r\n errorMessage: `${schemaRecord.fieldLabel || 'This'} is a required field.`,\r\n propertyName: schemaRecord.fieldName,\r\n };\r\n};\r\n\r\nconst failsFieldMatches = (schemaRecord, submittedValues, schema): Error | undefined => {\r\n const isValid =\r\n !schemaRecord.fieldMatches ||\r\n `${submittedValues[schemaRecord.fieldName]}`.toLocaleLowerCase() ===\r\n `${submittedValues[`${schemaRecord.fieldMatches}`]}`.toLocaleLowerCase();\r\n\r\n if (isValid) return undefined;\r\n\r\n const fieldLabelToMatch =\r\n schema.fields.filter((x) => x.fieldName === schemaRecord.fieldMatches)[0]?.fieldLabel ??\r\n 'Field';\r\n\r\n return isValid\r\n ? undefined\r\n : {\r\n errorMessage: `This field must match ${fieldLabelToMatch}`,\r\n propertyName: schemaRecord.fieldName,\r\n };\r\n};\r\n\r\nconst failsDateLimits = (schemaRecord, submittedValues): Error | undefined => {\r\n const skipsValidation =\r\n schemaRecord.fieldType !== 'datepicker' ||\r\n (schemaRecord.minimumDayOffset === undefined &&\r\n schemaRecord.maximumDayOffset === undefined &&\r\n schemaRecord.skipWeekends === undefined);\r\n\r\n if (skipsValidation) return undefined;\r\n\r\n const selectedDateIsOutsideRange = buildIsOutsideRangeForDatePicker(\r\n schemaRecord.minimumDayOffset,\r\n schemaRecord.maximumDayOffset,\r\n schemaRecord.skipWeekends\r\n );\r\n\r\n const isInvalid = selectedDateIsOutsideRange(moment(submittedValues[schemaRecord.fieldName]));\r\n\r\n return isInvalid\r\n ? {\r\n errorMessage: 'The selected date is not available',\r\n propertyName: schemaRecord.fieldName,\r\n }\r\n : undefined;\r\n};\r\n\r\nconst validateForm = (\r\n fieldsJson: string,\r\n valuesToSubmit: any,\r\n submittedDependentForms: DependentFormResponseDto[]\r\n): Response => {\r\n const parsedFields = JSON.parse(fieldsJson);\r\n let errors = parsedFields.fields.reduce((errors, curr) => {\r\n const requiredError = failsFieldRequired(curr, valuesToSubmit);\r\n if (!!requiredError) return [...errors, requiredError];\r\n\r\n const matchError = failsFieldMatches(curr, valuesToSubmit, parsedFields);\r\n if (!!matchError) return [...errors, matchError];\r\n\r\n const dateRangeError = failsDateLimits(curr, valuesToSubmit);\r\n if (!!dateRangeError) return [...errors, dateRangeError];\r\n\r\n return errors;\r\n }, []);\r\n\r\n if (parsedFields.dependentForms?.length > 0) {\r\n const allFormsCompleted =\r\n parsedFields.dependentForms?.length === submittedDependentForms.length &&\r\n parsedFields.dependentForms.every((x) =>\r\n submittedDependentForms.some(\r\n (y) => `${y.formConfigurationId}` === `${x.dependentFormConfigurationId}`\r\n )\r\n );\r\n\r\n if (!allFormsCompleted)\r\n errors = [\r\n ...errors,\r\n {\r\n errorMessage: `Complete additional forms before submitting this form`,\r\n propertyName: 'dependentForms',\r\n },\r\n ];\r\n }\r\n\r\n const response: Response = {\r\n data: null,\r\n hasErrors: errors.length > 0,\r\n errors,\r\n };\r\n\r\n return response;\r\n};\r\n","import {invert} from 'lodash';\r\nimport moment from 'moment-timezone/builds/moment-timezone.min.js';\r\nimport React, {createContext} from 'react';\r\nimport {Timezones} from '../api/generated/enums';\r\nimport {LiteralKeyedObject} from '../types';\r\nimport {guard} from '../utils/guard';\r\nimport {useBusinessUnitContext} from './selectors';\r\n\r\nmoment.tz.load({\r\n zones: [\r\n 'America/New_York|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 11B0 1qL0 1a10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x40 iv0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e6',\r\n 'America/Chicago|CST CDT EST CWT CPT|60 50 50 50 50|01010101010101010101010101010101010102010101010103401010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 1wp0 TX0 WN0 1qL0 1cN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 11B0 1Hz0 14p0 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|92e5',\r\n 'America/Los_Angeles|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 5Wp1 1VaX 3dA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e6',\r\n 'America/Denver|MST MDT MWT MPT|70 60 60 60|01010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 11B0 1qL0 WN0 mn0 Ord0 8x20 ix0 LCN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e5',\r\n 'America/North_Dakota/Center|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|',\r\n 'America/Port-au-Prince|EST EDT|50 40|01010101010101010101010101010101010101010101010101010101010101010101010|wu50 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14q0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 i6n0 1nX0 11B0 1nX0 d430 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 3iN0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5',\r\n ],\r\n links: [\r\n 'America/New_York|US/Eastern',\r\n 'America/Chicago|US/Central',\r\n 'America/Los_Angeles|US/Pacific',\r\n 'America/Denver|US/Mountain',\r\n ],\r\n version: '2014e',\r\n});\r\n\r\ntype TimezoneContext = {\r\n showTimezone: boolean;\r\n businessUnitTimezone?: string;\r\n userTimezoneAbbr?: string;\r\n};\r\n\r\nconst guessTimezoneAbbr = guard(() => moment().tz(moment.tz.guess()).format('z'), 'LOCAL');\r\n\r\nconst defaultValue: TimezoneContext = {\r\n showTimezone: false,\r\n businessUnitTimezone: undefined,\r\n userTimezoneAbbr: undefined,\r\n};\r\n\r\nexport const TimezoneContext = createContext(defaultValue);\r\n\r\nconst abbreviatedTimezone: LiteralKeyedObject = {\r\n [Timezones['US/Central']]: 'CT',\r\n [Timezones['US/Eastern']]: 'ET',\r\n [Timezones['US/Mountain']]: 'MT',\r\n [Timezones['US/Pacific']]: 'PT',\r\n};\r\n\r\nexport const getShowTimezone = (timezone: string): boolean =>\r\n !!timezone && moment().utcOffset() !== moment().tz(timezone).utcOffset();\r\n\r\nexport const getAbbreviatedTimezone = (timezone: string): string =>\r\n abbreviatedTimezone[timezone] ?? '';\r\n\r\nexport const getTimezoneFromAbbr = (timezoneAbbr: string) => {\r\n return invert(abbreviatedTimezone)[timezoneAbbr] ?? '';\r\n};\r\n\r\nexport const TimezoneContextProvider = ({children}) => {\r\n const {businessUnit} = useBusinessUnitContext();\r\n\r\n const value: TimezoneContext = {\r\n showTimezone: getShowTimezone(businessUnit?.timezone),\r\n businessUnitTimezone: getAbbreviatedTimezone(businessUnit?.timezone),\r\n userTimezoneAbbr: guessTimezoneAbbr(),\r\n };\r\n\r\n return {children};\r\n};\r\n","import {cx} from '@emotion/css';\r\nimport {css} from '@emotion/react/macro';\r\nimport React from 'react';\r\nimport {Segment, SegmentProps} from 'semantic-ui-react';\r\n\r\ntype FormContainer = SegmentProps & {\r\n children: React.ReactNode;\r\n className?: string;\r\n padded?: boolean;\r\n basic?: boolean;\r\n};\r\n\r\nexport const FormContainer: React.FC = ({\r\n children,\r\n className,\r\n padded = true,\r\n basic = false,\r\n ...props\r\n}) => (\r\n \r\n {children}\r\n \r\n);\r\n\r\nconst styles = css`\r\n &.ui.segment {\r\n padding: 0;\r\n\r\n &.padded {\r\n padding: 2em;\r\n\r\n @media only screen and (max-width: 767px) {\r\n padding: 1em;\r\n }\r\n }\r\n\r\n .basic {\r\n border: 0;\r\n }\r\n\r\n .quick-pay-portal-content & {\r\n width: 100%;\r\n display: inline-block;\r\n }\r\n }\r\n`;\r\n","import React from 'react';\r\nimport {useFormState} from 'react-final-form';\r\nimport {Json} from '../components/json';\r\n\r\ntype Debug = {\r\n full?: boolean;\r\n defaultOpen?: boolean;\r\n};\r\n\r\nexport const Debug: React.FC = ({full = false, defaultOpen}) => {\r\n const {values, ...rest} = useFormState();\r\n if (full) {\r\n return ;\r\n }\r\n return ;\r\n};\r\n","import React, {useCallback, useMemo} from 'react';\r\nimport {css} from '@emotion/react/macro';\r\nimport {\r\n Form as FinalForm,\r\n FormProps,\r\n FormRenderProps,\r\n useFormState,\r\n AnyObject,\r\n} from 'react-final-form';\r\nimport {FormApi} from 'final-form';\r\nimport {Form as SemanticForm} from 'semantic-ui-react';\r\nimport {difference, get, isString} from 'lodash';\r\nimport {cx} from '@emotion/css';\r\nimport {textInputs} from 'polished';\r\n\r\nimport {mapErrors, getNestedKeys} from './map-formal-errors';\r\nimport {ApiResponse} from '../types';\r\nimport {Alert} from '../components/alert';\r\nimport {FormStateProvider} from './state-context';\r\nimport {payStarColors} from '../styles/styled';\r\nimport {Media} from '../styles/breakpoints';\r\n\r\ntype FinalFormProps = FormProps & {\r\n disabled?: boolean;\r\n disableLoading?: boolean;\r\n className?: string;\r\n autoComplete?: 'off';\r\n};\r\n\r\ntype NonFieldErrors = {\r\n form: FormApi;\r\n submitErrors?: object;\r\n};\r\n\r\nexport function Form(props: FinalFormProps) {\r\n const {\r\n className,\r\n children,\r\n render,\r\n onSubmit,\r\n disabled = false,\r\n disableLoading = false,\r\n autoComplete = undefined,\r\n ...finalFormProps\r\n } = props;\r\n const renderFn = (children || render) as (props: FormRenderProps) => React.ReactNode;\r\n\r\n const _onSubmit = useCallback(\r\n async (values, form, callback) => {\r\n const response = await onSubmit(values, form, callback);\r\n\r\n if (response && response.hasErrors) {\r\n const fields = form.getRegisteredFields();\r\n return mapErrors(response as ApiResponse, fields);\r\n }\r\n\r\n return response;\r\n },\r\n [onSubmit]\r\n );\r\n\r\n return (\r\n \r\n \r\n onSubmit={_onSubmit}\r\n {...finalFormProps}\r\n render={(formRenderProps) => {\r\n const {handleSubmit, submitErrors, hasSubmitErrors, submitting, form} = formRenderProps;\r\n\r\n return (\r\n \r\n {...{form, submitErrors}} />\r\n {renderFn(formRenderProps)}\r\n \r\n );\r\n }}\r\n />\r\n \r\n );\r\n}\r\n\r\nconst ErrorMessage = ({name}) => {\r\n const formState = useFormState();\r\n const errors = formState.submitErrors || {};\r\n if (errors[name] && isString(errors[name])) {\r\n return {errors[name]};\r\n }\r\n return null;\r\n};\r\n\r\nconst ErrorNotice = () => {\r\n const {hasSubmitErrors} = useFormState();\r\n\r\n return hasSubmitErrors ? (\r\n
\r\n There was a problem. Check fields for errors.\r\n
\r\n ) : null;\r\n};\r\n\r\nForm.ErrorMessage = ErrorMessage;\r\nForm.ErrorNotice = ErrorNotice;\r\n\r\nfunction NonFieldErrors({form, submitErrors}: NonFieldErrors) {\r\n const nonFieldErrors = useMemo(() => {\r\n const fields = form.getRegisteredFields();\r\n\r\n const errorKeys = getNestedKeys(submitErrors);\r\n return difference(errorKeys, fields);\r\n }, [form, submitErrors]);\r\n\r\n if (!nonFieldErrors.length || !submitErrors) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n
    \r\n {nonFieldErrors.map((errorKey) => (\r\n
  • {get(submitErrors, errorKey)}
  • \r\n ))}\r\n
\r\n
\r\n );\r\n}\r\n\r\nconst inlineConfig = {\r\n label: 150,\r\n paddingHorizontal: 15,\r\n inputs: {\r\n default: 500,\r\n short: 250,\r\n },\r\n};\r\n\r\nconst inlineInputOffset = inlineConfig.label + inlineConfig.paddingHorizontal;\r\n\r\nconst fullWidthFields = css`\r\n .form-row {\r\n display: block;\r\n\r\n .form-field {\r\n flex: 1 1 0%;\r\n margin: 0 0 1rem 0;\r\n padding-left: 0;\r\n padding-right: 0;\r\n }\r\n }\r\n\r\n .form-field {\r\n width: 100%;\r\n }\r\n`;\r\n\r\nconst styles = css`\r\n &.ui.form {\r\n .ui.small.header {\r\n font-weight: 500;\r\n font-size: 0.971429em;\r\n }\r\n\r\n .form-row {\r\n width: 100%;\r\n display: flex;\r\n\r\n .form-field {\r\n flex: 1 1 0%;\r\n margin: 0 0 1rem 0;\r\n padding-left: 0.75rem;\r\n padding-right: 0.75rem;\r\n\r\n &:first-of-type {\r\n padding-left: 0;\r\n }\r\n\r\n &:last-of-type {\r\n padding-right: 0;\r\n }\r\n }\r\n }\r\n\r\n .form-field {\r\n clear: both;\r\n margin: 0em 0em 1em;\r\n\r\n &.hidden {\r\n display: none;\r\n }\r\n }\r\n\r\n .sui-error-message {\r\n display: block;\r\n color: rgb(159, 58, 56);\r\n font-size: 0.92857143em;\r\n white-space: normal;\r\n }\r\n\r\n .error.field + .sui-error-message {\r\n margin-top: -0.9em;\r\n }\r\n\r\n .form-field-hint {\r\n display: block;\r\n margin: -0.9rem 0 0 0;\r\n font-size: 0.92857143rem;\r\n color: #666;\r\n max-width: 100%;\r\n }\r\n\r\n ${Media('MobileMax')} {\r\n ${fullWidthFields};\r\n\r\n .form-actions {\r\n .ui.button {\r\n display: block !important;\r\n width: 100%;\r\n\r\n + .ui.button {\r\n margin-top: 1rem;\r\n }\r\n\r\n &.clear {\r\n box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) !important;\r\n }\r\n }\r\n }\r\n }\r\n\r\n ${Media('TabletMin')} {\r\n &.inline {\r\n .ui.header.form-section {\r\n margin: 0.5em 0 1em;\r\n padding: 1em 0.5em 0.5em;\r\n border-bottom: solid 1px #dededf;\r\n\r\n &:first-of-type {\r\n margin-top: -1em;\r\n }\r\n }\r\n\r\n .form-actions {\r\n display: flex;\r\n flex-direction: row-reverse;\r\n flex-wrap: wrap;\r\n justify-content: flex-start;\r\n margin: 2em -2em -2em;\r\n padding: 1.5em 2em 1.5em 2em;\r\n border-top: solid 1px #dededf;\r\n border-radius: 0.28571429rem;\r\n border-top-left-radius: 0;\r\n border-top-right-radius: 0;\r\n background: #fff;\r\n\r\n .form-actions-text {\r\n flex: 0 0 100%;\r\n }\r\n\r\n .ui.button.primary {\r\n min-width: ${inlineInputOffset}px;\r\n }\r\n }\r\n\r\n .field-divider {\r\n margin-left: ${inlineInputOffset}px;\r\n }\r\n\r\n .split-column {\r\n position: relative;\r\n display: flex;\r\n margin-bottom: 1em;\r\n\r\n > div {\r\n flex: 1;\r\n margin-bottom: 0px;\r\n }\r\n }\r\n\r\n .form-field {\r\n clear: both;\r\n margin: 0em 0em 1em;\r\n }\r\n\r\n .field {\r\n display: flex;\r\n align-items: flex-start;\r\n\r\n > label:first-of-type {\r\n margin: 0em 15px 0em 0em;\r\n }\r\n\r\n > label {\r\n flex-shrink: 0;\r\n width: ${inlineConfig.label}px;\r\n padding-top: calc(0.67857143em + 2px);\r\n\r\n text-align: right;\r\n font-weight: normal;\r\n display: inline-block;\r\n margin-top: 0em;\r\n margin-bottom: 0em;\r\n vertical-align: baseline;\r\n font-size: 0.92857143em;\r\n\r\n &:after {\r\n content: ':';\r\n }\r\n }\r\n\r\n > span.no-label {\r\n flex-shrink: 0;\r\n width: ${inlineConfig.label}px;\r\n padding-top: calc(0.67857143em + 2px);\r\n\r\n margin: 0em 15px 0em 0em;\r\n }\r\n\r\n > .ui.input,\r\n > .ui.button,\r\n > .markdown-editor,\r\n > textarea,\r\n .ui.dropdown:not(.label) {\r\n max-width: ${inlineConfig.inputs.default}px;\r\n vertical-align: middle;\r\n border-width: 2px;\r\n border-color: ${payStarColors.grey2};\r\n width: 100%;\r\n\r\n &.input-currency > input {\r\n padding-left: 2.1em !important;\r\n }\r\n\r\n &.short {\r\n width: ${inlineConfig.inputs.short}px;\r\n }\r\n }\r\n\r\n .ui.radio.checkbox {\r\n display: block !important;\r\n padding: 0.35857143em 0em;\r\n\r\n &:first-of-type {\r\n padding-top: calc(0.67857143em + 2px);\r\n }\r\n }\r\n\r\n .ui.fitted.toggle.checkbox {\r\n padding-top: calc(0.67857143em);\r\n }\r\n }\r\n\r\n .form-field-hint {\r\n display: block;\r\n margin-left: ${inlineInputOffset}px;\r\n\r\n font-size: 0.92857143em;\r\n color: #666;\r\n max-width: ${inlineConfig.inputs.default}px;\r\n }\r\n\r\n .sui-error-message {\r\n display: block;\r\n margin: 0 0 1em ${inlineInputOffset}px;\r\n\r\n color: rgb(159, 58, 56);\r\n font-size: 0.92857143em;\r\n }\r\n }\r\n\r\n .form-actions {\r\n display: flex;\r\n flex-direction: row-reverse;\r\n flex-wrap: wrap;\r\n justify-content: flex-start;\r\n margin: 2em -2em -2em;\r\n padding: 1.5em 2em 1.5em 2em;\r\n border-top: solid 1px #dededf;\r\n border-radius: 0.28571429rem;\r\n border-top-left-radius: 0;\r\n border-top-right-radius: 0;\r\n background: #fff;\r\n\r\n .form-actions-text {\r\n flex: 0 0 100%;\r\n }\r\n\r\n .ui.button.primary {\r\n min-width: ${inlineInputOffset}px;\r\n }\r\n }\r\n }\r\n\r\n ${Media('DesktopMin')} {\r\n .admin-portal-styles & {\r\n &.inline {\r\n .field {\r\n > label {\r\n width: ${inlineConfig.label + 150}px;\r\n }\r\n\r\n > span.no-label {\r\n width: ${inlineConfig.label + 150}px;\r\n }\r\n }\r\n\r\n .sui-error-message {\r\n margin-left: ${inlineInputOffset + 150}px;\r\n }\r\n\r\n .form-field-hint {\r\n margin-left: ${inlineInputOffset + 150}px;\r\n }\r\n }\r\n }\r\n }\r\n\r\n &.strong-labels {\r\n .field > label,\r\n .field-label {\r\n font-weight: bold;\r\n }\r\n }\r\n\r\n &.disabled {\r\n .form-actions {\r\n display: none;\r\n }\r\n\r\n .disabled.field {\r\n opacity: 1;\r\n\r\n > label {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n ${textInputs()} {\r\n background: #f1f1f1;\r\n color: #6b6b6b;\r\n &:focus {\r\n outline: none;\r\n background: #f1f1f1;\r\n color: #6b6b6b;\r\n }\r\n\r\n .dropdown,\r\n .selection.dropdown {\r\n background: #f1f1f1;\r\n color: #6b6b6b;\r\n &:focus {\r\n outline: none;\r\n background: #f1f1f1;\r\n color: #6b6b6b;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n`;\r\n","import React from 'react';\r\nimport {Checkbox, StrictCheckboxProps} from 'semantic-ui-react';\r\n\r\nexport type CheckboxAdapterProps = StrictCheckboxProps & {\r\n option?: string;\r\n};\r\n\r\nexport const CheckboxAdapter = ({input, meta, ...rest}) => {\r\n const {value, ...inputValues} = input;\r\n const {option, ...passedProps} = rest;\r\n\r\n if (rest.radio && !option) {\r\n throw new Error('option value is required for radio buttons');\r\n }\r\n\r\n const id = rest.radio ? `${rest.id}_${rest.option}` : rest.id;\r\n\r\n return (\r\n {\r\n input.onChange(rest.radio ? option : checked);\r\n }}\r\n label={passedProps.label}\r\n />\r\n );\r\n};\r\n","import React from 'react';\r\nimport {Dropdown, DropdownProps} from 'semantic-ui-react';\r\nimport {getEnumDropdownOptions} from '../../api/generated/utils';\r\nimport {AnyObject} from '../../types';\r\n\r\nexport type DropdownAdapterProps = DropdownProps & {\r\n enum?: AnyObject;\r\n};\r\n\r\nexport const DropdownAdapter = ({input, meta, ...rest}) => {\r\n const {options, enum: enumObject, ...dropdownProps} = rest as DropdownAdapterProps;\r\n const _options = enumObject ? getEnumDropdownOptions(enumObject) : options;\r\n\r\n return (\r\n input.onChange(value)}\r\n />\r\n );\r\n};\r\n","import React from 'react';\r\nimport {StrictFormTextAreaProps, TextArea} from 'semantic-ui-react';\r\n\r\nexport type TextAreaAdapterProps = StrictFormTextAreaProps;\r\n\r\nexport const TextAreaAdapter = ({input, meta, ...rest}) => {\r\n return (\r\n