{"version":3,"file":"js/services.xxxxxxxxxxxxxxxxxxxx.js","mappings":"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","sources":["webpack://zenbusiness.com/./src/client/services/BaseAPIService.js","webpack://zenbusiness.com/./src/client/services/AccountService.js","webpack://zenbusiness.com/./src/client/services/converters/AccountConverter.js","webpack://zenbusiness.com/./src/client/services/FintechService.js","webpack://zenbusiness.com/./src/client/services/AmendmentService.js","webpack://zenbusiness.com/./src/client/services/AnnualReportService.js","webpack://zenbusiness.com/./src/client/services/CompanyService.js","webpack://zenbusiness.com/./src/client/services/ContactUsService.js","webpack://zenbusiness.com/./src/client/services/CorpStockService.js","webpack://zenbusiness.com/./src/client/services/DomainNameService.js","webpack://zenbusiness.com/./src/client/services/InitializationService.js","webpack://zenbusiness.com/./src/client/services/OrderService.js","webpack://zenbusiness.com/./src/client/services/converters/BaseDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/AccountingConverter.js","webpack://zenbusiness.com/./src/client/services/converters/WorryFreeDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/AnnualReportConverter.js","webpack://zenbusiness.com/./src/client/services/converters/AmendmentConverter.js","webpack://zenbusiness.com/./src/client/services/converters/BankingConverter.js","webpack://zenbusiness.com/./src/client/services/converters/BankingResolutionDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/BusinessKitConverter.js","webpack://zenbusiness.com/./src/client/services/converters/BeneficialOwnershipFilingConverter.js","webpack://zenbusiness.com/./src/client/services/converters/BeneficialOwnershipFilingOngoingConverter.js","webpack://zenbusiness.com/./src/client/services/converters/BOFModificationOrder.js","webpack://zenbusiness.com/./src/client/services/converters/OpAgreeDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/BasicEmailConverter.js","webpack://zenbusiness.com/./src/client/services/converters/BusLicDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/CoRADataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/AnonymityConverter.js","webpack://zenbusiness.com/./src/client/services/converters/CorporateDocsDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/CPAConsultConverter.js","webpack://zenbusiness.com/./src/client/services/converters/DomainNamePrivacyDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/DomainNameDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/EINDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/ExpediteDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/ExpediteUpsellDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/InitialCPAScreeningConverter.js","webpack://zenbusiness.com/./src/client/services/converters/NYPubDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/RegAgentDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/PlanLevelDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/SCorpDesignationConverter.js","webpack://zenbusiness.com/./src/client/services/converters/StaticWebsiteDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/TaxPreparationConverter.js","webpack://zenbusiness.com/./src/client/services/converters/AnnualReportServiceConverter.js","webpack://zenbusiness.com/./src/client/services/converters/Accountant1800Converter.js","webpack://zenbusiness.com/./src/client/services/converters/WebsiteToolsBundleConverter.js","webpack://zenbusiness.com/./src/client/services/converters/EINBusinessDocsBundleConverter.js","webpack://zenbusiness.com/./src/client/services/converters/ZBMProDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/TruicZBMProDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/ZbBankingPreferredDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/zbTaxAdviceConverter.js","webpack://zenbusiness.com/./src/client/services/converters/zbBizTaxPrepConverter.js","webpack://zenbusiness.com/./src/client/services/converters/zbTaxAdviceBizTaxPrepConverter.js","webpack://zenbusiness.com/./src/client/services/converters/einBizDocsOaBundleConverter.js","webpack://zenbusiness.com/./src/client/services/converters/bizDocsBlrBundleConverter.js","webpack://zenbusiness.com/./src/client/services/converters/CorpDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/DBAEntityDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/DBAEntityForExistingBusDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/DBAComplianceDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/DBAEntityAddOnDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/EINBankingDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/ExpenseTrackingAndTaxFilingDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/GoodStandingConverter.js","webpack://zenbusiness.com/./src/client/services/converters/LogoKitDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/DAODesignationConverter.js","webpack://zenbusiness.com/./src/client/services/converters/LLCDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/NameResDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/FutureFileDateConverter.js","webpack://zenbusiness.com/./src/client/services/converters/VirtualBusinesAddressDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/WFGInitialReportDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/VanityProductDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/BankOfAmericaOfferConverter.js","webpack://zenbusiness.com/./src/client/services/converters/PostPurchaseDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/SMBWebsiteDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/SMBWebsiteEcommDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/SMBEcommAddonDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/SMBWebsiteOrEcommDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/VanityProductConverter.js","webpack://zenbusiness.com/./src/client/services/converters/zbBizTaxPrepPriorYearConverter.js","webpack://zenbusiness.com/./src/client/services/RegistrationService.js","webpack://zenbusiness.com/./src/client/services/converters/StockSetupConverter.js","webpack://zenbusiness.com/./src/client/services/converters/DomainV2DataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/EmailV2DataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/TaxServicesDataConverter.js","webpack://zenbusiness.com/./src/client/services/converters/BusinessEntityDataConverter.js","webpack://zenbusiness.com/./src/client/services/BusinessEntityService.js","webpack://zenbusiness.com/./src/client/services/index.js"],"sourcesContent":["import _assign from 'lodash/assign';\nimport axios from 'axios';\n\nimport env from '../config';\nimport { API_ERRORS } from '../constants/apiConstants';\nimport { getAccessToken, getLoggedInEmail, getOBO, isLoggedIn } from '../utils/AuthService';\nimport { reportError } from '../utils/ReportingUtils';\n\nconst standardErrorMsgs = {\n  status400: 'This request is formatted badly.',\n  status401: 'You are not authorized for this action. Please sign in.',\n  status404: 'The object could not be found.'\n};\n\nconst authInterceptor = (config) => {\n  if (getAccessToken()) {\n    config.headers.Authorization = `Bearer ${getAccessToken()}`;\n  }\n  if (getLoggedInEmail()) {\n    config.headers.Email = getLoggedInEmail();\n  }\n  if (getOBO()) {\n    config.headers['x-on-behalf-of'] = getOBO();\n  }\n  return config;\n};\nconst authErrorInterceptor = (error) => { return Promise.reject(error); };\n\nconst createAxiosInstance = (baseURL) => {\n  const instance = axios.create({\n    baseURL,\n    timeout: env.api.timeout || 100000,\n    withCredentials: true\n  });\n  instance.interceptors.request.use(authInterceptor, authErrorInterceptor);\n  return instance;\n};\n\nconst service = createAxiosInstance(env.api.baseURL);\n// secureService routes through the VGS inbound proxy so SSN values are tokenized in transit.\n// api.secureBaseURL is the VGS proxy origin; api.baseURL is the path prefix (e.g. /r/api).\nif (!env.api.secureBaseURL) {\n  throw new Error('Cannot launch: misconfigured (missing SECURE_BASEURL)');\n}\nconst secureService = createAxiosInstance(\n  `${env.api.secureBaseURL.replace(/\\/$/, '')}${env.api.baseURL}`\n);\n\nexport default {\n\n  service,\n  secureService,\n\n  notifySentry(err, url, action) {\n    const metaData = { url };\n    let errorName = '';\n\n    if (err.response) {\n      const errorCode = err?.response?.data?.errorCode || err?.response?.data?.status || err?.response?.status || '500';\n      metaData.responseData = JSON.stringify(err.response.data, null, 4);\n      metaData.httpStatus = err.response.status;\n      errorName = action ? `${url} - ${action} - ${errorCode}` : `${url} - ${errorCode}`;\n    } else if (err.message) {\n      errorName = err.message.toLowerCase() === 'network error' ? 'Middleware Non-Responsive' : `${err.name} - ${err.message}`;\n    } else {\n      errorName = `${err.name} - Unknown (no message)`;\n    }\n    reportError(new Error(errorName), { metaData });\n  },\n\n  analyzeError(err, url) {\n    if (err.response) {\n      switch (err.response.status) {\n        case 400: {\n          this.notifySentry(err, url);\n          return err.response.data;\n        }\n        case 401: {\n          this.notifySentry(err, url);\n          return {\n            unauthorized: true,\n            message: err.response.data.errorMessage || this.getErrorMsg(err.response, {}),\n            status:  err.response.status\n          };\n        }\n        default: {\n          const message = err.response.data.errorMessage || this.getErrorMsg(err.response, {});\n          this.notifySentry(err, url);\n          return {\n            message,\n            status:  err.response.status\n          };\n        }\n      }\n    }\n\n    this.notifySentry(err, url);\n    return {\n      message: API_ERRORS.SERVER_ERROR\n    };\n  },\n\n  isNotLoggedIn() {\n    if (!isLoggedIn()) {\n      return {\n        unauthorized: true,\n        message: standardErrorMsgs.status401\n      };\n    }\n    return null;\n  },\n\n  getErrorMsg(data, errorMsgs) {\n    const msgs = _assign({}, standardErrorMsgs, {\n      status500: data ? data.errorMessage : API_ERRORS.SERVER_ERROR\n    }, errorMsgs);\n    return msgs[`status${data.status}`] || `Status code = ${data.status}`;\n  }\n};\n\n","import _assign from 'lodash/assign';\nimport Promise from 'promise';\n\nimport BaseAPIService from './BaseAPIService';\nimport buildAccountData from './converters/AccountConverter';\n\nconst\n  convertPaymentMethod = (paymentMethod) => {\n    const { cardNumber: number, expMonth, expYear, cvc, isDefault, card_token } = paymentMethod;\n\n    return { number, exp_month: parseInt(expMonth, 10), exp_year: 2000 + parseInt(expYear, 10), cvc, default: isDefault, card_token };\n  };\n\nexport default _assign({\n\n  create(data) {\n    const url = 'account',\n      order = buildAccountData(data);\n\n    return this.service.post(url, order).then((response) => {\n      return Promise.resolve({\n        data: response.data\n      });\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  },\n\n  get() {\n    const isNotLoggedIn = this.isNotLoggedIn();\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n    const url = 'account';\n    return this.service.get(url).then((response) => {\n      return Promise.resolve(response.data);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  },\n\n  exists(email) {\n    const url = 'account/exists';\n    return this.service.get(url, { params: { q: email } }).then((response) => {\n      return Promise.resolve(response.data);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  },\n\n  hasZBMoneyProSubscription() {\n    const url = 'account/has-zb-money-pro-subscription';\n    return this.service.get(url, {} ).then((response) => {\n      return Promise.resolve(response?.data?.zbmSubscriptionResponse?.hasZBMoneySubscription);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  },\n\n  getPaymentMethods() {\n    const isNotLoggedIn = this.isNotLoggedIn();\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n    const url = 'payment-methods';\n    return this.service.get(url).then((response) => {\n      return Promise.resolve(response.data);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  },\n\n  addPaymentMethod(data) {\n    const isNotLoggedIn = this.isNotLoggedIn();\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n    const url = 'payment-methods';\n    return this.service.post(url, convertPaymentMethod(data)).then((response) => {\n      return Promise.resolve(response.data);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  },\n\n  addPaymentMethodV2(data) {\n    const isNotLoggedIn = this.isNotLoggedIn();\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n    const url = 'payment-method-v2';\n    return this.service.post(url, convertPaymentMethod(data)).then((response) => {\n      return Promise.resolve(response.data);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  },\n\n  setPaymentMethodDefault(id) {\n    const isNotLoggedIn = this.isNotLoggedIn();\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n    const url = 'payment-methods/default';\n    return this.service.post(url, { id }).then((response) => {\n      return Promise.resolve(response.data);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  },\n\n  markCorpDocAsSeen(corpDocId) {\n    const isNotLoggedIn = this.isNotLoggedIn();\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n    const url = `corporate-docs/${corpDocId}/mark-as-seen`;\n    return this.service.post(url).then((response) => {\n      return Promise.resolve(response.data);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  },\n\n  acceptTOS() {\n    const isNotLoggedIn = this.isNotLoggedIn(),\n      url = 'accept-tos';\n\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n    return this.service.post(url).then((response) => {\n      return Promise.resolve(response.data);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  }\n\n}, BaseAPIService);\n","import { isPF, isTRUiC, getEntryPointGroup } from '../../utils/PartnerUtils';\nimport { getVisitUUID } from '../../utils/VisitorCookie';\n\n/* eslint-disable camelcase */\nconst buildAccountData = (registration) => {\n  const\n    { business, customer } = registration,\n    { firstName: first_name, middleName: middle_name, lastName: last_name, suffix, email, phoneNumber: phone, password } = customer,\n    { hasExistingBusiness: has_existing_business, name: business_entity_name, type, requestedJurisdiction: jurisdiction_code } = business;\n\n  const data = {\n    first_name,\n    middle_name,\n    last_name,\n    suffix,\n    email: email ? email.toLowerCase() : '',\n    phone,\n    password,\n    international: false,\n    signup_client: 'web_v2',\n    has_existing_business,\n    business_entity_name,\n    business_entity_type: type === 'CORP' ? 'corp' : 'llc',\n    jurisdiction_code,\n    source: window.zenIsMobile ? 'mobile' : 'web', // For lead\n    visit_uuid: getVisitUUID()\n  };\n\n  if (isTRUiC()) {\n    data.custom_flow = 'truic';\n    data.entry_point_group = 'truic';\n  } else if (isPF()) {\n    data.custom_flow = '';\n    data.entry_point_group = 'pf';\n  } else if (getEntryPointGroup()) {\n    data.custom_flow = '';\n    data.entry_point_group = getEntryPointGroup();\n  }\n  return data;\n};\n/* eslint-enable camelcase */\n\nexport default buildAccountData;\n","import _assign from 'lodash/assign';\nimport Promise from 'promise';\n\nimport BaseAPIService from './BaseAPIService';\n\nexport default _assign({\n\n  getHurdlrSubscriptionTier() {\n    const url = 'hurdlr-subscription-tier';\n    return this.service.get(url).then((response) => {\n      return Promise.resolve(response);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  },\n  getOrderTaskMigrationServices({ orderTaskUuid }) {\n    const url = 'service-for-migrate';\n    return this.service.post(url, { orderTaskUuid }).then((response) => {\n      return Promise.resolve(response);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  },\n\n  migrateMoneyPlan({\n    couponUuid,\n    orderTaskUuid,\n    plan,\n    planData,\n    term\n  }) {\n    const url = 'migrate-money-plan';\n    return this.service.post(url, {\n      couponUuid,\n      orderTaskUuid,\n      plan,\n      planData,\n      term\n    }).then((response) => {\n      return Promise.resolve(response);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  }\n}, BaseAPIService);\n","import _assign from 'lodash/assign';\nimport Promise from 'promise';\n\nimport BaseAPIService from './BaseAPIService';\n\nexport default _assign({\n  getJurisdictionInfo(jurisdictionCode) {\n    const isNotLoggedIn = this.isNotLoggedIn();\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n    const url = `annual-report/jurisdiction?jurisdictionCode=${jurisdictionCode}`;\n    return this.service.get(url)\n      .then((response) => { return Promise.resolve(response.data[jurisdictionCode]); })\n      .catch((err) => { return Promise.reject(this.analyzeError(err, url)); });\n  }\n}, BaseAPIService);\n","import _assign from 'lodash/assign';\nimport Promise from 'promise';\n\nimport BaseAPIService from './BaseAPIService';\n\nexport default _assign({\n  getJurisdictionInfo(jurisdictionCode) {\n    const isNotLoggedIn = this.isNotLoggedIn();\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n    const url = `annual-report/jurisdiction?jurisdictionCode=${jurisdictionCode}`;\n    return this.service.get(url)\n      .then((response) => { return Promise.resolve(response.data[jurisdictionCode]); })\n      .catch((err) => { return Promise.reject(this.analyzeError(err, url)); });\n  },\n  getComplianceEvent(uuid) {\n    const isNotLoggedIn = this.isNotLoggedIn();\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n    const url = `/annual-report/compliance-event/${uuid}`;\n    return this.service.get(url)\n      .then((response) => { return Promise.resolve(response.data); })\n      .catch((err) => { return Promise.reject(this.analyzeError(err, url)); });\n  },\n  checkEligibility(entityType, jurisdictionCode) {\n    const isNotLoggedIn = this.isNotLoggedIn();\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n    if (!entityType || !jurisdictionCode) {\n      return Promise.resolve(false);\n    }\n    const url = `annual-report/check-eligibility?entityType=${entityType}&jurisdictionCode=${jurisdictionCode}`;\n    return this.service.get(url)\n      .then((response) => { return Promise.resolve(response.data.eligible); })\n      .catch((err) => { return Promise.reject(this.analyzeError(err, url)); });\n  },\n  getRegisteredAgents(businessEntityUuid, jurisdictionCode) {\n    const isNotLoggedIn = this.isNotLoggedIn();\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n    const url = `annual-report/registered-agents/${encodeURIComponent(businessEntityUuid)}?jurisdictionCode=${encodeURIComponent(jurisdictionCode)}`;\n    return this.service.get(url)\n      .then((response) => { return Promise.resolve(response.data); })\n      .catch((err) => { return Promise.reject(this.analyzeError(err, url)); });\n  }\n}, BaseAPIService);\n","import _assign from 'lodash/assign';\nimport _forEach from 'lodash/forEach';\nimport Promise from 'promise';\n\nimport BaseAPIService from './BaseAPIService';\n\nexport default _assign({\n\n\n  getCompanies() {\n    const isNotLoggedIn = this.isNotLoggedIn();\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n    const url = 'business-entities';\n    return this.service.get(url).then((response) => {\n      if (response.data.errorMessage.indexOf('Unable') === 0) {\n        return Promise.reject(this.analyzeError({\n          response: {\n            status: 404,\n            data: {\n              errorMessage: response.data.errorMessage,\n              status: 404\n            }\n          }\n        }), url);\n      }\n      return Promise.resolve(response.data);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  },\n\n  getCompany(companyId) {\n    const isNotLoggedIn = this.isNotLoggedIn();\n\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n\n    const url = `business-entities/${companyId}`;\n    return this.service.get(url).then((response) => {\n      if (response.data.errorMessage.indexOf('Unable') === 0) {\n        return Promise.reject(this.analyzeError({\n          response: {\n            status: 404,\n            data: {\n              errorMessage: response.data.errorMessage,\n              status: 404\n            }\n          }\n        }), url);\n      }\n      return Promise.resolve(response.data);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  },\n\n  getFiles(companyId) {\n    const isNotLoggedIn = this.isNotLoggedIn();\n\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n    const url = `business-entities/${companyId}/files`;\n    return this.service.get(url).then((response) => {\n      _forEach(response.data.files, (file) => {\n        file.business_entity_uuid = companyId;\n      });\n      return Promise.resolve(response.data);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  }\n}, BaseAPIService);\n","import _assign from 'lodash/assign';\nimport Promise from 'promise';\n\nimport BaseAPIService from './BaseAPIService';\n\nexport default _assign({\n\n  sendMessage(messageInfo) {\n    const url = 'contactUs';\n    return this.service.post(url, messageInfo).then(() => {\n      return Promise.resolve(true);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  }\n}, BaseAPIService);\n\n","import _assign from 'lodash/assign';\nimport Promise from 'promise';\n\nimport BaseAPIService from './BaseAPIService';\n\nexport default _assign({\n  getStockFeeTotal(data) {\n    const isNotLoggedIn = this.isNotLoggedIn();\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n    const url = 'stock-setup/shares';\n    return this.service.post(url, data)\n      .then((response) => { return Promise.resolve(response.data); })\n      .catch((err) => { return Promise.reject(this.analyzeError(err, url)); });\n  },\n\n  // Probe whether the jurisdiction has a variable stock fee calculator. Resolves\n  // { hasVariableFee: boolean }; the BFF normalizes an empty v4 list to false.\n  getVariableFeeExistence(jurisdiction) {\n    const isNotLoggedIn = this.isNotLoggedIn();\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n    const url = 'corp-stock-calculator';\n    return this.service.get(url, { params: { jurisdiction } })\n      .then((response) => { return Promise.resolve(response.data); })\n      .catch((err) => { return Promise.reject(this.analyzeError(err, url)); });\n  },\n\n  // Live fee preview. POSTs to the v4 compute endpoint and unwraps zenapi's { fees: {...} } envelope\n  // so callers get the fee dict directly.\n  getCorpStockFee(jurisdiction, data) {\n    const isNotLoggedIn = this.isNotLoggedIn();\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n    const url = 'corp-stock-calculator/calculate';\n    return this.service.post(url, { jurisdiction, ...data })\n      .then((response) => { return Promise.resolve((response.data && response.data.fees) || response.data); })\n      .catch((err) => { return Promise.reject(this.analyzeError(err, url)); });\n  },\n\n  // Billing for a formation order task. POSTs { account_uuid, fee_amount }; rejection preserves the\n  // status so the checkout can handle 422 (fee mismatch) / 409 (different fee already recorded).\n  addFeeCorpCalculator(orderTaskUuid, data) {\n    const isNotLoggedIn = this.isNotLoggedIn();\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n    const url = `order-tasks/${orderTaskUuid}/corp-stock-fee`;\n    return this.service.post(url, data)\n      .then((response) => { return Promise.resolve(response.data); })\n      .catch((err) => { return Promise.reject(this.analyzeError(err, url)); });\n  }\n}, BaseAPIService);\n","import _assign from 'lodash/assign';\nimport Promise from 'promise';\n\nimport BaseAPIService from './BaseAPIService';\n\nexport default _assign({\n\n  check(domainName) {\n    const url = 'domainName';\n    return this.service.get(url, { params: { domainName } }).then((response) => {\n      return Promise.resolve(response.data);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  },\n  suggest(domainName) {\n    const url = 'suggestions';\n    return this.service.get(url, { params: { domainName } }).then((response) => {\n      return Promise.resolve(response.data);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  }\n}, BaseAPIService);\n\n","import _assign from 'lodash/assign';\nimport Promise from 'promise';\n\nimport BaseAPIService from './BaseAPIService';\nimport { initializeAuth0 } from '../utils/AuthService';\nimport { initializePlaid } from '../utils/PlaidService';\nimport { initialize as initializeShareASale } from '../utils/ShareASaleService';\nimport { initializeGoogleAds, initAvoRudderstack, identify, setRudderStackApiInfo } from '../utils/ThirdPartyTracking';\nimport { setFlows } from '../utils/FlowService';\nimport { initializeAPIKey as initializeGoogleMapsAPIKey } from '../utils/GoogleUtils';\nimport { initializeAPIKey as initializeStripeAPIKey } from '../utils/StripeService';\nimport { initializeSardine } from '../utils/SardineService';\nimport { setPartners } from '../utils/PartnerUtils';\nimport { setPlans } from '../utils/PlanService';\nimport { setProducts } from '../utils/ProductService';\nimport { setVisitor } from '../utils/VisitorCookie';\nimport { sanitizeRelativeUrl } from '../utils/UrlUtils';\n\nconst setWebsiteIfNull = (data) => {\n  if (!data.website) {\n    const origin = window.location.origin;\n    const pathname = window.location.pathname;\n\n    if (!origin || typeof origin !== 'string' || !origin.match(/^https?:\\/\\/[a-zA-Z0-9.-]+(?::[0-9]+)?$/)) {\n      data.website = '';\n      return;\n    }\n\n    const sanitizedPath = sanitizeRelativeUrl(pathname);\n    if (sanitizedPath === null) {\n      data.website = `${origin}/`;\n    } else {\n      data.website = `${origin}${sanitizedPath}`;\n    }\n  }\n};\n\nexport default _assign({\n\n  initialize(data) {\n    const url = 'initialization/initialize';\n    setWebsiteIfNull(data);\n    return this.service.post(url, data).then((response) => {\n      const { data: initData } = response;\n      initializeAuth0(initData);\n      setRudderStackApiInfo(initData);\n      initAvoRudderstack();\n      initializePlaid(initData);\n      initializeGoogleAds(initData);\n      initializeGoogleMapsAPIKey(initData);\n      initializeStripeAPIKey(initData);\n      initializeShareASale(initData);\n      initializeSardine(initData);\n      setPartners(initData);\n      setFlows(initData);\n      setPlans(initData);\n      setProducts(initData);\n      setVisitor(initData, data);\n      identify();\n      return Promise.resolve(initData);\n    }).catch((err) => {\n      Promise.reject(this.analyzeError(err, url));\n    });\n  },\n\n  getStateFees(stateCode) {\n    if (!stateCode) {\n      const url = 'initialization/stateFees';\n      return this.service.get(url).then((response) => {\n        return Promise.resolve(response.data);\n      }).catch((err) => {\n        return Promise.reject(this.analyzeError(err, url));\n      });\n    }\n\n    const url = `initialization/stateFees/${stateCode}`;\n    return this.service.get(url).then((response) => {\n      return Promise.resolve(response.data);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  },\n\n  getExpediteFees(stateCode) {\n    if (!stateCode) {\n      const url = 'initialization/expediteFees';\n      return this.service.get(url).then((response) => {\n        return Promise.resolve(response.data);\n      }).catch((err) => {\n        return Promise.reject(this.analyzeError(err, url));\n      });\n    }\n\n    const url = `initialization/expediteFees/${stateCode}`;\n    return this.service.get(url).then((response) => {\n      return Promise.resolve(response.data);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  }\n\n}, BaseAPIService);\n","import _assign from 'lodash/assign';\nimport Promise from 'promise';\n\nimport BaseAPIService from './BaseAPIService';\n\nexport default _assign({\n\n  getOrders() {\n    const isNotLoggedIn = this.isNotLoggedIn();\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n    const url = 'orders';\n    return this.service.get(url).then((response) => {\n      if (response.data.errorMessage.indexOf('Unable') === 0) {\n        return Promise.reject(this.analyzeError({\n          response: {\n            status: 404,\n            data: {\n              errorMessage: response.data.errorMessage,\n              status: 404\n            }\n          }\n        }), url);\n      }\n      return Promise.resolve(response.data);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  },\n\n  getOperatingAgreement(orderId) {\n    const isNotLoggedIn = this.isNotLoggedIn();\n\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n\n    const url = `operating-agreement/${orderId}`;\n    return this.service.get(url).then((response) => {\n      if (response.data.errorMessage.indexOf('Unable') === 0) {\n        return Promise.reject(this.analyzeError({\n          response: {\n            status: 404,\n            data: {\n              errorMessage: response.data.errorMessage,\n              status: 404\n            }\n          }\n        }), url);\n      }\n      return Promise.resolve(response.data);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  },\n\n  updateOrderTaskStatus(orderTaskUuid, status, subStatus) {\n    const isNotLoggedIn = this.isNotLoggedIn();\n\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n\n    const url = 'order-task/status';\n\n    return this.service.post(url, {\n      orderTaskUuid,\n      status,\n      subStatus\n    }).then((response) => {\n      return Promise.resolve(response);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  },\n\n  getOrderTasksByCompany(businessEntityUuid) {\n    const isNotLoggedIn = this.isNotLoggedIn();\n\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n    const url = `order-tasks/business-entity/${businessEntityUuid}`;\n    return this.service.get(url).then((response) => {\n      return Promise.resolve(response.data);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  },\n\n  // PATCH order_task_data fields (e.g. { authorized_shares, par_value }); wraps them in the\n  // `{ order_task_data: {...} }` envelope the endpoint expects (an unwrapped body silently no-ops).\n  patchOrderTaskData(orderTaskUuid, orderTaskData) {\n    const isNotLoggedIn = this.isNotLoggedIn();\n\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n    const url = `order-tasks/${orderTaskUuid}`;\n    return this.service.patch(url, { order_task_data: orderTaskData }).then((response) => {\n      return Promise.resolve(response.data);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  }\n\n}, BaseAPIService);\n","import _assign from 'lodash/assign';\nimport _reduce from 'lodash/reduce';\nimport _mapKeys from 'lodash/mapKeys';\nimport _pickBy from 'lodash/pickBy';\nimport _isUndefined from 'lodash/isUndefined';\nimport _isNull from 'lodash/isNull';\nimport _isEmpty from 'lodash/isEmpty';\nimport _trim from 'lodash/trim';\nimport _camelCase from 'lodash/camelCase';\nimport { isTRUiC, getEntryPointGroup, isPF } from '../../utils/PartnerUtils';\nimport { getPlanLevel } from '../../utils/PlanService';\nimport {\n  getBankingResolutionPrice,\n  getBasicEmailYearlyPrice,\n  getDomainNameYearlyPrice,\n  getDomainNamePrivacyYearlyPrice,\n  getEINPrice,\n  getExpeditePriorityPrice,\n  getExpediteRushPrice,\n  getNYPubPrice,\n  getOpAgreementPrice,\n  getRAYearlyPrice,\n  getStaticWebsiteYearlyPrice,\n  getWFGYearlyPrice,\n  isRecurlyEnabled\n} from '../../utils/ProductService';\nimport { getVisitUUID } from '../../utils/VisitorCookie';\n\nconst\n  managerTypeMap = {\n    AllOwners: 'All the owners (Member managed)',\n    SomeOwners: 'Only some of the owners (Manager managed)',\n    SomeManagers: 'Some or all of the owners and other managers (Manager managed)',\n    AllManagers: 'None of the owners, only other managers (Manager managed)'\n  },\n  getExpeditePrice = (expedite) => {\n    if (expedite === 'rush') {\n      return getExpediteRushPrice();\n    }\n    if (expedite === 'priority') {\n      return getExpeditePriorityPrice();\n    }\n    return 0;\n  },\n  // Remove any undefined or null values from an object\n  removeEmptyValues = (obj) => {\n    return _pickBy(obj, (v) => { return !_isUndefined(v) && !_isNull(v); });\n  };\n\n/* eslint-disable camelcase */\nexport const convertAddress = (address) => {\n  const\n    {\n      address_1,\n      address_2,\n      addressLine1,\n      addressLine2,\n      city,\n      county,\n      state,\n      country,\n      zipCode: zip,\n      lat,\n      lng,\n      addressIsGoogle: address_is_google,\n      email,\n      phoneNumber: phone\n    } = address || {};\n\n  return removeEmptyValues({\n    address_1: address_1 || addressLine1,\n    address_2: address_2 || addressLine2,\n    city,\n    county,\n    state,\n    country,\n    zip,\n    lat,\n    lng,\n    address_is_google,\n    email: email ? email.toLowerCase() : null,\n    phone\n  });\n};\n\nexport const convertMailingAddress = (address) => {\n  const\n    {\n      mailingAddressLine1: address_1,\n      mailingAddressLine2: address_2,\n      mailingCity: city,\n      mailingCounty: county,\n      mailingState: state,\n      mailingCountry: country,\n      mailingZipCode: zip,\n      phoneNumber: phone,\n      email\n    } = address;\n\n  return removeEmptyValues({ address_1, address_2, city, county, state, country, zip, email: email ? email.toLowerCase() : null, phone });\n};\n/* eslint-enable camelcase */\n\nexport const convertUser = (user) => {\n  const { firstName, middleName, lastName, name, suffix, companyName, careOf, outstandingJudgments = null } = user;\n\n  if (name) {\n    return _assign(convertAddress(user), { name });\n  }\n\n  return removeEmptyValues(_assign(convertAddress(user), {\n    first_name: firstName,\n    middle_name: middleName,\n    last_name: lastName,\n    suffix,\n    company_name: companyName,\n    care_of: careOf,\n    ...(outstandingJudgments !== null && {\n      outstanding_judgments: outstandingJudgments\n    })\n  }));\n};\n\nexport const convertUsers = (users) => {\n  return _reduce(users, (retval, value) => {\n    retval.push(convertUser(value));\n    return retval;\n  }, []);\n};\n\n// API-950/API-1823: zenapi's ContactHandler rejects the order-task PATCH at\n// process-fulfillment when a contact dict is present but carries no identity field —\n// it requires either a full name (first_name AND last_name — a first name alone is not\n// a person's identity) or a company_name. As of 63df7fcd0 (API-1345), email alone no\n// longer counts as identity. convertUser runs identity values through removeEmptyValues,\n// which strips null/undefined but NOT empty strings, so a blank contact serializes as\n// { first_name: '', company_name: '' }. That is \"present but invalid\" and slips past a\n// plain _isEmpty() guard. Callers should skip convertContact (and omit the `contact` key\n// entirely) when this returns false.\nexport const hasContactIdentity = (contact) => {\n  if (_isEmpty(contact)) {\n    return false;\n  }\n  const { firstName = '', lastName = '', companyName = '' } = contact;\n  const hasFullName = Boolean(_trim(firstName) && _trim(lastName));\n  return hasFullName || Boolean(_trim(companyName));\n};\n\nexport const convertContact = (contact) => {\n  return {\n    contact: _assign(convertUser(contact), { is_principal: contact.isPrincipal })\n  };\n};\n\n// API-950: shared guard so callers don't repeat \"hasContactIdentity(contact) ? convertContact(contact) : {}\".\nexport const convertContactIfIdentified = (contact) => {\n  return hasContactIdentity(contact) ? convertContact(contact) : {};\n};\n\n/* eslint-disable no-nested-ternary */\nexport const calculateBusinessTotal = (business, purchase, filingFees, expediteFees) => {\n  const\n    { domesticJurisdiction, type } = business,\n    { bankingResolution, basicEmail, domainName, domainNamePrivacy } = purchase,\n    { ein, expedite, nyPublication, operatingAgreement, privacy, staticWebsite, worryFree,  planLevel } = purchase,\n    fees = filingFees[domesticJurisdiction],\n    exFees = { price: getExpeditePrice(expedite), fees: expediteFees[domesticJurisdiction][expedite].fees || 0 };\n\n  if (planLevel) {\n    const\n      plan = getPlanLevel(planLevel, domesticJurisdiction),\n      planPrices = type === 'CORP' ? plan.corp.prices : plan.llc.prices;\n\n    return (\n      (planPrices['1']) +\n      (fees[type === 'LLCX' ? 'llc_formation' : 'corp_formation'].fees) +\n      (bankingResolution && !plan.banking_resolution ? getBankingResolutionPrice() : 0) +\n      (basicEmail && !plan.basic_email ? getBasicEmailYearlyPrice() : 0) +\n      (domainName && !plan.domain_name_reg ? getDomainNameYearlyPrice() : 0) +\n      (domainNamePrivacy && !plan.domain_name_privacy ? getDomainNamePrivacyYearlyPrice() : 0) +\n      (ein && !plan.ein_creation ? getEINPrice() : 0) +\n      (plan.expedite !== expedite ? exFees.price + exFees.fees : 0) +\n      (nyPublication && !plan.ny_publication ? getNYPubPrice() : 0) +\n      (operatingAgreement && !plan.operating_agreement ? getOpAgreementPrice() : 0) +\n      (privacy ? getRAYearlyPrice() : 0) +\n      (staticWebsite ? getStaticWebsiteYearlyPrice() : 0) +\n      (worryFree ? getWFGYearlyPrice() : 0)\n    );\n  }\n\n  return (\n    (fees[type === 'LLCX' ? 'llc_formation' : 'corp_formation'].fees) +\n    (bankingResolution ? getBankingResolutionPrice() : 0) +\n    (basicEmail ? getBasicEmailYearlyPrice() : 0) +\n    (domainName ? getDomainNameYearlyPrice() : 0) +\n    (domainNamePrivacy ? getDomainNamePrivacyYearlyPrice() : 0) +\n    (ein ? getEINPrice() : 0) +\n    (exFees.price + exFees.fees) +\n    (nyPublication ? getNYPubPrice() : 0) +\n    (operatingAgreement ? getOpAgreementPrice() : 0) +\n    (privacy ? getRAYearlyPrice() : 0) +\n    (staticWebsite ? getStaticWebsiteYearlyPrice() : 0) +\n    (worryFree ? getWFGYearlyPrice() : 0)\n  );\n};\n\nexport const convertManagers = (managerReduce) => {\n  const { managers: managerList, managerType, managerCount } = managerReduce,\n    managers = convertUsers(managerList);\n\n  return {\n    managers,\n    manager_count: managerCount,\n    manager_type: managerTypeMap[managerType] || null\n  };\n};\n\nexport const convertMember = (user) => {\n  const { manager = false } = user;\n  return _assign(convertUser(user), { manager });\n};\n\nexport const convertMembers = (memberReduce) => {\n  const { members: memberList, memberCount } = memberReduce,\n    members = _reduce(memberList, (retval, value) => {\n      retval.push(convertMember(value));\n      return retval;\n    }, []);\n\n  return {\n    members,\n    member_count: memberCount\n  };\n};\n\nexport const convertDirector = (user) => {\n  const { title } = user;\n  return removeEmptyValues(_assign(convertUser(user), { title }));\n};\n\nexport const convertDirectors = (directorReduce) => {\n  const { directors: directorList, directorCount } = directorReduce,\n    directors = _reduce(directorList, (retval, value) => {\n      retval.push(convertDirector(value));\n      return retval;\n    }, []);\n\n  return {\n    directors,\n    director_count: directorCount\n  };\n};\n\nexport const convertOfficer = (user) => {\n  const { title } = user;\n  if (!title) {\n    return null;\n  }\n  return removeEmptyValues(_assign(convertUser(user), { title }));\n};\n\nexport const convertOfficers = (officerReduce) => {\n  const { officers: officerList } = officerReduce,\n    officers = _reduce(officerList, (retval, value) => {\n      const officer = convertOfficer(value);\n      if (officer) {\n        retval.push(convertOfficer(value));\n      }\n      return retval;\n    }, []);\n\n  return {\n    officers\n  };\n};\n\nexport const convertRegisteredAgent = (registeredAgent, business, purchase) => {\n  const { registeredAgent: ra, planLevel } = purchase,\n    { domesticJurisdiction } = business,\n    plan = planLevel ? getPlanLevel(planLevel, domesticJurisdiction) : null;\n\n  if ((plan && plan.registered_agent_service) || ra) {\n    return { registered_agent: {} };\n  }\n  return {\n    registered_agent: convertUser(registeredAgent)\n  };\n};\n\nexport const convertAuthorizedSignatory = (authSig) => {\n  const skipCaseFix = ['address_1', 'address_2'];\n  const authSigFix = _mapKeys(authSig || {}, (v, k) => { return !skipCaseFix.includes(k) ? _camelCase(k) : k; });\n\n  // API-950/TRIAG-19196: never write an empty {} - orders-api persists it verbatim, and on\n  // re-read the empty dict gets fed through convertContact as a real contact.\n  return hasContactIdentity(authSigFix) ? {\n    authorized_signatory: removeEmptyValues(_assign(convertContact(authSigFix).contact, { title: authSigFix?.title }))\n  } : null;\n};\n\nexport const getPricingInformation = () => {\n\n  return { visit_uuid: getVisitUUID() };\n};\n\n// Builds the plan-gated price:0 order item shared across converters.\n// activePlan must be derived from activePlanLevel (cancellation-filtered) — never planLevel directly —\n// so a cancelled plan cannot authorise a $0 price. affiliate_plan_option_uuid is included only when\n// the plan has a uuid, giving zenapi a reference to validate the $0 price against plan pricing.\n// Pass service-specific fields (coupon, fees, term, period) via extras.\nexport const buildPlanGatedZeroItem = (service, jurisdiction, activePlan, extras = {}) => {\n  return {\n    service,\n    jurisdiction,\n    price: 0,\n    is_add_on: false,\n    ...(activePlan && activePlan.uuid ? { affiliate_plan_option_uuid: activePlan.uuid } : {}),\n    ...extras\n  };\n};\n\nexport const buildEntityName = (name, indicator) => {\n  return [name, indicator]\n    .map((el) => { return _trim(el); })\n    .filter(Boolean)\n    .join(' ');\n};\n\nexport const decorateAccount = (account) => {\n  account.is_recurly = isRecurlyEnabled();\n  if (isTRUiC()) {\n    account.custom_flow = 'truic';\n    account.entry_point_group = 'truic';\n  } if (isPF()) {\n    account.custom_flow = '';\n    account.entry_point_group = 'pf';\n  } else if (getEntryPointGroup()) {\n    account.custom_flow = '';\n    account.entry_point_group = getEntryPointGroup();\n  }\n  return account;\n};\n","import _assign from 'lodash/assign';\nimport _compact from 'lodash/compact';\n\nimport { getPricingInformation } from './BaseDataConverter';\nimport { getAccountingGrowAndScaleMonthlyPrice, getAccountingQuickStartMonthlyPrice, getAccountingUpAndRunningMonthlyPrice } from '../../utils/ProductService';\n\nexport const convertOrderItem = (registration, standalone) => {\n  const\n    { business, purchase } = registration,\n    { accountingGrowAndScale, accountingQuickStart, accountingUpAndRunning } = purchase,\n    { domesticJurisdiction: jurisdiction } = business;\n\n  if (standalone) {\n    if (accountingGrowAndScale) {\n      return { service: 'accounting_grow_and_scale', jurisdiction, price: getAccountingGrowAndScaleMonthlyPrice(), fees: 0, term: 12, period: 12, is_add_on: false };\n    }\n    if (accountingQuickStart) {\n      return { service: 'accounting_quick_start', jurisdiction, price: getAccountingQuickStartMonthlyPrice(), fees: 0, term: 12, period: 12, is_add_on: false };\n    }\n    if (accountingUpAndRunning) {\n      return { service: 'accounting_up_and_running', jurisdiction, price: getAccountingUpAndRunningMonthlyPrice(), fees: 0, term: 12, period: 12, is_add_on: false };\n    }\n  }\n\n  return null;\n};\n\n/* eslint-disable camelcase */\nexport const convertOrderData = (registration, standalone) => {\n  const\n    { business, purchase } = registration,\n    { accountingGrowAndScale, accountingQuickStart, accountingUpAndRunning } = purchase,\n    { domesticJurisdiction: jurisdiction, name: business_entity_name, type } = business,\n    business_entity_type = type === 'CORP' ? 'CORP' : 'LLC';\n\n  if (standalone) {\n    if (accountingGrowAndScale) {\n      return { service: 'accounting_grow_and_scale', standalone, jurisdiction, business_entity_name, business_entity_type };\n    }\n    if (accountingQuickStart) {\n      return { service: 'accounting_quick_start', standalone, jurisdiction, business_entity_name, business_entity_type };\n    }\n    if (accountingUpAndRunning) {\n      return { service: 'accounting_up_and_running', standalone, jurisdiction, business_entity_name, business_entity_type };\n    }\n  }\n\n  return null;\n};\n/* eslint-enable camelcase */\n\nexport const buildOrder = (registration, accountId) => {\n  const\n    orderStatus = 'complete',\n    orderData = _compact([\n      convertOrderData(registration, true)\n    ]),\n    orderItems = _compact([\n      convertOrderItem(registration, true)\n    ]),\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: registration.business.id\n    }, getPricingInformation(registration.order));\n\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n","import _assign from 'lodash/assign';\nimport _compact from 'lodash/compact';\n\nimport {\n  buildEntityName, buildPlanGatedZeroItem, convertAddress, convertContactIfIdentified, convertDirectors,\n  convertManagers, convertMembers, convertOfficers, convertRegisteredAgent, getPricingInformation, decorateAccount\n} from './BaseDataConverter';\nimport { ACTIONS, URLS } from '../../constants/complete_wfg';\nimport { getPlanLevel, isAutoIncludedInPlan } from '../../utils/PlanService';\nimport { getWFGYearlyPrice } from '../../utils/ProductService';\nimport { getPriceAndCouponForService } from '../../utils/PricingUtils';\n\n// The compliance-report flows pass the jurisdiction being filed in, because\n// business.requestedJurisdiction is pinned to the entity's domestic jurisdiction and is never\n// advanced when a foreign one is chosen. A jurisdiction is always a short code, so anything else is\n// a stray positional argument rather than an override - which is exactly how the formation flows\n// once fed their unused `filingFees` into this slot. Ignore it and fall back, rather than writing a\n// non-jurisdiction into an order payload.\nconst resolveJurisdiction = (jurisdictionOverride, ...fallbacks) => {\n  const override = typeof jurisdictionOverride === 'string' && jurisdictionOverride ? jurisdictionOverride : null;\n\n  return override || fallbacks.find(Boolean) || undefined;\n};\n\nconst getPricingAndCouponAmount = (registration, jurisdictionOverride) => {\n  const\n    { business, purchase, coupons } = registration,\n    { activePlanLevel } = purchase,\n    { requestedJurisdiction } = business,\n    jurisdiction = resolveJurisdiction(jurisdictionOverride, requestedJurisdiction),\n    service = 'worry_free_service',\n    activePlan = activePlanLevel ? getPlanLevel(activePlanLevel, jurisdiction) : null,\n    pricing = getPriceAndCouponForService(service, activePlan, coupons);\n  return { pricing, plan: activePlan };\n};\n\n/* eslint-disable camelcase */\nconst\n  convertAccount = (registration) => {\n    const\n      { customer, lead } = registration,\n      { firstName: first_name, middleName: middle_name, lastName: last_name, suffix, email, phoneNumber: phone, password } = customer,\n      { leadUUID: lead_uuid } = lead,\n      { cardToken: card_token } = customer;\n\n    return decorateAccount({ lead_uuid, first_name, middle_name, last_name, suffix, email: email ? email.toLowerCase() : '', phone, password, international: false, signup_client: 'web_v2', card_token });\n  },\n  /* eslint-enable camelcase */\n\n  getEntityType = (type) => {\n    if (type === 'LLCX') {\n      return 'llc';\n    }\n    if (type === 'CORP') {\n      return 'corp';\n    }\n    return '';\n  };\n\nexport const convertOrderItem = (registration, standalone, filingFees, jurisdictionOverride) => {\n  const\n    { amendment, annualReport, business, purchase } = registration,\n    { worryFree, planLevel, activePlanLevel } = purchase,\n    { domesticJurisdiction, requestedJurisdiction } = business,\n    jurisdiction = resolveJurisdiction(jurisdictionOverride, requestedJurisdiction, domesticJurisdiction),\n    service = 'worry_free_service',\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    activePlan = activePlanLevel ? getPlanLevel(activePlanLevel, jurisdiction) : null,\n    servicePricing = getPricingAndCouponAmount(registration, jurisdictionOverride);\n\n  if (activePlan && activePlan.worry_free_service) {\n    return buildPlanGatedZeroItem(service, jurisdiction, activePlan, { coupon: 0, fees: 0, term: 12, period: 1 });\n  }\n\n  const\n    wfFees = (jurisdiction ? filingFees[jurisdiction].worry_free_service : null) || { fees: 0 },\n    price = activePlan ? servicePricing.pricing.servicePrice : getWFGYearlyPrice(),\n    coupon = activePlan ? servicePricing.pricing.serviceCouponAmount : 0,\n    { fees } = wfFees,\n    term = 12,\n    period = 1;\n\n  if (standalone || worryFree || isAutoIncludedInPlan(plan, 'worry_free_service')) {\n    const orderItemObj = {\n      service,\n      price,\n      coupon,\n      fees,\n      term,\n      period,\n      jurisdiction,\n      is_add_on: !standalone && !!activePlan\n    };\n\n    if (amendment.useCredit) {\n      orderItemObj.credits = 1;\n      orderItemObj.credit_balance_uuid = amendment.creditUUID;\n    }\n\n    if (annualReport.useCredit) {\n      orderItemObj.credits = 1;\n      orderItemObj.credit_balance_uuid = annualReport.creditUUID;\n    }\n\n    return orderItemObj;\n  }\n  return null;\n};\n\n/* eslint-disable camelcase */\nexport const convertOrderData = (registration, standalone, jurisdictionOverride) => {\n  const { business, businessAddresses, contact, directors, managers, members, officers, order, page, purchase, registeredAgent } = registration,\n    { planLevel } = purchase,\n    { requestedJurisdiction } = business,\n    jurisdiction = resolveJurisdiction(jurisdictionOverride, requestedJurisdiction),\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    isAutoIncluded = isAutoIncludedInPlan(plan, 'worry_free_service');\n\n  if (!(plan && plan.worry_free_service) && !purchase.worryFree && !standalone && !isAutoIncluded) {\n    return null;\n  }\n\n  const\n    { type, name, indicator = '', status, description: business_purpose } = business,\n    { phoneNumber: phone } = contact,\n    isLLC = type === 'LLCX',\n    isCorp = type === 'CORP',\n    { id = '' } = order,\n    { principal: principalAddress, mailing: mailingAddress, physical: physicalAddress } = businessAddresses,\n    { completedAction, completedUrl, completedActionIndex } = page;\n\n  if (!standalone) {\n    return { service: 'worry_free_service', jurisdiction, standalone: false, is_new_business: true, is_auto_included: isAutoIncluded };\n  }\n\n  const data = _assign({\n    service: 'worry_free_service',\n    standalone: true,\n    jurisdiction,\n    domestic_jurisdiction: jurisdiction,\n    entity_type: getEntityType(type),\n    entity_name: buildEntityName(name, indicator),\n    business_purpose,\n    is_new_business: false,\n    is_auto_included: isAutoIncluded,\n    principal_address: convertAddress(principalAddress),\n    mailing_address: convertAddress(mailingAddress),\n    address: convertAddress(physicalAddress),\n    phone,\n    estimated_formation_date: '',\n    activity: '',\n    // Used with standalone RA\n    domestic_entity: true,\n    foreign_jurisdictions: [],\n    domestic_filing_date: '',\n    state_id: ''\n  },\n  convertContactIfIdentified(contact),\n  isLLC ? convertManagers(managers) : {},\n  isCorp ? convertDirectors(directors) : {},\n  isLLC ? convertMembers(members) : {},\n  isCorp ? convertOfficers(officers) : {},\n  isLLC || isCorp ? convertRegisteredAgent(registeredAgent, business, { registeredAgent: false }) : {}\n  );\n\n  if (status === 'incomplete') {\n    data.completed_action = id ? completedAction : ACTIONS.START;\n    data.completed_url = id ? completedUrl : URLS.START;\n    data.completed_action_index = id ? completedActionIndex : 5400;\n  }\n  return data;\n};\n/* eslint-enable camelcase */\n\nexport const buildOrder = (registration, filingFees, isUpdate) => {\n  const\n    { business } = registration,\n    { status: orderStatus } = business,\n    orderData = _compact([\n      convertOrderData(registration, true)\n    ]),\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData\n    }, getPricingInformation(registration.order));\n\n  if (isUpdate) {\n    order.order_uuid = registration.order.id;\n    return { order };\n  }\n\n  const\n    { id: businessId } = business,\n    accountId = registration.customer.id || '',\n    account = accountId ? null : convertAccount(registration);\n\n  order.order_items = _compact([\n    convertOrderItem(registration, true, filingFees)\n  ]);\n\n  if (accountId) {\n    if (businessId) {\n      order.business_entity_uuid = businessId;\n    }\n    return {\n      account_uuid: accountId,\n      order\n    };\n  }\n  return {\n    account,\n    order\n  };\n};\n\n","import _assign from 'lodash/assign';\nimport _get from 'lodash/get';\nimport _isNil from 'lodash/isNil';\nimport _compact from 'lodash/compact';\nimport _isEmpty from 'lodash/isEmpty';\n\nimport { convertOrderData as convertWFGOrderData, convertOrderItem as convertWFGOrderItem } from './WorryFreeDataConverter';\nimport { convertAddress, convertDirectors, convertManagers, convertMembers, convertOfficers, convertUser, getPricingInformation } from './BaseDataConverter';\nimport { getAmendmentPrice, getAnnualReportPrice } from '../../utils/ProductService';\n\nconst isAnswerYes = (answer) => {\n  return answer === 'yes';\n};\n/* eslint-disable max-statements */\nexport const formNewARData = (updatedCompanyInfo, fieldRules) => {\n  const updatedInfo = {\n    business_entity_data: {}\n  };\n\n  if (updatedCompanyInfo.description && !fieldRules.business_purpose.requiresAmendment) {\n    updatedInfo.business_entity_data.business_purpose = updatedCompanyInfo.description;\n  }\n\n  if (updatedCompanyInfo.structure && !fieldRules.structure.requiresAmendment) {\n    updatedInfo.manager_type = updatedCompanyInfo.structure;\n    updatedInfo.business_entity_data.manager_type = updatedCompanyInfo.structure;\n  }\n\n  if (updatedCompanyInfo.managers && !fieldRules.managers.requiresAmendment) {\n    updatedInfo.business_entity_data.managers = convertManagers(updatedCompanyInfo).managers;\n  }\n\n  if (updatedCompanyInfo.members && !fieldRules.members.requiresAmendment) {\n    updatedInfo.business_entity_data.members = convertMembers(updatedCompanyInfo).members;\n  }\n\n  if (updatedCompanyInfo.directors && !fieldRules.directors.requiresAmendment) {\n    updatedInfo.business_entity_data.directors = convertDirectors(updatedCompanyInfo).directors;\n  }\n\n  if (updatedCompanyInfo.officers && !fieldRules.officers.requiresAmendment) {\n    updatedInfo.business_entity_data.officers = convertOfficers(updatedCompanyInfo).officers;\n  }\n\n  if (updatedCompanyInfo.addresses && !fieldRules.addresses.requiresAmendment) {\n    updatedInfo.business_entity_data.mailing_address = convertAddress(updatedCompanyInfo.addresses.mailing);\n    updatedInfo.business_entity_data.principal_address = convertAddress(updatedCompanyInfo.addresses.principal);\n    updatedInfo.business_entity_data.address = convertAddress(updatedCompanyInfo.addresses.physical);\n  }\n\n  if (updatedCompanyInfo.taxPreparer) {\n    updatedInfo.business_entity_data.tax_payer = convertUser(updatedCompanyInfo.taxPreparer);\n  }\n\n  if (updatedCompanyInfo.stockInfo && !fieldRules.stock_info.requiresAmendment) {\n    updatedInfo.business_entity_data.par_value = _get(updatedCompanyInfo.stockInfo, 'valuePerShare');\n    updatedInfo.business_entity_data.authorized_shares = _get(updatedCompanyInfo.stockInfo, 'authorizedShares');\n  }\n\n  if (updatedCompanyInfo.authorizedSignatory && !fieldRules.authorized_signatory.requiresAmendment) {\n    updatedInfo.business_entity_data.authorized_signatory = convertUser(updatedCompanyInfo.authorizedSignatory);\n  }\n\n  if (updatedCompanyInfo.paRaAuthorizedSignatoryConsent) {\n    updatedInfo.business_entity_data.pa_ra_authorized_signatory_consent = true;\n    if (updatedCompanyInfo.authorizedSignatory) {\n      updatedInfo.business_entity_data.authorized_signatory = convertUser(updatedCompanyInfo.authorizedSignatory);\n    }\n  }\n\n  if (updatedCompanyInfo.didDisposeOfProperty) {\n    updatedInfo.business_entity_data.sold_property = isAnswerYes(updatedCompanyInfo.didDisposeOfProperty);\n  }\n\n  if (updatedCompanyInfo.hadGrossSales) {\n    updatedInfo.business_entity_data.had_gross_sales = isAnswerYes(updatedCompanyInfo.hadGrossSales);\n  }\n\n  if (updatedCompanyInfo.hadGoodStanding) {\n    updatedInfo.business_entity_data.had_good_standing = isAnswerYes(updatedCompanyInfo.hadGoodStanding);\n  }\n\n  if (updatedCompanyInfo.liabilitySingleMember) {\n    updatedInfo.business_entity_data.liability_single_member = isAnswerYes(updatedCompanyInfo.liabilitySingleMember);\n  }\n\n  if (updatedCompanyInfo.privatelyHeld) {\n    updatedInfo.business_entity_data.privately_held = isAnswerYes(updatedCompanyInfo.privatelyHeld);\n  }\n\n  if (updatedCompanyInfo.stateBenefit) {\n    updatedInfo.business_entity_data.state_benefit = isAnswerYes(updatedCompanyInfo.stateBenefit);\n  }\n\n  if (updatedCompanyInfo.listGrossSales) {\n    updatedInfo.business_entity_data.list_gross_sales = updatedCompanyInfo.listGrossSales;\n  }\n\n  if (updatedCompanyInfo.maintainLicense) {\n    updatedInfo.business_entity_data.requires_license = isAnswerYes(updatedCompanyInfo.maintainLicense);\n  }\n\n  if (updatedCompanyInfo.makesLessThan) {\n    updatedInfo.business_entity_data.makes_less_than_amount = isAnswerYes(updatedCompanyInfo.makesLessThan);\n  }\n\n  if (updatedCompanyInfo.useProperty) {\n    updatedInfo.business_entity_data.own_or_lease_property = isAnswerYes(updatedCompanyInfo.useProperty);\n  }\n  if (updatedCompanyInfo.totalRevenue) {\n    updatedInfo.business_entity_data.total_revenue = updatedCompanyInfo.totalRevenue;\n  }\n  if (updatedCompanyInfo.ownsAnyOtherBusiness) {\n    updatedInfo.business_entity_data.owns_any_other_business = isAnswerYes(updatedCompanyInfo.ownsAnyOtherBusiness);\n  }\n  if (updatedCompanyInfo.companyDataOwns) {\n    updatedInfo.business_entity_data.company_data_owns = updatedCompanyInfo.companyDataOwns;\n  }\n  if (updatedCompanyInfo.companyDataOwnedBy) {\n    updatedInfo.business_entity_data.company_data_owned_by = updatedCompanyInfo.companyDataOwnedBy;\n  }\n  if (updatedCompanyInfo.isOwnedByAnyOtherBusiness) {\n    updatedInfo.business_entity_data.is_owned_by_any_other_business = isAnswerYes(updatedCompanyInfo.isOwnedByAnyOtherBusiness);\n  }\n  if (updatedCompanyInfo.hasEnteredIntoContract) {\n    updatedInfo.business_entity_data.has_entered_into_any_contract = isAnswerYes(updatedCompanyInfo.hasEnteredIntoContract);\n  }\n  if (updatedCompanyInfo.ownsRealProperty) {\n    updatedInfo.business_entity_data.owns_real_property = isAnswerYes(updatedCompanyInfo.ownsRealProperty);\n  }\n  if (updatedCompanyInfo.hasThereBeenATransferOfStock) {\n    updatedInfo.business_entity_data.has_there_been_a_transfer_of_stock = isAnswerYes(updatedCompanyInfo.hasThereBeenATransferOfStock);\n  }\n  if (updatedCompanyInfo.hasTransferOfStockBeenOverEqualFiftyPercent) {\n    updatedInfo.business_entity_data.has_transfer_of_stock_been_over_equal_fifty_percent = isAnswerYes(updatedCompanyInfo.hasTransferOfStockBeenOverEqualFiftyPercent);\n  }\n  if (updatedCompanyInfo.hasControllingInterestTransferFiledDepartmentRevenue) {\n    updatedInfo.business_entity_data.has_controlling_interest_transfer_filed_department_revenue = isAnswerYes(updatedCompanyInfo.hasControllingInterestTransferFiledDepartmentRevenue);\n  }\n  if (updatedCompanyInfo.holdsInterestInAgriculturalLand) {\n    updatedInfo.business_entity_data.holds_interest_in_agricultural_land = isAnswerYes(updatedCompanyInfo.holdsInterestInAgriculturalLand);\n  }\n  if (updatedCompanyInfo.isFamilyFarmLLC) {\n    updatedInfo.business_entity_data.is_a_family_llc = isAnswerYes(updatedCompanyInfo.isFamilyFarmLLC);\n  }\n\n  if (updatedCompanyInfo.naicsCode) {\n    updatedInfo.business_entity_data.naics_code = updatedCompanyInfo.naicsCode;\n  }\n  if (!_isNil(updatedCompanyInfo.numberOfStateEmployees)) {\n    updatedInfo.business_entity_data.number_of_state_employees = updatedCompanyInfo.numberOfStateEmployees;\n  }\n  if (!_isNil(updatedCompanyInfo.numberOfEmployees)) {\n    updatedInfo.business_entity_data.number_of_employees = updatedCompanyInfo.numberOfEmployees;\n  }\n  if (updatedCompanyInfo.scrapMetalDealer) {\n    updatedInfo.business_entity_data.scrap_metal_dealer = isAnswerYes(updatedCompanyInfo.scrapMetalDealer);\n  }\n  if (updatedCompanyInfo.currentlyExporting) {\n    updatedInfo.business_entity_data.currently_exporting = isAnswerYes(updatedCompanyInfo.currentlyExporting);\n  }\n  if (updatedCompanyInfo.topExportMarkets) {\n    updatedInfo.business_entity_data.top_export_markets = updatedCompanyInfo.topExportMarkets;\n  }\n  if (updatedCompanyInfo.beInterestedInExporting) {\n    updatedInfo.business_entity_data.be_interested_in_exporting = isAnswerYes(updatedCompanyInfo.beInterestedInExporting);\n  }\n  if (updatedCompanyInfo.isMinorityOwnedBusiness) {\n    updatedInfo.business_entity_data.is_minority_owned_business = updatedCompanyInfo.isMinorityOwnedBusiness;\n  }\n  if (updatedCompanyInfo.isWomanOwnedBusiness) {\n    updatedInfo.business_entity_data.is_woman_owned_business = updatedCompanyInfo.isWomanOwnedBusiness;\n  }\n  if (updatedCompanyInfo.ownMoreThanOneBusiness) {\n    updatedInfo.business_entity_data.own_more_than_one_business = isAnswerYes(updatedCompanyInfo.ownMoreThanOneBusiness);\n  }\n  if (!_isNil(updatedCompanyInfo.howManyBusinesses)) {\n    updatedInfo.business_entity_data.how_many_businesses = updatedCompanyInfo.howManyBusinesses;\n  }\n  if (!_isNil(updatedCompanyInfo.howManyCounties)) {\n    updatedInfo.business_entity_data.how_many_counties = updatedCompanyInfo.howManyCounties;\n  }\n  if (updatedCompanyInfo.doesEmployIndividualsWhoServeInForces) {\n    updatedInfo.business_entity_data.does_employ_individuals_who_serve_in_forces = updatedCompanyInfo.doesEmployIndividualsWhoServeInForces;\n  }\n  if (!_isNil(updatedCompanyInfo.howManyIndividuals)) {\n    updatedInfo.business_entity_data.how_many_individuals = updatedCompanyInfo.howManyIndividuals;\n  }\n  if (updatedCompanyInfo.doesOwnerServeInForces) {\n    updatedInfo.business_entity_data.does_owner_serve_in_forces = updatedCompanyInfo.doesOwnerServeInForces;\n  }\n  if (updatedCompanyInfo.getSupportFromWVSBDC) {\n    updatedInfo.business_entity_data.get_support_from_WVSBDC = isAnswerYes(updatedCompanyInfo.getSupportFromWVSBDC);\n  }\n  // US_DE\n  if (!_isEmpty(updatedCompanyInfo.issuedSharesAndGrossAssets)) {\n    const issuedShares = _get(updatedCompanyInfo.issuedSharesAndGrossAssets, 'issuedShares').replace(/,/g, '');\n    updatedInfo.business_entity_data.issued_shares = issuedShares;\n\n    const grossAssets = _get(updatedCompanyInfo.issuedSharesAndGrossAssets, 'grossAssets').substring(1).replace(/,/g, '');\n    updatedInfo.business_entity_data.gross_assets = grossAssets;\n  }\n  // US_AZ\n  if (!_isEmpty(updatedCompanyInfo.issuedShares)) {\n    const issuedShares = _get(updatedCompanyInfo.issuedShares, 'issuedShares').replace(/,/g, '');\n    updatedInfo.business_entity_data.issued_shares = issuedShares;\n\n    const issuedSharesClass = _get(updatedCompanyInfo.issuedShares, 'issuedSharesClass').substring(1).replace(/,/g, '');\n    updatedInfo.business_entity_data.issued_shares_class = issuedSharesClass;\n\n    const issuedSharesSeries = _get(updatedCompanyInfo.issuedShares, 'issuedSharesSeries').substring(2).replace(/,/g, '');\n    updatedInfo.business_entity_data.issued_shares_series = issuedSharesSeries;\n  }\n  // US_NJ\n  if (updatedCompanyInfo.workerCompensationInsuranceRequired) {\n    updatedInfo.business_entity_data.worker_compensation_insurance_required = isAnswerYes(updatedCompanyInfo.workerCompensationInsuranceRequired);\n  }\n  if (updatedCompanyInfo.isBusinessSelfInsured) {\n    updatedInfo.business_entity_data.is_business_self_insured = isAnswerYes(updatedCompanyInfo.isBusinessSelfInsured);\n  }\n  if (updatedCompanyInfo.selfInsuranceDetails) {\n    updatedInfo.business_entity_data.insurance_company = updatedCompanyInfo.selfInsuranceDetails.insuranceCompany;\n    updatedInfo.business_entity_data.policy_number = updatedCompanyInfo.selfInsuranceDetails.policyNumber;\n    updatedInfo.business_entity_data.coverage_start_date = updatedCompanyInfo.selfInsuranceDetails.coverageBegan;\n  }\n  // US_NY\n  if (updatedCompanyInfo.chiefExecutiveOfficer) {\n    updatedInfo.business_entity_data.chief_executive_officer = {\n      first_name: updatedCompanyInfo.chiefExecutiveOfficer.firstName,\n      middle_name: updatedCompanyInfo.chiefExecutiveOfficer.middleName,\n      last_name: updatedCompanyInfo.chiefExecutiveOfficer.lastName,\n      suffix: updatedCompanyInfo.chiefExecutiveOfficer.suffix,\n      title: updatedCompanyInfo.chiefExecutiveOfficer.title,\n      email: updatedCompanyInfo.chiefExecutiveOfficer.email,\n      phone: updatedCompanyInfo.chiefExecutiveOfficer.phoneNumber,\n      address_1: updatedCompanyInfo.chiefExecutiveOfficer.addressLine1,\n      address_2: updatedCompanyInfo.chiefExecutiveOfficer.addressLine2,\n      city: updatedCompanyInfo.chiefExecutiveOfficer.city,\n      state: updatedCompanyInfo.chiefExecutiveOfficer.state,\n      county: updatedCompanyInfo.chiefExecutiveOfficer.county,\n      country: updatedCompanyInfo.chiefExecutiveOfficer.country,\n      zip:  updatedCompanyInfo.chiefExecutiveOfficer.zipCode\n    };\n  }\n  if (updatedCompanyInfo.businessEntityPrincipalAddress) {\n    updatedInfo.business_entity_data.business_entity_principal_address = {\n      address_1: updatedCompanyInfo.businessEntityPrincipalAddress.addressLine1,\n      address_2: updatedCompanyInfo.businessEntityPrincipalAddress.addressLine2,\n      city: updatedCompanyInfo.businessEntityPrincipalAddress.city,\n      state: updatedCompanyInfo.businessEntityPrincipalAddress.state,\n      county: updatedCompanyInfo.businessEntityPrincipalAddress.county,\n      country: updatedCompanyInfo.businessEntityPrincipalAddress.country,\n      zip:  updatedCompanyInfo.businessEntityPrincipalAddress.zipCode\n    };\n  }\n  if (updatedCompanyInfo.numberOfDirectorsAndDirectorsAsWomen) {\n    updatedInfo.business_entity_data.number_of_directors = updatedCompanyInfo.numberOfDirectorsAndDirectorsAsWomen.numberOfDirectors;\n    updatedInfo.business_entity_data.number_of_directors_as_women = updatedCompanyInfo.numberOfDirectorsAndDirectorsAsWomen.numberOfDirectorsAsWomen;\n  }\n  //\n  if (updatedCompanyInfo.year) {\n    updatedInfo.business_entity_data.year = updatedCompanyInfo.year;\n  }\n  if (updatedCompanyInfo.ownedUSMilitaryVeteran) {\n    updatedInfo.business_entity_data.owned_us_military_veteran = isAnswerYes(updatedCompanyInfo.ownedUSMilitaryVeteran);\n  }\n  if (updatedCompanyInfo.ownedUSDisabledMilitaryVeteran) {\n    updatedInfo.business_entity_data.owned_us_disabled_military_veteran = isAnswerYes(updatedCompanyInfo.ownedUSDisabledMilitaryVeteran);\n  }\n  if (updatedCompanyInfo.netReceiptsLessThanOneMillion) {\n    updatedInfo.business_entity_data.net_receipts_less_than_one_million = isAnswerYes(updatedCompanyInfo.netReceiptsLessThanOneMillion);\n  }\n  if (updatedCompanyInfo.upToDateStockInformation) {\n    updatedInfo.business_entity_data.up_to_date_stock_information = isAnswerYes(updatedCompanyInfo.upToDateStockInformation);\n  }\n  if (updatedCompanyInfo.stockClass) {\n    updatedInfo.business_entity_data.stock_class = updatedCompanyInfo.stockClass;\n  }\n  if (updatedCompanyInfo.stockAdded) {\n    updatedInfo.business_entity_data.stock_added = updatedCompanyInfo.stockAdded.addedStock;\n    updatedInfo.business_entity_data.authorized_shares = updatedCompanyInfo.stockAdded.authorizedShares;\n    updatedInfo.business_entity_data.issued_shares = updatedCompanyInfo.stockAdded.issuedShares;\n  }\n  if (updatedCompanyInfo.corpTransacts) {\n    updatedInfo.business_entity_data.corp_transacts = updatedCompanyInfo.corpTransacts;\n  }\n  if (updatedCompanyInfo.corpOwnership) {\n    updatedInfo.business_entity_data.corp_ownership = updatedCompanyInfo.corpOwnership;\n  }\n  if (updatedCompanyInfo.isCombinedGroup) {\n    updatedInfo.business_entity_data.is_combined_group = isAnswerYes(updatedCompanyInfo.isCombinedGroup);\n  }\n  if (updatedCompanyInfo.isCombinedGroupTempLossPreserved) {\n    updatedInfo.business_entity_data.is_combined_group_temp_loss_preserved = isAnswerYes(updatedCompanyInfo.isCombinedGroupTempLossPreserved);\n  }\n  if (updatedCompanyInfo.isTieredPartnerRevAdjusted) {\n    updatedInfo.business_entity_data.is_tiered_partner_rev_adjusted = isAnswerYes(updatedCompanyInfo.isTieredPartnerRevAdjusted);\n  }\n  if (updatedCompanyInfo.isPassiveEntityTX) {\n    updatedInfo.business_entity_data.is_passive_entity_tx = isAnswerYes(updatedCompanyInfo.isPassiveEntityTX);\n  }\n  if (updatedCompanyInfo.isREITTX) {\n    updatedInfo.business_entity_data.is_reit_tx = isAnswerYes(updatedCompanyInfo.isREITTX);\n  }\n  if (updatedCompanyInfo.isNewVetOwnedTX) {\n    updatedInfo.business_entity_data.is_new_vet_owned_tx = isAnswerYes(updatedCompanyInfo.isNewVetOwnedTX);\n  }\n  if (updatedCompanyInfo.webFileId) {\n    updatedInfo.business_entity_data.web_file_id = updatedCompanyInfo.webFileId;\n  }\n  return updatedInfo;\n};\n\nconst formNewAmendmentData = (updatedCompanyInfo, fieldRules) => {\n  const updatedInfo = {\n    business_entity_data: {}\n  };\n\n  if (updatedCompanyInfo.name) {\n    updatedInfo.business_entity_name = updatedCompanyInfo.name;\n  }\n\n  if (updatedCompanyInfo.description && fieldRules.business_purpose.requiresAmendment) {\n    updatedInfo.business_entity_data.business_purpose = updatedCompanyInfo.description;\n  }\n\n  if (updatedCompanyInfo.structure && fieldRules.structure.requiresAmendment) {\n    updatedInfo.manager_type = updatedCompanyInfo.structure;\n    updatedInfo.business_entity_data.manager_type = updatedCompanyInfo.structure;\n  }\n\n  if (updatedCompanyInfo.managers && fieldRules.managers.requiresAmendment) {\n    updatedInfo.business_entity_data.managers = convertManagers(updatedCompanyInfo).managers;\n  }\n\n  if (updatedCompanyInfo.members && fieldRules.members.requiresAmendment) {\n    updatedInfo.business_entity_data.members = convertMembers(updatedCompanyInfo).members;\n  }\n\n  if (updatedCompanyInfo.directors && fieldRules.directors.requiresAmendment) {\n    updatedInfo.business_entity_data.directors = convertDirectors(updatedCompanyInfo).directors;\n  }\n\n  if (updatedCompanyInfo.officers && fieldRules.officers.requiresAmendment) {\n    updatedInfo.business_entity_data.officers = convertOfficers(updatedCompanyInfo).officers;\n  }\n\n  if (updatedCompanyInfo.addresses && fieldRules.addresses.requiresAmendment) {\n    updatedInfo.business_entity_data.mailing_address = convertAddress(updatedCompanyInfo.addresses.mailing);\n    updatedInfo.business_entity_data.principal_address = convertAddress(updatedCompanyInfo.addresses.principal);\n    updatedInfo.business_entity_data.address = convertAddress(updatedCompanyInfo.addresses.physical);\n  }\n\n  if (updatedCompanyInfo.stockInfo && fieldRules.stock_info.requiresAmendment) {\n    updatedInfo.business_entity_data.par_value = _get(updatedCompanyInfo.stockInfo, 'valuePerShare');\n    updatedInfo.business_entity_data.authorized_shares = _get(updatedCompanyInfo.stockInfo, 'authorizedShares');\n  }\n\n  if (updatedCompanyInfo.authorizedSignatory && fieldRules.authorized_signatory.requiresAmendment) {\n    updatedInfo.business_entity_data.authorized_signatory = convertUser(updatedCompanyInfo.authorizedSignatory);\n  }\n\n  return updatedInfo;\n};\n\nexport const convertOrderItem = (registration, standalone, filingFees) => {\n  const\n    { annualReport } = registration,\n    {\n      filingJurisdiction: jurisdiction,\n      filingJurisdictionType: jurisdictionType,\n      originalCompanyInfo,\n      hasWFG,\n      hasARS,\n      hasPurchasedWFC,\n      isPurchasingWFG: isWorryFreeChecked\n    } = annualReport,\n    businessType = originalCompanyInfo.type,\n    service = businessType === 'CORP' ? 'corp_annual_report' : 'llc_annual_report';\n\n  // Get the fees for the jurisdiction type (domestic / foreign)\n  const jurisdictionTypeFees = filingFees[jurisdiction][service]?.[jurisdictionType];\n\n  // If the jurisdiction type fees are not found, use the flat fees\n  const fees = jurisdictionTypeFees?.fees ?? filingFees[jurisdiction][service].fees;\n\n  if (standalone) {\n    return { service, jurisdiction, price: (hasWFG || hasARS || isWorryFreeChecked || hasPurchasedWFC) ? 0 : getAnnualReportPrice(), fees, is_add_on: false };\n  }\n\n  return null;\n};\n\nexport const convertAmendmentOrderItem = (registration, standalone, filingFees) => {\n  const\n    { annualReport } = registration,\n    { filingJurisdiction, originalCompanyInfo, useCredit, creditUUID } = annualReport,\n    fees = filingFees[filingJurisdiction][originalCompanyInfo.type === 'CORP' ? 'corp_amendment' : 'llc_amendment'].fees,\n    service = originalCompanyInfo.type === 'CORP' ? 'corp_amendment' : 'llc_amendment';\n\n  if (standalone) {\n    if (useCredit) {\n      return { service, jurisdiction: filingJurisdiction, price: 0, fees, is_add_on: false, credits: 1, credit_balance_uuid: creditUUID };\n    }\n    return { service, jurisdiction: filingJurisdiction, price: getAmendmentPrice(), fees, is_add_on: false };\n  }\n\n  return null;\n};\n\n/* eslint-disable camelcase */\nexport const convertOrderData = (registration, standalone, isAmendment, fieldRules) => {\n  const\n    { annualReport } = registration,\n    { name: entity_name, originalCompanyInfo, filingJurisdiction: jurisdiction, updatedCompanyInfo, stateId, complianceEventUuid } = annualReport,\n    businessType = originalCompanyInfo.type,\n    service = businessType === 'CORP' ? `corp_${isAmendment ? 'amendment' : 'annual_report'}` : `llc_${isAmendment ? 'amendment' : 'annual_report'}`,\n    foreign_jurisdiction_objects = stateId ? [{ jurisdiction_code: jurisdiction, jurisdiction_filing_number: stateId }] : [];\n\n  return {\n    service,\n    standalone,\n    entity_name,\n    jurisdiction,\n    foreign_jurisdiction_objects,\n    compliance_event_uuid: complianceEventUuid,\n    new_data: isAmendment ? formNewAmendmentData(updatedCompanyInfo, fieldRules) : formNewARData(updatedCompanyInfo, fieldRules)\n  };\n};\n/* eslint-enable camelcase */\n\nexport const buildOrder = (registration, accountId, filingFees, fieldRules) => {\n  const\n    orderStatus = 'complete',\n    // Worry-Free must attach to the jurisdiction being filed in, not the entity's domestic one.\n    // business.requestedJurisdiction is pinned to the domestic jurisdiction on SET_COMPANY and is\n    // never advanced when a foreign jurisdiction is chosen, so the WFG converters have to be told.\n    { filingJurisdiction } = registration.annualReport,\n    orderData = _compact([\n      convertOrderData(registration, true, false, fieldRules),\n      registration.annualReport.isPurchasingWFG ? convertWFGOrderData(registration, false, filingJurisdiction) : null,\n      registration.annualReport.didAddAmendment === 'yes' ? convertOrderData(registration, true, true, fieldRules) : null\n    ]),\n    orderItems = _compact([\n      convertOrderItem(registration, true, filingFees),\n      registration.annualReport.isPurchasingWFG ? convertWFGOrderItem(registration, false, filingFees, filingJurisdiction) : null,\n      registration.annualReport.didAddAmendment === 'yes' ?  convertAmendmentOrderItem(registration, true, filingFees, false) : null\n    ]),\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: registration.annualReport.originalCompanyInfo.id\n    }, getPricingInformation(registration.order));\n\n  return {\n    account_uuid: accountId,\n    business_entity_uuid: registration.annualReport.originalCompanyInfo.id,\n    order\n  };\n};\n","import _assign from 'lodash/assign';\nimport _get from 'lodash/get';\nimport _compact from 'lodash/compact';\n\nimport { convertOrderData as convertWFGOrderData, convertOrderItem as convertWFGOrderItem } from './WorryFreeDataConverter';\nimport { convertAddress, convertDirectors, convertManagers, convertMembers, convertOfficers, convertUser, getPricingInformation } from './BaseDataConverter';\nimport { getAmendmentPrice, getAnnualReportPrice } from '../../utils/ProductService';\nimport { formNewARData } from './AnnualReportConverter';\n\n/* eslint-disable max-statements */\nconst formNewData = (updatedCompanyInfo) => {\n  const updatedInfo = {\n    business_entity_data: {}\n  };\n\n  if (updatedCompanyInfo.name) {\n    updatedInfo.business_entity_name = updatedCompanyInfo.name;\n  }\n\n  if (updatedCompanyInfo.description) {\n    updatedInfo.business_entity_data.business_purpose = updatedCompanyInfo.description;\n  }\n\n  if (updatedCompanyInfo.structure) {\n    updatedInfo.manager_type = updatedCompanyInfo.structure;\n    updatedInfo.business_entity_data.manager_type = updatedCompanyInfo.structure;\n  }\n\n  if (updatedCompanyInfo.managers) {\n    updatedInfo.business_entity_data.managers = convertManagers(updatedCompanyInfo).managers;\n  }\n\n  if (updatedCompanyInfo.members) {\n    updatedInfo.business_entity_data.members = convertMembers(updatedCompanyInfo).members;\n  }\n\n  if (updatedCompanyInfo.directors) {\n    updatedInfo.business_entity_data.directors = convertDirectors(updatedCompanyInfo).directors;\n  }\n\n  if (updatedCompanyInfo.officers) {\n    updatedInfo.business_entity_data.officers = convertOfficers(updatedCompanyInfo).officers;\n  }\n\n  if (updatedCompanyInfo.addresses) {\n    updatedInfo.business_entity_data.mailing_address = convertAddress(updatedCompanyInfo.addresses.mailing);\n    updatedInfo.business_entity_data.principal_address = convertAddress(updatedCompanyInfo.addresses.principal);\n    updatedInfo.business_entity_data.address = convertAddress(updatedCompanyInfo.addresses.physical);\n  }\n\n  if (updatedCompanyInfo.stockInfo) {\n    updatedInfo.business_entity_data.par_value = _get(updatedCompanyInfo.stockInfo, 'valuePerShare');\n    updatedInfo.business_entity_data.authorized_shares = _get(updatedCompanyInfo.stockInfo, 'authorizedShares');\n  }\n\n  if (updatedCompanyInfo.authorizedSignatory) {\n    updatedInfo.business_entity_data.authorized_signatory = convertUser(updatedCompanyInfo.authorizedSignatory);\n  }\n\n  if (updatedCompanyInfo.webFileId) {\n    updatedInfo.business_entity_data.web_file_id = updatedCompanyInfo.webFileId;\n  }\n\n  return updatedInfo;\n};\n/* eslint-enable max-statements */\n\nexport const convertOrderItem = (registration, standalone, filingFees) => {\n  const\n    { amendment } = registration,\n    { filingJurisdiction, originalCompanyInfo, useCredit, creditUUID } = amendment,\n    fees = filingFees[filingJurisdiction][originalCompanyInfo.type === 'CORP' ? 'corp_amendment' : 'llc_amendment'].fees,\n    service = originalCompanyInfo.type === 'CORP' ? 'corp_amendment' : 'llc_amendment';\n\n  if (standalone) {\n    if (useCredit) {\n      return { service, jurisdiction: filingJurisdiction, price: 0, fees, is_add_on: false, credits: 1, credit_balance_uuid: creditUUID };\n    }\n    return { service, jurisdiction: filingJurisdiction, price: getAmendmentPrice(), fees, is_add_on: false };\n  }\n\n  return null;\n};\n\nexport const convertAnnualReportOrderItem = (registration, standalone, filingFees) => {\n  const\n    { amendment } = registration,\n    { filingJurisdiction, originalCompanyInfo, hasWFG, hasARS } = amendment,\n    fees = filingFees[filingJurisdiction][originalCompanyInfo.type === 'CORP' ? 'corp_annual_report' : 'llc_annual_report'].fees,\n    service = originalCompanyInfo.type === 'CORP' ? 'corp_annual_report' : 'llc_annual_report';\n\n  if (standalone) {\n    return { service, jurisdiction: filingJurisdiction, price: (hasWFG || hasARS) ? 0 : getAnnualReportPrice(), fees, is_add_on: false };\n  }\n\n  return null;\n};\n\n/* eslint-disable camelcase */\nexport const convertOrderData = (registration, standalone, isAmendment, fieldRules) => {\n  const\n    { amendment } = registration,\n    { name: entity_name, originalCompanyInfo, filingJurisdiction: jurisdiction, updatedCompanyInfo } = amendment,\n    businessType = originalCompanyInfo.type,\n    service = businessType === 'CORP' ? `corp_${isAmendment ? 'amendment' : 'annual_report'}` : `llc_${isAmendment ? 'amendment' : 'annual_report'}`;\n\n  return {\n    service,\n    standalone,\n    entity_name,\n    jurisdiction,\n    new_data: isAmendment ? {\n      ...formNewData(updatedCompanyInfo),\n      ...(typeof amendment.changingOwnership === 'boolean' ? { changing_ownership: amendment.changingOwnership } : null)\n    } : formNewARData(updatedCompanyInfo, fieldRules)\n  };\n};\n\nexport const buildOrder = (registration, accountId, filingFees, fieldRules) => {\n  const\n    orderStatus = 'complete',\n    // Same as the annual report flow: business.requestedJurisdiction is not advanced for a foreign\n    // filing, so the WFG converters are given the jurisdiction actually being filed in.\n    { filingJurisdiction } = registration.amendment,\n    orderData = _compact([\n      convertOrderData(registration, true, !registration.amendment.didSelectOnlyAnnualReport || registration.amendment.didSelectOnlyAnnualReport === 'no', fieldRules),\n      registration.amendment.isPurchasingWFG ? convertWFGOrderData(registration, false, filingJurisdiction) : null\n    ]),\n    orderItems = _compact([\n      registration.amendment.didSelectOnlyAnnualReport === 'yes'\n        ?  convertAnnualReportOrderItem(registration, true, filingFees)\n        : convertOrderItem(registration, true, filingFees),\n      registration.amendment.isPurchasingWFG ? convertWFGOrderItem(registration, false, filingFees, filingJurisdiction) : null\n    ]),\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: registration.amendment.originalCompanyInfo.id\n    }, getPricingInformation(registration.order));\n\n  return {\n    account_uuid: accountId,\n    business_entity_uuid: registration.amendment.originalCompanyInfo.id,\n    order\n  };\n};\n","import _assign from 'lodash/assign';\nimport _compact from 'lodash/compact';\nimport _find from 'lodash/find';\nimport _map from 'lodash/map';\nimport _trim from 'lodash/trim';\nimport _isNumber from 'lodash/isNumber';\n\nimport { convertAddress, convertUser, getPricingInformation } from './BaseDataConverter';\nimport { getPlanLevel } from '../../utils/PlanService';\nimport { getBankingYearlyPrice } from '../../utils/ProductService';\nimport { getPriceAndCouponForService } from '../../utils/PricingUtils';\nimport { BANKING_ACTIVITY_LABEL_TO_NUMBER, BANKING_ACTIVITY_NUMBER_TO_LABEL, EIN_TO_BANKING_ACTIVITY_MAP } from '../../constants/register_banking';\n\nconst\n  convertOwner = (owner) => {\n    const { role, citizenship, residentCitizenAgeAck, ssn, ein, percent, dob, access, accountOwner } = owner,\n      ownershipPercentage = parseInt(percent, 10);\n\n    if (!access) {\n      return null;\n    }\n    return _assign(convertUser(owner), {\n      role,\n      citizenship,\n      resident_citizen_age_acknowledge: residentCitizenAgeAck,\n      ssn,\n      ein,\n      ownership_percentage: ownershipPercentage,\n      account_owner: accountOwner,\n      date_of_birth: dob?.replace(/\\//g, '-')\n    });\n  },\n  convertOwners = (owners) => {\n    return {\n      bank_account_members: _compact(_map(owners, (owner) => {\n        return convertOwner(owner);\n      }))\n    };\n  },\n  convertContact = (owners) => {\n    const user = _find(owners, (owner) => {\n      return owner.accountOwner;\n    });\n    if (!user) {\n      return null;\n    }\n    return convertUser(user);\n  };\n\nexport const convertOrderItem = (registration, standalone) => {\n  const\n    { banking, purchase, coupons } = registration,\n    { domesticJurisdiction: jurisdiction, inPlan } = banking,\n    { banking: purchaseBanking, planLevel } = purchase,\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    service = 'banking',\n    pricing = getPriceAndCouponForService(service, plan, coupons);\n\n  if ((standalone && !inPlan) || (purchaseBanking && !planLevel)) {\n    // planLevel is coming thru from props for this standalone only; as a result pricing attempts fetch from plan\n    // reimplemented hardcoded until zapi price fetching is standardized\n    const\n      price = getBankingYearlyPrice(),\n      coupon = plan ? pricing.serviceCouponAmount : 0,\n      period = 1;\n\n    return { service, jurisdiction: _trim(jurisdiction), price, coupon, fees: 0, term: 12, period, is_add_on: false };\n  }\n\n  if ((standalone && inPlan) || (purchaseBanking && planLevel)) {\n    return { service, jurisdiction: _trim(jurisdiction), price: 0, coupon: 0, fees: 0, term: 12, period: 1, is_add_on: false };\n  }\n\n  return null;\n};\n\n/* eslint-disable camelcase */\nexport const convertOrderData = (registration, standalone) => {\n  const\n    { banking } = registration,\n    { businessType, name, description: business_purpose, domesticJurisdiction: jurisdiction, phoneNumber } = banking,\n    { ein, businessYears: business_years, businessActivity, businessActivityOther, dbas: business_dba_name, owners } = banking,\n    { accountType: account_type, routingNumber: routing_number, accountNumber: account_number, accountFullName: account_full_name, fundingAmount, publicToken: public_token } = banking,\n    service = 'banking',\n    address = convertAddress(banking),\n    contact = convertContact(owners),\n    naicsLabel = BANKING_ACTIVITY_NUMBER_TO_LABEL[businessActivity] || (!_isNumber(businessActivity) ? businessActivity : ''),\n    naicsCode = EIN_TO_BANKING_ACTIVITY_MAP[businessActivity] || BANKING_ACTIVITY_LABEL_TO_NUMBER[businessActivity] || (_isNumber(businessActivity) ? businessActivity : '');\n\n  return _assign(\n    { service,\n      standalone,\n      is_new_business: !standalone,\n      business_entity_name: name,\n      entity_name: name,\n      business_dba_name,\n      business_entity_type: businessType === 'CORP' ? 'CORP' : 'LLC',\n      ein,\n      phone: phoneNumber || contact.phoneNumber,\n      business_purpose,\n      naics: naicsLabel,\n      naics_description: businessActivityOther,\n      naics_code: naicsCode,\n      incorporation_state: _trim(jurisdiction),\n      jurisdiction: _trim(jurisdiction),\n      funding_amount: fundingAmount ? fundingAmount.substring(1).replace(/,/g, '') : '',\n      account_full_name,\n      terms_of_service_ack: true,\n      account_type,\n      account_number,\n      routing_number,\n      public_token,\n      business_entity_address: address,\n      business_entity_contact: contact,\n      business_years\n    }, convertOwners(owners)\n  );\n};\n/* eslint-enable camelcase */\n\nexport const buildOrder = (registration, accountId) => {\n  const\n    orderStatus = 'complete',\n    orderData = _compact([\n      convertOrderData(registration, true)\n    ]),\n    orderItems = _compact([\n      convertOrderItem(registration, true)\n    ]),\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: registration.banking.companyId\n    }, getPricingInformation(registration.order));\n\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n","import _assign from 'lodash/assign';\n\nimport { getPricingInformation } from './BaseDataConverter';\nimport { getPlanLevel } from '../../utils/PlanService';\nimport { getBankingResolutionPrice } from '../../utils/ProductService';\nimport { getPriceAndCouponForService } from '../../utils/PricingUtils';\n\nexport const convertOrderItem = (registration, standalone) => {\n  const\n    { business, purchase, coupons } = registration,\n    { bankingResolution = false, planLevel } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    service = 'banking_resolution',\n    pricing = getPriceAndCouponForService(service, plan, coupons);\n\n  if (plan && plan.banking_resolution) {\n    return { service, jurisdiction, price: 0, coupon: 0, fees: 0, is_add_on: false };\n  }\n\n  const\n    price = plan ? pricing.servicePrice : getBankingResolutionPrice(),\n    coupon = plan ? pricing.serviceCouponAmount : 0,\n    fees = 0;\n\n  if (standalone || bankingResolution) {\n    return { service, jurisdiction, price, coupon, fees, is_add_on: !standalone && !!plan };\n  }\n  return null;\n};\n\nexport const convertOrderData = (registration, standalone) => {\n  const { business, purchase } = registration,\n    { planLevel } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null;\n\n  if (!(plan && plan.banking_resolution) && !purchase.bankingResolution && !standalone) {\n    return null;\n  }\n\n  const\n    data = {\n      service: 'banking_resolution',\n      standalone,\n      jurisdiction,\n      is_new_business: !standalone\n    };\n\n  return data;\n};\n\nexport const buildOrder = (registration, accountId) => {\n  const\n    orderStatus = 'complete',\n    orderData = [\n      convertOrderData(registration, true)\n    ],\n    orderItems = [\n      convertOrderItem(registration, true)\n    ],\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: registration.bankingResolution.companyId\n    }, getPricingInformation(registration.order));\n\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n","import _assign from 'lodash/assign';\n\nimport { getBusinessKitPrice } from '../../utils/ProductService';\nimport { getPricingInformation } from './BaseDataConverter';\n\nconst BUSINESS_KIT = 'business_kit';\n\nexport const convertOrderItem = (registration, standalone) => {\n  const\n    { business, postpurchase } = registration,\n    { requestedJurisdiction: jurisdiction } = business,\n    { purchaseBusinessKit } = postpurchase,\n    service = BUSINESS_KIT,\n    price = getBusinessKitPrice();\n\n  if (purchaseBusinessKit) {\n    return { service, jurisdiction, price, fees: 0, is_add_on: false };\n  }\n\n  if (standalone) {\n    return { service, jurisdiction, price, fees: 0, is_add_on: false };\n  }\n\n  return null;\n};\n\nexport const convertOrderData = (registration, standalone) => {\n  const\n    service = BUSINESS_KIT,\n    { business, postpurchase } = registration,\n    { requestedJurisdiction, type } = business,\n    { purchaseBusinessKit } = postpurchase;\n\n  if (standalone) {\n    return {\n      service,\n      standalone,\n      jurisdiction: requestedJurisdiction,\n      entity_type: type === 'LLCX' ? 'llc' : 'corp',\n      is_new_business: !standalone\n    };\n  }\n\n  return purchaseBusinessKit ? {\n    service,\n    business_kit: purchaseBusinessKit,\n    jurisdiction: requestedJurisdiction,\n    entity_type: type === 'LLCX' ? 'llc' : 'corp',\n    standalone: false\n  } : null;\n};\n\nexport const buildOrder = (registration, accountId) => {\n  const\n    orderStatus = 'complete',\n    orderData = [\n      convertOrderData(registration, true)\n    ],\n    orderItems = [\n      convertOrderItem(registration, true)\n    ],\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: registration.businessKit.companyId\n    }, getPricingInformation(registration.order));\n\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n","import _assign from 'lodash/assign';\n\nimport { getBeneficialOwnershipFilingPrice, getIsBofSummer2024PromoEnabled } from '../../utils/ProductService';\nimport { getPricingInformation } from './BaseDataConverter';\nimport { getCampaignName } from '../../utils/PartnerUtils';\n\nconst service = 'beneficial_ownership_filing';\n\nexport const convertOrderItem = (registration, standalone) => {\n  const\n    { business, postpurchase, beneficialOwnershipFiling } = registration,\n    { requestedJurisdiction } = business,\n    { purchaseBOF } = postpurchase,\n    { domesticJurisdiction } = beneficialOwnershipFiling,\n    jurisdiction = domesticJurisdiction || requestedJurisdiction,\n    isBofSummer2024PromoEnabled = getIsBofSummer2024PromoEnabled(),\n    campaignName = getCampaignName(),\n    isBofSummer2024Campaign = campaignName === 'bofsummer2024',\n    isBofSummer2024Pricing = isBofSummer2024PromoEnabled && isBofSummer2024Campaign,\n    price = getBeneficialOwnershipFilingPrice(),\n    bofSummer2024OneTimeCoupon = Object.values(registration.coupons).find((item) => {\n      return item.external_coupon_id === '50_off_price_list';\n    }),\n    bofSummer2024PromoOneTimeCouponAmount = bofSummer2024OneTimeCoupon?.amount,\n    bofSummer2024PromoOneTimeCouponUuid = bofSummer2024OneTimeCoupon?.coupon_uuid;\n\n  if (purchaseBOF || standalone) {\n    return {\n      service,\n      ...(isBofSummer2024Pricing ? {\n        coupon: bofSummer2024PromoOneTimeCouponAmount,\n        coupon_uuid: bofSummer2024PromoOneTimeCouponUuid\n      } : {}),\n      jurisdiction,\n      price,\n      fees: 0,\n      is_add_on: false\n    };\n  }\n\n  return null;\n};\n\nexport const convertOrderData = (registration, standalone) => {\n  const { business, postpurchase, beneficialOwnershipFiling } = registration,\n    { requestedJurisdiction, type: busType } = business,\n    { purchaseBOF } = postpurchase,\n    { domesticJurisdiction, type } = beneficialOwnershipFiling;\n\n  const entityType = (type || busType) === 'LLCX' ? 'llc' : 'corp';\n  const jurisdiction = domesticJurisdiction || requestedJurisdiction;\n\n  if (standalone) {\n    return {\n      service,\n      standalone,\n      jurisdiction,\n      entity_type: entityType,\n      is_new_business: !standalone\n    };\n  }\n\n  return purchaseBOF ? {\n    service,\n    beneficial_ownership_filing: purchaseBOF,\n    jurisdiction,\n    entity_type: entityType,\n    standalone: false\n  } : null;\n};\n\nexport const buildOrder = (registration, accountId, forPostPurchase) => {\n  const\n    orderStatus = 'incomplete',\n    orderData = [\n      convertOrderData(registration, !forPostPurchase)\n    ],\n    orderItems = [\n      convertOrderItem(registration, !forPostPurchase)\n    ],\n    businessId = forPostPurchase ? registration.business.id : registration.beneficialOwnershipFiling.companyId,\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: businessId\n    }, getPricingInformation(registration.order));\n\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n","import _assign from 'lodash/assign';\n\nimport {\n  getBeneficialOwnershipFilingPrice,\n  getOngoingBofCompliancePrice,\n  getOngoingBofComplianceCoupon,\n  getIsBofSummer2024PromoEnabled\n} from '../../utils/ProductService';\nimport { getPricingInformation } from './BaseDataConverter';\nimport { getCampaignName } from '../../utils/PartnerUtils';\n\nconst services = ['beneficial_ownership_filing', 'ongoing_bof_compliance'];\n\nexport const convertOrderItems = (registration, standalone) => {\n  const\n    { business, postpurchase, beneficialOwnershipFiling } = registration,\n    { requestedJurisdiction } = business,\n    { purchaseBOF } = postpurchase,\n    { domesticJurisdiction } = beneficialOwnershipFiling,\n    jurisdiction = domesticJurisdiction || requestedJurisdiction,\n    isBofSummer2024PromoEnabled = getIsBofSummer2024PromoEnabled(),\n    campaignName = getCampaignName(),\n    isBofSummer2024Campaign = campaignName === 'bofsummer2024',\n    isBofSummer2024Pricing = isBofSummer2024PromoEnabled && isBofSummer2024Campaign,\n    oneTimeFee = getBeneficialOwnershipFilingPrice(),\n    ongoingPrice = getOngoingBofCompliancePrice(),\n\n    coupon49Off = getOngoingBofComplianceCoupon(registration.coupons),\n    coupon49OffAmount = coupon49Off?.amount,\n    coupon49OffUuid = coupon49Off?.coupon_uuid,\n\n    bofSummer2024OneTimeCoupon = Object.values(registration.coupons).find((item) => {\n      return item.external_coupon_id === '99_off_price_list';\n    }),\n    bofSummer2024PromoOneTimeCouponAmount = bofSummer2024OneTimeCoupon?.amount,\n    bofSummer2024PromoOneTimeCouponUuid = bofSummer2024OneTimeCoupon?.coupon_uuid,\n\n    oneTimeCoupon = isBofSummer2024Pricing ? {\n      coupon: bofSummer2024PromoOneTimeCouponAmount,\n      coupon_uuid: bofSummer2024PromoOneTimeCouponUuid\n    } : {\n      coupon: coupon49OffAmount,\n      coupon_uuid: coupon49OffUuid\n    };\n\n  if (purchaseBOF || standalone) {\n    return services.map((service) => {\n      const isOngoing = service === 'ongoing_bof_compliance',\n        price = isOngoing ? ongoingPrice : oneTimeFee;\n\n      return {\n        service,\n        ...(isOngoing ? {} : oneTimeCoupon),\n        ...(isOngoing ? {\n          term: 12,\n          period: 1\n        } : {}),\n        jurisdiction,\n        price,\n        fees: 0,\n        is_add_on: !isOngoing\n      };\n    });\n  }\n\n  return [];\n};\n\nexport const convertOrderData = (registration, standalone) => {\n  const { business, postpurchase, beneficialOwnershipFiling } = registration,\n    { requestedJurisdiction, type: busType } = business,\n    { purchaseBOF } = postpurchase,\n    { domesticJurisdiction, type } = beneficialOwnershipFiling;\n\n  const entityType = (type || busType) === 'LLCX' ? 'llc' : 'corp';\n  const jurisdiction = domesticJurisdiction || requestedJurisdiction;\n\n  if (standalone) {\n    return services.map((service) => {\n      return {\n        service,\n        standalone,\n        jurisdiction,\n        entity_type: entityType,\n        is_new_business: !standalone\n      };\n    });\n  }\n\n  return purchaseBOF ? services.map((service) => {\n    return {\n      service,\n      beneficial_ownership_filing: purchaseBOF,\n      jurisdiction,\n      entity_type: entityType,\n      standalone: false\n    };\n  }) : [];\n};\n\nexport const buildOrder = (registration, accountId, forPostPurchase) => {\n  const\n    orderStatus = 'incomplete',\n    orderData = convertOrderData(registration, !forPostPurchase),\n    orderItems = convertOrderItems(registration, !forPostPurchase),\n    businessId = forPostPurchase ? registration.business.id : registration.beneficialOwnershipFiling.companyId,\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: businessId\n    }, getPricingInformation(registration.order));\n\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n","import _assign from 'lodash/assign';\n\nimport { getBofModificationPrice, getOngoingBofComplianceNoCouponPrice } from '../../utils/ProductService';\nimport { getPricingInformation } from './BaseDataConverter';\n\nconst services = ['bof_modification'];\n\nexport const convertOrderItem = (registration, standalone, hasOngoing) => {\n  const\n    { business, postpurchase, beneficialOwnershipFiling } = registration,\n    { requestedJurisdiction } = business,\n    { purchasebeneficialOwnershipFiling } = postpurchase,\n    { domesticJurisdiction } = beneficialOwnershipFiling,\n    bofModPrice = getBofModificationPrice(),\n    ongoingPrice = getOngoingBofComplianceNoCouponPrice(),\n    foundCoupon = Object.values(registration.coupons).find((item) => {\n      return item.external_coupon_id === 'bof_modification_99_off';\n    }),\n    couponAmount = foundCoupon?.amount,\n    couponUuid = foundCoupon?.coupon_uuid,\n    jurisdiction = domesticJurisdiction || requestedJurisdiction;\n\n  if (purchasebeneficialOwnershipFiling || standalone) {\n    return services.map((service) => {\n      const userOrderOngoingBofSubscription = services.includes('ongoing_bof_compliance');\n      const isOngoing = service === 'ongoing_bof_compliance';\n      const isModification = service === 'bof_modification';\n\n      let coupon = {};\n      if (isModification && (hasOngoing || userOrderOngoingBofSubscription)) {\n        coupon = {\n          coupon: couponAmount,\n          coupon_uuid: couponUuid\n        };\n      }\n\n      return {\n        ...coupon,\n        ...(isOngoing ? {\n          term: 12,\n          period: 1\n        } : {}),\n        service,\n        jurisdiction,\n        price: isOngoing ? ongoingPrice : bofModPrice,\n        fees: 0,\n        is_add_on: false\n      };\n    });\n  }\n\n  return null;\n};\n\nexport const convertOrderData = (registration, standalone) => {\n  const\n    { business, postpurchase, beneficialOwnershipFiling } = registration,\n    { requestedJurisdiction, type: busType } = business,\n    { purchasebeneficialOwnershipFiling } = postpurchase,\n    { domesticJurisdiction, type } = beneficialOwnershipFiling,\n    entityType = (type || busType) === 'LLCX' ? 'llc' : 'corp',\n    jurisdiction = domesticJurisdiction ?? requestedJurisdiction;\n\n  if (standalone) {\n    return services.map((service) => {\n      return {\n        service,\n        standalone,\n        jurisdiction,\n        entity_type: entityType,\n        is_new_business: !standalone\n      };\n    });\n  }\n\n  return purchasebeneficialOwnershipFiling ? services.map((service) => {\n    return {\n      service,\n      beneficial_ownership_filing: purchasebeneficialOwnershipFiling,\n      jurisdiction,\n      entity_type: entityType,\n      standalone: false\n    };\n  }) : null;\n};\n\nexport const buildOrder = (registration, accountId, isOngoing, hasOngoing) => {\n  if (isOngoing && !hasOngoing) {\n    services.push('ongoing_bof_compliance');\n  }\n\n  const\n    orderStatus = 'incomplete',\n    orderData = convertOrderData(registration, true),\n    orderItems = convertOrderItem(registration, true, hasOngoing),\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: registration.beneficialOwnershipFiling.companyId\n    }, getPricingInformation(registration.order));\n\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n\n","import _assign from 'lodash/assign';\nimport _compact from 'lodash/compact';\nimport _map from 'lodash/map';\nimport { buildEntityName, convertUser, getPricingInformation } from './BaseDataConverter';\nimport { getPlanLevel } from '../../utils/PlanService';\nimport { getOpAgreementPrice } from '../../utils/ProductService';\nimport { getPriceAndCouponForService } from '../../utils/PricingUtils';\n\nconst\n  buildFromFormation = (registration) => {\n    const\n      { business } = registration,\n      { name, indicator, type, domesticJurisdiction } = business,\n      isGeneric = true; // Is generic for everyone at this time. // type !== 'LLCX' || domesticJurisdiction !== 'TX';\n\n    const entityName = buildEntityName(name, indicator);\n    return {\n      service: 'operating_agreement',\n      standalone: false,\n      is_new_business: true,\n      business_entity_name: entityName,\n      business_entity_type: type === 'CORP' ? 'CORP' : 'LLC',\n      entity_type: type === 'LLCX' ? 'llc' : 'corp',\n      jurisdiction: domesticJurisdiction,\n      is_generic: isGeneric\n    };\n  };\n\nexport const convertOrderItem = (registration, standalone) => {\n  const\n    { business, purchase, coupons } = registration,\n    { operatingAgreement = false, planLevel } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    service = 'operating_agreement',\n    pricing = getPriceAndCouponForService(service, plan, coupons);\n\n  if (plan && plan.operating_agreement) {\n    return { service, jurisdiction, price: 0, coupon: 0, fees: 0, is_add_on: false };\n  }\n  if (standalone || operatingAgreement) {\n    return {\n      service,\n      jurisdiction,\n      price: plan ? pricing.servicePrice : getOpAgreementPrice(),\n      coupon: plan ? pricing.serviceCouponAmount : 0,\n      fees: 0,\n      is_add_on: !standalone && !!plan\n    };\n  }\n  return null;\n};\n\n/* eslint-disable camelcase */\nexport const convertOrderData = (registration, standalone, fromReg = false) => {\n  const\n    { business, purchase } = registration,\n    { planLevel } = purchase,\n    { domesticJurisdiction, requestedJurisdiction, type } = business,\n    plan = planLevel ? getPlanLevel(planLevel, fromReg ? requestedJurisdiction : domesticJurisdiction) : null,\n    service = 'operating_agreement';\n\n  if (!(plan && plan.operating_agreement) && !purchase.operatingAgreement && !standalone) {\n    return null;\n  }\n\n  if (fromReg) { // If bought as part of registration flow\n    return {\n      service,\n      standalone,\n      jurisdiction: requestedJurisdiction,\n      is_new_business: !standalone\n    };\n  }\n\n  if (!standalone) { // If bought as part of plan or ala-carte\n    return buildFromFormation(registration);\n  }\n\n  const\n    { operatingAgreement } = registration,\n    {\n      isGeneric: is_generic,\n      businessName: business_entity_name,\n      requestedJurisdiction: jurisdiction,\n      managers: initManagers,\n      members: initMembers,\n      llcBusinessAddress,\n      llcMailingAddress,\n      mailingAddressType,\n      mailingAddressLine1,\n      mailingAddressLine2,\n      mailingCity,\n      mailingCounty,\n      mailingState,\n      mailingZipCode,\n      businessEmail: email,\n      preemptiveRights: preemptive_rights,\n      rightOfFirstRefusal: right_of_first_refusal,\n      financialReportFrequency: financial_report_frequency,\n      internalFinancialAudit: internal_financial_audit,\n      taxAdvances: tax_advances,\n      dayToDayMajority: day_to_day_majority,\n      meetingOfMembersMajority: meeting_of_members_majority,\n      passActionWithoutMeetingMajority: pass_action_without_meeting_majority,\n      amendmentMajority: amendment_majority,\n      terminateCompanyMajority: terminate_company_majority,\n      amendOAorFormation: amend_oa_or_formation,\n      issueAdditionalMembership: issue_additional_membership,\n      appointRemoveAuditors: appoint_remove_auditors,\n      amendRelatedPartyAgreement: amend_related_party_agreement,\n      enterEquityTransactions: enter_equity_transactions,\n      enterAssetTransactions: enter_asset_transactions,\n      establishSubsidiary: establish_subsidiary,\n      offeringAndSecurities: offering_and_securities,\n      fundamentalBusinessTransaction: fundamental_business_transaction,\n      liquidateOrTerminate: liquidate_or_terminate,\n      cancelLiquidateOrTerminate: cancel_liquidate_or_terminate,\n      reinstateAfterTermination: reinstate_after_termination,\n      changeManager: change_manager,\n      membersRemoveManager: members_remove_manager,\n      fillManagerVacancy: fill_manager_vacancy,\n      capitalContributionApproval: capital_contribution_approval,\n      capitalContributionAmount: capital_contribution_amount,\n      makeInvestmentApproval: make_investment_approval,\n      makeInvestmentAmount: make_investment_amount,\n      incurIndebtednessApproval: incur_indebtedness_approval,\n      incurIndebtednessOneTimeAmount: incur_indebtedness_onetime_amount,\n      incurIndebtednessTotalAmount: incur_indebtedness_total_amount,\n      settleLawsuitApproval: settle_lawsuit_approval,\n      settleLawsuitAmount: settle_lawsuit_amount\n    } = operatingAgreement,\n    convertedLLCBusinessAddress = {\n      address_1: llcBusinessAddress.addressLine1,\n      address_2: llcBusinessAddress.addressLine2,\n      city: llcBusinessAddress.city,\n      state: llcBusinessAddress.state,\n      zip: llcBusinessAddress.zipCode\n    },\n    convertedLLCMailingAddress = {\n      address_1: llcMailingAddress.addressLine1,\n      address_2: llcMailingAddress.addressLine2,\n      city: llcMailingAddress.city,\n      state: llcMailingAddress.state,\n      zip: llcMailingAddress.zipCode\n    },\n    address = {\n      type: mailingAddressType,\n      address_1: mailingAddressLine1,\n      address_2: mailingAddressLine2,\n      city: mailingCity,\n      county: mailingCounty,\n      state: mailingState,\n      zip: mailingZipCode\n    },\n    managers = _map(initManagers, (manager) => {\n      return _assign(convertUser(manager), {\n        partnership_rep: manager.partnershipRep,\n        manager_notice: manager.managerNotice\n      });\n    }),\n    members = _map(initMembers, (member) => {\n      const { manager, title, membershipInterest, maritalStatus, spouseName, primaryMember, partnershipRep, officialNotice, managerNotice, emailDisabled, phoneNumberDisabled } = member;\n      return _assign(convertUser(member), {\n        manager,\n        title,\n        membership_interest: membershipInterest,\n        marital_status: maritalStatus,\n        spouse_name: spouseName,\n        primary_member: primaryMember,\n        partnership_rep: partnershipRep,\n        official_notice: officialNotice,\n        manager_notice: managerNotice,\n        email_disabled: emailDisabled,\n        phone_disabled: phoneNumberDisabled\n      });\n    });\n\n  return {\n    service,\n    standalone,\n    is_new_business: false,\n    business_entity_name,\n    business_entity_type: type === 'CORP' ? 'CORP' : 'LLC',\n    entity_type: type === 'LLCX' ? 'llc' : 'corp',\n    jurisdiction: jurisdiction || domesticJurisdiction,\n    is_generic,\n    llc_business_address: convertedLLCBusinessAddress,\n    llc_mailing_address: convertedLLCMailingAddress,\n    address,\n    members,\n    managers,\n    email,\n    preemptive_rights,\n    right_of_first_refusal,\n    financial_report_frequency,\n    internal_financial_audit,\n    tax_advances,\n    day_to_day_majority,\n    meeting_of_members_majority,\n    pass_action_without_meeting_majority,\n    amendment_majority,\n    terminate_company_majority,\n    amend_oa_or_formation,\n    issue_additional_membership,\n    appoint_remove_auditors,\n    amend_related_party_agreement,\n    enter_equity_transactions,\n    enter_asset_transactions,\n    establish_subsidiary,\n    offering_and_securities,\n    fundamental_business_transaction,\n    liquidate_or_terminate,\n    cancel_liquidate_or_terminate,\n    reinstate_after_termination,\n    change_manager,\n    members_remove_manager,\n    fill_manager_vacancy,\n    capital_contribution_approval,\n    capital_contribution_amount,\n    make_investment_approval,\n    make_investment_amount,\n    incur_indebtedness_approval,\n    incur_indebtedness_onetime_amount,\n    incur_indebtedness_total_amount,\n    settle_lawsuit_approval,\n    settle_lawsuit_amount\n  };\n};\n\n/* eslint-enable camelcase */\n\nexport const buildOrder = (registration, accountId, isUpdate, fromReg = false) => {\n  const\n    { operatingAgreement } = registration,\n    { status: orderStatus, companyId } = operatingAgreement,\n    orderData = _compact([\n      convertOrderData(registration, true, fromReg)\n    ]),\n    orderItems = _compact([\n      convertOrderItem(registration, true)\n    ]),\n    order = _assign({\n      order_status: fromReg ? 'complete' : orderStatus,\n      order_data: orderData,\n      order_items: orderItems\n    }, getPricingInformation(registration.order));\n\n  if (!fromReg && isUpdate) {\n    order.order_uuid = registration.order.id;\n    return { order };\n  }\n\n  if (companyId) {\n    order.business_entity_uuid = companyId;\n  }\n\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n","import _assign from 'lodash/assign';\nimport _map from 'lodash/map';\n\nimport { buildPlanGatedZeroItem, getPricingInformation } from './BaseDataConverter';\nimport { getPlanLevel, isAutoIncludedInPlan } from '../../utils/PlanService';\nimport { getBasicEmailYearlyPrice } from '../../utils/ProductService';\nimport { getPriceAndCouponForService } from '../../utils/PricingUtils';\n\nexport const purchasedEmails = (registration) => {\n  const { domainName, purchase } = registration,\n    { emailUserName, primary } = domainName,\n    { emailAddresses } = purchase;\n  if (emailAddresses && emailAddresses.length > 0) {\n    return _map(emailAddresses, (emailAddress) => {\n      return {\n        emailUserName: emailAddress.substring(0, emailAddress.lastIndexOf('@')),\n        emailDomain: emailAddress.substring(emailAddress.lastIndexOf('@') + 1)\n      };\n    });\n  }\n  return [{\n    emailUserName,\n    emailDomain: primary\n  }];\n};\n\nexport const convertOrderItem = (registration, standalone, websiteToolsStandalone) => {\n  const\n    { business, purchase, domainName, coupons } = registration,\n    { basicEmail, planLevel, activePlanLevel, activeWebsiteToolsBundle } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    { emailInPlan } = domainName,\n    service = 'basic_email',\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    activePlan = activePlanLevel ? getPlanLevel(activePlanLevel, jurisdiction) : null,\n    pricing = getPriceAndCouponForService(service, activePlan, coupons);\n\n  if ((activePlan && activePlan.basic_email) || emailInPlan || activeWebsiteToolsBundle || websiteToolsStandalone) {\n    // eslint-disable-next-line no-unused-vars\n    return _map(purchasedEmails(registration), (_emailAddress) => {\n      return buildPlanGatedZeroItem(service, jurisdiction, activePlan, { coupon: 0, fees: 0, term: 12, period: 1 });\n    });\n  }\n\n  const\n    price = activePlan ? pricing.servicePrice : getBasicEmailYearlyPrice(),\n    coupon = activePlan ? pricing.serviceCouponAmount : 0,\n    fees = 0,\n    term = 12,\n    period = 1;\n\n  if (standalone || basicEmail || isAutoIncludedInPlan(plan, 'basic_email')) {\n    // eslint-disable-next-line no-unused-vars\n    return _map(purchasedEmails(registration), (_emailAddress) => {\n      return {\n        service,\n        price,\n        coupon,\n        fees,\n        term,\n        period,\n        jurisdiction,\n        is_add_on: !standalone && !!activePlan\n      };\n    });\n  }\n  return [];\n};\n\nexport const convertOrderData = (registration, standalone) => {\n  const\n    { business, domainName, purchase } = registration,\n    { emailSkip } = domainName,\n    { planLevel, basicEmail } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    service = 'basic_email',\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    isAutoIncluded = isAutoIncludedInPlan(plan, 'basic_email');\n  if ((plan && plan.basic_email) || basicEmail || isAutoIncluded || standalone) {\n    return _map(purchasedEmails(registration), ({ emailUserName, emailDomain }) => {\n      return {\n        service,\n        jurisdiction,\n        standalone,\n        is_new_business: !standalone,\n        is_auto_included: isAutoIncluded,\n        email_address: emailUserName,\n        domain_name: emailDomain,\n        skip: emailSkip || false\n      };\n    });\n  }\n  return [];\n};\n\nexport const buildOrder = (registration, accountId) => {\n  const\n    orderStatus = 'complete',\n    orderData = [\n      ...convertOrderData(registration, true)\n    ],\n    orderItems = [\n      ...convertOrderItem(registration, true)\n    ],\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: registration.domainName.companyId\n    }, getPricingInformation(registration.order));\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n","/* eslint-disable camelcase */\nimport _assign from 'lodash/assign';\nimport _compact from 'lodash/compact';\n\nimport { buildEntityName, convertAddress, convertContactIfIdentified, convertDirectors, convertManagers, convertMembers, convertOfficers, convertRegisteredAgent, getPricingInformation, decorateAccount } from './BaseDataConverter';\nimport { ACTIONS, URLS } from '../../constants/complete_blr';\nimport { getBusinessLicensePrice } from '../../utils/ProductService';\nimport { ORDER_STATUSES } from '../../constants/ui';\n\nconst service = 'business_license_report';\nconst\n  /* eslint-disable camelcase */\n  convertAccount = (registration) => {\n    const\n      { customer, lead } = registration,\n      { firstName: first_name, middleName: middle_name, lastName: last_name, suffix, email, phoneNumber: phone, password } = customer,\n      { leadUUID: lead_uuid } = lead,\n      { cardToken: card_token } = customer;\n\n    return decorateAccount({ lead_uuid, first_name, middle_name, last_name, suffix, email: email ? email.toLowerCase() : '', phone, password, international: false, signup_client: 'web_v2', card_token });\n  };\n  /* eslint-enable camelcase */\n\nexport const convertBusinessData = (blr) => {\n  const { businessOutOfHome, businessIndustryId, businessIndustryLabel, hasEmployees, employeesCount, hasDBAs, existingCompany } = blr,\n    businessData = {\n    };\n\n  if (businessOutOfHome !== null) {\n    businessData.out_of_home = businessOutOfHome;\n  }\n  if (businessIndustryId !== null) {\n    businessData.industry_id = businessIndustryId;\n    businessData.industry_label = businessIndustryLabel;\n  }\n  if (hasDBAs !== null) {\n    businessData.has_trade_names = hasDBAs;\n  }\n  if (hasEmployees !== null) {\n    businessData.has_employees = hasEmployees;\n    businessData.employees_count = employeesCount;\n  }\n  businessData.existing_company = existingCompany || false;\n  return businessData;\n};\n\nexport const convertOrderItem = (registration, standalone) => {\n  const\n    { business, postpurchase } = registration,\n    { purchaseBLR } = postpurchase,\n    { requestedJurisdiction: jurisdiction } = business;\n\n  if (standalone || purchaseBLR) {\n    return { service, jurisdiction, price: getBusinessLicensePrice(), fees: 0, is_add_on: false };\n  }\n  return null;\n};\n\n/* eslint-disable camelcase */\n/* eslint-disable max-statements */\nexport const convertOrderData = (registration, standalone) => {\n  const { business, businessAddresses, customer, contact, directors, managers, members, officers, postpurchase, purchase, registeredAgent, blr, order, page } = registration,\n    { purchaseBLR } = postpurchase,\n    { requestedJurisdiction: jurisdiction } = business;\n\n  if (!purchase.blr && !purchaseBLR && !standalone) {\n    return null;\n  }\n\n  const\n    { type, name, indicator, description: business_purpose, status } = business,\n    { mailing, physical, principal } = businessAddresses,\n    { dbas: trade_names, hasDBAs: has_trade_name, phoneNumber: phone, existingCompany } = blr,\n    { id = '' } = order,\n    { completedAction, completedUrl, completedActionIndex } = page,\n    isLLC = type === 'LLCX',\n    isCorp = type === 'CORP',\n    baseIndex = existingCompany ? 5901 : 5900,\n    baseUrl = existingCompany ? URLS.START_BLR_DATA : URLS.START_BUS_DATA,\n    baseAction = existingCompany ? ACTIONS.START_BLR_DATA : ACTIONS.START_BUS_DATA;\n\n  if (!standalone || existingCompany) {\n    const data = {\n      service,\n      jurisdiction,\n      standalone: false,\n      is_new_business: false,\n      is_auto_included: false,\n      has_trade_name,\n      trade_names,\n      business_data: convertBusinessData(blr)\n    };\n    if (standalone && status === 'incomplete') {\n      if (name) {\n        data.entity_name = name;\n      }\n      data.completed_action = id ? completedAction : baseAction;\n      data.completed_url = id ? completedUrl : baseUrl;\n      data.completed_action_index = id ? completedActionIndex : baseIndex;\n    }\n    return data;\n  }\n\n  const\n    data = _assign({\n      service,\n      standalone,\n      jurisdiction,\n      domestic_jurisdiction: jurisdiction,\n      entity_type: type === 'LLCX' ? 'llc' : 'corp',\n      entity_name: buildEntityName(name, indicator),\n      is_new_business: true,\n      address: convertAddress(physical),\n      mailing_address: convertAddress(mailing),\n      principal_address: convertAddress(principal),\n      first_name: contact ? contact.firstName : customer.firstName || '',\n      middle_name: contact ? contact.middleName : customer.middleName || '',\n      last_name: contact ? contact.lastName : customer.firstName || '',\n      suffix: contact ? contact.suffix : customer.suffix || '',\n      county: physical.county,\n      phone,\n      has_trade_name,\n      trade_names,\n      business_data: convertBusinessData(blr),\n      business_purpose\n    },\n    convertContactIfIdentified(contact),\n    isLLC ? convertManagers(managers) : {},\n    isCorp ? convertDirectors(directors) : {},\n    isLLC ? convertMembers(members) : {},\n    isCorp ? convertOfficers(officers) : {},\n    isLLC || isCorp ? convertRegisteredAgent(registeredAgent, business, { registeredAgent: false }) : {}\n    );\n\n  if (status === ORDER_STATUSES.incomplete) {\n    data.completed_action = id ? completedAction : baseAction;\n    data.completed_url = id ? completedUrl : baseUrl;\n    data.completed_action_index = id ? completedActionIndex : baseIndex;\n  }\n  return data;\n};\n\nexport const buildOrder = (registration, isUpdate) => {\n  const\n    { business, order: registrationOrder } = registration,\n    { status: orderStatus } = business,\n    orderData = _compact([\n      convertOrderData(registration, true)\n    ]);\n\n  const order = _assign({\n    order_status: orderStatus,\n    order_data: orderData\n  }, getPricingInformation(registration.order));\n\n\n  if (isUpdate) {\n    order.order_uuid = registrationOrder.id;\n    order.order_data[0].fulfillment_required = orderStatus === ORDER_STATUSES.incomplete;\n    if (orderStatus === ORDER_STATUSES.complete) {\n      order.order_status = registrationOrder.willMarkOrderCompleted\n        ? ORDER_STATUSES.complete\n        : ORDER_STATUSES.incomplete;\n    }\n    return { order };\n  }\n\n  const\n    { id: businessId } = business,\n    accountId = registration.customer.id || '',\n    account = accountId ? null : convertAccount(registration);\n\n  order.order_items = _compact([\n    convertOrderItem(registration, true)\n  ]);\n\n  if (accountId) {\n    if (businessId) {\n      order.business_entity_uuid = businessId;\n    }\n    return {\n      account_uuid: accountId,\n      order\n    };\n  }\n  return {\n    account,\n    order\n  };\n};\n","import _assign from 'lodash/assign';\nimport _compact from 'lodash/compact';\nimport _get from 'lodash/get';\nimport _reduce from 'lodash/reduce';\n\nimport { buildEntityName, convertAddress, convertContact, convertDirectors, convertManagers, convertMembers, convertOfficers, getPricingInformation, decorateAccount, hasContactIdentity } from './BaseDataConverter';\nimport { ACTIONS, URLS } from '../../constants/complete_cora';\nimport { getPlanLevel } from '../../utils/PlanService';\n\n/* eslint-disable camelcase */\nconst\n  convertAccount = (registration) => {\n    const\n      { customer, lead } = registration,\n      { firstName: first_name, middleName: middle_name, lastName: last_name, suffix, email, phoneNumber: phone, password } = customer,\n      { cardToken: card_token } = customer,\n      { leadUUID: lead_uuid } = lead;\n\n    return decorateAccount(_assign({ lead_uuid, first_name, middle_name, last_name, suffix, email: email ? email.toLowerCase() : '', phone, password, international: false, signup_client: 'web_v2', card_token }, convertAddress(customer)));\n  },\n  getEntityType = (type) => {\n    if (type === 'LLCX') {\n      return 'llc';\n    }\n    if (type === 'CORP') {\n      return 'corp';\n    }\n    return '';\n  },\n  createOrderItemsForJurisdiction = (planLevel, requestedJurisdiction, domesticJurisdiction, typeKey, isFormed, filingFees) => {\n    const plan = getPlanLevel(planLevel, requestedJurisdiction),\n      couponItem = plan.coupon,\n      coupon = couponItem ? couponItem.amount : 0,\n      jurisdiction = requestedJurisdiction,\n      jurKey = requestedJurisdiction === domesticJurisdiction ? 'domestic' : 'foreign',\n      prices = plan[typeKey].prices,\n      price = prices['1'],\n      fees = isFormed ? _get(filingFees, [requestedJurisdiction, 'change_of_registered_agent', typeKey, jurKey, 'fees'], 0) : 0,\n      term = 12,\n      period = 1,\n      is_add_on = false,\n      items = [{\n        service: 'registered_agent_service',\n        jurisdiction,\n        price: 0,\n        coupon: 0,\n        fees: 0,\n        term,\n        period,\n        is_add_on\n      }];\n\n    if (isFormed) {\n      items.push({\n        service: 'change_of_registered_agent',\n        jurisdiction,\n        price: 0,\n        fees,\n        is_add_on\n      });\n    }\n    if (plan.worry_free_service) {\n      items.push({\n        service: 'worry_free_service',\n        jurisdiction,\n        price: 0,\n        fees: 0,\n        term,\n        period,\n        is_add_on\n      });\n    }\n    items.push({\n      service: plan.id,\n      jurisdiction: requestedJurisdiction,\n      price,\n      coupon,\n      fees: 0,\n      term,\n      period,\n      is_add_on,\n      affiliate_plan_option_uuid: plan.uuid\n    });\n\n    return items;\n  },\n\n  /* eslint-disable max-statements */\n  addBusinessData = (registration) => {\n    const\n      { business, businessAddresses, contact, cora, directors, managers, members, officers, order, page } = registration,\n      {\n        requestedJurisdictions,\n        domesticJurisdiction,\n        businessIndustry,\n        authorizedSignatory,\n        sopContact,\n        jurisdictionOrder,\n        existingJurisdictions,\n        filingDates,\n        stateIds,\n        statePINs,\n        pendingStates,\n        hasElectiveCEO,\n        electiveCEO,\n        domesticEntity,\n        hasFormation,\n        needsDomesticJurisdictionData,\n        needsPrincipals,\n        needsContact,\n        needsCoraContacts,\n        needsBusinessData,\n        needsBusinessIndustry,\n        needsAddresses,\n        needsPrincipalAddress\n      } = cora,\n      { type, name, indicator = '', status, description: business_purpose, businessOrderType } = business,\n      { principal, mailing, physical } = businessAddresses,\n      { phoneNumber: phone } = contact,\n      isLLC = type === 'LLCX',\n      isCorp = type === 'CORP',\n      domesticJurisdictionStatePIN = statePINs[domesticJurisdiction] || '',\n      domesticJurisdictionElectiveCEO = domesticJurisdiction === 'CA' ? electiveCEO : null,\n      isIncomplete = status === 'incomplete',\n      retVal = {};\n\n    // Add the items always included.\n    const fos = _reduce(requestedJurisdictions, (collect, reqJur) => {\n      if (reqJur !== domesticJurisdiction) {\n        const\n          fo = {\n            jurisdiction_code: reqJur\n          },\n          foFilingDate = filingDates[reqJur] || null,\n          foFilingNumber = stateIds[reqJur] || null,\n          foStatePIN = statePINs[reqJur] || null,\n          foElectiveCEO = reqJur === 'CA' ? electiveCEO : null;\n\n        if (foFilingDate) {\n          fo.jurisdiction_filing_date = foFilingDate;\n        }\n        if (foFilingNumber) {\n          fo.jurisdiction_filing_number = foFilingNumber;\n        }\n        if (foStatePIN || foElectiveCEO) {\n          fo.extra_state_info = {};\n          if (foStatePIN) {\n            fo.extra_state_info.state_pin = foStatePIN;\n          }\n          if (foElectiveCEO) {\n            fo.extra_state_info.elective_ceo = convertContact(foElectiveCEO).contact;\n          }\n        }\n        collect.push(fo);\n      }\n      return collect;\n    }, []);\n    if (fos.length) {\n      retVal.foreign_jurisdiction_objects = fos;\n    }\n\n    // Add the domestic jurisdiction data if needed.\n    if (needsDomesticJurisdictionData || isIncomplete) {\n      const djFilingDate = filingDates[domesticJurisdiction] || null,\n        djStateId = stateIds[domesticJurisdiction] || null;\n\n      if (djFilingDate) {\n        retVal.domestic_jurisdiction_filing_date = djFilingDate;\n      }\n      if (djStateId) {\n        retVal.domestic_jurisdiction_filing_number = djStateId;\n      }\n      if (domesticJurisdictionStatePIN || domesticJurisdictionElectiveCEO) {\n        retVal.domestic_jurisdiction_state_info = {};\n        if (domesticJurisdictionStatePIN) {\n          retVal.domestic_jurisdiction_state_info.jurisdiction_state_pin = domesticJurisdictionStatePIN;\n        }\n        if (domesticJurisdictionElectiveCEO) {\n          retVal.domestic_jurisdiction_state_info.jurisdiction_elective_ceo = convertContact(domesticJurisdictionElectiveCEO).contact;\n        }\n      }\n    }\n\n    if (needsBusinessData || isIncomplete) {\n      _assign(retVal, {\n        entity_type: getEntityType(type),\n        entity_name: buildEntityName(name, indicator),\n        business_purpose\n      });\n    }\n\n    if (needsBusinessIndustry || isIncomplete) {\n      retVal.business_industry = businessIndustry;\n    }\n\n    if (needsAddresses || isIncomplete) {\n      retVal.address = convertAddress(physical);\n      retVal.mailing_address = convertAddress(mailing);\n      retVal.phone = phone;\n    }\n\n    if (needsPrincipalAddress || needsAddresses || isIncomplete) {\n      retVal.principal_address = convertAddress(principal);\n    }\n\n    if (needsPrincipals || isIncomplete) {\n      if (isLLC) {\n        _assign(retVal, convertManagers(managers), convertMembers(members));\n      }\n      if (isCorp) {\n        _assign(retVal, convertDirectors(directors), convertOfficers(officers));\n      }\n    }\n\n    if (needsContact || isIncomplete) {\n      // API-949: the CoRA flow never dispatches setContactData, so registration.contact\n      // stays at its empty initial state. Fall back to authorizedSignatory so we POST\n      // real identity data instead of a blank contact template.\n      const hasContactData = contact && (contact.firstName || contact.companyName);\n      const contactSource = hasContactData ? contact : (authorizedSignatory || contact);\n      // API-934/API-1823: only emit the contact when the chosen source satisfies the\n      // ContactHandler identity rule (first_name + last_name, or company_name — email\n      // alone no longer counts, see hasContactIdentity). Emitting a blank contact 422s\n      // at process-fulfillment; omitting it (rather than writing null) leaves any\n      // existing backend contact untouched under per-task PATCH — important when slim\n      // re-hydration leaves redux state empty.\n      if (hasContactIdentity(contactSource)) {\n        _assign(retVal, convertContact(contactSource));\n      }\n    }\n\n    if (needsCoraContacts || isIncomplete) {\n      // API-949: never write an empty {} — orders-api persists it verbatim, and on\n      // re-read the empty dict gets fed through convertContact as a real contact.\n      // API-934/API-1823: also reject identity-less contacts (blank name, company_name,\n      // and email) — see hasContactIdentity above — so we never PATCH a contact that\n      // fails the ContactHandler at process-fulfillment.\n      _assign(retVal, {\n        authorized_signatory: hasContactIdentity(authorizedSignatory) ? _assign(convertContact(authorizedSignatory).contact, { title: authorizedSignatory.title }) : null,\n        sop_contact: hasContactIdentity(sopContact) ? convertContact(sopContact).contact : null\n      });\n    }\n\n    if (isIncomplete) {\n      const\n        { id = '' } = order,\n        { completedAction, completedUrl, completedActionIndex } = page;\n\n      _assign(retVal, {\n        needs_addresses: needsAddresses,\n        needs_business_data: needsBusinessData,\n        needs_business_industry: needsBusinessIndustry,\n        needs_contact: needsContact,\n        needs_cora_contacts: needsCoraContacts,\n        needs_domestic_jurisdiction_data: needsDomesticJurisdictionData,\n        needs_principal_address: needsPrincipalAddress,\n        needs_principals: needsPrincipals,\n        domestic_entity: domesticEntity,\n        has_elective_ceo: hasElectiveCEO,\n        has_existing_business: hasFormation,\n        completed_action: id ? completedAction : ACTIONS.START,\n        completed_url: id ? completedUrl : URLS.START,\n        completed_action_index: id ? completedActionIndex : 5500,\n        jurisdiction_order: jurisdictionOrder,\n        existing_jurisdictions: existingJurisdictions,\n        business_order_type: businessOrderType,\n        pending_states: pendingStates,\n        is_primary: true\n      });\n    }\n\n    return retVal;\n  },\n  /* eslint-enable max-statements */\n\n  createOrderDatasForJurisdiction = (requestedJurisdiction, includeBusinessData, registration) => {\n    const\n      { cora, purchase } = registration,\n      { domesticJurisdiction, pendingStates } = cora,\n      { planLevel } = purchase,\n      plan = getPlanLevel(planLevel, requestedJurisdiction),\n      jurisdiction = requestedJurisdiction,\n      isFormed = !pendingStates[jurisdiction],\n      datas = [],\n      raData = {\n        service: 'registered_agent_service',\n        jurisdiction: requestedJurisdiction,\n        domestic_jurisdiction: domesticJurisdiction,\n        standalone: includeBusinessData,\n        is_truic_ra: false,\n        is_new_business: false,\n        is_auto_included: false,\n        is_cora: true\n      };\n\n    if (includeBusinessData) {\n      _assign(raData, addBusinessData(registration));\n    }\n    datas.push(raData);\n\n    if (isFormed) {\n      datas.push({\n        service: 'change_of_registered_agent',\n        jurisdiction,\n        domestic_jurisdiction: domesticJurisdiction,\n        standalone: false,\n        is_new_business: false,\n        is_auto_included: false\n      });\n    }\n    if (plan.worry_free_service) {\n      datas.push({\n        service: 'worry_free_service',\n        jurisdiction,\n        is_auto_included: false\n      });\n    }\n    datas.push({\n      service: plan.id,\n      jurisdiction,\n      standalone: false,\n      is_new_business: false,\n      level: planLevel,\n      plan\n    });\n    return datas;\n  };\n\n// API-949: exported for unit tests covering the contact/authorizedSignatory fallback\nexport { addBusinessData };\n\nexport const convertOrderItems = (registration, filingFees) => {\n  const\n    { business, cora, purchase } = registration,\n    { type } = business,\n    { requestedJurisdictions, domesticJurisdiction, pendingStates, upsellDomJur } = cora,\n    { planLevel } = purchase,\n    typeKey = type === 'CORP' ? 'corp' : 'llc',\n    reqJurs = _reduce(requestedJurisdictions, (collect, reqJur) => {\n      if (reqJur === domesticJurisdiction) {\n        collect.unshift(reqJur);\n      } else {\n        collect.push(reqJur);\n      }\n      return collect;\n    }, []);\n\n  if (upsellDomJur) {\n    reqJurs.unshift(domesticJurisdiction);\n  }\n  const\n    datas = _reduce(reqJurs, (collect, requestedJurisdiction) => {\n      const isFormed = !pendingStates[requestedJurisdiction];\n\n      collect.push(...createOrderItemsForJurisdiction(planLevel, requestedJurisdiction, domesticJurisdiction, typeKey, isFormed, filingFees));\n      return collect;\n    }, []);\n\n  return datas;\n};\n\nconst convertOrderData = (registration) => {\n  const\n    { cora } = registration,\n    { requestedJurisdictions, domesticJurisdiction, upsellDomJur } = cora,\n    reqJurs = _reduce(requestedJurisdictions, (collect, reqJur) => {\n      if (reqJur === domesticJurisdiction) {\n        collect.unshift(reqJur);\n      } else {\n        collect.push(reqJur);\n      }\n      return collect;\n    }, []);\n\n  if (upsellDomJur) {\n    reqJurs.unshift(domesticJurisdiction);\n  }\n\n  const\n    items = _reduce(reqJurs, (collect, requestedJurisdiction, index) => {\n      collect.push(...createOrderDatasForJurisdiction(requestedJurisdiction, index === 0, registration));\n      return collect;\n    }, []);\n\n  return items;\n};\n\nexport const buildOrder = (registration, filingFees, isUpdate) => {\n  const\n    { business } = registration,\n    { status: orderStatus } = business,\n    orderData = _compact([\n      ...convertOrderData(registration)\n    ]),\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData\n    }, getPricingInformation(registration.order));\n\n  if (isUpdate) {\n    order.order_uuid = registration.order.id;\n    return { order };\n  }\n\n  const\n    { id: businessId } = business,\n    accountId = registration.customer.id || '',\n    account = accountId ? null : convertAccount(registration, filingFees);\n\n  order.order_items = _compact([\n    ...convertOrderItems(registration, filingFees)\n  ]);\n\n  if (accountId) {\n    return _assign(\n      { account_uuid: accountId, order },\n      businessId ? { business_entity_uuid: businessId } : {}\n    );\n  }\n\n  return {\n    account,\n    order\n  };\n};\n","/*\nNOTE - anonymity can only be purchased as part of a purchase plan at this time. The price and fees will always be 0.\n*/\n\nimport { getPlanLevel } from '../../utils/PlanService';\nimport { getAnonymityYearlyPrice } from '../../utils/ProductService';\nimport { getPriceAndCouponForService } from '../../utils/PricingUtils';\n\nexport const zenBusinessRegisteredAgent = {\n  first_name: '',\n  last_name: '',\n  company_name: 'ZenBusiness INC',\n  address_1: '5900 Balcones Drive',\n  address_2: 'STE 5000',\n  city: 'Austin',\n  state: 'TX',\n  zip: '78731',\n  phone: '',\n  email: ''\n};\n\nexport const convertOrderItem = (registration, standalone) => {\n  const\n    { business, purchase, coupons } = registration,\n    { anonymity, planLevel } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    service = 'anonymity',\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    pricing = getPriceAndCouponForService(service, plan, coupons);\n\n  if (plan && plan.anonymity) {\n    return { service, jurisdiction, price: 0, coupon: 0, fees: 0, term: 12, period: 1, is_add_on: false };\n  }\n\n  const\n    price = plan ? pricing.servicePrice : getAnonymityYearlyPrice(),\n    coupon = plan ? pricing.serviceCouponAmount : 0,\n    fees = 0,\n    term = 12,\n    period = 1;\n\n  if (standalone || anonymity) {\n    return { service, price, coupon, fees, term, period, jurisdiction, is_add_on: !standalone && !!plan };\n  }\n  return null;\n};\n\nexport const convertOrderData = (registration, standalone) => {\n  const\n    { business, purchase } = registration,\n    { planLevel, anonymity } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    service = 'anonymity',\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null;\n\n  if ((plan && plan.anonymity) || anonymity) {\n    return { service, jurisdiction, standalone, is_new_business: !standalone, registered_agent: zenBusinessRegisteredAgent };\n  }\n  return null;\n};\n","import _assign from 'lodash/assign';\n\nimport { getPricingInformation } from './BaseDataConverter';\nimport { getPlanLevel } from '../../utils/PlanService';\nimport { getCorporateDocsPrice } from '../../utils/ProductService';\n\nexport const convertOrderItem = (registration, standalone, isPostPurchase) => {\n  const\n    { business, postpurchase, purchase } = registration,\n    { requestedJurisdiction: jurisdiction } = business,\n    { purchaseCD } = postpurchase,\n    { corporateDocs, planLevel, einBusinessDocsBundle } = purchase,\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    fees = 0,\n    service = 'corporate_docs';\n\n  if (standalone) {\n    return { service, jurisdiction, price: getCorporateDocsPrice(), fees, is_add_on: false };\n  }\n  if (isPostPurchase) {\n    if (purchaseCD) {\n      return { service, jurisdiction, price: getCorporateDocsPrice(), fees, is_add_on: false };\n    }\n    return null;\n  }\n\n  if ((plan && plan.corporate_docs) || einBusinessDocsBundle) {\n    return { service, jurisdiction, price: 0, fees: 0, is_add_on: false };\n  }\n  if (corporateDocs) {\n    return { service, jurisdiction, price: getCorporateDocsPrice(), fees, is_add_on: false };\n  }\n  return null;\n};\n\nexport const convertOrderData = (registration, standalone, isPostPurchase) => {\n  const\n    service = 'corporate_docs',\n    { business, postpurchase, purchase } = registration,\n    { requestedJurisdiction } = business,\n    { purchaseCD } = postpurchase,\n    { planLevel, corporateDocs } = purchase,\n    plan = planLevel ? getPlanLevel(planLevel, requestedJurisdiction) : null,\n    isEnabled = standalone || (isPostPurchase && purchaseCD) || (!isPostPurchase && ((plan && plan.corporate_docs) || corporateDocs));\n\n  return isEnabled ? {\n    service,\n    jurisdiction: requestedJurisdiction,\n    standalone,\n    is_new_business: false\n  } : null;\n};\n\nexport const buildOrder = (registration, accountId, filingFees) => {\n  const\n    orderStatus = 'complete',\n    orderData = [\n      convertOrderData(registration, true, false)\n    ],\n    orderItems = [\n      convertOrderItem(registration, true, false, filingFees)\n    ],\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: registration.corpDocs.companyId\n    }, getPricingInformation(registration.order));\n\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n\n","/*\nNOTE - cpa consultation can only be purchased as part of a package at this time. The price and fees will always be 0.\n */\nimport _assign from 'lodash/assign';\nimport _compact from 'lodash/compact';\n\nimport { getPricingInformation } from './BaseDataConverter';\nimport { getPlanLevel } from '../../utils/PlanService';\nimport { getCPAConsultPrice } from '../../utils/ProductService';\n\nconst convertOrderItemStandalone = (jurisdiction, standalone) => {\n  if (!standalone) {\n    return null;\n  }\n  const\n    service = 'cpa_consult';\n\n  return { service, jurisdiction, price: 0, fees: 0, is_add_on: false };\n};\n\nconst convertOrderDataStandalone = (jurisdiction, standalone) => {\n  const\n    service = 'cpa_consult';\n\n  return standalone ? {\n    service,\n    jurisdiction,\n    standalone,\n    is_new_business: !standalone\n  } : null;\n};\n\nexport const convertOrderItem = (registration, standalone) => {\n  const\n    { business, purchase } = registration,\n    { planLevel, cpaConsult } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    service = 'cpa_consult',\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null;\n\n  if (plan && plan.cpa_consult) {\n    return null; // Do not send if part of a plan - this must be activated from dashboard\n  }\n\n  const\n    price = getCPAConsultPrice(),\n    fees = 0;\n\n  if (standalone || cpaConsult) {\n    return { service, price, fees, jurisdiction, is_add_on: !standalone && !!plan };\n  }\n  return null;\n};\n\nexport const convertOrderData = (registration, standalone) => {\n  const\n    { business, purchase } = registration,\n    { planLevel, cpaConsult } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    service = 'cpa_consult',\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null;\n\n  if (plan && plan.cpa_consult) {\n    return null; // Do not send if part of plan - this must be activated from the dashboard\n  }\n  return cpaConsult ? {\n    service,\n    jurisdiction,\n    standalone,\n    is_new_business: !standalone\n  } : null;\n};\n\nexport const buildOrder = (jurisdiction, companyId, accountId) => {\n  const\n    orderStatus = 'complete',\n    orderData = _compact([\n      convertOrderDataStandalone(jurisdiction, true)\n    ]),\n    orderItems = _compact([\n      convertOrderItemStandalone(jurisdiction, true)\n    ]),\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: companyId\n    }, getPricingInformation({}));\n\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n","import _assign from 'lodash/assign';\nimport _map from 'lodash/map';\n\nimport { getPricingInformation } from './BaseDataConverter';\nimport { getPlanLevel, isAutoIncludedInPlan } from '../../utils/PlanService';\nimport { getDomainNamePrivacyYearlyPrice } from '../../utils/ProductService';\nimport { getPriceAndCouponForService } from '../../utils/PricingUtils';\nimport { purchasedDomains } from './DomainNameDataConverter';\n\nexport const convertOrderItem = (registration, standalone, websiteToolsStandalone) => {\n  const\n    { business, purchase, coupons } = registration,\n    { domainNamePrivacy, planLevel, websiteToolsBundle } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    service = 'domain_name_privacy',\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    pricing = getPriceAndCouponForService(service, plan, coupons);\n\n  if ((plan && plan.domain_name_privacy) || websiteToolsBundle || websiteToolsStandalone) {\n    // eslint-disable-next-line no-unused-vars\n    return _map(purchasedDomains(registration), (_domainName) => {\n      return {\n        service,\n        jurisdiction,\n        price: 0,\n        coupon: 0,\n        fees: 0,\n        term: 12,\n        period: 1,\n        is_add_on: false,\n        ...(plan?.uuid && { affiliate_plan_option_uuid: plan.uuid })\n      };\n    });\n  }\n\n  const\n    price = plan ? pricing.servicePrice : getDomainNamePrivacyYearlyPrice(),\n    coupon = plan ? pricing.serviceCouponAmount : 0,\n    fees = 0,\n    term = 12,\n    period = 1;\n\n  if (standalone || domainNamePrivacy || isAutoIncludedInPlan(plan, 'domain_name_privacy')) {\n    // eslint-disable-next-line no-unused-vars\n    return _map(purchasedDomains(registration), (_domainName) => {\n      return {\n        service,\n        jurisdiction,\n        price,\n        coupon,\n        fees,\n        term,\n        period,\n        is_add_on: !standalone && !!plan\n      };\n    });\n  }\n  return [];\n};\n\nexport const convertOrderData = (registration, standalone) => {\n  const\n    { business, purchase } = registration,\n    { planLevel, domainNamePrivacy } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    service = 'domain_name_privacy',\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    isAutoIncluded = isAutoIncludedInPlan(plan, 'domain_name_privacy');\n\n  if ((plan && plan.domain_name_privacy) || domainNamePrivacy || isAutoIncluded || standalone) {\n    return _map(purchasedDomains(registration), (domainName) => {\n      return {\n        service,\n        jurisdiction,\n        standalone,\n        is_new_business: !standalone,\n        is_auto_included: isAutoIncluded,\n        domain_name: domainName\n      };\n    });\n  }\n  return [];\n};\n\nexport const buildOrder = (registration, accountId) => {\n  const\n    orderStatus = 'complete',\n    orderData = [\n      ...convertOrderData(registration, true)\n    ],\n    orderItems = [\n      ...convertOrderItem(registration, true)\n    ],\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: registration.domainName.companyId\n    }, getPricingInformation(registration.order));\n\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n","import _assign from 'lodash/assign';\nimport _compact from 'lodash/compact';\nimport _map from 'lodash/map';\n\nimport { convertOrderItem as convertBasicEmailOrderItem, convertOrderData as convertBasicEmailOrderData } from './BasicEmailConverter';\nimport { convertOrderItem as convertDomainNamePrivacyOrderItem, convertOrderData as convertDomainNamePrivacyOrderData } from './DomainNamePrivacyDataConverter';\n\nimport { getPricingInformation } from './BaseDataConverter';\nimport { getPlanLevel, isAutoIncludedInPlan } from '../../utils/PlanService';\nimport { getDomainNameYearlyPrice } from '../../utils/ProductService';\nimport { getPriceAndCouponForService } from '../../utils/PricingUtils';\n\nexport const purchasedDomains = (registration) => {\n  const { domainName, purchase } = registration,\n    { primary } = domainName,\n    { domainNames } = purchase;\n  if (domainNames && domainNames.length > 0) {\n    return domainNames;\n  }\n  return [primary];\n};\n\nexport const convertOrderItem = (registration, standalone, websiteToolsStandalone) => {\n  const\n    { business, purchase, coupons } = registration,\n    { domainName = false, planLevel, websiteToolsBundle } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    service = 'domain_name_reg',\n    pricing = getPriceAndCouponForService(service, plan, coupons);\n  if ((plan && plan.domain_name_reg) || websiteToolsBundle || websiteToolsStandalone) {\n    // eslint-disable-next-line no-unused-vars\n    return _map(purchasedDomains(registration), (_domainName) => {\n      return {\n        service,\n        jurisdiction,\n        price: 0,\n        coupon: 0,\n        fees: 0,\n        term: 12,\n        period: 1,\n        is_add_on: false,\n        ...(plan?.uuid && { affiliate_plan_option_uuid: plan.uuid })\n      };\n    });\n  }\n\n  const\n    price = plan ? pricing.servicePrice : getDomainNameYearlyPrice(),\n    coupon = plan ? pricing.serviceCouponAmount : 0,\n    fees = 0,\n    term = 12,\n    period = 1;\n\n  if (standalone || domainName || isAutoIncludedInPlan(plan, 'domain_name_reg')) {\n    // eslint-disable-next-line no-unused-vars\n    return _map(purchasedDomains(registration), (_domainName) => {\n      return { service, jurisdiction, price, coupon, fees, term, period, is_add_on: !standalone && !!plan };\n    });\n  }\n  return [];\n};\n\nexport const convertOrderData = (registration, standalone) => {\n  const { business, domainName, purchase } = registration,\n    { planLevel } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    isAutoIncluded = isAutoIncludedInPlan(plan, 'domain_name_reg');\n\n  if (!(plan && plan.domain_name_reg) && !purchase.domainName && !standalone && !isAutoIncluded) {\n    return [];\n  }\n  const { alternates, verified, skip } = domainName;\n  return _map(purchasedDomains(registration), (primary) => {\n    return {\n      service: 'domain_name_reg',\n      standalone,\n      is_new_business: !standalone,\n      is_auto_included: isAutoIncluded,\n      jurisdiction,\n      primary,\n      alternates,\n      domain_verified: verified,\n      skip: skip || false\n    };\n  });\n};\n\nexport const buildOrder = (registration, accountId) => {\n  const\n    orderStatus = 'complete',\n    orderData = _compact([\n      ...convertOrderData(registration, true),\n      ...convertBasicEmailOrderData(registration, false),\n      ...convertDomainNamePrivacyOrderData(registration, false)\n    ]),\n    orderItems = _compact([\n      ...convertOrderItem(registration, true),\n      ...convertBasicEmailOrderItem(registration, false),\n      ...convertDomainNamePrivacyOrderItem(registration, false)\n    ]),\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: registration.domainName.companyId\n    }, getPricingInformation(registration.order));\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n","import _assign from 'lodash/assign';\nimport _compact from 'lodash/compact';\n\nimport { buildEntityName, convertAddress, convertUser, convertContactIfIdentified, getPricingInformation, decorateAccount } from './BaseDataConverter';\nimport { ACTIONS, URLS } from '../../constants/complete_ein';\nimport { getPlanLevel } from '../../utils/PlanService';\nimport { getEINPrice } from '../../utils/ProductService';\nimport { getPriceAndCouponForService } from '../../utils/PricingUtils';\n\nconst getPricingAndCouponAmount = (registration) => {\n  const\n    { business, purchase, coupons } = registration,\n    { planLevel } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    service = 'ein_creation',\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    pricing = getPriceAndCouponForService(service, plan, coupons);\n  return { pricing, plan };\n};\n\nconst\n  convertTaxData = (ein) => {\n    const { llcMarried, llcSingleMember, taxedAsSCorp } = ein,\n      taxInfo = {};\n\n    if (llcMarried !== null) {\n      taxInfo.members_are_married = llcMarried;\n    }\n    if (llcSingleMember !== null) {\n      taxInfo.taxed_as_single_member_llc = llcSingleMember;\n    }\n    if (taxedAsSCorp !== null) {\n      taxInfo.taxed_as_s_corp = taxedAsSCorp;\n    }\n\n    return taxInfo;\n  },\n\n  /* eslint-disable max-statements */\n  convertBusinessData = (ein) => {\n    const { gambling, atf, employeesW2, w2WagesPaidDate, w2AgriculturalEmployeeCount, w2OtherEmployeeCount, w2WagesLessThan1000, corpCareOf, corpClosingMonth, startDate } = ein,\n      { motorVehicle, motorVehicleWeight, businessForm720, businessActivity1, businessActivity2, businessActivity3, businessActivity4, businessActivity5, businessActivitySpecify } = ein,\n      businessData = {\n        activity: {\n          level_1: businessActivity1,\n          level_2: businessActivity2,\n          level_3: businessActivity3,\n          level_4: businessActivity4,\n          level_5: businessActivity5,\n          specify: businessActivitySpecify\n        }\n      };\n\n    if (startDate) {\n      const startDatePieces = startDate.split('/'),\n        startDateConverted = startDatePieces.length > 2 ? `${startDatePieces[2]}-${startDatePieces[0]}-${startDatePieces[1]}` : '';\n\n      businessData.start_date = startDateConverted;\n    }\n    if (gambling !== null) {\n      businessData.gambling = gambling;\n    }\n    if (atf !== null) {\n      businessData.alcohol_tobacco_firearms = atf;\n    }\n    if (employeesW2 !== null) {\n      businessData.employees_with_w2 = employeesW2;\n      if (employeesW2) {\n        businessData.w2_wages_paid_date = w2WagesPaidDate;\n        businessData.w2_agricultural_employees_count = w2AgriculturalEmployeeCount;\n        businessData.w2_other_employees_count = w2OtherEmployeeCount;\n        businessData.w2_wages_lt_1000 = w2WagesLessThan1000;\n      }\n    }\n    if (motorVehicle !== null) {\n      businessData.highway_vehicle = motorVehicle;\n      if (motorVehicleWeight !== null) {\n        businessData.highway_vehicle_over_55000 = motorVehicleWeight;\n      }\n    }\n    if (businessForm720 !== null) {\n      businessData.files_form_720 = businessForm720;\n    }\n    businessData.corp_care_of = corpCareOf;\n    businessData.corp_closing_month = corpClosingMonth;\n    return businessData;\n  },\n  /* eslint-enable max-statements */\n\n  convertResponsibleParty = (ein) => {\n    const\n      { responsibleParty, hasSSN } = ein;\n\n    let party = {};\n\n    if (responsibleParty) {\n      party = convertUser(responsibleParty);\n      if (responsibleParty.companyName) {\n        party.legal_name = responsibleParty.legalName;\n        party.ein_number = responsibleParty.ein;\n      } else {\n        party.suffix = responsibleParty.suffix || '';\n        party.previous_ein = responsibleParty.previousEin;\n        party.alternate_last_names = responsibleParty.alternateLastNames;\n      }\n      party.collect_data_from_user = responsibleParty.collectDataFromUser || false;\n      party.has_ssn = hasSSN;\n    }\n\n    return party;\n  },\n\n  /* eslint-disable camelcase */\n  convertAccount = (registration) => {\n    const\n      { customer, lead } = registration,\n      { firstName: first_name, middleName: middle_name, lastName: last_name, email, phoneNumber: phone, password } = customer,\n      { leadUUID: lead_uuid } = lead,\n      { cardToken: card_token } = customer;\n\n    return decorateAccount({ lead_uuid, first_name, middle_name, last_name, email: email ? email.toLowerCase() : '', phone, password, international: false, signup_client: 'web_v2', card_token });\n  };\n  /* eslint-enable camelcase */\n\nexport const convertSSN = (registration) => {\n  const\n    { ein } = registration,\n    { responsibleParty } = ein;\n\n  if (!responsibleParty || !responsibleParty.ssn) {\n    return {};\n  }\n\n  // order_ssn_tokenized is sent with the same plaintext value leaving the client. When this\n  // call is routed through the VGS inbound proxy (i.e. via postpurchase/create), VGS tokenizes\n  // it in transit so the BFF receives a token — hence the field name. order_ssn remains\n  // plaintext for backwards compatibility while the downstream migration is in progress.\n  //\n  // TODO: responsibleParty.ssn holds either an SSN or an ITIN (the collection field accepts both),\n  // but there is no tax_identifier_type signal here. The BFF currently forwards this as\n  // tax_identifier_type: 'ssn' unconditionally. Investigate emitting an order_ssn_tokenized_type\n  // field alongside order_ssn_tokenized so the BFF can set the correct type on the EIN OrderTask.\n  return { order_ssn: responsibleParty.ssn, order_ssn_tokenized: responsibleParty.ssn };\n};\n\nexport const convertOrderItem = (registration, standalone) => {\n  const\n    { business, purchase } = registration,\n    { ein, planLevel, einBusinessDocsBundle } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    service = 'ein_creation',\n    servicePricing = getPricingAndCouponAmount(registration);\n\n  if ((plan && plan.ein_creation) || einBusinessDocsBundle) {\n    return { service, jurisdiction, price: 0, coupon: 0, fees: 0, is_add_on: false };\n  }\n  if (standalone || ein) {\n    return {\n      service,\n      jurisdiction,\n      price: plan ? servicePricing.pricing.servicePrice : getEINPrice(),\n      coupon: plan ? servicePricing.pricing.serviceCouponAmount : 0,\n      fees: 0,\n      is_add_on: !standalone && !!plan\n    };\n  }\n  return null;\n};\n\n/* eslint-disable camelcase */\nexport const convertOrderData = (registration, standalone) => {\n  const { business, businessAddresses, contact, ein, members, order, page, purchase } = registration,\n    { planLevel } = purchase,\n    { requestedJurisdiction: jurisdiction, domesticJurisdiction } = business,\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null;\n\n  if (!(plan && plan.ein_creation) && !purchase.ein && !standalone) {\n    return null;\n  }\n\n  const\n    { type, name, indicator, status, description, id: businessId } = business,\n    { principal: principalAddress, mailing: mailingAddress, physical: physicalAddress } = businessAddresses,\n    { county } = physicalAddress,\n    { reason, dbas: trade_names, phoneNumber: phone } = ein,\n    { id = '' } = order,\n    { completedAction, completedUrl, completedActionIndex } = page,\n    memberCount = members.memberCount ? members.memberCount : ein.memberCount,\n    formationType = type === 'LLCX' ? 'llc' : 'corp',\n    entityType = type === 'SOLE' ? 'sole_prop' : formationType,\n    // API-1163: only include mailing_address when it has at least one meaningful field.\n    // businessAddresses.mailing starts as EMPTY_ADDRESS (all '' / 0), and convertAddress\n    // passes those through since removeEmptyValues only strips null/undefined. Omitting the\n    // field when blank leaves any previously-saved value in zenapi intact.\n    convertedMailing = convertAddress(mailingAddress),\n    mailingField = (convertedMailing.city || convertedMailing.state || convertedMailing.zip || convertedMailing.address_1)\n      ? { mailing_address: convertedMailing }\n      : {},\n    data = _assign({\n      service: 'ein_creation',\n      standalone,\n      jurisdiction,\n      domestic_jurisdiction: domesticJurisdiction,\n      type, // Keep for backward compatibility\n      entity_type: entityType,\n      is_new_business: !standalone,\n      reason: reason || 'Started New Business',\n      member_count: memberCount || null,\n      business_purpose: description,\n      address: convertAddress(physicalAddress),\n      principal_address: convertAddress(principalAddress),\n      county,\n      phone,\n      trade_names,\n      tax_info: convertTaxData(ein),\n      business_data: convertBusinessData(ein),\n      responsible_party: convertResponsibleParty(ein)\n    }, mailingField, convertContactIfIdentified(contact));\n\n  if (standalone) {\n    if (!businessId) {\n      data.entity_name = buildEntityName(name, indicator);\n    }\n    if (status === 'incomplete') {\n      if (businessId && name) {\n        data.entity_name = buildEntityName(name, indicator);\n      }\n      data.completed_action = id ? completedAction : ACTIONS.START_EIN;\n      data.completed_url = id ? completedUrl : URLS.START_EIN;\n      data.completed_action_index = id ? completedActionIndex : 5200;\n    }\n  }\n  return data;\n};\n/* eslint-enable camelcase */\n\nexport const buildOrder = (registration, isUpdate) => {\n  const\n    { business } = registration,\n    { status: orderStatus } = business,\n    orderData = _compact([\n      convertOrderData(registration, true)\n    ]),\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData\n    }, convertSSN(registration), getPricingInformation(registration.order));\n\n  if (isUpdate) {\n    order.order_uuid = registration.order.id;\n    return { order };\n  }\n\n  const\n    { id: businessId } = business,\n    accountId = registration.customer.id || '',\n    account = accountId ? null : convertAccount(registration);\n\n  order.order_items = _compact([\n    convertOrderItem(registration, true)\n  ]);\n\n  if (accountId) {\n    if (businessId) {\n      order.business_entity_uuid = businessId;\n    }\n    return {\n      account_uuid: accountId,\n      order\n    };\n  }\n  return {\n    account,\n    order\n  };\n};\n\n","import { getPlanLevel } from '../../utils/PlanService';\nimport { getExpeditePriorityPrice, getExpediteRushPrice } from '../../utils/ProductService';\nimport { getPriceAndCouponForService } from '../../utils/PricingUtils';\n\nexport const convertOrderItem = (registration, standalone, expediteFees) => {\n  const\n    { business, purchase, coupons } = registration,\n    { expedite, planLevel } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null;\n\n  // DJL - any add-ons will be represented by the ExpediteUpsellDataConverter\n  if (plan) {\n    if (plan.expedite === 'standard' || !plan.expedite) {\n      return null;\n    }\n    return { service: plan.expedite === 'rush' ? 'rush' : 'expedite', jurisdiction, price: 0, coupon: 0, fees: 0, is_add_on: false };\n  }\n\n  const\n    service = expedite === 'rush' ? 'rush' : 'expedite',\n    pricing = getPriceAndCouponForService(service, plan, coupons),\n    hardcodedPrice = expedite === 'rush' ? getExpediteRushPrice() : getExpeditePriorityPrice(),\n    price = plan ? pricing.servicePrice : hardcodedPrice,\n    coupon = plan ? pricing.serviceCouponAmount : 0,\n    exFees = expediteFees[jurisdiction][expedite],\n    { fees } = exFees;\n\n  if (expedite && expedite !== 'standard') {\n    return { service, jurisdiction, price, coupon, fees, is_add_on: false };\n  }\n  return null;\n};\n\nexport const convertOrderData = (registration) => {\n  const\n    { business, purchase } = registration,\n    { expedite, planLevel } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null;\n\n  // DJL - any add-ons will be represented by the ExpediteUpsellDataConverter\n  if (plan) {\n    if (plan.expedite === 'standard' || !plan.expedite) {\n      return null;\n    }\n    return { service: plan.expedite === 'rush' ? 'rush' : 'expedite', jurisdiction };\n  }\n\n  const\n    service = expedite === 'rush' ? 'rush' : 'expedite';\n\n  return expedite && expedite !== 'standard' ? { service, jurisdiction } : null;\n};\n","import { getPlanLevel } from '../../utils/PlanService';\nimport { getExpeditePriorityPrice, getExpediteRushPrice } from '../../utils/ProductService';\nimport { getPriceAndCouponForService } from '../../utils/PricingUtils';\n\nexport const convertOrderItem = (registration, standalone, expediteFees) => {\n  const\n    { business, purchase, coupons } = registration,\n    { expedite, planLevel } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null;\n\n  if (!plan || !expedite || plan.expedite === 'rush' || plan.expedite === expedite || (plan.expedite === 'priority' && expedite === 'standard')) {\n    return null;\n  }\n\n  const\n    baseService = expedite === 'rush' ? 'rush' : 'expedite',\n    service = plan.expedite === 'priority' && expedite === 'rush' ? 'expedite_to_rush_upgrade' : baseService,\n    pricing = getPriceAndCouponForService(service, plan, coupons),\n    hardcodedPrice = expedite === 'rush' ? getExpediteRushPrice() : getExpeditePriorityPrice(),\n    price = plan ? pricing.servicePrice : hardcodedPrice,\n    coupon = plan ? pricing.serviceCouponAmount : 0,\n    exFees = expediteFees[jurisdiction][expedite],\n    { fees } = exFees;\n\n  return { service, jurisdiction, price, coupon, fees, is_add_on: true };\n};\n\nexport const convertOrderData = (registration) => {\n  const\n    { business, purchase } = registration,\n    { expedite, planLevel } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null;\n\n  if (!plan || !expedite || plan.expedite === 'rush' || plan.expedite === expedite || (plan.expedite === 'priority' && expedite === 'standard')) {\n    return null;\n  }\n\n  const\n    baseService = expedite === 'rush' ? 'rush' : 'expedite',\n    service = plan.expedite === 'priority' && expedite === 'rush' ? 'expedite_to_rush_upgrade' : baseService;\n\n  return { service, jurisdiction };\n};\n","/*\nNOTE - cpa assessment can only be purchased as part of a package at this time. The price and fees will always be 0.\n */\nimport _assign from 'lodash/assign';\nimport _compact from 'lodash/compact';\n\nimport { getPricingInformation } from './BaseDataConverter';\nimport { getPlanLevel } from '../../utils/PlanService';\nimport { getInitialCPAScreeningPrice } from '../../utils/ProductService';\nimport { getPriceAndCouponForService } from '../../utils/PricingUtils';\n\nconst convertOrderItemStandalone = (jurisdiction, standalone) => {\n  if (!standalone) {\n    return null;\n  }\n  const\n    service = 'initial_cpa_screening';\n\n  return { service, jurisdiction, price: 0, coupon: 0, fees: 0, is_add_on: false };\n};\n\nconst convertOrderDataStandalone = (jurisdiction, standalone) => {\n  const\n    service = 'initial_cpa_screening';\n\n  return standalone ? {\n    service,\n    jurisdiction,\n    standalone,\n    is_new_business: !standalone\n  } : null;\n};\n\nexport const convertOrderItem = (registration, standalone) => {\n  const\n    { business, purchase, coupons } = registration,\n    { planLevel, initialCPAScreening } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    service = 'initial_cpa_screening',\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    pricing = getPriceAndCouponForService(service, plan, coupons);\n\n  if (plan && plan.initial_cpa_screening) {\n    return null; // Do not send if part of a plan - this must be activated from dashboard\n  }\n\n  const\n    price = plan ? pricing.servicePrice : getInitialCPAScreeningPrice(),\n    coupon = plan ? pricing.serviceCouponAmount : 0,\n    fees = 0;\n\n  if (standalone || initialCPAScreening) {\n    return { service, price, coupon, fees, jurisdiction, is_add_on: !standalone && !!plan };\n  }\n  return null;\n};\n\nexport const convertOrderData = (registration, standalone) => {\n  const\n    { business, purchase } = registration,\n    { planLevel, initialCPAScreening } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    service = 'initial_cpa_screening',\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null;\n\n  if (plan && plan.initial_cpa_screening) {\n    return null; // Do not send if part of plan - this must be activated from the dashboard\n  }\n  return initialCPAScreening ? {\n    service,\n    jurisdiction,\n    standalone,\n    is_new_business: !standalone\n  } : null;\n};\n\nexport const buildOrder = (jurisdiction, companyId, accountId) => {\n  const\n    orderStatus = 'complete',\n    orderData = _compact([\n      convertOrderDataStandalone(jurisdiction, true)\n    ]),\n    orderItems = _compact([\n      convertOrderItemStandalone(jurisdiction, true)\n    ]),\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: companyId\n    }, getPricingInformation({}));\n\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n","import _assign from 'lodash/assign';\nimport _compact from 'lodash/compact';\n\nimport { buildEntityName, convertAddress, convertContactIfIdentified, convertManagers, convertMembers, convertRegisteredAgent, getPricingInformation, decorateAccount } from './BaseDataConverter';\nimport { ACTIONS, URLS } from '../../constants/complete_nypub';\nimport { getNYPubPrice, getNYPubFees, getGAPubPrice, getPAPubPrice } from '../../utils/ProductService';\nimport { getPlanLevel } from '../../utils/PlanService';\nimport { getPriceAndCouponForService } from '../../utils/PricingUtils';\n\nconst getPricingAndCouponAmount = (registration) => {\n  const\n    { business, purchase, coupons } = registration,\n    { planLevel } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    service = 'ny_publication',\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    pricing = getPriceAndCouponForService(service, plan, coupons);\n\n  return { pricing, plan };\n};\n\n/* eslint-disable camelcase */\nconst convertAccount = (registration) => {\n  const\n    { customer, lead } = registration,\n    { firstName: first_name, middleName: middle_name, lastName: last_name, suffix, email, phoneNumber: phone, password } = customer,\n    { cardToken: card_token } = customer,\n    { leadUUID: lead_uuid } = lead;\n\n  return decorateAccount({ lead_uuid, first_name, middle_name, last_name, suffix, email: email ? email.toLowerCase() : '', phone, password, international: false, signup_client: 'web_v2', card_token });\n};\n/* eslint-enable camelcase */\n\nconst getPubFee = (registration, filingFees) => {\n\n  const { nypub } = registration,\n    { nyPubCountyCode, useAlbany, pubState } = nypub;\n\n  if (pubState === 'GA') {\n    return getGAPubPrice();\n  } if (pubState === 'PA') {\n    return getPAPubPrice();\n  }\n  return getNYPubFees(useAlbany || !nyPubCountyCode ? 'albany' : nyPubCountyCode, filingFees);\n\n};\n\nconst getEntityType = (type) => {\n  return type === 'CORP' ? 'corp' : 'llc';\n};\n\nexport const convertOrderItem = (registration, standalone, filingFees) => {\n  const { business: { requestedJurisdiction: jurisdiction }, purchase: { nyPublication } } = registration,\n    service = 'ny_publication',\n    servicePricing = getPricingAndCouponAmount(registration),\n    fees = getPubFee(registration, filingFees);\n\n  if ((standalone || nyPublication) && (jurisdiction === 'NY' || jurisdiction === 'GA' || jurisdiction === 'PA')) {\n    return {\n      service,\n      price: servicePricing.plan ? servicePricing.pricing.servicePrice : getNYPubPrice(),\n      coupon: servicePricing.plan ? servicePricing.pricing.serviceCouponAmount : 0,\n      fees,\n      jurisdiction,\n      is_add_on: !standalone\n    };\n  }\n  return null;\n};\n\nexport const convertOrderData = (registration, isLLC, isStandalone) => {\n  const { business, businessAddresses, contact, managers, members, nypub, purchase, order, page, registeredAgent } = registration;\n\n  if ((!purchase.nyPublication && !isStandalone) || (business.requestedJurisdiction !== 'NY' && business.requestedJurisdiction !== 'GA' && business.requestedJurisdiction !== 'PA')) {\n    return null;\n  }\n\n  const { requestedJurisdiction: jurisdiction, type, name, indicator, status, description } = business,\n    { mailing, physical, principal } = businessAddresses,\n    { nyPubCounty, useAlbany } = nypub,\n    { phoneNumber: phone } = contact,\n    { id = '' } = order,\n    { completedAction, completedUrl, completedActionIndex } = page;\n  let countyName = '';\n\n  countyName = (useAlbany || !nyPubCounty) ? 'Albany County' : nyPubCounty;\n\n  if (jurisdiction === 'GA' && registeredAgent.type === 'ZenBusiness') {\n    countyName = 'Fulton County';\n  } else if (jurisdiction === 'PA' && registeredAgent.type === 'ZenBusiness') {\n    countyName = 'Dauphin County';\n  }\n\n\n  const dat = _assign({\n    service: 'ny_publication',\n    standalone: isStandalone,\n    jurisdiction,\n    domestic_jurisdiction: jurisdiction,\n    ny_publication_county: countyName,\n    type: business.type, // Keep for backward compatibility\n    entity_type: getEntityType(type),\n    entity_name: buildEntityName(name, indicator),\n    business_purpose: description,\n    is_new_business: false,\n    principal_address: convertAddress(principal),\n    mailing_address: convertAddress(mailing),\n    address: convertAddress(physical),\n    first_name: contact ? contact.firstName : '',\n    last_name: contact ? contact.lastName : '',\n    phone,\n    estimated_formation_date: '',\n    activity: '',\n    // Used with standalone RA\n    domestic_entity: true,\n    foreign_jurisdictions: [],\n    domestic_filing_date: '',\n    state_id: ''\n  },\n  convertContactIfIdentified(contact),\n  convertManagers(managers),\n  convertMembers(members),\n  convertRegisteredAgent(registeredAgent, business, { registeredAgent: false })\n  );\n\n  if (isStandalone) {\n    dat.entity_name = name;\n    if (status === 'incomplete') {\n      dat.completed_action = id ? completedAction : ACTIONS.START;\n      dat.completed_url = id ? completedUrl : URLS.START;\n      dat.completed_action_index = id ? completedActionIndex : 5700;\n    }\n  }\n\n  return dat;\n};\n\nexport const buildOrder = (registration, isLLC, filingFees, isUpdate) => {\n  const\n    { business } = registration,\n    { status: orderStatus } = business,\n    orderData = _compact([\n      convertOrderData(registration, isLLC, true)\n    ]),\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData\n    }, getPricingInformation(registration.order));\n\n  if (isUpdate) {\n    order.order_uuid = registration.order.id;\n    return { order };\n  }\n\n  const\n    { id: businessId } = business,\n    accountId = registration.customer.id || '',\n    account = accountId ? null : convertAccount(registration);\n\n  order.order_items = _compact([\n    convertOrderItem(registration, true, filingFees)\n  ]);\n\n  if (accountId) {\n    if (businessId) {\n      order.business_entity_uuid = businessId;\n    }\n    return {\n      account_uuid: accountId,\n      order\n    };\n  }\n  return {\n    account,\n    order\n  };\n};\n","import _assign from 'lodash/assign';\nimport _compact from 'lodash/compact';\n\nimport { getPricingInformation, decorateAccount, convertUser } from './BaseDataConverter';\nimport { getPlanLevel, isAutoIncludedInPlan } from '../../utils/PlanService';\nimport { getRAYearlyPrice } from '../../utils/ProductService';\nimport { getPriceAndCouponForService } from '../../utils/PricingUtils';\n\nconst getPricingAndCouponAmount = (registration) => {\n  const\n    { business, purchase, coupons } = registration,\n    { planLevel } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    service = 'registered_agent_service',\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    pricing = getPriceAndCouponForService(service, plan, coupons);\n  return { pricing, plan };\n};\n\n/* eslint-disable camelcase */\nconst\n  convertAccount = (registration) => {\n    const\n      { customer, lead } = registration,\n      { firstName: first_name, middleName: middle_name, lastName: last_name, suffix, email, phoneNumber: phone, password } = customer,\n      { cardNumber: number, expMonth, expYear, cvc } = customer,\n      { leadUUID: lead_uuid } = lead,\n      servicePricing = getPricingAndCouponAmount(registration),\n      amount = servicePricing ? servicePricing.pricing.servicePrice : getRAYearlyPrice(),\n      card = { number, exp_month: parseInt(expMonth, 10), exp_year: 2000 + parseInt(expYear, 10), cvc, amount, default: true };\n\n    return decorateAccount({ lead_uuid, first_name, middle_name, last_name, suffix, email: email ? email.toLowerCase() : '', phone, password, international: false, signup_client: 'web_v2', card });\n  };\n\nexport const zenBusinessRegisteredAgent = {\n  first_name: '',\n  middle_name: '',\n  last_name: '',\n  suffix: '',\n  company_name: '',\n  address_1: '',\n  address_2: '',\n  city: '',\n  county: '',\n  state: '',\n  state_name: '',\n  zip: '',\n  phone: '',\n  email: ''\n};\n\nexport const convertOrderItem = (registration, standalone, filingFees) => {\n  const\n    { business, purchase, postpurchase: { purchaseRA } } = registration,\n    { registeredAgentService, planLevel } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    privacyFees = filingFees[jurisdiction].registered_agent_service || { fees: 0 },\n    service = 'registered_agent_service',\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    servicePricing = getPricingAndCouponAmount(registration);\n\n  if (plan && plan.registered_agent_service) {\n    return { service, jurisdiction, price: 0, coupon: 0, fees: 0, term: 12, period: 1, is_add_on: false };\n  }\n\n  const\n    price = plan ? servicePricing.pricing.servicePrice : getRAYearlyPrice(),\n    coupon = plan ? servicePricing.pricing.serviceCouponAmount : 0,\n    { fees } = privacyFees,\n    term = 12,\n    period = 1;\n\n  if (standalone || registeredAgentService || isAutoIncludedInPlan(plan, 'registered_agent_service') || purchaseRA) {\n    return { service, price, coupon, fees, term, period, jurisdiction, is_add_on: !standalone && !!plan };\n  }\n  return null;\n};\n\n/* eslint-disable camelcase */\nexport const convertOrderData = (registration, standalone) => {\n  const { business, purchase, postpurchase: { purchaseRA }, registeredAgent } = registration,\n    { planLevel, registeredAgentService } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    isAutoIncluded = isAutoIncludedInPlan(plan, 'registered_agent_service');\n\n  if (!(plan && plan.registered_agent_service) && !registeredAgentService && !standalone && !isAutoIncluded && !purchaseRA) {\n    return null;\n  }\n\n  const isZenBusiness = !registeredAgent || registeredAgent.type === 'ZenBusiness';\n\n  return {\n    service: 'registered_agent_service',\n    jurisdiction,\n    domestic_jurisdiction: jurisdiction,\n    standalone,\n    is_new_business: !standalone,\n    is_auto_included: isAutoIncluded,\n    registered_agent: isZenBusiness ? {} : convertUser(registeredAgent)\n  };\n};\n\nexport const buildOrder = (registration, filingFees, isUpdate) => {\n  const\n    { business } = registration,\n    { status: orderStatus } = business,\n    orderData = _compact([\n      convertOrderData(registration, true)\n    ]),\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData\n    }, getPricingInformation(registration.order));\n\n  if (isUpdate) {\n    order.order_uuid = registration.order.id;\n    return { order };\n  }\n\n  const\n    { id: businessId } = business,\n    accountId = registration.customer.id || '',\n    account = accountId ? null : convertAccount(registration);\n\n  order.order_items = _compact([\n    convertOrderItem(registration, true, filingFees)\n  ]);\n\n  if (accountId) {\n    if (businessId) {\n      order.business_entity_uuid = businessId;\n    }\n    return {\n      account_uuid: accountId,\n      order\n    };\n  }\n  return {\n    account,\n    order\n  };\n};\n\n","import { getPlanLevel } from '../../utils/PlanService';\n\nexport const convertOrderItem = (registration, standalone) => {\n  const\n    { business, purchase } = registration,\n    { planLevel } = purchase,\n    { domesticJurisdiction, requestedJurisdiction, type } = business,\n    jurisdiction = requestedJurisdiction || domesticJurisdiction,\n    plan = getPlanLevel(planLevel, jurisdiction) || { corp: { prices: { 1: 0, 12: 0 } }, llc: { prices: { 1: 0, 12: 0 } } },\n    { prices } = plan[type === 'CORP' ? 'corp' : 'llc'], // fees are covered in the formation item\n    price = prices['1'],\n    service = plan.id,\n    uuid = plan.uuid,\n    recurring = plan.recurring,\n    term = 12,\n    period = 1,\n    coupon = plan.coupon ? plan.coupon.amount : 0;\n\n  if (standalone || planLevel) {\n    if (!recurring) {\n      return { service, affiliate_plan_option_uuid: uuid, price, coupon, fees: 0, jurisdiction, is_add_on: false };\n    }\n    return { service, affiliate_plan_option_uuid: uuid, price, coupon, fees: 0, term, period, jurisdiction, is_add_on: false };\n  }\n\n  return null;\n};\n\nexport const convertOrderData = (registration, standalone) => {\n  const\n    { business, plan: planReduce, purchase } = registration,\n    { planLevel } = purchase,\n    { domesticJurisdiction, requestedJurisdiction } = business,\n    jurisdiction = requestedJurisdiction || domesticJurisdiction,\n    plan = planReduce.plan || getPlanLevel(planLevel, jurisdiction) || { id: '' },\n    service = plan.id;\n\n  return planLevel ? {\n    service,\n    jurisdiction,\n    standalone,\n    is_new_business: !standalone,\n    level: planLevel,\n    plan\n  } : null;\n};\n","/*\nNOTE - s_corp_designation can only be purchased from S-Corp landing pages at this time.\n*/\n\nexport const convertOrderItem = (registration, standalone) => {\n  const\n    { business } = registration,\n    { requestedJurisdiction: jurisdiction, isSCorp } = business,\n    service = 's_corp_designation';\n\n  if (standalone || isSCorp) {\n    return { service, jurisdiction, price: 0, coupon: 0, fees: 0, is_add_on: false };\n  }\n\n  return null;\n};\n\nexport const convertOrderData = (registration, standalone) => {\n  const\n    { business } = registration,\n    { requestedJurisdiction: jurisdiction, isSCorp } = business,\n    service = 's_corp_designation';\n\n  if (standalone || isSCorp) {\n    return { service, jurisdiction, standalone, is_new_business: !standalone };\n  }\n  return null;\n};\n","import _assign from 'lodash/assign';\n\nimport { getPricingInformation } from './BaseDataConverter';\nimport { getPlanLevel, isAutoIncludedInPlan } from '../../utils/PlanService';\nimport { getStaticWebsiteYearlyPrice } from '../../utils/ProductService';\nimport { getPriceAndCouponForService } from '../../utils/PricingUtils';\n\nexport const convertOrderItem = (registration, standalone, websiteToolsStandalone) => {\n  const\n    { business, purchase, coupons } = registration,\n    { staticWebsite = false, planLevel, websiteToolsBundle } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    service = 'static_website',\n    pricing = getPriceAndCouponForService(service, plan, coupons);\n\n  if ((plan && plan.static_website) || websiteToolsBundle || websiteToolsStandalone) {\n    return {\n      service,\n      jurisdiction,\n      price: 0,\n      coupon: 0,\n      fees: 0,\n      term: 12,\n      period: 1,\n      is_add_on: false,\n      ...(plan?.uuid && { affiliate_plan_option_uuid: plan.uuid })\n    };\n  }\n\n  const\n    price = plan ? pricing.servicePrice : getStaticWebsiteYearlyPrice(),\n    coupon = plan ? pricing.serviceCouponAmount : 0,\n    fees = 0,\n    term = 12,\n    period = 1;\n\n  if (standalone || staticWebsite || isAutoIncludedInPlan(plan, 'static_website')) {\n    return { service, jurisdiction, price, coupon, fees, term, period, is_add_on: !standalone && !!plan };\n  }\n  return null;\n};\n\nexport const convertOrderData = (registration, standalone) => {\n  const { business, purchase } = registration,\n    { planLevel } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    isAutoIncluded = !standalone && isAutoIncludedInPlan(plan, 'static_website');\n\n  if (!(plan && plan.static_website) && !purchase.staticWebsite && !standalone && !isAutoIncluded) {\n    return null;\n  }\n\n  const\n    data = {\n      service: 'static_website',\n      standalone: false,\n      jurisdiction,\n      is_new_business: !standalone,\n      is_auto_included: isAutoIncluded\n    };\n\n  return data;\n};\n\nexport const buildOrder = (registration, accountId) => {\n  const\n    orderStatus = 'complete',\n    orderData = [\n      convertOrderData(registration, true)\n    ],\n    orderItems = [\n      convertOrderItem(registration, true)\n    ],\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: registration.website.companyId\n    }, getPricingInformation(registration.order));\n\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n","/*\nNOTE - tax preparation can only be purchased as part of a package at this time. The price and fees will always be 0.\n */\n\nimport { getPlanLevel, isAutoIncludedInPlan } from '../../utils/PlanService';\nimport { getTaxPreparationYearlyPrice } from '../../utils/ProductService';\n\nexport const convertOrderItem = (registration, standalone) => {\n  const\n    { business, purchase } = registration,\n    { planLevel, taxPreparation } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    service = 'tax_preparation',\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null;\n\n  if (plan && plan.tax_preparation) {\n    return { service, jurisdiction, price: 0, fees: 0, term: 12, period: 1, is_add_on: false };\n  }\n\n  const\n    price = getTaxPreparationYearlyPrice(),\n    fees = 0,\n    term = 12,\n    period = 1;\n\n  if (standalone || taxPreparation || isAutoIncludedInPlan(plan, 'tax_preparation')) {\n    return { service, jurisdiction, price, fees, term, period, is_add_on: !standalone && !!plan };\n  }\n\n  return null;\n};\n\nexport const convertOrderData = (registration, standalone) => {\n  const\n    { business, purchase } = registration,\n    { planLevel, taxPreparation } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    service = 'tax_preparation',\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    isAutoIncluded = isAutoIncludedInPlan(plan, 'tax_preparation');\n\n  return ((plan && plan.tax_preparation) || taxPreparation || isAutoIncluded) ? {\n    service,\n    jurisdiction,\n    standalone,\n    is_new_business: !standalone,\n    is_auto_included: isAutoIncluded\n  } : null;\n};\n","import { buildPlanGatedZeroItem } from './BaseDataConverter';\nimport { getPlanLevel, isAutoIncludedInPlan } from '../../utils/PlanService';\n\nexport const convertOrderItem = (registration) => {\n  const\n    { business, purchase } = registration,\n    { requestedJurisdiction: jurisdiction } = business,\n    service = 'annual_report_service',\n    { activePlanLevel } = purchase,\n    activePlan = activePlanLevel ? getPlanLevel(activePlanLevel, jurisdiction) : null;\n\n  if (activePlan && activePlan.annual_report_service) {\n    return buildPlanGatedZeroItem(service, jurisdiction, activePlan, { coupon: 0, fees: 0, term: 12, period: 1 });\n  }\n\n  return null;\n};\n\nexport const convertOrderData = (registration, standalone) => {\n  const\n    { business, purchase } = registration,\n    { requestedJurisdiction: jurisdiction } = business,\n    service = 'annual_report_service',\n    { planLevel } = purchase,\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    isAutoIncluded = isAutoIncludedInPlan(plan, 'annual_report_service');\n\n  // this product is not being sell as upsell so let's just check if its part of the plan\n  return (plan && plan.annual_report_service) ? {\n    service,\n    jurisdiction,\n    standalone,\n    is_new_business: true,\n    is_auto_included: isAutoIncluded\n  } : null;\n};\n","/* eslint-disable camelcase */\nimport _assign from 'lodash/assign';\nimport _capitalize from 'lodash/capitalize';\n\nimport { getPlanLevel } from '../../utils/PlanService';\nimport { getPricingInformation } from './BaseDataConverter';\nimport { getAccountant1800Price, isAccountant1800Enabled } from '../../utils/ProductService';\nimport { getEntryPointGroup } from '../../utils/PartnerUtils';\n\nconst getRemaginePlanName = (planLevel, industry, entity_type) => {\n  const type = entity_type.toUpperCase();\n  if (planLevel === 'level2') {\n    return `${_capitalize(industry)} ${type}`;\n  }\n  return `${planLevel === 'level3' ? 'Premium' : 'Starter'} ${type}`;\n};\n\nexport const convertOrderItem = (registration, standalone) => {\n\n  if (!isAccountant1800Enabled()) {\n    return null;\n  }\n\n  const\n    { business: {\n      domesticJurisdiction: jurisdiction\n    },\n    purchase: {\n      planLevel, accountant1800\n    } } = registration,\n    service = '1800_accountant',\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null;\n\n  // check plan\n  if (plan && plan['1800_accountant']) {\n    return {\n      service,\n      jurisdiction,\n      price: 0,\n      fees: 0,\n      coupon: 0,\n      period: 1,\n      term: 12,\n      is_add_on: false\n    };\n  }\n\n  // check standalone status\n  if (standalone || accountant1800) {\n    return {\n      service,\n      jurisdiction,\n      price: getAccountant1800Price(),\n      fees: 0,\n      coupon: 0,\n      period: 1,\n      term: 12,\n      is_add_on: false\n    };\n  }\n  return null;\n};\n\nexport const convertOrderData = (registration, standalone) => {\n\n  if (!isAccountant1800Enabled()) {\n    return null;\n  }\n\n  const\n    { business: {\n      domesticJurisdiction: jurisdiction,\n      type: entity_type,\n      name: entity_name\n    },\n    customer: {\n      firstName: first_name,\n      lastName: last_name,\n      phoneNumber: phone,\n      email\n    },\n    remagine: {\n      industry\n    },\n    purchase: {\n      planLevel,\n      accountant1800\n    } } = registration,\n    service = '1800_accountant',\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null;\n\n  if ((plan && plan['1800_accountant']) || accountant1800 || standalone) {\n    const acc_entity_type = (entity_type === 'LLCX') ? 'llc' : 'corp';\n    const package_purchased = getEntryPointGroup() === 'pf' ? getRemaginePlanName(planLevel, industry, acc_entity_type) : '';\n    return {\n      service,\n      jurisdiction,\n      is_add_on: false,\n      phone,\n      acc_entity_type,\n      acc_entity_name: entity_name,\n      email,\n      acc_first_name: first_name,\n      acc_last_name: last_name,\n      industry,\n      package_purchased\n    };\n  }\n  return null;\n};\n\nexport const buildOrder = (registration, accountId) => {\n  const\n    orderStatus = 'complete',\n    orderData = [\n      convertOrderData(registration, true)\n    ],\n    orderItems = [\n      convertOrderItem(registration, true)\n    ],\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: registration.domainName.companyId\n    }, getPricingInformation(registration.order));\n\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n","import _assign from 'lodash/assign';\nimport _compact from 'lodash/compact';\nimport { getPlanLevel, getWebsiteToolsBundleYearlyPrice } from '../../utils/PlanService';\nimport { getPriceAndCouponForService } from '../../utils/PricingUtils';\nimport { getPricingInformation } from './BaseDataConverter';\nimport { convertOrderItem as convertBasicEmailOrderItem, convertOrderData as convertBasicEmailOrderData } from './BasicEmailConverter';\nimport { convertOrderItem as convertDomainNameOrderItem, convertOrderData as convertDomainNameOrderData } from './DomainNameDataConverter';\nimport { convertOrderItem as convertDomainNamePrivacyOrderItem, convertOrderData as convertDomainNamePrivacyOrderData } from './DomainNamePrivacyDataConverter';\nimport { convertOrderItem as convertStaticWebsiteOrderItem, convertOrderData as convertStaticWebsiteOrderData } from './StaticWebsiteDataConverter';\n\nexport const convertOrderItem = (registration, standalone) => {\n  const\n    { business, purchase, coupons } = registration,\n    { websiteToolsBundle = false, planLevel } = purchase,\n    { requestedJurisdiction: jurisdiction, type: businessType } = business,\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    service = 'website_tools_bundle',\n    pricing = getPriceAndCouponForService(service, plan, coupons),\n    term = 12,\n    period = 1;\n\n  const\n    price = plan ? pricing.servicePrice : getWebsiteToolsBundleYearlyPrice(businessType),\n    coupon = plan ? pricing.serviceCouponAmount : 0,\n    fees = 0;\n\n  if (standalone || websiteToolsBundle) {\n    return { service, jurisdiction, price, coupon, fees, term, period, is_add_on: !standalone };\n  }\n  return null;\n};\n\nexport const convertOrderData = (registration, standalone) => {\n  const { business, purchase } = registration,\n    { websiteToolsBundle } = purchase,\n    { requestedJurisdiction: jurisdiction } = business;\n\n  if (!standalone && !websiteToolsBundle) {\n    return null;\n  }\n\n  const\n    data = {\n      service: 'website_tools_bundle',\n      standalone: false,\n      jurisdiction,\n      is_new_business: !standalone,\n      is_auto_included: false\n    };\n\n  return data;\n};\n\nexport const buildOrder = (registration, accountId, filingFees) => {\n  const\n    orderStatus = 'complete',\n    orderData = _compact([\n      ...convertDomainNameOrderData(registration, true),\n      ...convertDomainNamePrivacyOrderData(registration, true),\n      ...convertBasicEmailOrderData(registration, true),\n      convertStaticWebsiteOrderData(registration, true),\n      convertOrderData(registration, true)\n    ]),\n    orderItems = _compact([\n      ...convertDomainNameOrderItem(registration, true, true),\n      ...convertDomainNamePrivacyOrderItem(registration, true, true),\n      ...convertBasicEmailOrderItem(registration, true, true),\n      convertStaticWebsiteOrderItem(registration, true, true),\n      convertOrderItem(registration, true, filingFees)\n    ]),\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: registration.domainName.companyId\n    }, getPricingInformation(registration.order));\n\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n\n","import { getPlanLevel, getEINBusinessDocsBundlePrice } from '../../utils/PlanService';\n\nimport { getPriceAndCouponForService } from '../../utils/PricingUtils';\n\nexport const convertOrderItem = (registration, standalone) => {\n  const\n    { business, purchase, coupons } = registration,\n    { einBusinessDocsBundle = false, planLevel } = purchase,\n    { requestedJurisdiction: jurisdiction, type: businessType } = business,\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    service = 'ein_business_docs_bundle',\n    pricing = getPriceAndCouponForService(service, plan, coupons);\n\n  const\n    price = plan ? pricing.servicePrice : getEINBusinessDocsBundlePrice(businessType),\n    coupon = plan ? pricing.serviceCouponAmount : 0,\n    fees = 0;\n\n  if (standalone || einBusinessDocsBundle) {\n    return { service, jurisdiction, price, coupon, fees, is_add_on: !standalone };\n  }\n  return null;\n};\n\nexport const convertOrderData = (registration, standalone) => {\n  const { business, purchase } = registration,\n    { einBusinessDocsBundle } = purchase,\n    { requestedJurisdiction: jurisdiction } = business;\n\n  if (!standalone && !einBusinessDocsBundle) {\n    return null;\n  }\n\n  const\n    data = {\n      service: 'ein_business_docs_bundle',\n      standalone: false,\n      jurisdiction,\n      is_new_business: !standalone,\n      is_auto_included: false\n    };\n\n  return data;\n};\n","import _assign from 'lodash/assign';\nimport { getZBMProMonthlyPrice, getZBMProYearlyPrice } from '../../utils/ProductService';\nimport { getPricingInformation } from './BaseDataConverter';\n\nexport const convertOrderItem = (registration, standalone) => {\n  const\n    { business, zbmPro, purchase } = registration,\n    { requestedJurisdiction: jurisdiction } = business,\n    { purchaseZBMPro: pfPurchaseZBMPro, zbmProMonthly: pfpppm } = purchase,\n    { zbmProMonthly: zbpm } = zbmPro,\n    zbmProMonthly = standalone ? zbpm : pfpppm,\n    service = 'zb_money_pro';\n\n  if (!standalone && !pfPurchaseZBMPro) {\n    return null;\n  }\n\n  return {\n    service,\n    price: zbmProMonthly ? getZBMProMonthlyPrice() : getZBMProYearlyPrice(),\n    jurisdiction: jurisdiction || 'TX',\n    fees: 0,\n    period: zbmProMonthly ? 12 : 1,\n    term: 12,\n    is_add_on: false\n  };\n};\n\nexport const convertOrderData = (registration, standalone) => {\n  const service = 'zb_money_pro',\n    { business, purchase } = registration,\n    { requestedJurisdiction } = business,\n    { purchaseZBMPro: pfPurchaseZBMPro } = purchase;\n\n  return (standalone || pfPurchaseZBMPro) ? {\n    service,\n    jurisdiction: requestedJurisdiction || 'TX'\n  } : null;\n};\n\nexport const buildOrder = (registration, accountId) => {\n  const\n    orderStatus = 'complete',\n    orderData = [\n      convertOrderData(registration, true)\n    ],\n    orderItems = [\n      convertOrderItem(registration, true)\n    ],\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: registration.business.id\n    }, getPricingInformation(registration.order));\n\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n","import _assign from 'lodash/assign';\nimport { getZBMProMonthlyPrice, getZBMProYearlyPrice } from '../../utils/ProductService';\nimport { getPricingInformation } from './BaseDataConverter';\n\nexport const convertOrderItem = (registration, standalone) => {\n  const\n    { business, zbmPro, postpurchase } = registration,\n    { requestedJurisdiction: jurisdiction } = business,\n    { purchaseZBMPro, zbmProMonthly: pppm } = postpurchase,\n    { zbmProMonthly: zbpm } = zbmPro,\n    zbmProMonthly = standalone ? zbpm : pppm,\n    service = 'zb_money_pro';\n\n  if (!standalone && !purchaseZBMPro) {\n    return null;\n  }\n  return {\n    service,\n    jurisdiction: jurisdiction || 'TX',\n    price: zbmProMonthly ? getZBMProMonthlyPrice() : getZBMProYearlyPrice(),\n    fees: 0,\n    period: zbmProMonthly ? 12 : 1,\n    term: 12,\n    is_add_on: false\n  };\n};\n\nexport const convertOrderData = (registration, standalone) => {\n  const service = 'zb_money_pro',\n    { business, postpurchase } = registration,\n    { requestedJurisdiction } = business,\n    { purchaseZBMPro } = postpurchase;\n\n  return (standalone || purchaseZBMPro) ? {\n    service,\n    jurisdiction: requestedJurisdiction || 'TX'\n  } : null;\n};\n\nexport const buildOrder = (registration, accountId) => {\n  const\n    orderStatus = 'complete',\n    orderData = [\n      convertOrderData(registration, true)\n    ],\n    orderItems = [\n      convertOrderItem(registration, true)\n    ],\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: registration.business.id\n    }, getPricingInformation(registration.order));\n\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n","import _assign from 'lodash/assign';\n\nimport { getPricingInformation } from './BaseDataConverter';\nimport { getZbBankingPreferredMonthlyPrice } from '../../utils/ProductService';\nimport { getPlanLevel } from '../../utils/PlanService';\n\nconst service = 'zb_banking_preferred';\n\nfunction returnJurisdiction(registrationData) {\n  const { business, zbBankingPreferred } = registrationData || {};\n  return zbBankingPreferred?.domesticJurisdiction || business?.requestedJurisdiction || '';\n}\n\nexport const convertOrderItem = (registration, standalone) => {\n  const jurisdiction = returnJurisdiction(registration);\n  const\n    { postpurchase } = registration,\n    { purchaseZbBankingPreferredOffer } = postpurchase;\n\n  /** to add banking data, we need to ensure we are either in a standalone flow\n   * or if we are in post purchase, the banking offer has been selected\n   */\n  if (!standalone && !purchaseZbBankingPreferredOffer) {\n    return null;\n  }\n\n  return {\n    service,\n    jurisdiction,\n    price: getZbBankingPreferredMonthlyPrice(),\n    fees: 0,\n    period: 12,\n    // signifies that this is a recurring billing product: number of months it lasts from start\n    term: 12,\n    is_add_on: false\n  };\n};\n\n/**\n * Returns the order_data payload for the zb_banking_preferred service\n * @param {Object} registration - registration from state\n * @param {boolean} standalone - flag used by the standalone banking converter\n * @param {boolean} isPostPurchase  - flag used by the postpurchase data converter\n * @returns banking order_data payload or null\n */\nexport const convertOrderData = (registration, standalone, isPostPurchase) => {\n  const jurisdiction = returnJurisdiction(registration);\n  const\n    { postpurchase, purchase } = registration,\n    { planLevel } = purchase,\n    { purchaseZbBankingPreferredOffer } = postpurchase,\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    isInPlan = plan && !!plan?.service_prices?.zb_banking_preferred;\n\n  /**\n   * To add banking data, we need to ensure we are either in a standalone flow,\n   * or if we are in post purchase, the banking offer has been selected.\n   * Also, some plans now includes banking as addon so we need to check if it's included in the purchase.\n   * If neither is true, return null to signify not to add the product to order data\n   */\n  if (standalone || (isPostPurchase && purchaseZbBankingPreferredOffer) || (!isPostPurchase && isInPlan && purchase?.zbBankingPreferred)) {\n    return {\n      service,\n      jurisdiction,\n      standalone,\n      is_new_business: false\n    };\n  }\n  return null;\n};\n\nexport const buildOrder = (registration, accountId) => {\n\n  const\n    orderStatus = 'complete',\n    orderData = [\n      convertOrderData(registration, true)\n    ],\n    orderItems = [\n      convertOrderItem(registration, true)\n    ],\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: registration.zbBankingPreferred.companyId\n    }, getPricingInformation(registration.order));\n\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n\n","import { getZbTaxAdviceMonthlyPrice, getZbTaxAdviceYearlyPrice } from '../../utils/ProductService';\n\nexport const convertOrderItem = (registration) => {\n  const { business, purchase, postpurchase, taxServices } = registration,\n    { requestedJurisdiction: jurisdiction } = business,\n    { product } = taxServices,\n    { zbTaxAdvice, zbTaxAdviceBizTaxPrep } = purchase,\n    { purchaseTaxAdvice, taxAdviceMonthly, purchaseTaxAdviceBizTaxPrep, taxAdviceBizTaxPrepMonthly } = postpurchase,\n    isPrePurchase = zbTaxAdvice,\n    isBundled = zbTaxAdviceBizTaxPrep || purchaseTaxAdviceBizTaxPrep;\n\n  const isStandalone = ['zb_tax_advice', 'zb_tax_advice_biztax_prep'].includes(product);\n  const isMonthly = isStandalone || isPrePurchase || (purchaseTaxAdvice && taxAdviceMonthly) || (purchaseTaxAdviceBizTaxPrep && taxAdviceBizTaxPrepMonthly);\n\n  if (!isStandalone && !zbTaxAdvice && !purchaseTaxAdvice && !purchaseTaxAdviceBizTaxPrep) {\n    return null;\n  }\n\n  const isStandaloneBundle = product === 'zb_tax_advice_biztax_prep';\n  let price = 0;\n  if (!isStandaloneBundle && !isBundled) {\n    price = isMonthly ? getZbTaxAdviceMonthlyPrice() : getZbTaxAdviceYearlyPrice();\n  }\n\n  return {\n    fees: 0,\n    service: 'zb_tax_advice',\n    jurisdiction,\n    price,\n    period: isMonthly ? 12 : 1,\n    term: 12,\n    is_add_on: false\n  };\n};\n\n  /* eslint-disable camelcase */\nexport const convertOrderData = (registration) => {\n  const { business, purchase, postpurchase, taxServices } = registration,\n    { requestedJurisdiction: jurisdiction } = business,\n    { product } = taxServices,\n    { zbTaxAdvice } = purchase,\n    { purchaseTaxAdvice, purchaseTaxAdviceBizTaxPrep } = postpurchase;\n\n  const isStandalone = ['zb_tax_advice', 'zb_tax_advice_biztax_prep'].includes(product);\n\n  if (!isStandalone && !zbTaxAdvice && !purchaseTaxAdvice && !purchaseTaxAdviceBizTaxPrep) {\n    return null;\n  }\n\n  return {\n    service: 'zb_tax_advice',\n    jurisdiction\n  };\n};\n","import { getZbBizTaxPrepMonthlyPrice, getZbBizTaxPrepYearlyPrice } from '../../utils/ProductService';\n\nexport const convertOrderItem = (registration, standalone) => {\n  const { business, purchase, postpurchase, taxServices } = registration,\n    { requestedJurisdiction: jurisdiction } = business,\n    { product } = taxServices,\n    { zbBizTaxPrep, zbTaxAdviceBizTaxPrep } = purchase,\n    { purchaseTaxAdviceBizTaxPrep, taxAdviceBizTaxPrepMonthly } = postpurchase,\n    isPrePurchase = zbBizTaxPrep,\n    isBundled = zbTaxAdviceBizTaxPrep || purchaseTaxAdviceBizTaxPrep,\n    isMonthly = standalone || isPrePurchase || (purchaseTaxAdviceBizTaxPrep && taxAdviceBizTaxPrepMonthly);\n\n  const isStandaloneBundle = product === 'zb_tax_advice_biztax_prep';\n  const addStandaloneBundle = standalone && isStandaloneBundle;\n\n  if (!addStandaloneBundle && !zbBizTaxPrep && !purchaseTaxAdviceBizTaxPrep) {\n    return null;\n  }\n\n  let price = 0;\n  if (!isStandaloneBundle && !isBundled) {\n    price = isMonthly ? getZbBizTaxPrepMonthlyPrice() : getZbBizTaxPrepYearlyPrice();\n  }\n\n  return {\n    fees: 0,\n    service: 'zb_biztax_prep',\n    jurisdiction,\n    price,\n    period: isMonthly ? 12 : 1,\n    term: 12,\n    is_add_on: false\n  };\n};\n\n  /* eslint-disable camelcase */\nexport const convertOrderData = (registration, standalone) => {\n  const { business, purchase, postpurchase, taxServices } = registration,\n    { requestedJurisdiction: jurisdiction } = business,\n    { product } = taxServices,\n    { zbBizTaxPrep } = purchase,\n    { purchaseTaxAdviceBizTaxPrep } = postpurchase;\n\n  const isStandaloneBundle = product === 'zb_tax_advice_biztax_prep';\n  const addStandaloneBundle = standalone && isStandaloneBundle;\n\n  if (!addStandaloneBundle && !zbBizTaxPrep && !purchaseTaxAdviceBizTaxPrep) {\n    return null;\n  }\n\n  return {\n    service: 'zb_biztax_prep',\n    jurisdiction\n  };\n};\n","import { getZbTaxAdviceBizTaxPrepMonthlyPrice, getZbTaxAdviceBizTaxPrepYearlyPrice } from '../../utils/ProductService';\n\nexport const convertOrderItem = (registration, standalone) => {\n  const { business, purchase, postpurchase, taxServices } = registration,\n    { requestedJurisdiction: jurisdiction } = business,\n    { product } = taxServices,\n    { zbTaxAdviceBizTaxPrep } = purchase,\n    { purchaseTaxAdviceBizTaxPrep, taxAdviceBizTaxPrepMonthly } = postpurchase,\n    isPrePurchase = zbTaxAdviceBizTaxPrep,\n    isMonthly = standalone || isPrePurchase || (purchaseTaxAdviceBizTaxPrep && taxAdviceBizTaxPrepMonthly);\n\n  const isStandaloneBundle = product === 'zb_tax_advice_biztax_prep';\n  const addStandaloneBundle = standalone && isStandaloneBundle;\n\n  if (!addStandaloneBundle &&\n    !zbTaxAdviceBizTaxPrep &&\n    !purchaseTaxAdviceBizTaxPrep\n  ) {\n    return null;\n  }\n\n  const price = isMonthly ? getZbTaxAdviceBizTaxPrepMonthlyPrice() : getZbTaxAdviceBizTaxPrepYearlyPrice();\n\n  return {\n    fees: 0,\n    service: 'zb_tax_advice_biztax_prep',\n    jurisdiction,\n    price,\n    period: isMonthly ? 12 : 1,\n    term: 12,\n    is_add_on: false\n  };\n};\n\n  /* eslint-disable camelcase */\nexport const convertOrderData = (registration, standalone) => {\n  const { business, purchase, postpurchase, taxServices } = registration,\n    { requestedJurisdiction: jurisdiction } = business,\n    { product } = taxServices,\n    { zbTaxAdviceBizTaxPrep } = purchase,\n    { purchaseTaxAdviceBizTaxPrep } = postpurchase;\n\n  const isStandaloneBundle = product === 'zb_tax_advice_biztax_prep';\n  const addStandaloneBundle = standalone && isStandaloneBundle;\n\n  if (!addStandaloneBundle && !zbTaxAdviceBizTaxPrep && !purchaseTaxAdviceBizTaxPrep) {\n    return null;\n  }\n\n  return {\n    service: 'zb_tax_advice_biztax_prep',\n    jurisdiction\n  };\n};\n","import { getPlanLevel, getEINBizDocsOaBundlePrice } from '../../utils/PlanService';\n\nimport { getPriceAndCouponForService } from '../../utils/PricingUtils';\n\nexport const convertOrderItem = (registration, standalone) => {\n  const\n    { business, purchase, coupons } = registration,\n    { einBizDocsOaBundle, planLevel } = purchase,\n    { requestedJurisdiction: jurisdiction, type: businessType } = business,\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    service = 'ein_bizdocs_oa_bundle',\n    pricing = getPriceAndCouponForService(service, plan, coupons);\n\n  const\n    price = plan ? pricing.servicePrice : getEINBizDocsOaBundlePrice(businessType),\n    coupon = plan ? pricing.serviceCouponAmount : 0,\n    fees = 0;\n\n  if (!standalone && !einBizDocsOaBundle) {\n    return null;\n  }\n  return { service, jurisdiction, price, coupon, fees, is_add_on: !standalone };\n};\n\nexport const convertOrderData = (registration, standalone) => {\n  const { business, purchase } = registration,\n    { einBizDocsOaBundle } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    service = 'ein_bizdocs_oa_bundle';\n\n  if (!standalone && !einBizDocsOaBundle) {\n    return null;\n  }\n\n  return {\n    service,\n    standalone: false,\n    jurisdiction,\n    is_new_business: !standalone,\n    is_auto_included: false\n  };\n};\n","import { getPlanLevel, getBizDocsBlrBundlePrice } from '../../utils/PlanService';\n\nimport { getPriceAndCouponForService } from '../../utils/PricingUtils';\n\nexport const convertOrderItem = (registration, standalone) => {\n  const\n    { business, purchase, coupons } = registration,\n    { bizDocsBlrBundle, planLevel } = purchase,\n    { requestedJurisdiction: jurisdiction, type: businessType } = business,\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    service = 'bizdocs_blr_bundle',\n    pricing = getPriceAndCouponForService(service, plan, coupons);\n\n  const\n    price = plan ? pricing.servicePrice : getBizDocsBlrBundlePrice(businessType),\n    coupon = plan ? pricing.serviceCouponAmount : 0,\n    fees = 0;\n\n  if (!standalone && !bizDocsBlrBundle) {\n    return null;\n  }\n\n  return { service, jurisdiction, price, coupon, fees, is_add_on: !standalone };\n};\n\nexport const convertOrderData = (registration, standalone) => {\n  const { business, purchase } = registration,\n    { bizDocsBlrBundle } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    service = 'bizdocs_blr_bundle';\n\n  if (!standalone && !bizDocsBlrBundle) {\n    return null;\n  }\n\n  return {\n    service,\n    jurisdiction,\n    standalone: false,\n    is_new_business: !standalone,\n    is_auto_included: false\n  };\n};\n","import _assign from 'lodash/assign';\nimport _compact from 'lodash/compact';\nimport _capitalize from 'lodash/capitalize';\n\nimport {\n  buildEntityName, convertAddress, convertContactIfIdentified, convertDirectors, convertOfficers,\n  convertRegisteredAgent, convertAuthorizedSignatory, calculateBusinessTotal, getPricingInformation, decorateAccount\n} from './BaseDataConverter';\nimport { convertOrderItem as convertAnonymityOrderItem, convertOrderData as convertAnonymityOrderData } from './AnonymityConverter';\nimport { convertOrderItem as convertBankingOrderItem, convertOrderData as convertBankingOrderData } from './BankingConverter';\nimport { convertOrderItem as convertBankingResolutionOrderItem, convertOrderData as convertBankingResolutionOrderData } from './BankingResolutionDataConverter';\nimport { convertOrderItem as convertBasicEmailOrderItem, convertOrderData as convertBasicEmailOrderData } from './BasicEmailConverter';\nimport { convertBusinessData as convertBLRBusinessData } from './BusLicDataConverter';\nimport { convertOrderItem as convertOpAgreementOrderItem, convertOrderData as convertOpAgreementOrderData } from './OpAgreeDataConverter';\nimport { convertOrderItem as convertCorpDocsOrderItem, convertOrderData as convertCorpDocsOrderData } from './CorporateDocsDataConverter';\nimport { convertOrderItem as convertCPAConsultOrderItem, convertOrderData as convertCPAConsultOrderData } from './CPAConsultConverter';\nimport { convertOrderItem as convertDomainNameOrderItem, convertOrderData as convertDomainNameOrderData } from './DomainNameDataConverter';\nimport { convertOrderItem as convertDomainNamePrivacyOrderItem, convertOrderData as convertDomainNamePrivacyOrderData } from './DomainNamePrivacyDataConverter';\nimport { convertOrderItem as convertEINOrderItem, convertOrderData as convertEINOrderData, convertSSN } from './EINDataConverter';\nimport { convertOrderItem as convertExpediteOrderItem, convertOrderData as convertExpediteOrderData } from './ExpediteDataConverter';\nimport { convertOrderItem as convertExpediteUpsellOrderItem, convertOrderData as convertExpediteUpsellOrderData } from './ExpediteUpsellDataConverter';\nimport { convertOrderItem as convertInitialCPAScreeningOrderItem, convertOrderData as convertInitialCPAScreeningOrderData } from './InitialCPAScreeningConverter';\nimport { convertOrderItem as convertNYPubOrderItem, convertOrderData as convertNYPubOrderData } from './NYPubDataConverter';\nimport { convertOrderItem as convertRegAgentOrderItem, convertOrderData as convertRegAgentOrderData } from './RegAgentDataConverter';\nimport { convertOrderItem as convertPlanLevelOrderItem, convertOrderData as convertPlanLevelOrderData } from './PlanLevelDataConverter';\nimport { convertOrderItem as convertSCorpDesignationOrderItem, convertOrderData as convertSCorpDesignationOrderData } from './SCorpDesignationConverter';\nimport { convertOrderItem as convertStaticWebsiteOrderItem, convertOrderData as convertStaticWebsiteOrderData } from './StaticWebsiteDataConverter';\nimport { convertOrderItem as convertTaxPreparationOrderItem, convertOrderData as convertTaxPreparationOrderData } from './TaxPreparationConverter';\nimport { convertOrderItem as convertWorryFreeOrderItem, convertOrderData as convertWorryFreeOrderData } from './WorryFreeDataConverter';\nimport { convertOrderItem as convertAnnualReportServiceOrderItem, convertOrderData as convertAnnualReportServiceOrderData } from './AnnualReportServiceConverter';\nimport { convertOrderItem as convertAccountant1800OrderItem, convertOrderData as convertAccountant1800OrderData } from './Accountant1800Converter';\nimport { convertOrderItem as convertWebsiteToolsBundleOrderItem, convertOrderData as convertWebsiteToolsBundleOrderData } from './WebsiteToolsBundleConverter';\nimport { convertOrderItem as convertEINDocsBundleOrderItem, convertOrderData as convertEINDocsBundleOrderData } from './EINBusinessDocsBundleConverter';\nimport { convertOrderItem as convertZBMProOrderItem, convertOrderData as convertZBMProOrderData } from './ZBMProDataConverter';\nimport { convertOrderItem as convertTruicZBMProOrderItem, convertOrderData as convertTruicZBMProOrderData } from './TruicZBMProDataConverter';\nimport { convertOrderItem as convertZbBankingPreferredOrderItem, convertOrderData as convertZbBankingPreferredOrderData } from './ZbBankingPreferredDataConverter';\nimport { convertOrderItem as convertZbTaxAdviceOrderItem, convertOrderData as convertZbTaxAdviceOrderData } from './zbTaxAdviceConverter';\nimport { convertOrderItem as convertZbBizPrepOrderItem, convertOrderData as convertZbBizPrepOrderData } from './zbBizTaxPrepConverter';\nimport { convertOrderItem as convertZbTaxAdviceBizTaxPrepOrderItem, convertOrderData as convertZbTaxAdviceBizTaxPrepOrderData } from './zbTaxAdviceBizTaxPrepConverter';\nimport { convertOrderItem as convertEinBizDocsOaBundleOrderItem, convertOrderData as convertEinBizDocsOaBundleOrderData } from './einBizDocsOaBundleConverter';\nimport { convertOrderItem as convertBizDocsBlrBundleOrderItem, convertOrderData as convertBizDocsBlrBundleOrderData } from './bizDocsBlrBundleConverter';\n\nimport { ACTIONS, URLS } from '../../constants/complete_corp';\nimport { getEntryPointGroup, isPF } from '../../utils/PartnerUtils';\n\nconst getRemaginePlanName = (planLevel, industry) => {\n  if (planLevel === 'level2') {\n    return `${_capitalize(industry)} Corporation`;\n  }\n  return `${planLevel === 'level3' ? 'Premium' : 'Starter'} Corporation`;\n};\n\nconst\n  /* eslint-disable camelcase */\n  convertAccount = (registration, filingFees, expediteFees) => {\n    const\n      { business, customer, lead, purchase } = registration,\n      { firstName: first_name, middleName: middle_name, lastName: last_name, suffix, email, phoneNumber: phone, password } = customer,\n      { cardNumber: number, cardToken: card_token, expMonth, expYear, cvc } = customer,\n      { leadUUID: lead_uuid } = lead;\n\n    const amount = calculateBusinessTotal(business, purchase, filingFees, expediteFees),\n      card = { number, exp_month: parseInt(expMonth, 10), exp_year: 2000 + parseInt(expYear, 10), cvc, amount, default: true },\n      cardOrToken = card_token ? { card_token } : { card };\n    return decorateAccount(_assign({ lead_uuid, first_name, middle_name, last_name, suffix, email: email ? email.toLowerCase() : '', phone, password, international: false, signup_client: 'web_v2', ...cardOrToken }, convertAddress(customer)));\n  };\n/* eslint-enable camelcase */\n\nexport const convertOrderItem = (registration, filingFees) => {\n  const\n    { business } = registration,\n    { requestedJurisdiction: jurisdiction } = business,\n    service = 'corp_formation',\n    typeFees = filingFees[jurisdiction].corp_formation,\n    price = typeFees.price,\n    fees = typeFees.fees;\n\n  return { service, price, fees, jurisdiction, is_add_on: false };\n};\n\n/* eslint-disable camelcase, max-statements */\nexport const convertOrderData = (registration, isInternational) => {\n  const\n    { blr, business, businessAddresses, contact, directors, officers, order, registeredAgent, remagine, page, purchase, postpurchase } = registration,\n    { name, indicator, alternates, description: business_purpose, requestedJurisdiction: jurisdiction, phoneNumber: phone } = business,\n    { status, authorizedShares, valuePerShare, businessActiivty: activity, domesticJurisdiction, foreignJurisdictions, authorizedSignatory, hasMoreThanOneShare } = business,\n    { goals, hasEmployees, homeBased, industry, launchStatus, priorExperience } = remagine,\n    { estimatedFormationDate = '', planLevel } = purchase,\n    { id = '' } = order,\n    { completedAction, completedUrl, completedActionIndex } = page,\n    authSharesNum = authorizedShares.replace(/,/g, ''),\n    valuePerShareNum = valuePerShare.substring(1).replace(/,/g, ''),\n    { principal: principalAddress, mailing: mailingAddress, physical: physicalAddress } = businessAddresses,\n    entityName = buildEntityName(name, indicator),\n    service = 'corp_formation',\n    data = _assign(\n      {\n        service,\n        entity_name: entityName,\n        alternates,\n        business_purpose,\n        jurisdiction,\n        principal_address: convertAddress(principalAddress),\n        mailing_address: convertAddress(mailingAddress),\n        address: convertAddress(physicalAddress),\n        phone,\n        estimated_formation_date: estimatedFormationDate,\n        authorized_shares: authSharesNum,\n        has_more_than_one_share: hasMoreThanOneShare,\n        par_value: valuePerShareNum,\n        activity,\n\n        // Personalization data\n        goals,\n        has_employees: hasEmployees,\n        home_based: homeBased,\n        industry,\n        launch_status: launchStatus,\n        prior_experience: priorExperience,\n\n        // Used with standalone RA\n        domestic_jurisdiction: domesticJurisdiction,\n        domestic_entity: true,\n        foreign_jurisdictions: foreignJurisdictions,\n        domestic_filing_date: '',\n        state_id: '',\n        plan_partner: getEntryPointGroup() || '',\n        entry_point_group: getEntryPointGroup() || ''\n      },\n      isPF() ? { plan_name: getRemaginePlanName(planLevel, industry) } : {},\n      convertAuthorizedSignatory(authorizedSignatory),\n      convertContactIfIdentified(contact),\n      convertDirectors(directors),\n      convertOfficers(officers),\n      convertRegisteredAgent(registeredAgent, business, isInternational ? { registeredAgent: true } : purchase)\n    );\n\n  if (status === 'incomplete') {\n    if (postpurchase.purchaseBLR !== null) {\n      data.purchase_blr = postpurchase.purchaseBLR;\n      if (postpurchase.purchaseBLR) {\n        data.blr_data = { business_data: convertBLRBusinessData(blr) };\n      }\n    }\n    if (postpurchase.purchaseRA !== null) {\n      data.purchase_ra = postpurchase.purchaseRA;\n    }\n    if (postpurchase.purchaseDBAEntity !== null) {\n      data.purchase_dba_entity = postpurchase.purchaseDBAEntity;\n      data.dba_entities = postpurchase.dbaEntities;\n      if (postpurchase.purchaseDBACompliance !== null) {\n        data.purchase_dba_compliance = postpurchase.purchaseDBACompliance;\n      }\n    }\n    if (postpurchase.purchaseCD !== null) {\n      data.purchase_cd = postpurchase.purchaseCD;\n    }\n    if (postpurchase.purchaseBankOfAmericaOffer !== null) {\n      data.purchase_bank_of_america_offer = postpurchase.purchaseBankOfAmericaOffer;\n    }\n    if (postpurchase.purchaseZbBankingPreferredOffer !== null) {\n      data.purchase_zb_banking_preferred_offer = postpurchase.purchaseZbBankingPreferredOffer;\n    }\n    if (postpurchase.purchaseFFD !== null) {\n      data.purchase_ffd = postpurchase.purchaseFFD;\n      data.filing_action = postpurchase.filingAction;\n      if (postpurchase.purchaseFFD && postpurchase.futureFilingDate) {\n        data.future_filing_date = postpurchase.futureFilingDate;\n      }\n    }\n    if (postpurchase.purchaseWFGIR !== null) {\n      data.purchase_wfgir = postpurchase.purchaseWFGIR;\n    }\n    if (postpurchase.purchaseVBA !== null) {\n      data.purchase_vba = postpurchase.purchaseVBA;\n    }\n    if (postpurchase.purchaseVanityProduct !== null) {\n      data.purchase_vanity_product = postpurchase.purchaseVanityProduct;\n    }\n    if (postpurchase.purchaseTaxAdviceBizTaxPrep !== null || postpurchase.purchaseTaxAdvice !== null) {\n      data.purchase_tax_advice = postpurchase.purchaseTaxAdvice;\n      data.tax_advice_monthly = postpurchase.taxAdviceMonthly;\n      data.purchase_tax_advice_biztax_prep = postpurchase.purchaseTaxAdviceBizTaxPrep;\n      data.tax_advice_biztax_prep_monthly = postpurchase.taxAdviceBizTaxPrepMonthly;\n    }\n    if (postpurchase.purchaseZBMPro !== null) {\n      data.purchase_zbmpro = postpurchase.purchaseZBMPro;\n      data.zbmpro_monthly = postpurchase.zbmProMonthly;\n    }\n    if (postpurchase.purchaseBusinessKit !== null) {\n      data.purchase_business_kit = postpurchase.purchaseBusinessKit;\n    }\n    if (postpurchase.purchaseBOF !== null) {\n      data.purchase_bof = postpurchase.purchaseBOF;\n      data.bof_ongoing = postpurchase.bofOngoing;\n    }\n    if (postpurchase.purchaseExpenseTrackerAndTaxFiling !== null) {\n      data.expense_tracking_with_tax_filing = postpurchase.purchaseExpenseTrackerAndTaxFiling;\n    }\n    data.completed_action = id ? completedAction : ACTIONS.START_COMP;\n    data.completed_url = id ? completedUrl : URLS.START_COMP;\n    data.completed_action_index = id ? completedActionIndex : 5100;\n  }\n  return data;\n};\n/* eslint-enable camelcase, max-statements */\n\nexport const buildOrderData = (registration, filingFees, expediteFees) => {\n  const\n    { purchase: { banking } } = registration;\n\n  return _compact([\n    convertOrderData(registration),\n    convertRegAgentOrderData(registration, false, filingFees),\n    convertAnonymityOrderData(registration, false, filingFees),\n    convertBankingResolutionOrderData(registration, false),\n    ...convertBasicEmailOrderData(registration, false),\n    convertCorpDocsOrderData(registration, false, false),\n    ...convertDomainNameOrderData(registration, false),\n    ...convertDomainNamePrivacyOrderData(registration, false),\n    convertEINOrderData(registration, false),\n    convertNYPubOrderData(registration, false),\n    convertExpediteOrderData(registration, false, expediteFees),\n    convertExpediteUpsellOrderData(registration, false, expediteFees),\n    convertStaticWebsiteOrderData(registration, false, filingFees),\n    convertWorryFreeOrderData(registration, false),\n    convertOpAgreementOrderData(registration, false, filingFees),\n    convertTaxPreparationOrderData(registration, false, filingFees),\n    convertCPAConsultOrderData(registration, false, filingFees),\n    convertInitialCPAScreeningOrderData(registration, false, filingFees),\n    convertSCorpDesignationOrderData(registration, false, filingFees),\n    convertPlanLevelOrderData(registration, false),\n    convertAnnualReportServiceOrderData(registration, false),\n    banking ? convertBankingOrderData(registration, false) : null,\n    convertAccountant1800OrderData(registration),\n    convertEINDocsBundleOrderData(registration, false, filingFees),\n    convertWebsiteToolsBundleOrderData(registration, false, filingFees),\n    convertZBMProOrderData(registration, false, filingFees),\n    convertTruicZBMProOrderData(registration, false, filingFees),\n    convertZbBankingPreferredOrderData(registration, false),\n    convertZbTaxAdviceOrderData(registration, false),\n    convertZbBizPrepOrderData(registration, false),\n    convertZbTaxAdviceBizTaxPrepOrderData(registration, false),\n    convertEinBizDocsOaBundleOrderData(registration, false),\n    convertBizDocsBlrBundleOrderData(registration, false)\n  ]);\n};\n\nexport const buildOrder = (registration, filingFees, expediteFees, isUpdate) => {\n  const\n    { business, purchase, remagine: { useBNR = false } } = registration,\n    { status: businessStatus } = business,\n    { banking } = purchase,\n    orderStatus = businessStatus,\n    orderData = buildOrderData(registration, filingFees, expediteFees),\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData\n    }, convertSSN(registration), getPricingInformation(registration.order));\n\n  if (isUpdate) {\n    order.order_uuid = registration.order.id;\n    return { order };\n  }\n\n  const\n    { id: businessId } = business,\n    accountId = registration.customer.id || '',\n    account = accountId ? null : convertAccount(registration, filingFees, expediteFees);\n\n  order.order_items = _compact([\n    convertOrderItem(registration, filingFees),\n    convertRegAgentOrderItem(registration, false, filingFees),\n    convertAnonymityOrderItem(registration, false, filingFees),\n    convertBankingResolutionOrderItem(registration, false, filingFees),\n    ...convertBasicEmailOrderItem(registration, false),\n    convertCorpDocsOrderItem(registration, false, false, filingFees),\n    ...convertDomainNameOrderItem(registration, false),\n    ...convertDomainNamePrivacyOrderItem(registration, false),\n    convertEINOrderItem(registration, false, filingFees),\n    convertExpediteOrderItem(registration, false, expediteFees),\n    convertExpediteUpsellOrderItem(registration, false, expediteFees),\n    convertNYPubOrderItem(registration, false, filingFees),\n    convertStaticWebsiteOrderItem(registration, false),\n    convertWorryFreeOrderItem(registration, false, filingFees),\n    convertOpAgreementOrderItem(registration, false, filingFees),\n    convertTaxPreparationOrderItem(registration, false, filingFees),\n    convertCPAConsultOrderItem(registration, false, filingFees),\n    convertInitialCPAScreeningOrderItem(registration, false, filingFees),\n    convertSCorpDesignationOrderItem(registration, false, filingFees),\n    convertPlanLevelOrderItem(registration, false),\n    convertAnnualReportServiceOrderItem(registration, false),\n    banking ? convertBankingOrderItem(registration, false) : null,\n    convertAccountant1800OrderItem(registration),\n    convertEINDocsBundleOrderItem(registration, false, filingFees),\n    convertWebsiteToolsBundleOrderItem(registration, false),\n    convertZBMProOrderItem(registration, false, filingFees),\n    convertTruicZBMProOrderItem(registration, false, filingFees),\n    convertZbBankingPreferredOrderItem(registration, false),\n    convertZbTaxAdviceOrderItem(registration, false),\n    convertZbBizPrepOrderItem(registration, false, filingFees),\n    convertZbTaxAdviceBizTaxPrepOrderItem(registration, false, filingFees),\n    convertEinBizDocsOaBundleOrderItem(registration, false),\n    convertBizDocsBlrBundleOrderItem(registration, false)\n  ]);\n\n  if (accountId) {\n    if (businessId) {\n      order.business_entity_uuid = businessId;\n    }\n    if (useBNR) {\n      return {\n        account_uuid: accountId,\n        business_entity_uuid: businessId,\n        order\n      };\n    }\n    return {\n      account_uuid: accountId,\n      order\n    };\n  }\n  return {\n    account,\n    order\n  };\n};\n","import _assign from 'lodash/assign';\nimport _compact from 'lodash/compact';\n\nimport { convertAddress, convertRegisteredAgent, convertDirectors, convertMembers, getPricingInformation, decorateAccount, convertContact } from './BaseDataConverter';\nimport { convertOrderItem as convertEINOrderItem, convertOrderData as convertEINOrderData, convertSSN } from './EINDataConverter';\nimport { convertOrderItem as convertStaticWebsiteOrderItem, convertOrderData as convertStaticWebsiteOrderData } from './StaticWebsiteDataConverter';\nimport { ACTIONS, URLS } from '../../constants/complete_dbaentity';\n\nimport {\n  getDBAEntityPrice,\n  getDBAEntityFees\n} from '../../utils/ProductService';\n\n/* eslint-disable camelcase */\n\nconst\n  getEntityType = (businessType) => {\n    if (businessType === 'CORP') {\n      return 'corp';\n    }\n    if (businessType === 'SOLE') {\n      return 'sole_prop';\n    }\n    return 'llc';\n  },\n  convertAccount = (registration) => {\n    const\n      { customer, lead } = registration,\n      { firstName: first_name, middleName: middle_name, lastName: last_name, suffix, email, phoneNumber: phone, password, cardToken: card_token } = customer,\n      { leadUUID: lead_uuid } = lead;\n\n    return decorateAccount(_assign({ lead_uuid, first_name, middle_name, last_name, suffix, email: email ? email.toLowerCase() : '', phone, password, international: false, signup_client: 'web_v2', card_token }));\n  };\n\nexport const convertOrderItem = (registration, standalone, filingFees) => {\n  const\n    { dbaEntity } = registration,\n    { domesticJurisdiction: jurisdiction, county, city } = dbaEntity,\n    fees = getDBAEntityFees(jurisdiction, county, city, filingFees) || 0,\n    service = 'dba_entity';\n\n  return { service, jurisdiction, price: getDBAEntityPrice(), fees, is_add_on: false };\n};\n\nexport const convertOrderData = (registration, standalone) => {\n  const\n    service = 'dba_entity',\n    { businessAddresses, dbaEntity, directors, members, registeredAgent, page } = registration,\n    { completedAction, completedUrl, completedActionIndex } = page,\n    {\n      status,\n      authorizedSignatory,\n      companyId: id,\n      county,\n      city,\n      businessType,\n      businessName: entity_name,\n      parentType: parent_type,\n      dbaName: dba_name,\n      businessDescription: business_purpose,\n      businessIndustry: business_industry,\n      ownerCount: owner_count = 0,\n      stateFilingDate: jurisdiction_filing_date,\n      stateFilingNumber: jurisdiction_filing_number,\n      domesticJurisdiction: domestic_jurisdiction,\n      hasEIN: has_ein,\n      ein,\n      spFirstName,\n      spMiddleName,\n      spLastName,\n      spSuffix\n    } = dbaEntity,\n    { mailing: mailingAddress, physical: physicalAddress, principal: principalAddress } = businessAddresses,\n    entity_type = getEntityType(businessType),\n    isLLC = entity_type === 'llc',\n    isCorp = entity_type === 'corp',\n    isSoleProp = entity_type === 'sole_prop';\n\n  const data = _assign(\n    {\n      service,\n      entity_type,\n      jurisdiction: domestic_jurisdiction,\n      county,\n      city,\n      parent_type,\n      dba_name,\n      principal_address: convertAddress(principalAddress),\n      mailing_address: convertAddress(mailingAddress),\n      address: convertAddress(physicalAddress),\n      business_purpose,\n      business_industry,\n      owner_count,\n      jurisdiction_filing_date,\n      jurisdiction_filing_number,\n      domestic_entity: true,\n      domestic_jurisdiction,\n      has_ein,\n      ein,\n      standalone,\n      is_new_business: false,\n      authorized_signatory: authorizedSignatory ? _assign(convertContact(authorizedSignatory).contact, { title: authorizedSignatory.title }) : null\n    },\n    isCorp ? convertDirectors(directors) : {},\n    isCorp ? { officers: [] } : {},\n    isLLC || isSoleProp ? convertMembers(members) : {},\n    isLLC ? { managers: [] } : {},\n    isSoleProp ? { sole_proprietor: { first_name: spFirstName, middle_name: spMiddleName, last_name: spLastName, suffix: spSuffix } } : {},\n    !isSoleProp ? convertRegisteredAgent(registeredAgent, {}, { registeredAgent: false, planLevel: '' }) : {});\n\n  if (standalone) {\n    if (!id) {\n      data.entity_name = entity_name;\n    }\n    if (status === 'incomplete') {\n      if (id && entity_name) {\n        data.entity_name = entity_name;\n      }\n      data.completed_action = id ? completedAction : ACTIONS.START;\n      data.completed_url = id ? completedUrl : URLS.START;\n      data.completed_action_index = id ? completedActionIndex : 5800;\n    }\n  }\n  return data;\n};\n\nexport const buildOrder = (registration, filingFees, isUpdate) => {\n  const\n    { dbaEntity } = registration,\n    { status: orderStatus } = dbaEntity;\n\n  const orderData = _compact([\n      convertOrderData(registration, true),\n      convertEINOrderData(registration, false),\n      convertStaticWebsiteOrderData(registration, false)\n    ]),\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData\n    }, convertSSN(registration), getPricingInformation(registration.order));\n\n  if (isUpdate) {\n    order.order_uuid = registration.order.id;\n    return { order };\n  }\n\n  const\n    { companyId, simulatedCompanyId } = dbaEntity,\n    accountId = registration.customer.id || '',\n    account = accountId ? null : convertAccount(registration);\n\n  order.order_items = _compact([\n    convertOrderItem(registration, true, filingFees),\n    convertEINOrderItem(registration, false, filingFees),\n    convertStaticWebsiteOrderItem(registration, false)\n  ]);\n\n  if (accountId) {\n    if (companyId || simulatedCompanyId) {\n      order.business_entity_uuid = companyId || simulatedCompanyId;\n    }\n    return {\n      account_uuid: accountId,\n      order\n    };\n  }\n  return {\n    account,\n    order\n  };\n};\n","import _assign from 'lodash/assign';\nimport { getPricingInformation } from './BaseDataConverter';\nimport { isDBAEntityEnabled, getDBAEntityPrice, getDBAEntityFees } from '../../utils/ProductService';\n\nexport const convertOrderItem = (registration, standalone, filingFees) => {\n  const { domesticJurisdiction } = registration.dbaEntity;\n  const service = 'dba_entity';\n\n  if (!isDBAEntityEnabled()) {\n    return null;\n  }\n\n  return {\n    service,\n    jurisdiction: domesticJurisdiction,\n    price: getDBAEntityPrice(),\n    fees: getDBAEntityFees(domesticJurisdiction, '', '', filingFees) || 0,\n    is_add_on: false\n  };\n};\n\nexport const convertOrderData = (registration, standalone) => {\n  const\n    service = 'dba_entity',\n    { dbaEntity } = registration,\n    { domesticJurisdiction, dbaName } = dbaEntity;\n\n  if (!isDBAEntityEnabled()) {\n    return null;\n  }\n\n  return {\n    service,\n    jurisdiction: domesticJurisdiction,\n    dba_name: dbaName,\n    county: '',\n    city: '',\n    standalone,\n    is_new_business: false\n  };\n};\n\nexport const buildOrder = (registration, accountId, filingFees) => {\n  const\n    orderStatus = 'complete',\n    orderData = [ convertOrderData(registration, true) ],\n    orderItems = [ convertOrderItem(registration, true, filingFees) ],\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: registration.dbaEntity.companyId\n    }, getPricingInformation(registration.order));\n\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n\n","import { isDBAComplianceEnabled, getDBAComplianceYearlyPrice } from '../../utils/ProductService';\n\nexport const convertOrderItem = (registration, standalone, filingFees, fromDBAStandalone) => {\n  const\n    { business, postpurchase, dbaEntity } = registration,\n    { inProgress, requestedJurisdiction, dbaCompliance } = dbaEntity,\n    { requestedJurisdiction: ppRequestedJurisdiction } = business,\n    { purchaseDBACompliance: ppPurchaseDBACompliance } = postpurchase,\n    jurisdiction = inProgress || fromDBAStandalone ? requestedJurisdiction : ppRequestedJurisdiction,\n    purchaseDBACompliance = inProgress || fromDBAStandalone ? dbaCompliance : ppPurchaseDBACompliance,\n    typeFees = filingFees[jurisdiction].dba_compliance,\n    fees = typeFees ? typeFees.fees : 0,\n    service = 'dba_compliance';\n\n  if (!isDBAComplianceEnabled() || !purchaseDBACompliance) {\n    return null;\n  }\n  return { service, jurisdiction, price: getDBAComplianceYearlyPrice(), fees, term: 12, period: 1, is_add_on: false };\n};\n\nexport const convertOrderData = (registration, standalone, fromDBAStandalone) => {\n  const\n    service = 'dba_compliance',\n    { business, postpurchase, dbaEntity } = registration,\n    { inProgress, requestedJurisdiction, dbaCompliance } = dbaEntity,\n    { requestedJurisdiction: ppRequestedJurisdiction } = business,\n    { purchaseDBACompliance: ppPurchaseDBACompliance } = postpurchase,\n    jurisdiction = inProgress || fromDBAStandalone ? requestedJurisdiction : ppRequestedJurisdiction,\n    purchaseDBACompliance = inProgress || fromDBAStandalone ? dbaCompliance : ppPurchaseDBACompliance;\n\n  return purchaseDBACompliance && isDBAComplianceEnabled() ? {\n    service,\n    jurisdiction,\n    standalone,\n    is_new_business: false\n  } : null;\n};\n","import _assign from 'lodash/assign';\nimport _compact from 'lodash/compact';\nimport _map from 'lodash/map';\n\nimport { getPricingInformation } from './BaseDataConverter';\nimport { convertOrderItem as convertDBAComplianceOrderItem, convertOrderData as convertDBAComplianceOrderData } from './DBAComplianceDataConverter';\nimport { isDBAEntityEnabled, getDBAEntityPrice, getDBAEntityFees } from '../../utils/ProductService';\n\nexport const convertOrderItem = (registration, standalone, filingFees) => {\n  const\n    { business, postpurchase, dbaEntity } = registration,\n    { inProgress, requestedJurisdiction, dbaEntities: saEntities } = dbaEntity,\n    { requestedJurisdiction: busReqJurisdiction } = business,\n    { purchaseDBAEntity, dbaEntities: ppEntities } = postpurchase,\n    jurisdiction = inProgress ? requestedJurisdiction : busReqJurisdiction,\n    dbaEntities = inProgress ? saEntities : ppEntities,\n    service = 'dba_entity';\n\n  if (!isDBAEntityEnabled() || !(inProgress || purchaseDBAEntity)) {\n    return [];\n  }\n  return _map(dbaEntities, (entity) => {\n    const { county, city } = entity,\n      fees = getDBAEntityFees(jurisdiction, county, city, filingFees) || 0;\n\n    return { service, jurisdiction, price: getDBAEntityPrice(), fees, is_add_on: false };\n  });\n};\n\nexport const convertOrderData = (registration, standalone) => {\n  const\n    service = 'dba_entity',\n    { business, postpurchase, dbaEntity } = registration,\n    { inProgress, requestedJurisdiction, dbaEntities: saEntities } = dbaEntity,\n    { requestedJurisdiction: busReqJurisdiction } = business,\n    { purchaseDBAEntity, dbaEntities: ppEntities } = postpurchase,\n    jurisdiction = inProgress ? requestedJurisdiction : busReqJurisdiction,\n    dbaEntities = inProgress ? saEntities : ppEntities;\n\n  if (!isDBAEntityEnabled() || !(inProgress || purchaseDBAEntity)) {\n    return [];\n  }\n\n  return _map(dbaEntities, (entity) => {\n    return {\n      service,\n      jurisdiction,\n      dba_name: entity.name,\n      county: entity.county,\n      city: entity.city,\n      standalone,\n      is_new_business: false\n    };\n  });\n};\n\nexport const buildOrder = (registration, accountId, filingFees) => {\n  const\n    orderStatus = 'complete',\n    orderData = _compact([\n      ...convertOrderData(registration, true),\n      convertDBAComplianceOrderData(registration, false)\n    ]),\n    orderItems = _compact([\n      ...convertOrderItem(registration, true, filingFees),\n      convertDBAComplianceOrderItem(registration, false, filingFees)\n    ]),\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: registration.dbaEntity.companyId\n    }, getPricingInformation(registration.order));\n\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n\n","import _assign from 'lodash/assign';\nimport _compact from 'lodash/compact';\n\nimport { buildEntityName, convertAddress, convertUser, convertContactIfIdentified, getPricingInformation } from './BaseDataConverter';\nimport { convertSSN } from './EINDataConverter';\nimport { ACTIONS, URLS } from '../../constants/complete_ein';\nimport { getPlanLevel } from '../../utils/PlanService';\nimport { getEINPrice } from '../../utils/ProductService';\nimport { getPriceAndCouponForService } from '../../utils/PricingUtils';\nimport { getOrder } from '../../utils/selectors';\n\nconst getPricingAndCouponAmount = (registration) => {\n  const\n    { business, purchase, coupons } = registration,\n    { planLevel } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    service = 'ein_creation',\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    pricing = getPriceAndCouponForService(service, plan, coupons);\n  return { pricing, plan };\n};\n\nconst\n  convertTaxData = (ein) => {\n    const { llcMarried, llcSingleMember, taxedAsSCorp } = ein,\n      taxInfo = {};\n\n    if (llcMarried !== null) {\n      taxInfo.members_are_married = llcMarried;\n    }\n    if (llcSingleMember !== null) {\n      taxInfo.taxed_as_single_member_llc = llcSingleMember;\n    }\n    if (taxedAsSCorp !== null) {\n      taxInfo.taxed_as_s_corp = taxedAsSCorp;\n    }\n\n    return taxInfo;\n  },\n\n  /* eslint-disable max-statements */\n  convertBusinessData = (ein) => {\n    const { gambling, atf, employeesW2, w2WagesPaidDate, w2AgriculturalEmployeeCount, w2OtherEmployeeCount, w2WagesLessThan1000, corpCareOf, corpClosingMonth, startDate } = ein,\n      { motorVehicle, motorVehicleWeight, businessForm720, businessActivity1, businessActivity2, businessActivity3, businessActivity4, businessActivity5, businessActivitySpecify } = ein,\n      businessData = {\n        activity: {\n          level_1: businessActivity1,\n          level_2: businessActivity2,\n          level_3: businessActivity3,\n          level_4: businessActivity4,\n          level_5: businessActivity5,\n          specify: businessActivitySpecify\n        }\n      };\n\n    if (startDate) {\n      const startDatePieces = startDate.split('/'),\n        startDateConverted = startDatePieces.length > 2 ? `${startDatePieces[2]}-${startDatePieces[0]}-${startDatePieces[1]}` : '';\n\n      businessData.start_date = startDateConverted;\n    }\n    if (gambling !== null) {\n      businessData.gambling = gambling;\n    }\n    if (atf !== null) {\n      businessData.alcohol_tobacco_firearms = atf;\n    }\n    if (employeesW2 !== null) {\n      businessData.employees_with_w2 = employeesW2;\n      if (employeesW2) {\n        businessData.w2_wages_paid_date = w2WagesPaidDate;\n        businessData.w2_agricultural_employees_count = w2AgriculturalEmployeeCount;\n        businessData.w2_other_employees_count = w2OtherEmployeeCount;\n        businessData.w2_wages_lt_1000 = w2WagesLessThan1000;\n      }\n    }\n    if (motorVehicle !== null) {\n      businessData.highway_vehicle = motorVehicle;\n      if (motorVehicleWeight !== null) {\n        businessData.highway_vehicle_over_55000 = motorVehicleWeight;\n      }\n    }\n    if (businessForm720 !== null) {\n      businessData.files_form_720 = businessForm720;\n    }\n    businessData.corp_care_of = corpCareOf;\n    businessData.corp_closing_month = corpClosingMonth;\n    return businessData;\n  },\n  /* eslint-enable max-statements */\n\n  convertResponsibleParty = (banking) => {\n    const { responsibleParty, hasITIN } = banking;\n\n    let party = {};\n\n    if (responsibleParty) {\n      party = convertUser(responsibleParty);\n      if (responsibleParty.companyName) {\n        party.legal_name = responsibleParty.legalName;\n        party.ein_number = responsibleParty.ein;\n      } else {\n        party.suffix = responsibleParty.suffix || '';\n        party.previous_ein = responsibleParty.previousEin;\n        party.alternate_last_names = responsibleParty.alternateLastNames;\n      }\n      party.collect_data_from_user = responsibleParty.collectDataFromUser || false;\n      party.has_ssn = hasITIN;\n    }\n\n    return party;\n  };\n\nexport const convertOrderItem = (state, standalone) => {\n  const\n    { registration } = state,\n    business = getOrder(state, 'business'),\n    { purchase } = registration,\n    { planLevel } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    service = 'ein_creation',\n    servicePricing = getPricingAndCouponAmount(registration);\n\n  return {\n    service,\n    jurisdiction,\n    price: plan ? servicePricing.pricing.servicePrice : getEINPrice(),\n    coupon: plan ? servicePricing.pricing.serviceCouponAmount : 0,\n    fees: 0,\n    is_add_on: !standalone && !!plan\n  };\n};\n\n/* eslint-disable camelcase */\nexport const convertOrderData = (state, standalone) => {\n  const { registration } = state;\n  const { contact, ein, members, order, page, purchase, banking } = registration,\n    { planLevel } = purchase,\n    { requestedJurisdiction: jurisdiction } = getOrder(state, 'business'),\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null;\n\n  if (!(plan && plan.ein_creation) && !purchase.ein && !standalone) {\n    return null;\n  }\n\n  const\n    { type, name, indicator, status, description, id: businessId } = getOrder(state, 'business'),\n    { principal: principalAddress, mailing: mailingAddress, physical: physicalAddress } = getOrder(state, 'businessAddresses'),\n    { county } = physicalAddress,\n    { reason, dbas: trade_names, phoneNumber: phone } = ein,\n    { id = '' } = order,\n    { completedAction, completedUrl, completedActionIndex } = page,\n    memberCount = members.memberCount ? members.memberCount : ein.memberCount,\n    formationType = type === 'LLCX' ? 'llc' : 'corp',\n    entityType = type === 'SOLE' ? 'sole_prop' : formationType,\n    data = _assign({\n      service: 'ein_creation',\n      standalone,\n      jurisdiction,\n      domestic_jurisdiction: jurisdiction,\n      type, // Keep for backward compatibility\n      entity_type: entityType,\n      is_new_business: !standalone,\n      reason: reason || 'Started New Business',\n      member_count: memberCount || null,\n      business_purpose: description,\n      address: convertAddress(physicalAddress),\n      mailing_address: convertAddress(mailingAddress),\n      principal_address: convertAddress(principalAddress),\n      county,\n      phone,\n      trade_names,\n      tax_info: convertTaxData(ein),\n      business_data: convertBusinessData(ein),\n      responsible_party: convertResponsibleParty(banking)\n    }, convertContactIfIdentified(contact));\n\n  if (standalone) {\n    if (!businessId) {\n      data.entity_name = buildEntityName(name, indicator);\n    }\n    if (status === 'incomplete') {\n      if (businessId && name) {\n        data.entity_name = buildEntityName(name, indicator);\n      }\n      data.completed_action = id ? completedAction : ACTIONS.START_EIN;\n      data.completed_url = id ? completedUrl : URLS.START_EIN;\n      data.completed_action_index = id ? completedActionIndex : 5200;\n    }\n  }\n  return data;\n};\n/* eslint-enable camelcase */\n\nexport const buildOrder = (state, isUpdate) => {\n  const\n    status = 'complete',\n    { registration } = state,\n    { banking } = registration,\n    orderData = _compact([\n      convertOrderData(state, true)\n    ]),\n    order = _assign({\n      order_status: status,\n      order_data: orderData\n    }, convertSSN(registration), getPricingInformation(registration.order));\n\n  const\n    { companyId: businessId } = banking,\n    accountId = registration.customer.id || '';\n\n  order.order_items = _compact([\n    convertOrderItem(state, true)\n  ]);\n\n  if (isUpdate) {\n    order.order_uuid = registration.order.id;\n  }\n\n  return {\n    business_entity_uuid: businessId,\n    account_uuid: accountId,\n    order\n  };\n};\n","import _assign from 'lodash/assign';\nimport { getExpenseTrackerAndTaxFilingPlanYearlyPrice } from '../../utils/PlanService';\nimport { getPricingInformation } from './BaseDataConverter';\n\nexport const convertOrderItem = (registration) => {\n  const\n    { business, postpurchase, purchase } = registration,\n    { requestedJurisdiction: jurisdiction, type: businessType } = business,\n    { purchaseExpenseTrackerAndTaxFiling } = postpurchase,\n    { expenseTrackerNTaxFiling : registerExpenseTrackerNTaxFiling } = purchase,\n    service = 'expense_tracking_with_tax_filing',\n    flow = purchaseExpenseTrackerAndTaxFiling || registerExpenseTrackerNTaxFiling;\n\n  if (!flow) {\n    return [];\n  }\n  return [{\n    service,\n    jurisdiction: jurisdiction || 'TX',\n    price: getExpenseTrackerAndTaxFilingPlanYearlyPrice(businessType),\n    fees: 0,\n    term: 12,\n    period: 1,\n    is_add_on: false\n  },\n  {\n    service: 'expense_tracking',\n    jurisdiction: jurisdiction || 'TX',\n    price: 0,\n    fees: 0,\n    term: 12,\n    period: 1,\n    is_add_on: false\n  },\n  {\n    service: 'tax_filing',\n    jurisdiction: jurisdiction || 'TX',\n    price: 0,\n    fees: 0,\n    term: 12,\n    period: 1,\n    is_add_on: false\n  }];\n};\n\nexport const convertOrderData = (registration) => {\n  const service = 'expense_tracking_with_tax_filing',\n    { business, postpurchase, purchase } = registration,\n    { requestedJurisdiction } = business,\n    { purchaseExpenseTrackerAndTaxFiling } = postpurchase,\n    { expenseTrackerNTaxFiling : registerExpenseTrackerNTaxFiling } = purchase,\n    flow = purchaseExpenseTrackerAndTaxFiling || registerExpenseTrackerNTaxFiling;\n\n  return flow ? [{\n    service,\n    jurisdiction: requestedJurisdiction || 'TX'\n  },\n  {\n    service: 'expense_tracking',\n    jurisdiction: requestedJurisdiction || 'TX'\n  },\n  {\n    service: 'tax_filing',\n    jurisdiction: requestedJurisdiction || 'TX'\n  }] : [];\n};\n\nexport const buildOrder = (registration, accountId) => {\n  const\n    orderStatus = 'complete',\n    orderData =\n      convertOrderData(registration, true),\n    orderItems =\n      convertOrderItem(registration, true),\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: registration.business.id\n    }, getPricingInformation(registration.order));\n\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n","import _assign from 'lodash/assign';\nimport _compact from 'lodash/compact';\n\nimport { getPricingInformation } from './BaseDataConverter';\nimport { getGoodStandingPrice } from '../../utils/ProductService';\n\nexport const convertOrderItem = (registration, standalone, filingFees) => {\n  const\n    { goodStanding } = registration,\n    { state: jurisdiction, useCredit, creditUUID  } = goodStanding,\n    fees = filingFees[jurisdiction].standard_good_standing.fees,\n    service = 'standard_good_standing';\n\n  if (standalone) {\n    if (useCredit) {\n      return { service, jurisdiction, price: 0, fees, is_add_on: false, credits: 1, credit_balance_uuid: creditUUID };\n    }\n    return { service, jurisdiction, price: getGoodStandingPrice(), fees, is_add_on: false };\n  }\n\n  return null;\n};\n\n/* eslint-disable camelcase */\nexport const convertOrderData = (registration, standalone) => {\n  const\n    { goodStanding } = registration,\n    { businessType, name: entity_name, domesticJurisdiction: formation_jurisdiction, state: jurisdiction } = goodStanding,\n    service = 'standard_good_standing';\n\n  return {\n    service,\n    standalone,\n    entity_name,\n    business_entity_name: entity_name,\n    business_entity_type: businessType === 'CORP' ? 'CORP' : 'LLC',\n    jurisdiction,\n    formation_jurisdiction\n  };\n};\n/* eslint-enable camelcase */\n\nexport const buildOrder = (registration, accountId, filingFees) => {\n  const\n    orderStatus = 'complete',\n    orderData = _compact([\n      convertOrderData(registration, true)\n    ]),\n    orderItems = _compact([\n      convertOrderItem(registration, true, filingFees)\n    ]),\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: registration.goodStanding.companyId\n    }, getPricingInformation(registration.order));\n\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n","import _assign from 'lodash/assign';\n\nimport { getPricingInformation } from './BaseDataConverter';\nimport { getPlanLevel, isAutoIncludedInPlan } from '../../utils/PlanService';\nimport { getLogoKitPrice } from '../../utils/ProductService';\nimport { getPriceAndCouponForService } from '../../utils/PricingUtils';\n\nexport const convertOrderItem = (registration, standalone) => {\n  const\n    { business, purchase, coupons } = registration,\n    { logoKit = false, planLevel } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    service = 'logo_kit',\n    pricing = getPriceAndCouponForService(service, plan, coupons);\n\n  if ((plan && plan.logo_kit) || logoKit) {\n    return { service, jurisdiction, price: 0, coupon: 0, fees: 0, is_add_on: false };\n  }\n\n  const\n    price = plan ? pricing.servicePrice : getLogoKitPrice(),\n    coupon = plan ? pricing.serviceCouponAmount : 0,\n    fees = 0;\n\n  if (standalone || logoKit || isAutoIncludedInPlan(plan, 'logo_kit')) {\n    return { service, jurisdiction, price, coupon, fees, is_add_on: !standalone && !!plan };\n  }\n  return null;\n};\n\nexport const convertOrderData = (registration, standalone) => {\n  const { business, purchase } = registration,\n    { planLevel } = purchase,\n    { requestedJurisdiction: jurisdiction } = business,\n    plan = planLevel ? getPlanLevel(planLevel, jurisdiction) : null,\n    isAutoIncluded = !standalone && isAutoIncludedInPlan(plan, 'logo_kit');\n\n  if (!(plan && plan.logo_kit) && !purchase.logoKit && !standalone && !isAutoIncluded) {\n    return null;\n  }\n\n  const\n    data = {\n      service: 'logo_kit',\n      standalone: false,\n      jurisdiction,\n      is_new_business: !standalone,\n      is_auto_included: isAutoIncluded\n    };\n\n  return data;\n};\n\nexport const buildOrder = (registration, accountId) => {\n  const\n    orderStatus = 'complete',\n    orderData = [\n      convertOrderData(registration, true)\n    ],\n    orderItems = [\n      convertOrderItem(registration, true)\n    ],\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: registration.logoKit.companyId\n    }, getPricingInformation(registration.order));\n\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n","export const convertOrderItem = (registration) => {\n  const\n    { business } = registration,\n    {\n      requestedJurisdiction: jurisdiction,\n      isDAO,\n      daoMemberManaged,\n      daoRestriction,\n      daoSmartContractLink\n    } = business,\n    service = 'dao_designation';\n  if (isDAO) {\n    // console.log('dao order item', { service, jurisdiction, price: 0, coupon: 0, fees: 0, is_add_on: false, dao_smart_contract_managed: !daoMemberManaged, dao_notice_approved: daoRestriction });\n    return {\n      service,\n      jurisdiction,\n      price: 0,\n      coupon: 0,\n      fees: 0,\n      is_add_on: false,\n      dao_smart_contract_managed: !daoMemberManaged,\n      dao_notice_approved: daoRestriction,\n      dao_smart_contract_link: daoSmartContractLink\n    };\n  }\n\n  return null;\n};\n\nexport const convertOrderData = (registration, standalone) => {\n  const\n    { business } = registration,\n    {\n      requestedJurisdiction: jurisdiction,\n      isDAO,\n      daoMemberManaged,\n      daoRestriction,\n      daoSmartContractLink\n    } = business,\n    service = 'dao_designation';\n\n  if (isDAO) {\n    // console.log('dao order data', { service, jurisdiction, standalone, is_new_business: !standalone, dao_smart_contract_managed: !daoMemberManaged, dao_notice_approved: daoRestriction });\n    return {\n      service,\n      jurisdiction,\n      standalone,\n      is_new_business:\n      !standalone,\n      dao_smart_contract_managed: !daoMemberManaged,\n      dao_notice_approved: daoRestriction,\n      dao_smart_contract_link: daoSmartContractLink\n    };\n  }\n  return null;\n};\n","import _assign from 'lodash/assign';\nimport _compact from 'lodash/compact';\nimport _capitalize from 'lodash/capitalize';\n\nimport {\n  buildEntityName, convertAddress, convertContactIfIdentified, convertManagers, convertMembers,\n  convertRegisteredAgent, convertAuthorizedSignatory, calculateBusinessTotal, getPricingInformation, decorateAccount\n} from './BaseDataConverter';\nimport { convertOrderItem as convertAnonymityOrderItem, convertOrderData as convertAnonymityOrderData } from './AnonymityConverter';\nimport { convertOrderItem as convertBankingOrderItem, convertOrderData as convertBankingOrderData } from './BankingConverter';\nimport { convertOrderItem as convertBankingResolutionOrderItem, convertOrderData as convertBankingResolutionOrderData } from './BankingResolutionDataConverter';\nimport { convertOrderItem as convertBasicEmailOrderItem, convertOrderData as convertBasicEmailOrderData } from './BasicEmailConverter';\nimport { convertBusinessData as convertBLRBusinessData, convertOrderData as convertBLROrderData } from './BusLicDataConverter';\nimport { convertOrderItem as convertCorpDocsOrderItem, convertOrderData as convertCorpDocsOrderData } from './CorporateDocsDataConverter';\nimport { convertOrderItem as convertCPAConsultOrderItem, convertOrderData as convertCPAConsultOrderData } from './CPAConsultConverter';\nimport { convertOrderItem as convertDomainNameOrderItem, convertOrderData as convertDomainNameOrderData } from './DomainNameDataConverter';\nimport { convertOrderItem as convertDomainNamePrivacyOrderItem, convertOrderData as convertDomainNamePrivacyOrderData } from './DomainNamePrivacyDataConverter';\nimport { convertOrderItem as convertEINDocsBundleOrderItem, convertOrderData as convertEINDocsBundleOrderData } from './EINBusinessDocsBundleConverter';\nimport { convertOrderItem as convertEINOrderItem, convertOrderData as convertEINOrderData, convertSSN } from './EINDataConverter';\nimport { convertOrderItem as convertExpediteOrderItem, convertOrderData as convertExpediteOrderData } from './ExpediteDataConverter';\nimport { convertOrderItem as convertExpediteUpsellOrderItem, convertOrderData as convertExpediteUpsellOrderData } from './ExpediteUpsellDataConverter';\nimport { convertOrderItem as convertInitialCPAScreeningOrderItem, convertOrderData as convertInitialCPAScreeningOrderData } from './InitialCPAScreeningConverter';\nimport { convertOrderItem as convertNYPubOrderItem, convertOrderData as convertNYPubOrderData } from './NYPubDataConverter';\nimport { convertOrderItem as convertOpAgreeOrderItem, convertOrderData as convertOpAgreeOrderData } from './OpAgreeDataConverter';\nimport { convertOrderItem as convertRegAgentOrderItem, convertOrderData as convertRegAgentOrderData } from './RegAgentDataConverter';\nimport { convertOrderItem as convertPlanLevelOrderItem, convertOrderData as convertPlanLevelOrderData } from './PlanLevelDataConverter';\nimport { convertOrderItem as convertSCorpDesignationOrderItem, convertOrderData as convertSCorpDesignationOrderData } from './SCorpDesignationConverter';\nimport { convertOrderItem as convertStaticWebsiteOrderItem, convertOrderData as convertStaticWebsiteOrderData } from './StaticWebsiteDataConverter';\nimport { convertOrderItem as convertTaxPreparationOrderItem, convertOrderData as convertTaxPreparationOrderData } from './TaxPreparationConverter';\nimport { convertOrderItem as convertWebsiteToolsBundleOrderItem, convertOrderData as convertWebsiteToolsBundleOrderData } from './WebsiteToolsBundleConverter';\nimport { convertOrderItem as convertWorryFreeOrderItem, convertOrderData as convertWorryFreeOrderData } from './WorryFreeDataConverter';\nimport { convertOrderItem as convertAnnualReportServiceOrderItem, convertOrderData as convertAnnualReportServiceOrderData } from './AnnualReportServiceConverter';\nimport { convertOrderItem as convertAccountant1800OrderItem, convertOrderData as convertAccountant1800OrderData } from './Accountant1800Converter';\nimport { convertOrderItem as convertDAODesignationOrderItem, convertOrderData as convertDAODesignationOrderData } from './DAODesignationConverter';\nimport { convertOrderItem as convertZBMProOrderItem, convertOrderData as convertZBMProOrderData } from './ZBMProDataConverter';\nimport { convertOrderItem as convertZbBankingPreferredOrderItem, convertOrderData as convertZbBankingPreferredOrderData } from './ZbBankingPreferredDataConverter';\nimport { convertOrderItem as convertZbTaxAdviceOrderItem, convertOrderData as convertZbTaxAdviceOrderData } from './zbTaxAdviceConverter';\nimport { convertOrderItem as convertZbBizPrepOrderItem, convertOrderData as convertZbBizPrepOrderData } from './zbBizTaxPrepConverter';\nimport { convertOrderItem as convertZbTaxAdviceBizTaxPrepOrderItem, convertOrderData as convertZbTaxAdviceBizTaxPrepOrderData } from './zbTaxAdviceBizTaxPrepConverter';\nimport { convertOrderItem as convertEinBizDocsOaBundleOrderItem, convertOrderData as convertEinBizDocsOaBundleOrderData } from './einBizDocsOaBundleConverter';\nimport { convertOrderItem as convertBizDocsBlrBundleOrderItem, convertOrderData as convertBizDocsBlrBundleOrderData } from './bizDocsBlrBundleConverter';\n\nimport { ACTIONS, URLS } from '../../constants/complete_llc';\nimport { getEntryPointGroup } from '../../utils/PartnerUtils';\n\nconst getRemaginePlanName = (planLevel, industry) => {\n  if (planLevel === 'level2') {\n    return `${_capitalize(industry)} LLC`;\n  }\n  return `${planLevel === 'level3' ? 'Premium' : 'Starter'} LLC`;\n};\n/* eslint-disable camelcase */\nconst\n  convertAccount = (registration, filingFees, expediteFees) => {\n    const\n      { business, customer, lead, purchase } = registration,\n      { firstName: first_name, middleName: middle_name, lastName: last_name, suffix, email, phoneNumber: phone, password } = customer,\n      { cardNumber: number, cardToken: card_token, expMonth, expYear, cvc } = customer,\n      // todo: confirm if we even need amount in a credit card order, because we don't in card_token orders\n      amount = calculateBusinessTotal(business, purchase, filingFees, expediteFees),\n      card = { number, exp_month: parseInt(expMonth, 10), exp_year: 2000 + parseInt(expYear, 10), cvc, amount, default: true },\n      { leadUUID: lead_uuid } = lead;\n\n    const cardOrToken = card_token ? { card_token } : { card };\n    return decorateAccount(_assign({ lead_uuid, first_name, middle_name, last_name, suffix, email: email ? email.toLowerCase() : '', phone, password, international: false, signup_client: 'web_v2', ...cardOrToken }, convertAddress(customer)));\n  };\n/* eslint-enable camelcase */\n\nexport const convertOrderItem = (registration, filingFees) => {\n  const\n    { business } = registration,\n    { requestedJurisdiction: jurisdiction, formationCounty } = business,\n    service = 'llc_formation',\n    typeFees = filingFees[jurisdiction].llc_formation,\n    price = typeFees.price,\n    fees = typeFees.fees;\n\n  return { service, price, fees, jurisdiction, is_add_on: false, formation_county: formationCounty };\n};\n\n/* eslint-disable camelcase, max-statements */\nexport const convertOrderData = (registration, isInternational) => {\n  const\n    { blr, business, businessAddresses, contact, managers, members, order, registeredAgent, remagine, page, purchase, postpurchase } = registration,\n    { name, indicator, alternates, description: business_purpose, requestedJurisdiction: jurisdiction = 'NC', phoneNumber: phone, status } = business,\n    { businessActivity: activity, domesticJurisdiction, foreignJurisdictions, authorizedSignatory, formationCounty } = business,\n    { goals, hasEmployees, homeBased, industry, launchStatus, priorExperience } = remagine,\n    { estimatedFormationDate = '', planLevel } = purchase,\n    { id = '' } = order,\n    { completedAction, completedUrl, completedActionIndex } = page,\n    entityName = buildEntityName(name, indicator),\n    service = 'llc_formation',\n    { principal: principalAddress, mailing: mailingAddress, physical: physicalAddress } = businessAddresses,\n    data = _assign(\n      {\n        service,\n        entity_name: entityName,\n        alternates,\n        business_purpose,\n        jurisdiction,\n        principal_address: convertAddress(principalAddress),\n        mailing_address: convertAddress(mailingAddress),\n        address: convertAddress(physicalAddress),\n        phone,\n        estimated_formation_date: estimatedFormationDate,\n        activity,\n\n        // Personalization data\n        goals,\n        has_employees: hasEmployees,\n        home_based: homeBased,\n        industry,\n        launch_status: launchStatus,\n        prior_experience: priorExperience,\n\n        // Used with standalone RA\n        domestic_jurisdiction: domesticJurisdiction,\n        domestic_entity: true,\n        foreign_jurisdictions: foreignJurisdictions,\n        domestic_filing_date: '',\n        state_id: '',\n        plan_partner: getEntryPointGroup() || '',\n        entry_point_group: getEntryPointGroup() || '',\n\n        // Capture formation county for NY LLCs\n        formation_county:\n          !formationCounty.length && !!registration?.nypub?.nyPubCountyCode\n            ? registration.nypub.nyPubCountyCode\n            : formationCounty\n      },\n      getEntryPointGroup() === 'pf' ? { plan_name: getRemaginePlanName(planLevel, industry) } : {},\n      convertAuthorizedSignatory(authorizedSignatory),\n      convertContactIfIdentified(contact),\n      convertManagers(managers),\n      convertMembers(members),\n      convertRegisteredAgent(registeredAgent, business, isInternational ? { registeredAgent: true } : purchase)\n    );\n\n  if (status === 'incomplete') {\n    if (postpurchase.purchaseBLR !== null) {\n      data.purchase_blr = postpurchase.purchaseBLR;\n      if (postpurchase.purchaseBLR) {\n        data.blr_data = { business_data: convertBLRBusinessData(blr) };\n      }\n    }\n    if (postpurchase.purchaseRA !== null) {\n      data.purchase_ra = postpurchase.purchaseRA;\n    }\n    if (postpurchase.purchaseDBAEntity !== null) {\n      data.purchase_dba_entity = postpurchase.purchaseDBAEntity;\n      data.dba_entities = postpurchase.dbaEntities;\n      if (postpurchase.purchaseDBACompliance !== null) {\n        data.purchase_dba_compliance = postpurchase.purchaseDBACompliance;\n      }\n    }\n    if (postpurchase.purchaseCD !== null) {\n      data.purchase_cd = postpurchase.purchaseCD;\n    }\n    if (postpurchase.purchaseBankOfAmericaOffer !== null) {\n      data.purchase_bank_of_america_offer = postpurchase.purchaseBankOfAmericaOffer;\n    }\n    if (postpurchase.purchaseZbBankingPreferredOffer !== null) {\n      data.purchase_zb_banking_preferred_offer = postpurchase.purchaseZbBankingPreferredOffer;\n    }\n    if (postpurchase.purchaseFFD !== null) {\n      data.purchase_ffd = postpurchase.purchaseFFD;\n      data.filing_action = postpurchase.filingAction;\n      if (postpurchase.purchaseFFD && postpurchase.futureFilingDate) {\n        data.future_filing_date = postpurchase.futureFilingDate;\n      }\n    }\n    if (postpurchase.purchaseWFGIR !== null) {\n      data.purchase_wfgir = postpurchase.purchaseWFGIR;\n    }\n    if (postpurchase.purchaseVBA !== null) {\n      data.purchase_vba = postpurchase.purchaseVBA;\n    }\n    if (postpurchase.purchaseVanityProduct !== null) {\n      data.purchase_vanity_product = postpurchase.purchaseVanityProduct;\n    }\n    if (postpurchase.purchaseTaxAdviceBizTaxPrep !== null || postpurchase.purchaseTaxAdvice !== null) {\n      data.purchase_tax_advice = postpurchase.purchaseTaxAdvice;\n      data.tax_advice_monthly = postpurchase.taxAdviceMonthly;\n      data.purchase_tax_advice_biztax_prep = postpurchase.purchaseTaxAdviceBizTaxPrep;\n      data.tax_advice_biztax_prep_monthly = postpurchase.taxAdviceBizTaxPrepMonthly;\n    }\n    if (postpurchase.purchaseZBMPro !== null) {\n      data.purchase_zbmpro = postpurchase.purchaseZBMPro;\n      data.zbmpro_monthly = postpurchase.zbmProMonthly;\n    }\n    if (postpurchase.purchaseBusinessKit !== null) {\n      data.purchase_business_kit = postpurchase.purchaseBusinessKit;\n    }\n    if (postpurchase.purchaseBOF !== null) {\n      data.purchase_bof = postpurchase.purchaseBOF;\n      data.bof_ongoing = postpurchase.bofOngoing;\n    }\n    if (postpurchase.purchaseExpenseTrackerAndTaxFiling !== null) {\n      data.expense_tracking_with_tax_filing = postpurchase.purchaseExpenseTrackerAndTaxFiling;\n    }\n    data.completed_action = id ? completedAction : ACTIONS.START_COMP;\n    data.completed_url = id ? completedUrl : URLS.START_COMP;\n    data.completed_action_index = id ? completedActionIndex : 5000;\n  }\n  return data;\n};\n/* eslint-enable camelcase, max-statements */\n\nexport const buildOrderData = (registration, filingFees, expediteFees) => {\n  const\n    { purchase: { banking } } = registration;\n\n  return _compact([\n    convertOrderData(registration),\n    convertRegAgentOrderData(registration, false, filingFees),\n    convertAnonymityOrderData(registration, false, filingFees),\n    ...convertBasicEmailOrderData(registration, false),\n    convertBankingResolutionOrderData(registration, false),\n    convertCorpDocsOrderData(registration, false, false),\n    ...convertDomainNameOrderData(registration, false),\n    ...convertDomainNamePrivacyOrderData(registration, false),\n    convertEINOrderData(registration, false),\n    convertNYPubOrderData(registration, false),\n    convertOpAgreeOrderData(registration, false),\n    convertExpediteOrderData(registration, false, expediteFees),\n    convertExpediteUpsellOrderData(registration, false, expediteFees),\n    convertSCorpDesignationOrderData(registration, false, filingFees),\n    convertDAODesignationOrderData(registration, false, filingFees),\n    convertStaticWebsiteOrderData(registration, false, filingFees),\n    convertWorryFreeOrderData(registration, false),\n    convertTaxPreparationOrderData(registration, false, filingFees),\n    convertCPAConsultOrderData(registration, false, filingFees),\n    convertInitialCPAScreeningOrderData(registration, false, filingFees),\n    convertPlanLevelOrderData(registration, false),\n    convertAnnualReportServiceOrderData(registration, false),\n    banking ? convertBankingOrderData(registration, false) : null,\n    convertEINDocsBundleOrderData(registration, false, filingFees),\n    convertWebsiteToolsBundleOrderData(registration, false, filingFees),\n    convertAccountant1800OrderData(registration),\n    convertZBMProOrderData(registration, false, filingFees),\n    convertBLROrderData(registration, false,),\n    convertZbBankingPreferredOrderData(registration, false),\n    convertZbTaxAdviceOrderData(registration, false),\n    convertZbBizPrepOrderData(registration, false),\n    convertZbTaxAdviceBizTaxPrepOrderData(registration, false),\n    convertEinBizDocsOaBundleOrderData(registration, false, filingFees),\n    convertBizDocsBlrBundleOrderData(registration, false, filingFees)\n  ]);\n};\n\nexport const buildOrder = (registration, filingFees, expediteFees, isUpdate) => {\n  const\n    { business, purchase, remagine: { useBNR = false } } = registration,\n    { status: orderStatus } = business,\n    { banking } = purchase,\n    orderData = buildOrderData(registration, filingFees, expediteFees),\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData\n    }, convertSSN(registration), getPricingInformation(registration.order));\n  if (isUpdate) {\n    order.order_uuid = registration.order.id;\n    return { order };\n  }\n\n  const\n    { id: businessId, isDAO } = business,\n    accountId = registration.customer.id || '',\n    account = accountId ? null : convertAccount(registration, filingFees, expediteFees);\n\n  order.order_items = _compact([\n    convertOrderItem(registration, filingFees),\n    convertRegAgentOrderItem(registration, false, filingFees),\n    convertAnonymityOrderItem(registration, false, filingFees),\n    convertBankingResolutionOrderItem(registration, false, filingFees),\n    ...convertBasicEmailOrderItem(registration, false),\n    convertCorpDocsOrderItem(registration, false, false, filingFees),\n    ...convertDomainNameOrderItem(registration, false),\n    ...convertDomainNamePrivacyOrderItem(registration, false),\n    convertEINOrderItem(registration, false, filingFees),\n    convertNYPubOrderItem(registration, false, filingFees),\n    !isDAO ? convertOpAgreeOrderItem(registration, false, filingFees) : null,\n    convertExpediteOrderItem(registration, false, expediteFees),\n    convertExpediteUpsellOrderItem(registration, false, expediteFees),\n    convertSCorpDesignationOrderItem(registration, false, filingFees),\n    convertDAODesignationOrderItem(registration, false, filingFees),\n    convertStaticWebsiteOrderItem(registration, false),\n    convertWorryFreeOrderItem(registration, false, filingFees),\n    convertTaxPreparationOrderItem(registration, false, filingFees),\n    convertCPAConsultOrderItem(registration, false, filingFees),\n    convertInitialCPAScreeningOrderItem(registration, false, filingFees),\n    convertPlanLevelOrderItem(registration, false),\n    convertAnnualReportServiceOrderItem(registration, false),\n    banking ? convertBankingOrderItem(registration, false) : null,\n    convertEINDocsBundleOrderItem(registration, false, filingFees),\n    convertWebsiteToolsBundleOrderItem(registration, false),\n    convertAccountant1800OrderItem(registration),\n    convertZBMProOrderItem(registration, false, filingFees),\n    convertZbBankingPreferredOrderItem(registration, false),\n    convertZbTaxAdviceOrderItem(registration, false, filingFees),\n    convertZbBizPrepOrderItem(registration, false, filingFees),\n    convertZbTaxAdviceBizTaxPrepOrderItem(registration, false, filingFees),\n    convertEinBizDocsOaBundleOrderItem(registration, false),\n    convertBizDocsBlrBundleOrderItem(registration, false)\n  ]);\n\n  if (accountId) {\n    if (businessId) {\n      order.business_entity_uuid = businessId;\n    }\n    if (useBNR) {\n      return {\n        account_uuid: accountId,\n        business_entity_uuid: businessId,\n        order\n      };\n    }\n    return {\n      account_uuid: accountId,\n      order\n    };\n  }\n  return {\n    account,\n    order\n  };\n};\n","import _assign from 'lodash/assign';\nimport _compact from 'lodash/compact';\nimport { buildEntityName, convertAddress, convertContactIfIdentified, getPricingInformation, decorateAccount } from './BaseDataConverter';\nimport { getNameResPrice } from '../../utils/ProductService';\n\n/* eslint-disable camelcase */\nconst\n  convertAccount = (registration) => {\n    const\n      { customer, lead } = registration,\n      { firstName: first_name, middleName: middle_name, lastName: last_name, suffix, email, phoneNumber: phone, password } = customer,\n      { cardToken: card_token } = customer,\n      { leadUUID: lead_uuid } = lead;\n\n    return decorateAccount({ lead_uuid, first_name, middle_name, last_name, suffix, email: email ? email.toLowerCase() : '', phone, password, international: false, signup_client: 'web_v2', card_token });\n  };\n/* eslint-enable camelcase */\n\nexport const convertOrderItem = (registration, filingFees) => {\n  const\n    { business, purchase } = registration,\n    { nameReservation } = purchase,\n    { requestedJurisdiction: jurisdiction, type } = business,\n    service = 'entity_name_reservation',\n    price = getNameResPrice(),\n    nameReservationFees = filingFees[jurisdiction].entity_name_reservation[type === 'CORP' ? 'corp' : 'llc'],\n    { fees } = nameReservationFees;\n\n  return nameReservation ? { service, price, fees, jurisdiction, is_add_on: false } : null;\n};\n\nexport const convertOrderData = (registration) => {\n  const { business, businessAddresses, contact, purchase } = registration;\n\n  if (!purchase.nameReservation) {\n    return null;\n  }\n\n  const\n    { requestedJurisdiction: jurisdiction, type, name, indicator } = business,\n    { principal, mailing } = businessAddresses,\n    { phoneNumber: phone } = contact;\n\n  return _assign({\n    service: 'entity_name_reservation',\n    standalone: true,\n    jurisdiction,\n    domestic_jurisdiction: jurisdiction,\n    entity_type: type === 'LLCX' ? 'llc' : 'corp',\n    entity_name: buildEntityName(name, indicator),\n    is_new_business: true,\n    address: convertAddress(principal),\n    mailing_address: convertAddress(mailing),\n    first_name: contact ? contact.firstName : '',\n    last_name: contact ? contact.lastName : '',\n    phone\n  }, convertContactIfIdentified(contact));\n};\n\nexport const buildOrder = (registration, filingFees) => {\n  const\n    accountId = registration.customer.id,\n    businessId = registration.business.id,\n    account = accountId ? null : convertAccount(registration),\n    orderStatus = 'complete',\n    orderItems = _compact([\n      convertOrderItem(registration, filingFees)\n    ]),\n    orderData = _compact([\n      convertOrderData(registration)\n    ]),\n    order = _assign({\n      order_status: orderStatus,\n      order_items: orderItems,\n      order_data: orderData\n    }, getPricingInformation(registration.order));\n\n  if (accountId) {\n    if (businessId) {\n      return {\n        account_uuid: accountId,\n        business_entity_uuid: businessId,\n        order\n      };\n    }\n    return {\n      account_uuid: accountId,\n      order\n    };\n  }\n  return {\n    account,\n    order\n  };\n};\n","import { buildEntityName } from './BaseDataConverter';\nimport { getFutureFileDatePrice } from '../../utils/ProductService';\n\nexport const convertOrderItem = (registration) => {\n  const\n    { business, postpurchase } = registration,\n    { requestedJurisdiction: jurisdiction } = business,\n    { purchaseFFD } = postpurchase,\n    service = 'future_file_date';\n\n  if (!purchaseFFD) {\n    return null;\n  }\n  return { service, jurisdiction, price: getFutureFileDatePrice(), fees: 0, is_add_on: false };\n};\n\nexport const convertOrderData = (registration) => {\n  const\n    service = 'future_file_date',\n    { business, postpurchase } = registration,\n    { requestedJurisdiction, name, indicator } = business,\n    { futureFilingDate, filingAction, purchaseFFD } = postpurchase;\n\n  return purchaseFFD ? {\n    service,\n    jurisdiction: requestedJurisdiction,\n    entity_name: buildEntityName(name, indicator),\n    future_filing_date: futureFilingDate,\n    filing_action: filingAction,\n    standalone: false,\n    is_new_business: false\n  } : null;\n};\n","import { getVirtualBusinessAddressPrice } from '../../utils/ProductService';\n\nconst SERVICE = 'virtual_business_address';\n\nexport const convertOrderItem = (registration, standalone, isPostPurchase) => {\n  const\n    { business, postpurchase } = registration,\n    { requestedJurisdiction: jurisdiction } = business,\n    { purchaseVBA } = postpurchase,\n    fees = 0,\n    term = 12,\n    period = 12;\n\n\n  if (standalone) {\n    return { service: SERVICE, jurisdiction, price: getVirtualBusinessAddressPrice(), fees, is_add_on: false, term, period };\n  }\n  if (isPostPurchase) {\n    if (purchaseVBA) {\n      return { service: SERVICE, jurisdiction, price: getVirtualBusinessAddressPrice(), fees, is_add_on: false, term, period };\n    }\n    return null;\n  }\n  return null;\n};\n\nexport const convertOrderData = (registration, standalone, isPostPurchase) => {\n  const\n    { business, postpurchase } = registration,\n    { requestedJurisdiction } = business,\n    { purchaseVBA } = postpurchase,\n    isEnabled = standalone || (isPostPurchase && purchaseVBA);\n\n  return isEnabled ? {\n    service: SERVICE,\n    jurisdiction: requestedJurisdiction,\n    standalone,\n    is_new_business: false\n  } : null;\n};\n","import _assign from 'lodash/assign';\nimport _get from 'lodash/get';\n\nimport { getPricingInformation } from './BaseDataConverter';\nimport { getWFGInitialReportPrice } from '../../utils/ProductService';\n\nexport const convertOrderItem = (registration, standalone, filingFees) => {\n  const\n    { business, postpurchase, purchase } = registration,\n    { requestedJurisdiction: jurisdiction, type } = business,\n    { purchaseWFGIR } = postpurchase,\n    { worryFree, annualReportService } = purchase,\n    fees = _get(filingFees, [jurisdiction, 'wfg_initial_report', type === 'CORP' ? 'corp' : 'llc', 'domestic', 'fees'], 0),\n    service = 'wfg_initial_report';\n\n  if (!standalone && !purchaseWFGIR) {\n    return null;\n  }\n  return { service, jurisdiction, price: (annualReportService || worryFree) ? 0 : getWFGInitialReportPrice(), fees, is_add_on: false };\n};\n\nexport const convertOrderData = (registration, standalone) => {\n  const\n    service = 'wfg_initial_report',\n    { business, postpurchase } = registration,\n    { requestedJurisdiction } = business,\n    { purchaseWFGIR } = postpurchase;\n\n  return purchaseWFGIR || standalone ? {\n    service,\n    jurisdiction: requestedJurisdiction,\n    standalone: false,\n    is_new_business: false\n  } : null;\n};\n\nexport const buildOrder = (registration, accountId, filingFees) => {\n  const\n    orderStatus = 'complete',\n    orderData = [\n      convertOrderData(registration, true)\n    ],\n    orderItems = [\n      convertOrderItem(registration, true, filingFees)\n    ],\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: registration.wfgir.companyId\n    }, getPricingInformation(registration.order));\n\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n\n","import { getPostPurchaseVanityProduct } from '../../utils/ProductService';\n\nexport const convertOrderItem = (registration) => {\n  const vanityProduct = getPostPurchaseVanityProduct();\n\n  const\n    { business, postpurchase } = registration,\n    { requestedJurisdiction: jurisdiction } = business,\n    { purchaseVanityProduct } = postpurchase;\n\n\n  if (!vanityProduct || !purchaseVanityProduct) {\n    return null;\n  }\n  const price = vanityProduct.price || vanityProduct.priceWithoutCoupon || 0;\n  if (vanityProduct.priceIsMonthly) {\n    return { service: vanityProduct.productKey, jurisdiction, price, fees: 0, term: 12, period: 12, is_add_on: false };\n  }\n  if (vanityProduct.priceIsYearly) {\n    return { service: vanityProduct.productKey, jurisdiction, price, fees: 0, term: 12, period: 1, is_add_on: false };\n  }\n  return { service: vanityProduct.productKey, jurisdiction, price, fees: 0, is_add_on: false };\n};\n\nexport const convertOrderData = (registration) => {\n  const vanityProduct = getPostPurchaseVanityProduct();\n\n  if (!vanityProduct) return null;\n\n  const\n    service = vanityProduct.productKey,\n    { business, postpurchase } = registration,\n    { requestedJurisdiction, type } = business,\n    { purchaseVanityProduct } = postpurchase;\n\n  return purchaseVanityProduct ? {\n    service,\n    vanity_product: purchaseVanityProduct,\n    jurisdiction: requestedJurisdiction,\n    entity_type: type === 'LLCX' ? 'llc' : 'corp',\n    standalone: false\n  } : null;\n};\n","import _assign from 'lodash/assign';\n\nimport { getPricingInformation } from './BaseDataConverter';\n\nexport const convertOrderItem = (registration) => {\n\n  const\n    { business: { domesticJurisdiction },\n      postpurchase: { purchaseBankOfAmericaOffer }\n    } = registration,\n    service = 'bank_of_america_offer';\n\n  if (purchaseBankOfAmericaOffer) {\n    return {\n      service,\n      jurisdiction: domesticJurisdiction,\n      bankOfAmericaOffer: purchaseBankOfAmericaOffer,\n      coupon: 0,\n      fees: 0,\n      is_add_on: false,\n      price: 0\n    };\n  }\n\n  return null;\n\n};\n\nexport const convertOrderData = (registration) => {\n  const\n    { business: { domesticJurisdiction, type, name },\n      customer: { firstName, lastName, phoneNumber }, // TODO: add email once fixed\n      postpurchase: { purchaseBankOfAmericaOffer }\n    } = registration,\n    service = 'bank_of_america_offer';\n\n  if (purchaseBankOfAmericaOffer) {\n    return {\n      // email,\n      bankOfAmericaOffer: purchaseBankOfAmericaOffer,\n      jurisdiction: domesticJurisdiction,\n      lead_type: 'ZenBusiness Referral',\n      service,\n      boa_entity_name: name,\n      boa_entity_type: (type === 'LLCX') ? 'llc' : 'corp',\n      first_name: firstName,\n      last_name: lastName,\n      phone: phoneNumber\n    };\n  }\n\n  return null;\n\n};\n\nexport const buildOrder = (registration, accountId) => {\n  const\n    orderStatus = 'complete',\n    orderData = [\n      convertOrderData(registration, true)\n    ],\n    orderItems = [\n      convertOrderItem(registration, true)\n    ],\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: registration.domainName.companyId\n    }, getPricingInformation(registration.order));\n\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n","import _assign from 'lodash/assign';\nimport _compact from 'lodash/compact';\n\nimport { getPricingInformation } from './BaseDataConverter';\nimport { buildOrderData as buildCorpOrderData } from './CorpDataConverter';\nimport { convertSSN } from './EINDataConverter';\nimport { convertOrderItem as convertBLROrderItem, convertOrderData as convertBLROrderData } from './BusLicDataConverter';\nimport { convertOrderItem as convertRAorderItem, convertOrderData as convertRAorderData } from './RegAgentDataConverter';\nimport { convertOrderItem as convertFutureFileDateOrderItem, convertOrderData as convertFutureFileDateOrderData } from './FutureFileDateConverter';\nimport { convertOrderItem as convertBusinessKitOrderItem, convertOrderData as convertBusinessKitOrderData } from './BusinessKitConverter';\nimport { convertOrderItem as convertBOFOrderItem, convertOrderData as convertBOFOrderData } from './BeneficialOwnershipFilingConverter';\nimport { convertOrderItems as convertBOFOngoingOrderItems, convertOrderData as convertBOFOngoingOrderData } from './BeneficialOwnershipFilingOngoingConverter';\nimport { convertOrderItem as convertCorporateDocsOrderItem, convertOrderData as convertCorporateDocsOrderData } from './CorporateDocsDataConverter';\nimport { convertOrderItem as convertDBAComplianceOrderItem, convertOrderData as convertDBAComplianceOrderData } from './DBAComplianceDataConverter';\nimport { convertOrderItem as convertDBAEntityAddOnOrderItem, convertOrderData as convertDBAEntityAddOnOrderData } from './DBAEntityAddOnDataConverter';\nimport { convertOrderItem as convertExpenseTrackingAndTaxFilingOrderItem, convertOrderData as convertExpenseTrackingAndTaxFilingOrderData } from './ExpenseTrackingAndTaxFilingDataConverter';\nimport { buildOrderData as buildLLCOrderData } from './LLCDataConverter';\nimport { convertOrderItem as convertVirtualBusinessAddressOrderItem, convertOrderData as convertVirtualBusinessAddressOrderData } from './VirtualBusinesAddressDataConverter';\nimport { convertOrderItem as convertWFGInitialReportOrderItem, convertOrderData as convertWFGInitialReportOrderData } from './WFGInitialReportDataConverter';\nimport { convertOrderItem as convertVanityProductOrderItem, convertOrderData as convertVanityProductOrderData } from './VanityProductDataConverter';\nimport { convertOrderItem as convertBankOfAmericaOfferOrderItem, convertOrderData as convertBankOfAmericaOfferOrderData } from './BankOfAmericaOfferConverter';\nimport { convertOrderItem as convertTruicOrderItem, convertOrderData as convertTruicOrderData } from './TruicZBMProDataConverter';\nimport { convertOrderItem as convertZbBankingPreferredOrderItem, convertOrderData as convertZbBankingPreferredOrderData } from './ZbBankingPreferredDataConverter';\nimport { convertOrderItem as convertZbBizTaxPrepOrderItem, convertOrderData as convertZbBizTaxPrepOrderData } from './zbBizTaxPrepConverter';\nimport { convertOrderItem as convertZbTaxAdviceOrderItem, convertOrderData as convertZbTaxAdviceOrderData } from './zbTaxAdviceConverter';\nimport { convertOrderItem as convertZbTaxAdviceBizTaxPrepOrderItem, convertOrderData as convertZbTaxAdviceBizTaxPrepOrderData } from './zbTaxAdviceBizTaxPrepConverter';\n\n// API-925: the stock step writes authorized_shares/par_value to the order-task, not the main\n// order. Redux can re-hydrate these as '' from GET /orders, so createPostPurchase may build\n// existing_order_data with empty share fields. Never send them empty — that would clobber the\n// values the stock step already wrote in zenapi (its handler turns '' into None). Omitting the\n// field leaves the saved value intact.\nconst FORMATION_SERVICES = ['corp_formation', 'llc_formation'];\n\nexport const stripEmptyShareFields = (orderData) => {\n  if (!Array.isArray(orderData)) {\n    return orderData;\n  }\n  return orderData.map((entry) => {\n    if (!entry || !FORMATION_SERVICES.includes(entry.service)) {\n      return entry;\n    }\n    const cleaned = { ...entry };\n    if (cleaned.authorized_shares === '') {\n      delete cleaned.authorized_shares;\n    }\n    if (cleaned.par_value === '') {\n      delete cleaned.par_value;\n    }\n    return cleaned;\n  });\n};\n\nexport const buildOrderData = (registration) => {\n  const { postpurchase: { bofOngoing = false } } = registration;\n  const bofData = bofOngoing ? convertBOFOngoingOrderData(registration, false, true) : [ convertBOFOrderData(registration, false, true) ];\n  const orderData = _compact([\n    !registration.purchase.blr ? convertBLROrderData(registration, false) : null,\n    !registration.purchase.registeredAgentService ? convertRAorderData(registration, false) : null,\n    convertDBAComplianceOrderData(registration, false),\n    ...convertDBAEntityAddOnOrderData(registration, false),\n    convertFutureFileDateOrderData(registration, false),\n    convertBusinessKitOrderData(registration, false),\n//    ...bofData,\n    convertCorporateDocsOrderData(registration, false, true),\n    convertWFGInitialReportOrderData(registration, false),\n    convertBankOfAmericaOfferOrderData(registration, false),\n    convertVirtualBusinessAddressOrderData(registration, false, true),\n    ...convertExpenseTrackingAndTaxFilingOrderData(registration, false),\n    convertVanityProductOrderData(registration, false),\n    convertTruicOrderData(registration, false),\n    convertZbBankingPreferredOrderData(registration, false, true),\n    convertZbBizTaxPrepOrderData(registration, false),\n    convertZbTaxAdviceOrderData(registration, false),\n    convertZbTaxAdviceBizTaxPrepOrderData(registration, false)\n  ]);\n\n  if (orderData.length) {\n    return orderData;\n  }\n\n  // We only want to return BOF data if there are no other order data.\n  return bofData;\n};\n\nexport const buildOrder = (registration, filingFees, expediteFees) => {\n  const\n    { business, customer } = registration,\n    { id: accountId } = customer,\n    { type, id: businessId } = business,\n    { id: orderId } = registration.order,\n    orderData = buildOrderData(registration),\n    { postpurchase: { bofOngoing = false } } = registration,\n    bofItems = bofOngoing ? convertBOFOngoingOrderItems(registration, false, true) : [ convertBOFOrderItem(registration, false, true) ],\n    orderItems = _compact([\n      !registration.purchase.blr ? convertBLROrderItem(registration, false, filingFees) : null,\n      !registration.purchase.registeredAgentService ? convertRAorderItem(registration, false, filingFees) : null,\n      convertDBAComplianceOrderItem(registration, false, filingFees),\n      ...convertDBAEntityAddOnOrderItem(registration, false, filingFees),\n      convertFutureFileDateOrderItem(registration, false, filingFees),\n      convertBusinessKitOrderItem(registration, false, filingFees),\n//      ...bofItems,\n      convertCorporateDocsOrderItem(registration, false, true, filingFees),\n      convertWFGInitialReportOrderItem(registration, false, filingFees),\n      convertBankOfAmericaOfferOrderItem(registration, false, filingFees),\n      convertVirtualBusinessAddressOrderItem(registration, false, true, filingFees),\n      ...convertExpenseTrackingAndTaxFilingOrderItem(registration, false, filingFees),\n      convertVanityProductOrderItem(registration, false, filingFees),\n      convertTruicOrderItem(registration, false, filingFees),\n      convertZbBankingPreferredOrderItem(registration, false),\n      convertZbBizTaxPrepOrderItem(registration, false),\n      convertZbTaxAdviceOrderItem(registration, false),\n      convertZbTaxAdviceBizTaxPrepOrderItem(registration, false)\n    ]),\n    existingOrderData = stripEmptyShareFields(type === 'CORP' ? buildCorpOrderData(registration, filingFees, expediteFees) : buildLLCOrderData(registration, filingFees, expediteFees)),\n    order = _assign({\n      order_status: 'complete',\n      order_data: orderData,\n      existing_order_data: existingOrderData,\n      existing_order_uuid: orderId,\n      previous_purchase_order_uuid: orderId,\n      order_items: orderItems,\n      business_entity_uuid: businessId\n    }, convertSSN(registration), getPricingInformation(registration.order));\n\n  // We only want to return BOF items if there are no other order items.\n  if (!orderItems.length) {\n    order.order_items = bofItems;\n    order.order_status = 'incomplete';\n  }\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n","import _assign from 'lodash/assign';\nimport { getPricingInformation } from './BaseDataConverter';\nimport { getPackage } from '../../utils/PlanService';\nimport {\n  getSMBWebsiteMonthlyPrice,\n  getSMBWebsiteYearlyPrice\n} from '../../utils/ProductService';\n\n\nconst getIntervalData = (yearlyInterval) => {\n  const data = { service: '', price: 0, term: 12, period: yearlyInterval ? 1 : 12, coupon: '', affiliatePlanOptionUUID: '' };\n  data.service = 'static_website';\n  data.price = yearlyInterval ? getSMBWebsiteYearlyPrice() : getSMBWebsiteMonthlyPrice();\n  const pkg = getPackage(data.service, yearlyInterval ? 'annual' : 'monthly');\n  data.affiliatePlanOptionUUID = pkg?.uuid;\n  return data;\n};\n\nexport const convertOrderItem = (registration, standalone) => {\n  if (!standalone) {\n    return null;\n  }\n\n  const\n    { smbWebsite } = registration,\n    { yearlyInterval, jurisdiction } = smbWebsite,\n    { service, price, term, period, coupon, affiliatePlanOptionUUID } = getIntervalData(yearlyInterval),\n    items = [];\n\n  items.push({ service, jurisdiction, price, coupon, fees: 0, term, period, is_add_on: false, affiliate_plan_option_uuid: affiliatePlanOptionUUID });\n\n  return items;\n};\n\n/* eslint-disable camelcase */\nexport const convertOrderData = (registration, standalone) => {\n  const\n    { smbWebsite } = registration,\n    { jurisdiction, yearlyInterval } = smbWebsite,\n    { service } = getIntervalData(yearlyInterval),\n    items = [];\n\n  items.push({ service, standalone, is_new_business: false, is_auto_included: false, jurisdiction });\n\n\n  return items;\n};\n/* eslint-enable camelcase */\n\nexport const buildOrder = (registration, accountId) => {\n  const\n    orderStatus = 'complete',\n    orderData = convertOrderData(registration, true),\n    orderItems = convertOrderItem(registration, true),\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: registration.smbWebsite.companyId\n    }, getPricingInformation(registration.order));\n\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n","import _assign from 'lodash/assign';\nimport { getPricingInformation } from './BaseDataConverter';\nimport { getPackage } from '../../utils/PlanService';\nimport {\n  getSMBWebsiteEcommMonthlyPrice,\n  getSMBWebsiteEcommYearlyPrice\n} from '../../utils/ProductService';\n\n\nconst getIntervalData = (yearlyInterval) => {\n  const data = { service: '', price: 0, term: 12, period: yearlyInterval ? 1 : 12, coupon: '', affiliatePlanOptionUUID: '' };\n  data.service = 'smb_website_ecomm_bundle';\n  data.price = yearlyInterval ? getSMBWebsiteEcommYearlyPrice() : getSMBWebsiteEcommMonthlyPrice();\n  const pkg = getPackage(data.service, yearlyInterval ? 'annual' : 'monthly');\n  data.coupon = pkg.coupon ? pkg.coupon.coupon_uuid : null;\n  data.affiliatePlanOptionUUID = pkg.uuid;\n  return data;\n};\n\nexport const convertOrderItem = (registration, standalone) => {\n  if (!standalone) {\n    return null;\n  }\n\n  const\n    { smbWebsiteEcomm } = registration,\n    { yearlyInterval, jurisdiction } = smbWebsiteEcomm,\n    { service, price, term, period, coupon, affiliatePlanOptionUUID } = getIntervalData(yearlyInterval),\n    items = [];\n\n  items.push({ service, jurisdiction, price, coupon, fees: 0, term, period, is_add_on: false, affiliate_plan_option_uuid: affiliatePlanOptionUUID });\n  items.push({ service: 'static_website', jurisdiction, price: 0, coupon: 0, fees: 0, term: 12, period: yearlyInterval ? 1 : 12, is_add_on: false });\n  items.push({ service: 'smb_ecomm_addon', jurisdiction, price: 0, coupon: 0, fees: 0, term: 12, period: yearlyInterval ? 1 : 12, is_add_on: false });\n\n  return items;\n};\n\n/* eslint-disable camelcase */\nexport const convertOrderData = (registration, standalone) => {\n  const\n    { smbWebsiteEcomm } = registration,\n    { jurisdiction, yearlyInterval } = smbWebsiteEcomm,\n    { service } = getIntervalData(yearlyInterval),\n    items = [];\n\n  items.push({ service, standalone, is_new_business: false, is_auto_included: false, jurisdiction });\n  items.push({ service: 'static_website', standalone, is_new_business: false, is_auto_included: false, jurisdiction });\n  items.push({ service: 'smb_ecomm_addon', standalone, is_new_business: false, is_auto_included: false, jurisdiction });\n\n\n  return items;\n};\n/* eslint-enable camelcase */\n\nexport const buildOrder = (registration, accountId) => {\n  const\n    orderStatus = 'complete',\n    orderData = convertOrderData(registration, true),\n    orderItems = convertOrderItem(registration, true),\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: registration.smbWebsiteEcomm.companyId\n    }, getPricingInformation(registration.order));\n\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n","import _assign from 'lodash/assign';\nimport { getPricingInformation } from './BaseDataConverter';\nimport { getPackage } from '../../utils/PlanService';\nimport {\n  getSMBEcommAddonMonthlyPrice,\n  getSMBEcommAddonYearlyPrice\n} from '../../utils/ProductService';\n\n\nconst getIntervalData = (yearlyInterval) => {\n  const data = { service: '', price: 0, term: 12, period: yearlyInterval ? 1 : 12, coupon: '', affiliatePlanOptionUUID: '' };\n  data.service = 'smb_ecomm_addon';\n  data.price = yearlyInterval ? getSMBEcommAddonYearlyPrice() : getSMBEcommAddonMonthlyPrice();\n  const pkg = getPackage(data.service, yearlyInterval ? 'annual' : 'monthly');\n  data.affiliatePlanOptionUUID = pkg?.uuid;\n  return data;\n};\n\nexport const convertOrderItem = (registration, standalone) => {\n  if (!standalone) {\n    return null;\n  }\n\n  const\n    { smbEcommAddon } = registration,\n    { yearlyInterval, jurisdiction } = smbEcommAddon,\n    { service, price, term, period, coupon, affiliatePlanOptionUUID } = getIntervalData(yearlyInterval),\n    items = [];\n\n  items.push({ service, jurisdiction, price, coupon, fees: 0, term, period, is_add_on: false, affiliate_plan_option_uuid: affiliatePlanOptionUUID });\n\n  return items;\n};\n\n/* eslint-disable camelcase */\nexport const convertOrderData = (registration, standalone) => {\n  const\n    { smbEcommAddon } = registration,\n    { jurisdiction, yearlyInterval } = smbEcommAddon,\n    { service } = getIntervalData(yearlyInterval),\n    items = [];\n\n  items.push({ service, standalone, is_new_business: false, is_auto_included: false, jurisdiction });\n\n  return items;\n};\n/* eslint-enable camelcase */\n\nexport const buildOrder = (registration, accountId) => {\n  const\n    orderStatus = 'complete',\n    orderData = convertOrderData(registration, true),\n    orderItems = convertOrderItem(registration, true),\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: registration.smbEcommAddon.companyId\n    }, getPricingInformation(registration.order));\n\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n\n","import _assign from 'lodash/assign';\n\nimport { getPricingInformation } from './BaseDataConverter';\nimport { getPackage } from '../../utils/PlanService';\nimport {\n  getSMBWebsiteEcommMonthlyPrice,\n  getSMBWebsiteEcommYearlyPrice,\n  getSMBWebsiteMonthlyPrice,\n  getSMBWebsiteYearlyPrice\n} from '../../utils/ProductService';\n\nconst getPackageData = (chooseEcomm, yearlyInterval) => {\n  const data = { service: '', price: 0, term: 12, period: yearlyInterval ? 1 : 12, coupon: '', affiliatePlanOptionUUID: '' };\n\n  if (chooseEcomm) {\n    data.service = 'smb_website_ecomm_bundle';\n    data.price = yearlyInterval ? getSMBWebsiteEcommYearlyPrice() : getSMBWebsiteEcommMonthlyPrice();\n  } else {\n    data.service = 'static_website';\n    data.price = yearlyInterval ? getSMBWebsiteYearlyPrice() : getSMBWebsiteMonthlyPrice();\n  }\n  const pkg = getPackage(data.service, yearlyInterval ? 'annual' : 'monthly');\n  data.affiliatePlanOptionUUID = pkg?.uuid;\n  return data;\n};\n\nexport const convertOrderItem = (registration, standalone) => {\n  if (!standalone) {\n    return null;\n  }\n\n  const\n    { smbWebsiteOrEcomm } = registration,\n    { chooseEcomm, yearlyInterval, jurisdiction } = smbWebsiteOrEcomm,\n    { service, price, term, period, coupon, affiliatePlanOptionUUID } = getPackageData(chooseEcomm, yearlyInterval),\n    items = [];\n\n  if (chooseEcomm) {\n    items.push({ service, jurisdiction, price, coupon, fees: 0, term, period, is_add_on: false, affiliate_plan_option_uuid: affiliatePlanOptionUUID });\n    items.push({ service: 'static_website', jurisdiction, price: 0, coupon: 0, fees: 0, term: 12, period: yearlyInterval ? 1 : 12, is_add_on: false });\n    items.push({ service: 'smb_ecomm_addon', jurisdiction, price: 0, coupon: 0, fees: 0, term: 12, period: yearlyInterval ? 1 : 12, is_add_on: false });\n  } else {\n    items.push({ service, jurisdiction, price, coupon, fees: 0, term, period, is_add_on: false, affiliate_plan_option_uuid: affiliatePlanOptionUUID });\n  }\n\n  return items;\n};\n\n/* eslint-disable camelcase */\nexport const convertOrderData = (registration, standalone) => {\n  if (!standalone) {\n    return null;\n  }\n\n  const\n    { smbWebsiteOrEcomm } = registration,\n    { chooseEcomm, yearlyInterval, jurisdiction } = smbWebsiteOrEcomm,\n    { service, price, term, period, coupon, affiliatePlanOptionUUID } = getPackageData(chooseEcomm, yearlyInterval),\n    items = [];\n\n  if (chooseEcomm) {\n    items.push({ service, jurisdiction, price, coupon, fees: 0, term, period, is_add_on: false, affiliate_plan_option_uuid: affiliatePlanOptionUUID });\n    items.push({ service: 'static_website', jurisdiction, price: 0, coupon: 0, fees: 0, term: 12, period: yearlyInterval ? 1 : 12, is_add_on: false });\n    items.push({ service: 'smb_ecomm_addon', jurisdiction, price: 0, coupon: 0, fees: 0, term: 12, period: yearlyInterval ? 1 : 12, is_add_on: false });\n  } else {\n    items.push({ service, jurisdiction, price, coupon, fees: 0, term, period, is_add_on: false, affiliate_plan_option_uuid: affiliatePlanOptionUUID });\n  }\n\n  return items;\n};\n/* eslint-enable camelcase */\n\nexport const buildOrder = (registration, accountId) => {\n  const\n    orderStatus = 'complete',\n    orderData = convertOrderData(registration, true),\n    orderItems = convertOrderItem(registration, true),\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: registration.smbWebsiteOrEcomm.companyId\n    }, getPricingInformation(registration.order));\n\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n","import _assign from 'lodash/assign';\n\nimport { getVanityProductPrice } from '../../utils/ProductService';\nimport { getPricingInformation } from './BaseDataConverter';\n\nexport const convertOrderItem = (registration, standalone) => {\n  const\n    { business, vanityProduct } = registration,\n    { requestedJurisdiction: jurisdiction } = business,\n    { vanityKey: service, vanityUrlId } = vanityProduct,\n    price = getVanityProductPrice(vanityUrlId);\n\n  if (vanityProduct.vanityProduct) {\n    return { service, jurisdiction, price, fees: 0, is_add_on: false };\n  }\n\n  if (standalone) {\n    return { service, jurisdiction, price, fees: 0, is_add_on: false };\n  }\n\n  return null;\n};\n\nexport const convertOrderData = (registration, standalone) => {\n  const\n    { business, vanityProduct } = registration,\n    { requestedJurisdiction, type } = business,\n    { vanityKey: service } = vanityProduct;\n\n  if (standalone) {\n    return {\n      service,\n      standalone,\n      jurisdiction: requestedJurisdiction,\n      entity_type: type === 'LLCX' ? 'llc' : 'corp',\n      is_new_business: !standalone\n    };\n  }\n\n  return vanityProduct.vanityProduct ? {\n    service,\n    vanity_product: vanityProduct.vanityProduct,\n    jurisdiction: requestedJurisdiction,\n    entity_type: type === 'LLCX' ? 'llc' : 'corp',\n    standalone: false\n  } : null;\n};\n\nexport const buildOrder = (registration, accountId) => {\n  const\n    orderStatus = 'complete',\n    orderData = [\n      convertOrderData(registration, true)\n    ],\n    orderItems = [\n      convertOrderItem(registration, true)\n    ],\n    order = _assign({\n      order_status: orderStatus,\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: registration.vanityProduct.companyId\n    }, getPricingInformation(registration.order));\n\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n","import { getZbBizTaxPrepPriorYearPrice } from '../../utils/ProductService';\n\nexport const convertOrderItem = (registration) => {\n  const { business, taxServices } = registration,\n    { requestedJurisdiction: jurisdiction } = business,\n    { product } = taxServices;\n\n  if (product !== 'zb_biztax_prep_prior_year') {\n    return null;\n  }\n\n  const price = getZbBizTaxPrepPriorYearPrice();\n\n  return {\n    fees: 0,\n    service: 'zb_biztax_prep_prior_year',\n    jurisdiction,\n    price,\n    is_add_on: false\n  };\n};\n\n  /* eslint-disable camelcase */\nexport const convertOrderData = (registration) => {\n  const { business, taxServices } = registration,\n    { requestedJurisdiction: jurisdiction } = business,\n    { product } = taxServices;\n\n  if (product !== 'zb_biztax_prep_prior_year') {\n    return null;\n  }\n\n  return {\n    service: 'zb_biztax_prep_prior_year',\n    jurisdiction\n  };\n};\n","/* eslint-disable no-await-in-loop */\n/* eslint-disable max-statements */\nimport _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _isEmpty from 'lodash/isEmpty';\nimport Promise from 'promise';\nimport { validate as validateUuid } from 'uuid';\nimport BaseAPIService from './BaseAPIService';\nimport { buildOrder as buildAccountingOrder } from './converters/AccountingConverter';\nimport { buildOrder as buildAmendmentOrder } from './converters/AmendmentConverter';\nimport { buildOrder as buildAnnualReportOrder } from './converters/AnnualReportConverter';\nimport { buildOrder as buildBankingOrder } from './converters/BankingConverter';\nimport { buildOrder as buildBankingResolutionOrder } from './converters/BankingResolutionDataConverter';\nimport { buildOrder as buildBusinessKitOrder } from './converters/BusinessKitConverter';\nimport { buildOrder as buildBeneficialOwnershipFilingOrder } from './converters/BeneficialOwnershipFilingConverter';\nimport { buildOrder as buildBeneficialOwnershipFilingOngoingOrder } from './converters/BeneficialOwnershipFilingOngoingConverter';\nimport { buildOrder as buildBOFModificationOrder } from './converters/BOFModificationOrder';\nimport { buildOrder as buildOperatingAgreementOrder } from './converters/OpAgreeDataConverter';\nimport { buildOrder as buildBasicEmailOrder } from './converters/BasicEmailConverter';\nimport { buildOrder as buildBusLicOrder } from './converters/BusLicDataConverter';\nimport { buildOrder as buildCoRAOrder } from './converters/CoRADataConverter';\nimport { buildOrder as buildCorpOrder } from './converters/CorpDataConverter';\nimport { buildOrder as buildCorpDocsOrder } from './converters/CorporateDocsDataConverter';\nimport { buildOrder as buildDBAEntityOrder } from './converters/DBAEntityDataConverter';\nimport { buildOrder as buildDBAEntityForExistingBusOrder } from './converters/DBAEntityForExistingBusDataConverter';\nimport { buildOrder as buildDBAEntityAddOnOrder } from './converters/DBAEntityAddOnDataConverter';\nimport { buildOrder as buildDomainV2Order } from './converters/DomainV2DataConverter';\nimport { buildOrder as buildEmailV2Order } from './converters/EmailV2DataConverter';\nimport { buildOrder as buildDomainNameOrder } from './converters/DomainNameDataConverter';\nimport { buildOrder as buildDomainNamePrivacyOrder } from './converters/DomainNamePrivacyDataConverter';\nimport { buildOrder as buildEINBankingOrder } from './converters/EINBankingDataConverter';\nimport { buildOrder as buildEINOrder } from './converters/EINDataConverter';\nimport { buildOrder as buildExpenseTrackerNTaxFilingOrder } from './converters/ExpenseTrackingAndTaxFilingDataConverter';\nimport { buildOrder as buildGoodStandingOrder } from './converters/GoodStandingConverter';\nimport { buildOrder as buildLogoKitOrder } from './converters/LogoKitDataConverter';\nimport { buildOrder as buildInitialCPAScreeningOrder } from './converters/InitialCPAScreeningConverter';\nimport { buildOrder as buildLLCOrder } from './converters/LLCDataConverter';\nimport { buildOrder as buildNameResOrder } from './converters/NameResDataConverter';\nimport { buildOrder as buildNYPubOrder } from './converters/NYPubDataConverter';\nimport { buildOrder as buildPostPurchaseOrder } from './converters/PostPurchaseDataConverter';\nimport { buildOrder as buildRAOrder } from './converters/RegAgentDataConverter';\nimport { buildOrder as buildSMBWebsiteOrder } from './converters/SMBWebsiteDataConverter';\nimport { buildOrder as buildSMBWebsiteEcommOrder } from './converters/SMBWebsiteEcommDataConverter';\nimport { buildOrder as buildSMBEcommAddonOrder } from './converters/SMBEcommAddonDataConverter';\nimport { buildOrder as buildSMBWebsiteOrEcommOrder } from './converters/SMBWebsiteOrEcommDataConverter';\nimport { buildOrder as buildStaticWebsiteOrder } from './converters/StaticWebsiteDataConverter';\nimport { buildOrder as buildStockSetupOrder } from './converters/StockSetupConverter';\nimport { buildOrder as buildWebsiteToolsBundleOrder } from './converters/WebsiteToolsBundleConverter';\nimport { buildOrder as buildWFGOrder } from './converters/WorryFreeDataConverter';\nimport { buildOrder as buildWFGInitialReportOrder } from './converters/WFGInitialReportDataConverter';\nimport { buildOrder as buildVanityProductOrder } from './converters/VanityProductConverter';\nimport { buildOrder as buildZBMProOrder } from './converters/ZBMProDataConverter';\nimport { buildOrder as buildTruicZBMProOrder } from './converters/TruicZBMProDataConverter';\nimport { buildOrder as buildZbBankingPreferredOrder } from './converters/ZbBankingPreferredDataConverter';\nimport { buildOrder as buildTaxServicesOrder } from './converters/TaxServicesDataConverter';\nimport {  getOrderTracking, trackEvent } from '../utils/ThirdPartyTracking';\nimport { getEntryPointGroup } from '../utils/PartnerUtils';\nimport { getAffiliatePricingUUID, getAffiliatePricingUUIDByPrice } from '../utils/ProductService';\nimport { getIsFreeAccount } from '../utils/FreeAccountUtils';\nimport { cleanOrderData } from '../utils/OrderUtils';\nimport { setOrderDataSentDuringRegistration, validateOrderDataSentDuringRegistration } from '../utils/OrderDataTrackService';\nimport { getVisitUUID } from '../utils/VisitorCookie';\nimport { reportError } from '../utils/ReportingUtils';\nimport { allHandledPaymentErrors } from '../utils/PaymentUtils';\n\nconst\n  processCreateError = (err, action, url) => {\n    if (err && err.isAuth0) {\n      return Promise.reject(err);\n    }\n    if (err.response) {\n      const errorCode = err.response.data.errorCode || 500;\n      if (!allHandledPaymentErrors[errorCode]) {\n        // Before calling sentry, check to see if it is a handled payment error\n        BaseAPIService.notifySentry(err, url, action);\n      }\n      return Promise.reject({\n        errorCode,\n        error: err.response.data.error\n      });\n    }\n    BaseAPIService.notifySentry(err, url, action);\n    return Promise.reject({\n      errorCode: 500,\n      error: 'Client Error'\n    });\n  },\n  // Never POST an order with nothing in it: zenapi rejects it (422) and pages ecomm-oncall. Mirrors the\n  // server guard in ZenBusinessService.createOrder; reported to Sentry so the flow that built it is visible.\n  rejectEmptyOrder = (orderData, action, url) => {\n    const\n      { order_items: orderItems, order_data: data } = (orderData && orderData.order) || {},\n      itemCount = Array.isArray(orderItems) ? orderItems.filter(Boolean).length : 0,\n      dataCount = Array.isArray(data) ? data.filter(Boolean).length : 0;\n\n    if (itemCount > 0 && dataCount > 0) {\n      return null;\n    }\n    BaseAPIService.notifySentry(new Error(`Empty order not sent (${action}): order_items=${itemCount} order_data=${dataCount}`), url, action);\n    return Promise.reject({\n      errorCode: 422,\n      error: 'Order has no items'\n    });\n  },\n  addPricingIds = (data) => {\n    const { order: { order_items: orderItems = [] } } = data,\n      planItem = _find(orderItems, (item) => {\n        return item.service.indexOf('_plan_') !== -1;\n      }),\n      affiliatePlanOptionUUID = planItem ? planItem.affiliate_plan_option_uuid : null;\n\n    _forEach(orderItems, (item) => {\n      if (item === planItem) {\n        return;\n      }\n      // zb_money_pro is outside the plan, so even though we are looking at something that\n      // has an affiliatePlanOptionUUID, we want to retrieve the affiliatePricingUUID for this\n      // specific item\n      const plans = [\n        'zb_money_pro',\n        'zb_tax_advice',\n        'zb_biztax_prep',\n        'zb_tax_advice_biztax_prep'\n      ];\n\n      if (plans.includes(item?.service ?? '')) {\n        const affiliatePricingUUID = getAffiliatePricingUUID(item.service, item.term, item.period);\n        if (affiliatePricingUUID) {\n          item.affiliate_pricing_uuid = affiliatePricingUUID;\n        }\n      } else if (affiliatePlanOptionUUID) {\n        item.affiliate_plan_option_uuid = affiliatePlanOptionUUID;\n      } else {\n        const affiliatePricingUUID = getAffiliatePricingUUID(item.service, item.term, item.period);\n        if (affiliatePricingUUID) {\n          item.affiliate_pricing_uuid = affiliatePricingUUID;\n        }\n      }\n    });\n\n    // BOF with coupon has same key as BOF without coupon. When purchasing BOF Ongoing\n    // we need to make sure we use the service with the coupon\n    const bofKey = 'beneficial_ownership_filing';\n    const ongoingKey = 'ongoing_bof_compliance';\n    const hasBOF = orderItems.some((item) => { return item.service === bofKey; });\n    const hasOngoingBOF = orderItems.some((item) => { return item.service === ongoingKey; });\n\n    if (hasBOF && hasOngoingBOF) {\n      const bofOrderItem = data.order.order_items.find(({ service }) => {\n        return service === bofKey;\n      });\n      bofOrderItem.affiliate_pricing_uuid = getAffiliatePricingUUID(bofKey, null, null, bofOrderItem.coupon_uuid);\n\n      // Make sure to use the $49 ongoing bof instead of the $99\n      const ongoingOrderItem = data.order.order_items.find(({ service }) => {\n        return service === ongoingKey;\n      });\n      ongoingOrderItem.affiliate_pricing_uuid = getAffiliatePricingUUIDByPrice(ongoingKey, 49);\n    } else if (!hasBOF && hasOngoingBOF) {\n      // If just buying ongoing BOF without the filing (standalone), use the $99 price\n      const ongoingOrderItem = data.order.order_items.find(({ service }) => {\n        return service === ongoingKey;\n      });\n      ongoingOrderItem.affiliate_pricing_uuid = getAffiliatePricingUUIDByPrice(ongoingKey, 99);\n    }\n\n    // BOF modification has same key as BOF mod without coupon. When using coupon,\n    // we need to make sure we use the service with the coupon\n    const bofModKey = 'bof_modification';\n    const hasBOFMod = orderItems.some((item) => { return item.service === bofModKey; });\n\n    if (hasBOFMod) {\n      const bofModOrderItem = data.order.order_items.find(({ service }) => {\n        return service === bofModKey;\n      });\n      bofModOrderItem.affiliate_pricing_uuid = getAffiliatePricingUUID(bofModKey, null, null, bofModOrderItem.coupon_uuid || null);\n    }\n\n    return data;\n  },\n  leadCreation = async (lead, service, analyzeError) => {\n    // Add the affiliateId and the bannerId if in local storage\n    const url = 'registration/lead',\n      leadData = _assign({ affiliate_id: '', banner_id: '' }, lead);\n\n    if (window.localStorage) {\n      leadData.affiliate_id = window.localStorage.getItem('affiliateId') || '';\n      leadData.banner_id = window.localStorage.getItem('bannerId') || '';\n    }\n    const entryPoint = getEntryPointGroup() || 'zb';\n    const leadTracking = {\n      flow_name: entryPoint.toLowerCase(),\n      device_type: window.zenIsMobile ? window.mobileDeviceType : 'desktop',\n      user_type: getIsFreeAccount() ? 'free_account' : 'flow'\n    };\n    const dataWithTracking = {\n      ...leadData,\n      lead_tracking: leadTracking\n    };\n\n    if (!validateUuid(dataWithTracking.visit_uuid)) {\n      dataWithTracking.visit_uuid = getVisitUUID();\n    }\n\n    let times = 2;\n    let errTrack;\n    while (times > 0) {\n      try {\n        const response = await service.post(url, dataWithTracking);\n        const { data } = response;\n        if (data.lead_created) {\n          const eventLabel = leadTracking.flow_name === 'pf' ? `${leadTracking.flow_name}-${leadTracking.device_type}` : leadTracking.flow_name;\n          trackEvent('Lead', 'complete', eventLabel);\n        }\n        return Promise.resolve(data);\n      } catch (err) {\n        errTrack = err;\n        times -= 1;\n        await new Promise((resolve) => { return setTimeout(resolve, 100); });\n      }\n    }\n    return Promise.reject(analyzeError(errTrack, url));\n  },\n  checkAccountData = async (account, service, order) => {\n    // Some order fail because the account doesn't include the lead_uuid, let's validate it.\n    if (!_isEmpty(account.lead_uuid)) {\n      return { ...account };\n    }\n    const leadFromLS = window.localStorage ? JSON.parse(window.localStorage.getItem('registration/lead') || '{}').leadUUID || '' : '';\n    if (!_isEmpty(leadFromLS)) {\n      return { ...account, lead_uuid: leadFromLS };\n    }\n    try {\n      // if we are not able to find the lead_uuid, let's try to ask the BE for one.\n      const formationOrderData = (order.order_data || [])\n        .find((od) => { return ['llc_formation', 'corp_formation'].includes(od?.service || ''); }) || {};\n\n      const { entity_name: entityName = '', jurisdiction = '', service: formationOrderService  } = formationOrderData;\n      let entityType = '';\n      if (formationOrderService) {\n        entityType = formationOrderService === 'llc_formation' ? 'LLCX' : 'CORP';\n      }\n\n      const { email, first_name, last_name, phone = '' } = account;\n      const leadInfo = {\n        email,\n        first_name,\n        last_name,\n        phone,\n        entity_name: entityName,\n        entity_type: entityType,\n        lead_source: 'web',\n        searchstate: jurisdiction,\n        selected_state: jurisdiction\n      };\n      const { lead_uuid: leadUuid = '' } = await leadCreation(leadInfo, service, (err, url) => {\n        reportError(err, {\n          responseData: JSON.stringify(err?.response?.data || {}, null, 4),\n          httpStatus: err?.response?.status || 404,\n          url\n        });\n      });\n      return { ...account, lead_uuid: leadUuid };\n    } catch (ex) {\n      //return the account as it is.\n      return { ...account };\n    }\n\n  },\n  createFormation = async (service, order, type) => {\n    try {\n      const orderTracking = getOrderTracking('flow');\n      const orderData = { ...order, order: { ...order.order, order_tracking: orderTracking } };\n      // before send the order verify it doesn't have null prices and order_data and order_items are equivalent.\n      orderData.order = cleanOrderData(orderData.order);\n      if (orderData.account) {\n        orderData.account = await checkAccountData(orderData.account, service, orderData.order);\n      }\n\n      const activeService = 'order_ssn_tokenized' in orderData.order ? BaseAPIService.secureService : BaseAPIService.service;\n      const formation = await activeService.post('registration/create', addPricingIds(orderData));\n      const {\n        data: {\n          data: responseData,\n          data: {\n            id = ''\n          }\n        }\n      } = formation;\n      // preserve in memory which services were sent this will be used by the update service.\n      setOrderDataSentDuringRegistration(orderData.order.order_data, id);\n      return Promise.resolve({\n        data: responseData\n      });\n    } catch (err) {\n      return processCreateError(err, type, 'registration/create');\n    }\n  },\n  createStockOrder = (service, order, type, isNotLoggedIn) => {\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n\n    const orderTracking = getOrderTracking('cust_dashboard');\n    const orderData = { ...order, order: { ...order.order, order_tracking: orderTracking } };\n    return service.post('stock-setup/post', orderData)\n      .then((response) => {\n        const {\n          data: {\n            data: responseData\n          }\n        } = response;\n        return Promise.resolve({\n          data: responseData\n        });\n      })\n      .catch((err) => {\n        return processCreateError(err, type, 'stock-setup/post');\n      });\n  },\n  createDomainOrderV2 = (service, order, type, isNotLoggedIn) => {\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n\n    const orderData = { ...order };\n    return service.post('domainsV2/create', orderData)\n      .then((response) => {\n        const {\n          data: {\n            data: responseData\n          }\n        } = response;\n        return Promise.resolve({\n          data: responseData\n        });\n      })\n      .catch((err) => {\n        return processCreateError(err, type, 'domainsV2/create');\n      });\n  },\n  createSkippedEmail = (service, order, type, isNotLoggedIn) => {\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n\n    const orderData = { ...order };\n    return service.post('email/create_skipped_email', orderData)\n      .then((response) => {\n        const {\n          data: {\n            data: responseData\n          }\n        } = response;\n        return Promise.resolve({\n          data: responseData\n        });\n      })\n      .catch((err) => {\n        return processCreateError(err, type, 'email/create_skipped_email');\n      });\n  },\n  createStandalone = (service, order, type) => {\n    const orderTracking = getOrderTracking('cust_dashboard');\n    const orderData = { ...order, order: { ...order.order, order_tracking: orderTracking } };\n    const emptyOrder = rejectEmptyOrder(orderData, type, 'registration/create');\n    if (emptyOrder) {\n      return emptyOrder;\n    }\n    const activeService = 'order_ssn_tokenized' in orderData.order ? BaseAPIService.secureService : BaseAPIService.service;\n    return activeService.post('registration/create', addPricingIds(orderData)).then((response) => {\n      const {\n        data: {\n          data: responseData\n        }\n      } = response;\n      return Promise.resolve({\n        data: responseData\n      });\n    }).catch((err) => {\n      return processCreateError(err, type, 'registration/create');\n    });\n  },\n  createDashboardStandalone = (service, order, type, isNotLoggedIn) => {\n\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n\n    const orderTracking = getOrderTracking('cust_dashboard');\n    const orderData = { ...order, order: { ...order.order, order_tracking: orderTracking } };\n    const emptyOrder = rejectEmptyOrder(orderData, type, 'registration/create');\n    if (emptyOrder) {\n      return emptyOrder;\n    }\n    const activeService = 'order_ssn_tokenized' in orderData.order ? BaseAPIService.secureService : BaseAPIService.service;\n    return activeService.post('registration/create', addPricingIds(orderData)).then((response) => {\n      const {\n        data: {\n          data: responseData\n        }\n      } = response;\n      return Promise.resolve({\n        data: responseData\n      });\n    }).catch((err) => {\n      return processCreateError(err, type, 'registration/create');\n    });\n  },\n  updateOrder = (service, payload, type, isNotLoggedIn, validateOrderDataSent, tokenHeader) => {\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n    // apply the verification againts in-memory order_data dictionary only if it's required\n    if (validateOrderDataSent) {\n      payload.order.order_data = validateOrderDataSentDuringRegistration(payload.order.order_data, payload.order.order_uuid);\n    }\n    const activeService = 'order_ssn_tokenized' in payload.order ? BaseAPIService.secureService : BaseAPIService.service;\n    return activeService.post('registration/update', payload, tokenHeader).then((response) => {\n      const { data: responseData } = response.data;\n      return Promise.resolve({\n        data: responseData\n      });\n    }).catch((err) => {\n      return processCreateError(err, type, 'registration/update');\n    });\n  };\n\n\nexport default _assign({\n\n  async createLead(lead) {\n    return leadCreation(lead, this.service, this.analyzeError);\n  },\n\n  updateLead(leadUuid, lead) {\n    // Add the affiliateId and the bannerId if in local storage\n    const url = `registration/lead/${leadUuid}`;\n    return this.service.post(url, lead).then((response) => {\n      const { data } = response;\n      return Promise.resolve(data);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  },\n\n  createLLC(data, filingFees, expediteFees) {\n    return createFormation(this.service, buildLLCOrder(data, filingFees, expediteFees, false), 'createLLC');\n  },\n\n  updateLLC(data, filingFees, expediteFees) {\n    return updateOrder(this.service, buildLLCOrder(data, filingFees, expediteFees, true), 'updateLLC', this.isNotLoggedIn(), true);\n  },\n\n  createCorp(data, filingFees, expediteFees) {\n    return createFormation(this.service, buildCorpOrder(data, filingFees, expediteFees, false), 'createCorp');\n  },\n\n  updateCorp(data, filingFees, expediteFees) {\n    return updateOrder(this.service, buildCorpOrder(data, filingFees, expediteFees, true), 'updateCorp', this.isNotLoggedIn(), true);\n  },\n\n  updateStockSetup(data, companyId, stockInfo, corpFormationId) {\n    return createStockOrder(this.service, buildStockSetupOrder(data, stockInfo, companyId, corpFormationId), 'updateStockSetup', this.isNotLoggedIn(), true);\n  },\n\n  createDBAEntity(data, filingFees) {\n    return createStandalone(this.service, buildDBAEntityOrder(data, filingFees, false), 'createDBAEntity');\n  },\n\n  createDBAEntityForExistingBus(data, filingFees, accountId) {\n    return createDashboardStandalone(this.service, buildDBAEntityForExistingBusOrder(data, accountId, filingFees), 'createDBAEntity', this.isNotLoggedIn());\n  },\n\n  updateDBAEntity(data, filingFees) {\n    return updateOrder(this.service, buildDBAEntityOrder(data, filingFees, true), 'updateDBAEntity', this.isNotLoggedIn());\n  },\n\n  createEIN(data) {\n    return createStandalone(this.service, buildEINOrder(data, false), 'createEIN');\n  },\n\n  updateEIN(data) {\n    return updateOrder(this.service, buildEINOrder(data, true), 'updateEIN', this.isNotLoggedIn());\n  },\n\n  createBusinessLicense(data) {\n    return createStandalone(this.service, buildBusLicOrder(data, false), 'createBusinessLicense');\n  },\n\n  updateBusinessLicense(data) {\n    return updateOrder(this.service, buildBusLicOrder(data, true), 'updateBusinessLicense', this.isNotLoggedIn());\n  },\n\n  createRA(data, filingFees) {\n    return createStandalone(this.service, buildRAOrder(data, filingFees, false), 'createRA');\n  },\n\n  updateRA(data, filingFees) {\n    return updateOrder(this.service, buildRAOrder(data, filingFees, true), 'updateRA', this.isNotLoggedIn());\n  },\n\n  createCoRA(data, filingFees) {\n    return createStandalone(this.service, buildCoRAOrder(data, filingFees, false), 'createCoRA');\n  },\n\n  updateCoRA(data, filingFees) {\n    return updateOrder(this.service, buildCoRAOrder(data, filingFees, true), 'updateCoRA', this.isNotLoggedIn());\n  },\n\n  createWFG(data, filingFees) {\n    return createStandalone(this.service, buildWFGOrder(data, filingFees, false), 'createWFG');\n  },\n\n  updateWFG(data, filingFees) {\n    return updateOrder(this.service, buildWFGOrder(data, filingFees, true), 'updateWFG', this.isNotLoggedIn());\n  },\n\n  createNameReservation(data, filingFees) {\n    return createStandalone(this.service, buildNameResOrder(data, filingFees, false), 'createNameReservation');\n  },\n\n  createNyPubLLC(data, filingFees) {\n    return createStandalone(this.service, buildNYPubOrder(data, true, filingFees), 'createNYPubLLC');\n  },\n\n  updateNyPubLLC(data, filingFees) {\n    return updateOrder(this.service, buildNYPubOrder(data, true, filingFees, true), 'updateNYPubLLC', this.isNotLoggedIn());\n  },\n\n  createAccounting(data, accountId) {\n    return createDashboardStandalone(this.service, buildAccountingOrder(data, accountId), 'createAccounting', this.isNotLoggedIn());\n  },\n\n  createAmendment(data, accountId, filingFees, fieldRules) {\n    return createDashboardStandalone(this.service, buildAmendmentOrder(data, accountId, filingFees, fieldRules), 'createAmendment', this.isNotLoggedIn());\n  },\n\n  createAnnualReport(data, accountId, filingFees, fieldRules) {\n    return createDashboardStandalone(this.service, buildAnnualReportOrder(data, accountId, filingFees, fieldRules), 'createAnnualReport', this.isNotLoggedIn());\n  },\n\n  createDBAEntityAddOn(data, accountId, filingFees) {\n    return createDashboardStandalone(this.service, buildDBAEntityAddOnOrder(data, accountId, filingFees), 'createDBAEntity', this.isNotLoggedIn());\n  },\n\n  createGoodStanding(data, accountId, filingFees) {\n    return createDashboardStandalone(this.service, buildGoodStandingOrder(data, accountId, filingFees), 'createGoodStanding', this.isNotLoggedIn());\n  },\n\n  createInitialCPAScreening(domesticJurisdiction, companyId, accountId) {\n    return createDashboardStandalone(this.service, buildInitialCPAScreeningOrder(domesticJurisdiction, companyId, accountId), 'createInitialCPAScreening', this.isNotLoggedIn());\n  },\n\n  createLogoKit(data, accountId) {\n    return createDashboardStandalone(this.service, buildLogoKitOrder(data, accountId), 'createLogoKit', this.isNotLoggedIn());\n  },\n\n  createStaticWebsite(data, accountId) {\n    return createDashboardStandalone(this.service, buildStaticWebsiteOrder(data, accountId), 'createStaticWebsite', this.isNotLoggedIn());\n  },\n\n  createExpenseTrackerNTaxFiling(data, accountId) {\n    return createDashboardStandalone(this.service, buildExpenseTrackerNTaxFilingOrder(data, accountId), 'createExpenseTrackerNTaxFiling', this.isNotLoggedIn());\n  },\n\n  createWFGInitialReport(data, accountId, filingFees) {\n    return createDashboardStandalone(this.service, buildWFGInitialReportOrder(data, accountId, filingFees), 'createWFGInitialReport', this.isNotLoggedIn());\n  },\n\n  createBankingResolution(data, accountId) {\n    return createDashboardStandalone(this.service, buildBankingResolutionOrder(data, accountId), 'createBankingResolution', this.isNotLoggedIn());\n  },\n\n  createBusinessKit(data, accountId) {\n    return createDashboardStandalone(this.service, buildBusinessKitOrder(data, accountId), 'createBusinessKit', this.isNotLoggedIn());\n  },\n\n  createBeneficialOwnershipFiling(data, accountId, filingFees, isOngoing, isMod, hasOngoing) {\n    let orderData = buildBeneficialOwnershipFilingOrder(data, accountId);\n\n    if (isMod) {\n      orderData = buildBOFModificationOrder(data, accountId, isOngoing, hasOngoing);\n    } else if (!isMod && isOngoing) {\n      orderData = buildBeneficialOwnershipFilingOngoingOrder(data, accountId);\n    }\n\n    return createDashboardStandalone(\n      this.service,\n      orderData,\n      'createBeneficialOwnershipFiling',\n      this.isNotLoggedIn()\n    );\n  },\n\n  createBeneficialOwnershipFilingModification(data, accountId, isOngoing, hasOngoing) {\n    const orderData = buildBOFModificationOrder(data, accountId, isOngoing, hasOngoing);\n\n    return createDashboardStandalone(\n      this.service,\n      orderData,\n      'createBeneficialOwnershipFilingModification',\n      this.isNotLoggedIn()\n    );\n  },\n\n  createOperatingAgreement(data, accountId) {\n    return createDashboardStandalone(this.service, buildOperatingAgreementOrder(data, accountId, false, true), 'createOperatingAgreement', this.isNotLoggedIn());\n  },\n\n  createBasicEmail(data, accountId, filingFees) {\n    return createDashboardStandalone(this.service, buildBasicEmailOrder(data, accountId, filingFees), 'createBasicEmail', this.isNotLoggedIn());\n  },\n\n  createCorpDocs(data, accountId, filingFees) {\n    return createDashboardStandalone(this.service, buildCorpDocsOrder(data, accountId, filingFees), 'createCorpDocs', this.isNotLoggedIn());\n  },\n\n  createDomainName(data, accountId, filingFees) {\n    return createDashboardStandalone(this.service, buildDomainNameOrder(data, accountId, filingFees), 'createDomainName', this.isNotLoggedIn());\n  },\n\n  createDomainNameV2(isExternal, companyID, domainName, orderUuid) {\n    return createDomainOrderV2(this.service, buildDomainV2Order(isExternal, companyID, domainName, orderUuid), 'createDomainNameV2', this.isNotLoggedIn());\n  },\n\n  createEmail(data) {\n    return createSkippedEmail(this.service, buildEmailV2Order(data.businessEntityUuid, data.orderUuid, data.emailAddresses[0]), 'createEmail', this.isNotLoggedIn());\n  },\n\n  createDomainNamePrivacy(data, accountId, filingFees) {\n    return createDashboardStandalone(this.service, buildDomainNamePrivacyOrder(data, accountId, filingFees), 'createDomainNamePrivacy', this.isNotLoggedIn());\n  },\n\n  createBanking(data, accountId) {\n    return createDashboardStandalone(this.service, buildBankingOrder(data.registration, accountId), 'createBanking', this.isNotLoggedIn());\n  },\n\n  createSMBWebsite(data, accountId) {\n    return createDashboardStandalone(this.service, buildSMBWebsiteOrder(data, accountId), 'createSMBWebsite', this.isNotLoggedIn());\n  },\n\n  createSMBWebsiteEcomm(data, accountId) {\n    return createDashboardStandalone(this.service, buildSMBWebsiteEcommOrder(data, accountId), 'createSMBWebsiteEcomm', this.isNotLoggedIn());\n  },\n\n  createSMBEcommAddon(data, accountId) {\n    return createDashboardStandalone(this.service, buildSMBEcommAddonOrder(data, accountId), 'createSMBEcommAddon', this.isNotLoggedIn());\n  },\n\n  createSMBWebsiteOrEcomm(data, accountId) {\n    return createDashboardStandalone(this.service, buildSMBWebsiteOrEcommOrder(data, accountId), 'createSMBWebsiteOrEcomm', this.isNotLoggedIn());\n  },\n\n  createVanityProduct(data, accountId) {\n    return createDashboardStandalone(this.service, buildVanityProductOrder(data, accountId), 'createVanityProduct', this.isNotLoggedIn());\n  },\n\n  createWebsiteToolsBundle(data, accountId) {\n    return createDashboardStandalone(this.service, buildWebsiteToolsBundleOrder(data, accountId), 'createWebsiteToolsBundle', this.isNotLoggedIn());\n  },\n\n  createZBMPro(data, accountId) {\n    return createDashboardStandalone(this.service, buildZBMProOrder(data, accountId), 'createZBMPro', this.isNotLoggedIn());\n  },\n\n  createTruicZBMPro(data, accountId) {\n    return createDashboardStandalone(this.service, buildTruicZBMProOrder(data, accountId), 'createTruicZBMPro', this.isNotLoggedIn());\n  },\n\n  createEINBanking(data) {\n    return createStandalone(this.service, buildEINBankingOrder(data, false), 'createEINBanking');\n  },\n\n  createZbBankingPreferred(data, accountId, filingFees) {\n    return createDashboardStandalone(this.service, buildZbBankingPreferredOrder(data, accountId, filingFees), 'createZbBankingPreferred', this.isNotLoggedIn());\n  },\n\n  createTaxServices(data, accountId) {\n    return createDashboardStandalone(this.service, buildTaxServicesOrder(data, accountId), 'createTaxServices', this.isNotLoggedIn());\n  },\n  createPostPurchase(data, filingFees, expediteFees) {\n    const order = buildPostPurchaseOrder(data, filingFees, expediteFees);\n    order.order.existing_order_data = validateOrderDataSentDuringRegistration(order.order.existing_order_data, order.order.existing_order_uuid);\n    const orderTracking = getOrderTracking('post-purchase');\n    const orderData = { ...order, order: { ...order.order, order_tracking: orderTracking } };\n    const activeService = 'order_ssn_tokenized' in order.order ? BaseAPIService.secureService : BaseAPIService.service;\n    return activeService.post('postpurchase/create', addPricingIds(orderData)).then((response) => {\n      const {\n        data: {\n          data: responseData\n        }\n      } = response;\n      return Promise.resolve({\n        data: responseData\n      });\n    }).catch((err) => {\n      return processCreateError(err, 'createPostPurchase', 'postpurchase/create');\n    });\n  },\n\n  createPostPurchaseBOF(data) {\n    const\n      { postpurchase, customer } = data,\n      { id: accountId } = customer,\n      { purchaseBOF, bofOngoing } = postpurchase;\n\n    // bofOngoing alone is not a purchase: the post-purchase converters only build BOF items when purchaseBOF\n    // is set, so sending without it posts an empty order (zenapi 422, ecomm-oncall alert 2026-10-19).\n    if (!purchaseBOF) {\n      return Promise.resolve({ data: {} });\n    }\n\n    return createDashboardStandalone(\n      this.service,\n      bofOngoing\n        ? buildBeneficialOwnershipFilingOngoingOrder(data, accountId, true)\n        : buildBeneficialOwnershipFilingOrder(data, accountId, true),\n      'createBeneficialOwnershipFiling',\n      this.isNotLoggedIn()\n    );\n  },\n\n  validateBusinessName(name, jurisdiction, type) {\n    const url = 'registration/validateName';\n\n    return this.service.get(url, { params: { name, jurisdiction, type } }).then((response) => {\n      const { data } = response;\n      return Promise.resolve(data);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n\n  }\n}, BaseAPIService);\n","// eslint-disable-next-line import/prefer-default-export\nexport const buildOrder = (data, stockInfo, companyID, corpFormationId) => {\n  return {\n    companyId: companyID,\n    ...stockInfo,\n    ...data.customer,\n    corpFormationId\n  };\n};\n","// business entity UUID, isExternal, domain name as arguments\n// eslint-disable-next-line import/prefer-default-export\nexport const buildOrder = (isExternal, companyID, domainName, orderUuid) => {\n  return {\n    business_entity_uuid: companyID,\n    is_external: isExternal,\n    domain_name: domainName,\n    order_uuid: orderUuid\n  };\n};\n","// business entity UUID, isExternal, domain name as arguments\n// eslint-disable-next-line import/prefer-default-export\nexport const buildOrder = (companyId, orderUuid, email) => {\n  return {\n    emailAddress: email,\n    business_entity_uuid: companyId,\n    order_uuid: orderUuid\n  };\n};\n","import _assign from 'lodash/assign';\nimport _compact from 'lodash/compact';\n\nimport { getPricingInformation } from './BaseDataConverter';\nimport { convertOrderItem as convertZbBizTaxPrepOrderItem, convertOrderData as convertZbBizTaxPrepOrderData } from './zbBizTaxPrepConverter';\nimport { convertOrderItem as convertZbTaxAdviceOrderItem, convertOrderData as convertZbTaxAdviceOrderData } from './zbTaxAdviceConverter';\nimport { convertOrderItem as convertZbTaxAdviceBizTaxPrepOrderItem, convertOrderData as convertZbTaxAdviceBizTaxPrepOrderData } from './zbTaxAdviceBizTaxPrepConverter';\nimport { convertOrderItem as convertZbBizTaxPrep2023OrderItem, convertOrderData as convertZbBizTaxPrep2023OrderData } from './zbBizTaxPrepPriorYearConverter';\n\nexport const buildOrderData = (registration) => {\n  return _compact([\n    convertZbBizTaxPrepOrderData(registration, true),\n    convertZbTaxAdviceOrderData(registration, true),\n    convertZbTaxAdviceBizTaxPrepOrderData(registration, true),\n    convertZbBizTaxPrep2023OrderData(registration, true)\n  ]);\n};\n\nexport const buildOrder = (registration, accountId) => {\n  const\n    { business } = registration,\n    //{ id: accountId } = customer,\n    { id: businessId } = business,\n    orderData = buildOrderData(registration),\n    orderItems = _compact([\n      convertZbBizTaxPrepOrderItem(registration, true),\n      convertZbTaxAdviceOrderItem(registration, true),\n      convertZbTaxAdviceBizTaxPrepOrderItem(registration, true),\n      convertZbBizTaxPrep2023OrderItem(registration, true)\n    ]),\n    order = _assign({\n      order_status: 'complete',\n      order_data: orderData,\n      order_items: orderItems,\n      business_entity_uuid: businessId\n    }, getPricingInformation(registration.order));\n\n  return {\n    account_uuid: accountId,\n    order\n  };\n};\n","import _assign from 'lodash/assign';\n\nimport { buildEntityName, convertAddress, convertContactIfIdentified, convertDirectors, convertManagers, convertMembers, convertOfficers, convertRegisteredAgent } from './BaseDataConverter';\n\nconst\n  getEntityType = (type) => {\n    if (type === 'LLCX') {\n      return 'llc';\n    }\n    if (type === 'CORP') {\n      return 'corp';\n    }\n    return '';\n  };\n\n/* eslint-disable camelcase */\nexport const convertBusinessData = (registration) => {\n  const { business, businessAddresses, contact, directors, managers, members, officers, registeredAgent } = registration,\n    { domesticJurisdiction: domestic_jurisdiction } = business,\n    { principal: principalAddress, mailing: mailingAddress, physical: physicalAddress } = businessAddresses,\n    { type, name, indicator = '', description: business_purpose } = business,\n    isLLC = type === 'LLCX',\n    isCorp = type === 'CORP',\n    data = _assign({\n      jurisdiction: domestic_jurisdiction,\n      domestic_jurisdiction,\n      business_purpose,\n      entity_name: buildEntityName(name, indicator),\n      principal_address: convertAddress(principalAddress),\n      mailing_address: convertAddress(mailingAddress),\n      address: convertAddress(physicalAddress)\n    },\n    convertContactIfIdentified(contact),\n    isLLC ? convertManagers(managers) : {},\n    isCorp ? convertDirectors(directors) : {},\n    isLLC ? convertMembers(members) : {},\n    isCorp ? convertOfficers(officers) : {},\n    convertRegisteredAgent(registeredAgent, business, { registeredAgent: false }));\n\n  return data;\n};\n\nexport const buildBusinessData = (registration, isUpdate) => {\n  const\n    { business } = registration,\n    { name, indicator = '', type, domesticJurisdiction } = business,\n    business_entity_name = buildEntityName(name, indicator);\n\n  if (isUpdate) {\n    return {\n      business_entity_name,\n      business_entity_data: convertBusinessData(registration)\n    };\n  }\n\n  return {\n    business_entity_name,\n    business_entity_type: getEntityType(type),\n    jurisdiction_code: domesticJurisdiction\n  };\n};\n\nexport const buildContactsData = (registration) => {\n  const { contact } = registration;\n  const createdDate = new Date().toISOString();\n  return [{\n    contact_types: [\n      'primary'\n    ],\n    deleted: false,\n    first_name: contact.firstName,\n    middle_name: contact.middleName,\n    last_name: contact.lastName,\n    suffix: contact.suffix,\n    company_name: contact.companyName,\n    email: contact.email,\n    phone: contact.phoneNumber,\n    address_1: contact.addressLine1,\n    address_2: contact.addressLine2,\n    city: contact.city,\n    state: contact.state,\n    zip: contact.zipCode,\n    county: contact.county,\n    country: contact.country,\n    created_datetime: createdDate,\n    updated_datetime: createdDate\n  }];\n};\n/* eslint-enable camelcase */\n","import _assign from 'lodash/assign';\nimport Promise from 'promise';\n\nimport BaseAPIService from './BaseAPIService';\nimport { buildBusinessData, buildContactsData } from './converters/BusinessEntityDataConverter';\n\nexport default _assign({\n\n  getBusinessEntity(entityId) {\n    const isNotLoggedIn = this.isNotLoggedIn();\n\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n    const url = `business-entities/${entityId}`;\n    return this.service.get(url).then((response) => {\n      if (response.data.errorMessage.indexOf('Unable') === 0) {\n        return Promise.reject(this.analyzeError({\n          response: {\n            status: 404,\n            data: {\n              errorMessage: response.data.errorMessage,\n              status: 404\n            }\n          }\n        }), url);\n      }\n      return Promise.resolve(response.data);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  },\n\n  getFiles(entityId) {\n    const isNotLoggedIn = this.isNotLoggedIn();\n\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n    const url = `business-entities/${entityId}/files`;\n    return this.service.get(url).then((response) => {\n      return Promise.resolve(response.data);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  },\n\n  create(data) {\n    const url = 'business-entities';\n\n    return this.service.post(url, buildBusinessData(data, false)).then((response) => {\n      return Promise.resolve(response.data);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  },\n\n  update(data, businessEntityId) {\n    const url = `business-entities/${businessEntityId}`;\n    return this.service.put(url, buildBusinessData(data, true)).then((response) => {\n      return Promise.resolve(response.data);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  },\n\n  updateContacts(data) {\n    const { business: { id } } = data;\n    const url = `business-entities/${id}/contacts`;\n    return this.service.put(url, buildContactsData(data)).then((response) => {\n      return Promise.resolve(response.data);\n    }).catch((err) => {\n      return Promise.reject(this.analyzeError(err, url));\n    });\n  },\n\n  getComplianceEvents(data, businessEntityId) {\n    const isNotLoggedIn = this.isNotLoggedIn();\n    if (isNotLoggedIn) {\n      return Promise.reject(isNotLoggedIn);\n    }\n    const url = `business-entities/${businessEntityId}/compliance-events`;\n    return this.service.get(url)\n      .then((response) => { return Promise.resolve(response.data); })\n      .catch((err) => { return Promise.reject(this.analyzeError(err, url)); });\n  }\n}, BaseAPIService);\n","import account from './AccountService';\nimport fintech from './FintechService';\nimport amendment from './AmendmentService';\nimport annualReport from './AnnualReportService';\nimport companies from './CompanyService';\nimport contactUs from './ContactUsService';\nimport corpStock from './CorpStockService';\nimport domainName from './DomainNameService';\nimport initialization from './InitializationService';\nimport orders from './OrderService';\nimport registration from './RegistrationService';\nimport businessEntities from './BusinessEntityService';\n\nexport const accountService = account;\nexport const fintechService = fintech;\nexport const amendmentService = amendment;\nexport const annualReportService = annualReport;\nexport const companyService = companies;\nexport const contactUsService = contactUs;\nexport const corpStockService = corpStock;\nexport const domainNameService = domainName;\nexport const initializationService = initialization;\nexport const registrationService = registration;\nexport const orderService = orders;\nexport const businessEntityService = businessEntities;\n"],"names":["standardErrorMsgs","status400","status401","status404","authInterceptor","config","getAccessToken","headers","Authorization","getLoggedInEmail","Email","getOBO","authErrorInterceptor","error","Promise","reject","createAxiosInstance","baseURL","instance","axios","create","timeout","env","api","withCredentials","interceptors","request","use","service","secureBaseURL","Error","secureService","replace","notifySentry","err","url","action","metaData","errorName","response","errorCode","data","status","responseData","JSON","stringify","httpStatus","message","toLowerCase","name","reportError","analyzeError","this","unauthorized","errorMessage","getErrorMsg","API_ERRORS","SERVER_ERROR","isNotLoggedIn","isLoggedIn","errorMsgs","_assign","status500","convertPaymentMethod","paymentMethod","cardNumber","number","expMonth","expYear","cvc","isDefault","card_token","exp_month","parseInt","exp_year","default","order","registration","business","customer","firstName","first_name","middleName","middle_name","lastName","last_name","suffix","email","phoneNumber","phone","password","hasExistingBusiness","has_existing_business","business_entity_name","type","requestedJurisdiction","jurisdiction_code","international","signup_client","business_entity_type","source","window","zenIsMobile","visit_uuid","getVisitUUID","isTRUiC","custom_flow","entry_point_group","isPF","getEntryPointGroup","buildAccountData","post","then","catch","get","exists","params","q","hasZBMoneyProSubscription","zbmSubscriptionResponse","hasZBMoneySubscription","getPaymentMethods","addPaymentMethod","addPaymentMethodV2","setPaymentMethodDefault","id","markCorpDocAsSeen","corpDocId","acceptTOS","BaseAPIService","getHurdlrSubscriptionTier","getOrderTaskMigrationServices","orderTaskUuid","migrateMoneyPlan","couponUuid","plan","planData","term","getJurisdictionInfo","jurisdictionCode","getComplianceEvent","uuid","checkEligibility","entityType","eligible","getRegisteredAgents","businessEntityUuid","encodeURIComponent","getCompanies","indexOf","getCompany","companyId","getFiles","_forEach","files","file","business_entity_uuid","sendMessage","messageInfo","getStockFeeTotal","getVariableFeeExistence","jurisdiction","getCorpStockFee","fees","addFeeCorpCalculator","check","domainName","suggest","initialize","website","origin","location","pathname","match","sanitizedPath","sanitizeRelativeUrl","setWebsiteIfNull","initData","initializeAuth0","setRudderStackApiInfo","initAvoRudderstack","initializePlaid","initializeGoogleAds","initializeGoogleMapsAPIKey","initializeStripeAPIKey","initializeShareASale","initializeSardine","setPartners","setFlows","setPlans","setProducts","setVisitor","identify","getStateFees","stateCode","getExpediteFees","getOrders","getOperatingAgreement","orderId","updateOrderTaskStatus","subStatus","getOrderTasksByCompany","patchOrderTaskData","orderTaskData","patch","order_task_data","managerTypeMap","AllOwners","SomeOwners","SomeManagers","AllManagers","removeEmptyValues","obj","_pickBy","v","_isUndefined","_isNull","convertAddress","address","address_1","address_2","addressLine1","addressLine2","city","county","state","country","zipCode","zip","lat","lng","addressIsGoogle","address_is_google","convertUser","user","companyName","careOf","outstandingJudgments","company_name","care_of","outstanding_judgments","hasContactIdentity","contact","_isEmpty","Boolean","_trim","convertContact","is_principal","isPrincipal","convertContactIfIdentified","calculateBusinessTotal","purchase","filingFees","expediteFees","domesticJurisdiction","bankingResolution","basicEmail","domainNamePrivacy","ein","expedite","nyPublication","operatingAgreement","privacy","staticWebsite","worryFree","planLevel","exFees","getExpediteRushPrice","getExpeditePriorityPrice","getExpeditePrice","getPlanLevel","corp","prices","llc","banking_resolution","getBankingResolutionPrice","basic_email","getBasicEmailYearlyPrice","domain_name_reg","getDomainNameYearlyPrice","domain_name_privacy","getDomainNamePrivacyYearlyPrice","ein_creation","getEINPrice","ny_publication","getNYPubPrice","operating_agreement","getOpAgreementPrice","getRAYearlyPrice","getStaticWebsiteYearlyPrice","getWFGYearlyPrice","convertManagers","managerReduce","managers","managerList","managerType","managerCount","users","_reduce","retval","value","push","manager_count","manager_type","convertMembers","memberReduce","members","memberList","memberCount","manager","convertMember","member_count","convertDirectors","directorReduce","directors","directorList","directorCount","title","convertDirector","director_count","convertOfficer","convertOfficers","officerReduce","officers","officerList","convertRegisteredAgent","registeredAgent","ra","registered_agent_service","registered_agent","convertAuthorizedSignatory","authSig","skipCaseFix","authSigFix","_mapKeys","k","includes","_camelCase","authorized_signatory","getPricingInformation","buildPlanGatedZeroItem","activePlan","extras","price","is_add_on","affiliate_plan_option_uuid","buildEntityName","indicator","map","el","filter","join","decorateAccount","account","is_recurly","isRecurlyEnabled","convertOrderItem","standalone","accountingGrowAndScale","accountingQuickStart","accountingUpAndRunning","getAccountingGrowAndScaleMonthlyPrice","period","getAccountingQuickStartMonthlyPrice","getAccountingUpAndRunningMonthlyPrice","convertOrderData","resolveJurisdiction","jurisdictionOverride","fallbacks","find","undefined","getEntityType","amendment","annualReport","activePlanLevel","servicePricing","getPricingAndCouponAmount","coupons","pricing","getPriceAndCouponForService","worry_free_service","coupon","wfFees","servicePrice","serviceCouponAmount","isAutoIncludedInPlan","orderItemObj","useCredit","credits","credit_balance_uuid","creditUUID","businessAddresses","page","isAutoIncluded","description","business_purpose","isLLC","isCorp","principal","principalAddress","mailing","mailingAddress","physical","physicalAddress","completedAction","completedUrl","completedActionIndex","is_new_business","is_auto_included","domestic_jurisdiction","entity_type","entity_name","principal_address","mailing_address","estimated_formation_date","activity","domestic_entity","foreign_jurisdictions","domestic_filing_date","state_id","completed_action","ACTIONS","START","completed_url","URLS","completed_action_index","buildOrder","isUpdate","orderStatus","orderData","_compact","order_status","order_data","order_uuid","businessId","accountId","lead","leadUUID","lead_uuid","cardToken","convertAccount","order_items","account_uuid","isAnswerYes","answer","formNewARData","updatedCompanyInfo","fieldRules","updatedInfo","business_entity_data","requiresAmendment","structure","addresses","taxPreparer","tax_payer","stockInfo","stock_info","par_value","_get","authorized_shares","authorizedSignatory","paRaAuthorizedSignatoryConsent","pa_ra_authorized_signatory_consent","didDisposeOfProperty","sold_property","hadGrossSales","had_gross_sales","hadGoodStanding","had_good_standing","liabilitySingleMember","liability_single_member","privatelyHeld","privately_held","stateBenefit","state_benefit","listGrossSales","list_gross_sales","maintainLicense","requires_license","makesLessThan","makes_less_than_amount","useProperty","own_or_lease_property","totalRevenue","total_revenue","ownsAnyOtherBusiness","owns_any_other_business","companyDataOwns","company_data_owns","companyDataOwnedBy","company_data_owned_by","isOwnedByAnyOtherBusiness","is_owned_by_any_other_business","hasEnteredIntoContract","has_entered_into_any_contract","ownsRealProperty","owns_real_property","hasThereBeenATransferOfStock","has_there_been_a_transfer_of_stock","hasTransferOfStockBeenOverEqualFiftyPercent","has_transfer_of_stock_been_over_equal_fifty_percent","hasControllingInterestTransferFiledDepartmentRevenue","has_controlling_interest_transfer_filed_department_revenue","holdsInterestInAgriculturalLand","holds_interest_in_agricultural_land","isFamilyFarmLLC","is_a_family_llc","naicsCode","naics_code","_isNil","numberOfStateEmployees","number_of_state_employees","numberOfEmployees","number_of_employees","scrapMetalDealer","scrap_metal_dealer","currentlyExporting","currently_exporting","topExportMarkets","top_export_markets","beInterestedInExporting","be_interested_in_exporting","isMinorityOwnedBusiness","is_minority_owned_business","isWomanOwnedBusiness","is_woman_owned_business","ownMoreThanOneBusiness","own_more_than_one_business","howManyBusinesses","how_many_businesses","howManyCounties","how_many_counties","doesEmployIndividualsWhoServeInForces","does_employ_individuals_who_serve_in_forces","howManyIndividuals","how_many_individuals","doesOwnerServeInForces","does_owner_serve_in_forces","getSupportFromWVSBDC","get_support_from_WVSBDC","issuedSharesAndGrossAssets","issuedShares","issued_shares","grossAssets","substring","gross_assets","issuedSharesClass","issued_shares_class","issuedSharesSeries","issued_shares_series","workerCompensationInsuranceRequired","worker_compensation_insurance_required","isBusinessSelfInsured","is_business_self_insured","selfInsuranceDetails","insurance_company","insuranceCompany","policy_number","policyNumber","coverage_start_date","coverageBegan","chiefExecutiveOfficer","chief_executive_officer","businessEntityPrincipalAddress","business_entity_principal_address","numberOfDirectorsAndDirectorsAsWomen","number_of_directors","numberOfDirectors","number_of_directors_as_women","numberOfDirectorsAsWomen","year","ownedUSMilitaryVeteran","owned_us_military_veteran","ownedUSDisabledMilitaryVeteran","owned_us_disabled_military_veteran","netReceiptsLessThanOneMillion","net_receipts_less_than_one_million","upToDateStockInformation","up_to_date_stock_information","stockClass","stock_class","stockAdded","stock_added","addedStock","authorizedShares","corpTransacts","corp_transacts","corpOwnership","corp_ownership","isCombinedGroup","is_combined_group","isCombinedGroupTempLossPreserved","is_combined_group_temp_loss_preserved","isTieredPartnerRevAdjusted","is_tiered_partner_rev_adjusted","isPassiveEntityTX","is_passive_entity_tx","isREITTX","is_reit_tx","isNewVetOwnedTX","is_new_vet_owned_tx","webFileId","web_file_id","formNewAmendmentData","filingJurisdiction","filingJurisdictionType","jurisdictionType","originalCompanyInfo","hasWFG","hasARS","hasPurchasedWFC","isPurchasingWFG","isWorryFreeChecked","jurisdictionTypeFees","getAnnualReportPrice","convertAmendmentOrderItem","getAmendmentPrice","isAmendment","stateId","complianceEventUuid","foreign_jurisdiction_objects","jurisdiction_filing_number","compliance_event_uuid","new_data","formNewData","convertAnnualReportOrderItem","changingOwnership","changing_ownership","banking","inPlan","purchaseBanking","getBankingYearlyPrice","businessType","businessYears","business_years","businessActivity","businessActivityOther","dbas","business_dba_name","owners","accountType","account_type","routingNumber","routing_number","accountNumber","account_number","accountFullName","account_full_name","fundingAmount","publicToken","public_token","_find","owner","accountOwner","naicsLabel","BANKING_ACTIVITY_NUMBER_TO_LABEL","_isNumber","EIN_TO_BANKING_ACTIVITY_MAP","BANKING_ACTIVITY_LABEL_TO_NUMBER","naics","naics_description","incorporation_state","funding_amount","terms_of_service_ack","business_entity_address","business_entity_contact","bank_account_members","_map","role","citizenship","residentCitizenAgeAck","ssn","percent","dob","access","ownershipPercentage","resident_citizen_age_acknowledge","ownership_percentage","account_owner","date_of_birth","convertOwner","convertOwners","BUSINESS_KIT","postpurchase","purchaseBusinessKit","getBusinessKitPrice","business_kit","beneficialOwnershipFiling","purchaseBOF","isBofSummer2024PromoEnabled","getIsBofSummer2024PromoEnabled","campaignName","getCampaignName","isBofSummer2024Pricing","getBeneficialOwnershipFilingPrice","bofSummer2024OneTimeCoupon","Object","values","item","external_coupon_id","bofSummer2024PromoOneTimeCouponAmount","amount","bofSummer2024PromoOneTimeCouponUuid","coupon_uuid","busType","beneficial_ownership_filing","forPostPurchase","orderItems","services","convertOrderItems","oneTimeFee","ongoingPrice","getOngoingBofCompliancePrice","coupon49Off","getOngoingBofComplianceCoupon","coupon49OffAmount","coupon49OffUuid","oneTimeCoupon","isOngoing","hasOngoing","purchasebeneficialOwnershipFiling","bofModPrice","getBofModificationPrice","getOngoingBofComplianceNoCouponPrice","foundCoupon","couponAmount","userOrderOngoingBofSubscription","fromReg","is_generic","buildFromFormation","isGeneric","businessName","initManagers","initMembers","llcBusinessAddress","llcMailingAddress","mailingAddressType","mailingAddressLine1","mailingAddressLine2","mailingCity","mailingCounty","mailingState","mailingZipCode","businessEmail","preemptiveRights","preemptive_rights","rightOfFirstRefusal","right_of_first_refusal","financialReportFrequency","financial_report_frequency","internalFinancialAudit","internal_financial_audit","taxAdvances","tax_advances","dayToDayMajority","day_to_day_majority","meetingOfMembersMajority","meeting_of_members_majority","passActionWithoutMeetingMajority","pass_action_without_meeting_majority","amendmentMajority","amendment_majority","terminateCompanyMajority","terminate_company_majority","amendOAorFormation","amend_oa_or_formation","issueAdditionalMembership","issue_additional_membership","appointRemoveAuditors","appoint_remove_auditors","amendRelatedPartyAgreement","amend_related_party_agreement","enterEquityTransactions","enter_equity_transactions","enterAssetTransactions","enter_asset_transactions","establishSubsidiary","establish_subsidiary","offeringAndSecurities","offering_and_securities","fundamentalBusinessTransaction","fundamental_business_transaction","liquidateOrTerminate","liquidate_or_terminate","cancelLiquidateOrTerminate","cancel_liquidate_or_terminate","reinstateAfterTermination","reinstate_after_termination","changeManager","change_manager","membersRemoveManager","members_remove_manager","fillManagerVacancy","fill_manager_vacancy","capitalContributionApproval","capital_contribution_approval","capitalContributionAmount","capital_contribution_amount","makeInvestmentApproval","make_investment_approval","makeInvestmentAmount","make_investment_amount","incurIndebtednessApproval","incur_indebtedness_approval","incurIndebtednessOneTimeAmount","incur_indebtedness_onetime_amount","incurIndebtednessTotalAmount","incur_indebtedness_total_amount","settleLawsuitApproval","settle_lawsuit_approval","settleLawsuitAmount","settle_lawsuit_amount","convertedLLCBusinessAddress","convertedLLCMailingAddress","partnership_rep","partnershipRep","manager_notice","managerNotice","llc_business_address","llc_mailing_address","member","membershipInterest","maritalStatus","spouseName","primaryMember","officialNotice","emailDisabled","phoneNumberDisabled","membership_interest","marital_status","spouse_name","primary_member","official_notice","email_disabled","phone_disabled","purchasedEmails","emailUserName","primary","emailAddresses","length","emailAddress","lastIndexOf","emailDomain","websiteToolsStandalone","activeWebsiteToolsBundle","emailInPlan","_emailAddress","emailSkip","email_address","domain_name","skip","convertBusinessData","blr","businessOutOfHome","businessIndustryId","businessIndustryLabel","hasEmployees","employeesCount","hasDBAs","existingCompany","businessData","out_of_home","industry_id","industry_label","has_trade_names","has_employees","employees_count","existing_company","purchaseBLR","getBusinessLicensePrice","trade_names","has_trade_name","baseIndex","baseUrl","START_BLR_DATA","START_BUS_DATA","baseAction","business_data","ORDER_STATUSES","incomplete","registrationOrder","fulfillment_required","complete","willMarkOrderCompleted","cora","requestedJurisdictions","pendingStates","upsellDomJur","typeKey","reqJurs","collect","reqJur","unshift","datas","isFormed","createOrderItemsForJurisdiction","couponItem","jurKey","items","index","createOrderDatasForJurisdiction","includeBusinessData","raData","is_truic_ra","is_cora","businessIndustry","sopContact","jurisdictionOrder","existingJurisdictions","filingDates","stateIds","statePINs","hasElectiveCEO","electiveCEO","domesticEntity","hasFormation","needsDomesticJurisdictionData","needsPrincipals","needsContact","needsCoraContacts","needsBusinessData","needsBusinessIndustry","needsAddresses","needsPrincipalAddress","businessOrderType","domesticJurisdictionStatePIN","domesticJurisdictionElectiveCEO","isIncomplete","retVal","fos","fo","foFilingDate","foFilingNumber","foStatePIN","foElectiveCEO","jurisdiction_filing_date","extra_state_info","state_pin","elective_ceo","djFilingDate","djStateId","domestic_jurisdiction_filing_date","domestic_jurisdiction_filing_number","domestic_jurisdiction_state_info","jurisdiction_state_pin","jurisdiction_elective_ceo","business_industry","contactSource","sop_contact","needs_addresses","needs_business_data","needs_business_industry","needs_contact","needs_cora_contacts","needs_domestic_jurisdiction_data","needs_principal_address","needs_principals","has_elective_ceo","jurisdiction_order","existing_jurisdictions","business_order_type","pending_states","is_primary","addBusinessData","level","zenBusinessRegisteredAgent","anonymity","getAnonymityYearlyPrice","isPostPurchase","purchaseCD","corporateDocs","einBusinessDocsBundle","getCorporateDocsPrice","corporate_docs","cpaConsult","cpa_consult","getCPAConsultPrice","websiteToolsBundle","purchasedDomains","_domainName","domainNames","alternates","verified","domain_verified","convertTaxData","llcMarried","llcSingleMember","taxedAsSCorp","taxInfo","members_are_married","taxed_as_single_member_llc","taxed_as_s_corp","gambling","atf","employeesW2","w2WagesPaidDate","w2AgriculturalEmployeeCount","w2OtherEmployeeCount","w2WagesLessThan1000","corpCareOf","corpClosingMonth","startDate","motorVehicle","motorVehicleWeight","businessForm720","businessActivity1","businessActivity2","businessActivity3","businessActivity4","businessActivity5","businessActivitySpecify","level_1","level_2","level_3","level_4","level_5","specify","startDatePieces","split","startDateConverted","start_date","alcohol_tobacco_firearms","employees_with_w2","w2_wages_paid_date","w2_agricultural_employees_count","w2_other_employees_count","w2_wages_lt_1000","highway_vehicle","highway_vehicle_over_55000","files_form_720","corp_care_of","corp_closing_month","convertResponsibleParty","responsibleParty","hasSSN","party","legal_name","legalName","ein_number","previous_ein","previousEin","alternate_last_names","alternateLastNames","collect_data_from_user","collectDataFromUser","has_ssn","convertSSN","order_ssn","order_ssn_tokenized","reason","convertedMailing","mailingField","tax_info","responsible_party","START_EIN","hardcodedPrice","baseService","convertOrderItemStandalone","convertOrderDataStandalone","initialCPAScreening","initial_cpa_screening","getInitialCPAScreeningPrice","getPubFee","nypub","nyPubCountyCode","useAlbany","pubState","getGAPubPrice","getPAPubPrice","getNYPubFees","isStandalone","nyPubCounty","countyName","dat","ny_publication_county","purchaseRA","registeredAgentService","privacyFees","card","recurring","planReduce","isSCorp","static_website","taxPreparation","tax_preparation","getTaxPreparationYearlyPrice","annual_report_service","isAccountant1800Enabled","accountant1800","getAccountant1800Price","remagine","industry","acc_entity_type","package_purchased","getRemaginePlanName","toUpperCase","_capitalize","acc_entity_name","acc_first_name","acc_last_name","getWebsiteToolsBundleYearlyPrice","getEINBusinessDocsBundlePrice","zbmPro","purchaseZBMPro","pfPurchaseZBMPro","zbmProMonthly","pfpppm","zbpm","getZBMProMonthlyPrice","getZBMProYearlyPrice","pppm","returnJurisdiction","registrationData","zbBankingPreferred","purchaseZbBankingPreferredOffer","getZbBankingPreferredMonthlyPrice","service_prices","zb_banking_preferred","taxServices","product","zbTaxAdvice","zbTaxAdviceBizTaxPrep","purchaseTaxAdvice","taxAdviceMonthly","purchaseTaxAdviceBizTaxPrep","taxAdviceBizTaxPrepMonthly","isPrePurchase","isBundled","isMonthly","getZbTaxAdviceMonthlyPrice","getZbTaxAdviceYearlyPrice","zbBizTaxPrep","isStandaloneBundle","getZbBizTaxPrepMonthlyPrice","getZbBizTaxPrepYearlyPrice","getZbTaxAdviceBizTaxPrepMonthlyPrice","getZbTaxAdviceBizTaxPrepYearlyPrice","einBizDocsOaBundle","getEINBizDocsOaBundlePrice","bizDocsBlrBundle","getBizDocsBlrBundlePrice","typeFees","corp_formation","isInternational","valuePerShare","businessActiivty","foreignJurisdictions","hasMoreThanOneShare","goals","homeBased","launchStatus","priorExperience","estimatedFormationDate","authSharesNum","valuePerShareNum","entityName","has_more_than_one_share","home_based","launch_status","prior_experience","plan_partner","plan_name","purchase_blr","blr_data","convertBLRBusinessData","purchase_ra","purchaseDBAEntity","purchase_dba_entity","dba_entities","dbaEntities","purchaseDBACompliance","purchase_dba_compliance","purchase_cd","purchaseBankOfAmericaOffer","purchase_bank_of_america_offer","purchase_zb_banking_preferred_offer","purchaseFFD","purchase_ffd","filing_action","filingAction","futureFilingDate","future_filing_date","purchaseWFGIR","purchase_wfgir","purchaseVBA","purchase_vba","purchaseVanityProduct","purchase_vanity_product","purchase_tax_advice","tax_advice_monthly","purchase_tax_advice_biztax_prep","tax_advice_biztax_prep_monthly","purchase_zbmpro","zbmpro_monthly","purchase_business_kit","purchase_bof","bof_ongoing","bofOngoing","purchaseExpenseTrackerAndTaxFiling","expense_tracking_with_tax_filing","START_COMP","buildOrderData","convertRegAgentOrderData","convertAnonymityOrderData","convertBankingResolutionOrderData","convertBasicEmailOrderData","convertCorpDocsOrderData","convertDomainNameOrderData","convertDomainNamePrivacyOrderData","convertEINOrderData","convertNYPubOrderData","convertExpediteOrderData","convertExpediteUpsellOrderData","convertStaticWebsiteOrderData","convertWorryFreeOrderData","convertOpAgreementOrderData","convertTaxPreparationOrderData","convertCPAConsultOrderData","convertInitialCPAScreeningOrderData","convertSCorpDesignationOrderData","convertPlanLevelOrderData","convertAnnualReportServiceOrderData","convertBankingOrderData","convertAccountant1800OrderData","convertEINDocsBundleOrderData","convertWebsiteToolsBundleOrderData","convertZBMProOrderData","convertTruicZBMProOrderData","convertZbBankingPreferredOrderData","convertZbTaxAdviceOrderData","convertZbBizPrepOrderData","convertZbTaxAdviceBizTaxPrepOrderData","convertEinBizDocsOaBundleOrderData","convertBizDocsBlrBundleOrderData","useBNR","businessStatus","cardOrToken","convertRegAgentOrderItem","convertAnonymityOrderItem","convertBankingResolutionOrderItem","convertBasicEmailOrderItem","convertCorpDocsOrderItem","convertDomainNameOrderItem","convertDomainNamePrivacyOrderItem","convertEINOrderItem","convertExpediteOrderItem","convertExpediteUpsellOrderItem","convertNYPubOrderItem","convertStaticWebsiteOrderItem","convertWorryFreeOrderItem","convertOpAgreementOrderItem","convertTaxPreparationOrderItem","convertCPAConsultOrderItem","convertInitialCPAScreeningOrderItem","convertSCorpDesignationOrderItem","convertPlanLevelOrderItem","convertAnnualReportServiceOrderItem","convertBankingOrderItem","convertAccountant1800OrderItem","convertEINDocsBundleOrderItem","convertWebsiteToolsBundleOrderItem","convertZBMProOrderItem","convertTruicZBMProOrderItem","convertZbBankingPreferredOrderItem","convertZbTaxAdviceOrderItem","convertZbBizPrepOrderItem","convertZbTaxAdviceBizTaxPrepOrderItem","convertEinBizDocsOaBundleOrderItem","convertBizDocsBlrBundleOrderItem","dbaEntity","getDBAEntityFees","getDBAEntityPrice","parentType","parent_type","dbaName","dba_name","businessDescription","ownerCount","owner_count","stateFilingDate","stateFilingNumber","hasEIN","has_ein","spFirstName","spMiddleName","spLastName","spSuffix","isSoleProp","sole_proprietor","simulatedCompanyId","isDBAEntityEnabled","fromDBAStandalone","inProgress","dbaCompliance","ppRequestedJurisdiction","ppPurchaseDBACompliance","dba_compliance","isDBAComplianceEnabled","getDBAComplianceYearlyPrice","saEntities","busReqJurisdiction","ppEntities","entity","hasITIN","getOrder","expenseTrackerNTaxFiling","registerExpenseTrackerNTaxFiling","getExpenseTrackerAndTaxFilingPlanYearlyPrice","goodStanding","standard_good_standing","getGoodStandingPrice","formation_jurisdiction","logoKit","logo_kit","getLogoKitPrice","isDAO","daoMemberManaged","daoRestriction","daoSmartContractLink","dao_smart_contract_managed","dao_notice_approved","dao_smart_contract_link","formationCounty","llc_formation","formation_county","convertOpAgreeOrderData","convertDAODesignationOrderData","convertBLROrderData","convertOpAgreeOrderItem","convertDAODesignationOrderItem","nameReservation","getNameResPrice","nameReservationFees","entity_name_reservation","getFutureFileDatePrice","SERVICE","getVirtualBusinessAddressPrice","annualReportService","getWFGInitialReportPrice","vanityProduct","getPostPurchaseVanityProduct","priceWithoutCoupon","priceIsMonthly","productKey","priceIsYearly","vanity_product","bankOfAmericaOffer","lead_type","boa_entity_name","boa_entity_type","FORMATION_SERVICES","getIntervalData","yearlyInterval","affiliatePlanOptionUUID","getSMBWebsiteYearlyPrice","getSMBWebsiteMonthlyPrice","pkg","getPackage","getSMBWebsiteEcommYearlyPrice","getSMBWebsiteEcommMonthlyPrice","getSMBEcommAddonYearlyPrice","getSMBEcommAddonMonthlyPrice","getPackageData","chooseEcomm","vanityKey","vanityUrlId","getVanityProductPrice","getZbBizTaxPrepPriorYearPrice","processCreateError","isAuth0","allHandledPaymentErrors","rejectEmptyOrder","itemCount","Array","isArray","dataCount","addPricingIds","planItem","affiliatePricingUUID","getAffiliatePricingUUID","affiliate_pricing_uuid","bofKey","ongoingKey","hasBOF","some","hasOngoingBOF","bofOrderItem","ongoingOrderItem","getAffiliatePricingUUIDByPrice","bofModKey","bofModOrderItem","leadCreation","async","leadData","affiliate_id","banner_id","localStorage","getItem","leadTracking","flow_name","device_type","mobileDeviceType","user_type","getIsFreeAccount","dataWithTracking","lead_tracking","validateUuid","errTrack","times","lead_created","eventLabel","trackEvent","resolve","setTimeout","createFormation","orderTracking","getOrderTracking","order_tracking","cleanOrderData","leadFromLS","parse","formationOrderData","od","formationOrderService","leadInfo","lead_source","searchstate","selected_state","leadUuid","ex","checkAccountData","activeService","formation","setOrderDataSentDuringRegistration","createStandalone","emptyOrder","createDashboardStandalone","updateOrder","payload","validateOrderDataSent","tokenHeader","validateOrderDataSentDuringRegistration","createLead","updateLead","createLLC","buildLLCOrder","updateLLC","createCorp","buildCorpOrder","updateCorp","updateStockSetup","corpFormationId","createStockOrder","companyID","buildStockSetupOrder","createDBAEntity","buildDBAEntityOrder","createDBAEntityForExistingBus","buildDBAEntityForExistingBusOrder","updateDBAEntity","createEIN","buildEINOrder","updateEIN","createBusinessLicense","buildBusLicOrder","updateBusinessLicense","createRA","buildRAOrder","updateRA","createCoRA","buildCoRAOrder","updateCoRA","createWFG","buildWFGOrder","updateWFG","createNameReservation","buildNameResOrder","createNyPubLLC","buildNYPubOrder","updateNyPubLLC","createAccounting","buildAccountingOrder","createAmendment","didSelectOnlyAnnualReport","convertWFGOrderData","convertWFGOrderItem","buildAmendmentOrder","createAnnualReport","didAddAmendment","buildAnnualReportOrder","createDBAEntityAddOn","convertDBAComplianceOrderData","convertDBAComplianceOrderItem","buildDBAEntityAddOnOrder","createGoodStanding","buildGoodStandingOrder","createInitialCPAScreening","buildInitialCPAScreeningOrder","createLogoKit","buildLogoKitOrder","createStaticWebsite","buildStaticWebsiteOrder","createExpenseTrackerNTaxFiling","buildExpenseTrackerNTaxFilingOrder","createWFGInitialReport","wfgir","buildWFGInitialReportOrder","createBankingResolution","buildBankingResolutionOrder","createBusinessKit","businessKit","buildBusinessKitOrder","createBeneficialOwnershipFiling","isMod","buildBeneficialOwnershipFilingOrder","buildBOFModificationOrder","buildBeneficialOwnershipFilingOngoingOrder","createBeneficialOwnershipFilingModification","createOperatingAgreement","buildOperatingAgreementOrder","createBasicEmail","buildBasicEmailOrder","createCorpDocs","corpDocs","buildCorpDocsOrder","createDomainName","buildDomainNameOrder","createDomainNameV2","isExternal","orderUuid","createDomainOrderV2","is_external","buildDomainV2Order","createEmail","createSkippedEmail","createDomainNamePrivacy","buildDomainNamePrivacyOrder","createBanking","buildBankingOrder","createSMBWebsite","smbWebsite","buildSMBWebsiteOrder","createSMBWebsiteEcomm","smbWebsiteEcomm","buildSMBWebsiteEcommOrder","createSMBEcommAddon","smbEcommAddon","buildSMBEcommAddonOrder","createSMBWebsiteOrEcomm","smbWebsiteOrEcomm","buildSMBWebsiteOrEcommOrder","createVanityProduct","buildVanityProductOrder","createWebsiteToolsBundle","buildWebsiteToolsBundleOrder","createZBMPro","buildZBMProOrder","createTruicZBMPro","buildTruicZBMProOrder","createEINBanking","buildEINBankingOrder","createZbBankingPreferred","buildZbBankingPreferredOrder","createTaxServices","convertZbBizTaxPrepOrderData","convertZbBizTaxPrep2023OrderData","convertZbBizTaxPrepOrderItem","convertZbBizTaxPrep2023OrderItem","buildTaxServicesOrder","createPostPurchase","bofData","convertBOFOngoingOrderData","convertBOFOrderData","convertRAorderData","convertDBAEntityAddOnOrderData","convertFutureFileDateOrderData","convertBusinessKitOrderData","convertCorporateDocsOrderData","convertWFGInitialReportOrderData","convertBankOfAmericaOfferOrderData","convertVirtualBusinessAddressOrderData","convertExpenseTrackingAndTaxFilingOrderData","convertVanityProductOrderData","convertTruicOrderData","bofItems","convertBOFOngoingOrderItems","convertBOFOrderItem","convertBLROrderItem","convertRAorderItem","convertDBAEntityAddOnOrderItem","convertFutureFileDateOrderItem","convertBusinessKitOrderItem","convertCorporateDocsOrderItem","convertWFGInitialReportOrderItem","convertBankOfAmericaOfferOrderItem","convertVirtualBusinessAddressOrderItem","convertExpenseTrackingAndTaxFilingOrderItem","convertVanityProductOrderItem","convertTruicOrderItem","existingOrderData","entry","cleaned","stripEmptyShareFields","buildCorpOrderData","buildLLCOrderData","existing_order_data","existing_order_uuid","previous_purchase_order_uuid","buildPostPurchaseOrder","createPostPurchaseBOF","validateBusinessName","buildBusinessData","getBusinessEntity","entityId","update","businessEntityId","put","updateContacts","createdDate","Date","toISOString","contact_types","deleted","created_datetime","updated_datetime","buildContactsData","getComplianceEvents","accountService","fintechService","fintech","amendmentService","companyService","companies","contactUsService","contactUs","corpStockService","corpStock","domainNameService","initializationService","initialization","registrationService","orderService","orders","businessEntityService","businessEntities"],"sourceRoot":""}