{"version":3,"sources":["modules/Tracking.js","modules/ScheduleQueries.js","modules/ScheduleService.js","utils/Common/Template.js","graphql/mutations.js","queries/ListBookingsQueries.js","context/reducers.js","context/StoreContext.js","context/actions.js","modules/SystemErrorService.js","graphql/queries.js","modules/TriggerManager.js","atoms/atoms.js","modules/DBService.js","modules/MessagingService.js","auth/SignIn.js","auth/SignUp.js","auth/Logout.js","styles/ProviderAddEditStyles.js","components/tip/TipPage.js","images/MBLogo.svg","auth/Forgot.js","modules/GoogleTagManager.js","images/WarningTriangleIcon.svg","components/MaintenanceDialog.js","App.js","modules/TimeService.js","styles/PublicSiteStyles.js","components/UI/theme/typography.js","queries/CustomQueries.js","modules/BillingCommon.js","user/UserCommon.js","serviceWorker.js","aws-exports.js","index.js","utils/Common/ProviderBookingConfirmation.js","utils/Common/guestCheckoutEmail.js","modules/BookingService.js","modules/TaxService.js","utils/Common/Mixpanel.js","components/MainNavbar.js","utils/Constants.js","user/checkoutOption.js","utils/index.js"],"names":["trackProviderSearch","_ref","searchParams","selectedFromDate","selectedToDate","selectedTod","selectedSkillsNames","companyId","serviceType1","serviceType2","serviceType3","eventprops","track","e","console","log","trackProviderSelection","bookingState","provider","datefilter","isRemoteLocation","location","serviceType","isVirtual","appointmentLocation","trackPackageSelection","boughtPackage","clientPackage","sdt","pkgsdt","trackTimeslotSelection","repeatingAppointment","selectedslot","trackBookingConfirmation","tryOtherProviders","trackOrderCompleted","order","trackRegistration","newUser","id","username","emailaddress","registered","firstname","lastname","phonepref","city","state","country","postalcode","role","trackLogin","user","trackPaymentProcessed","chargeInfo","trackCharge","useDifferentCard","amount","charge","brand","source","currency","listAllScheduleItems","listTimeblocks","SLOTSINADAY","SLOTUNITMINS","TIMEMAP","tmap","Array","s","hr","Math","floor","mins","tstr24","tfd","tstr12","buildTimeMap","SCHEDPKSKSPLITAT","EARTHRADIUS","ALLDAYSARRAY","DEFAULT_LOOKAHEAD_DAYS_FOR_CLUSTERING","DEFAULT_MAX_NUM_OF_SUGGESTED_SLOTS_TO_DISPALY","createTimeblock","async","locationId","startDate","endDate","startTime","endTime","type","status","weeksToRepeat","weekDays","tz","sdtutc","providerId","geoLoc","weekdaysStr","join","timeblockData","getProviderScheduleId","scheduleinfo","uuid","active","providerScheduleProviderId","locations","JSON","stringify","lat","latitude","lng","longitude","response","execWrite","opname","op","createProviderSchedule","input","getSlotsForSbs","SBs","numberOfDays","bookingIntervalMinutes","serviceDuration","travelTime","bookingIncrement","providerTz","locationTz","addStats","returnUnreadable","_ref2","timeZoneAdjustedScheduleBlocks","adjustScheduleBlocksToLocationTz","nowInLocalTimeZone","utcToZonedTime","Date","startingDate","getAWSDate","endingDate","sd","nd","ed","awsDateToJsDate","setDate","getDate","getEndingDate","primaryKey","items","BUTs","execReadBySortkey","scheduleQueries","skey","beginsWith","filter","deleted","ne","length","sbu","startDateTimeinUtc","zonedTimeToUtc","startDateTimeInBookingLoc","format","endDateTimeinUtc","endDateTimeInBookingLoc","adjustBUTimesForBookingLocationTimezone","bookedResp","between","limit","find","bk","includes","companyLocations","locationData","execReadByPK","getCompanyLocations","companyLoc","booking","bookings","b","bookedMinutes","calculateBookedMinutes","startDateUTC","startDateInLocZone","timeZone","endDateUTC","setMinutes","getMinutes","adjustGlobalBookingTimesForBookingLocationTimezone","unreadableSlots","timeBlocks","booked","selectedStartDateTime","slotMapObjects","fill","map","a","dayIndex","date","addDays","hasavail","slotmap","from","availableIntervals","timeblock","forEach","_ref4","slotMapObject","worksonday","availableIntervalsForCurrentBlock","getIndexByTime","workedTheDayBefore","workedTheDayAfter","slotsForCurrentBlock","val","index","some","availableInterval","undefined","i","concat","slotmapDate","unavStartDate","unavEndDate","unavWeekDays","getTime","indexOf","getDay","hasUnavailability","markUnAvailability","_ref5","computeAvailableSlots","readableSlots","schedule","sma","step","readableArray","d","push","slots","toReableArray","toReadableSlots","urs","futureSlotsOnly","checkDateTime","day","slot","dayDate","dayDateMillis","slotDate","setHours","Number","parseInt","start24","slice","isFutureSlot_v3","filterOutTodaysPastSlots","fromTz","targetTz","blocks","_ref3","rest","startDateTimeInScheduleTz","toDate","endDateTimeInScheduleTz","startDateTimeInLocationTz","endDateTimeInLocationTz","startDateInLocationTz","startTimeInLocationTz","endDateInLocationTz","endTimeInLocationTz","uniq","split","reduce","agr","dayNum","mod","compareTimezones","toString","bkstartTime","bkendTime","startHHMM","endHHMM","valueOf","displaybleSlots","sm","stepstarted","steplen","serviceDurationlen","returnStartTimes","foundStartTimes","referenceStartIndex","fst","live","uc","st","displaySlotsByStep2","ds","datetime","len","start12","toLocaleDateString","year","month","awsDate","dateparts","awsDateToJsEndDate","setSeconds","setMilliseconds","sample","range","shceduleWeekday","areSame","d1","d2","getMonth","getFullYear","validateApptDate","aDate","scheduleIds","dayCount","dayType","selectedLocation","timezone","availableTBs","getSBsByScheduleInfo","doesworkondate","isScheduleAvailableOnApptDate","result","slotsByDate","apptTime24hr","get24hrTime","isValid","hasAlternate","alternateSlot","originalSlot","dateInSchedule","diff","abs","sort","_slotsBySchedule$","decideAlternateSlotSearchDateRange","apptDate","numdays","avTBs","ret","dosuggestalternate","tb","pk","schInfos","scheduleBlocks","and","filteredBlocks","_ref6","createScheduleDescription","timeRange","withAMPM","dateRange","formatted","weekDaysArr","repeat","wa","isWeekdaysOnly","weeks","sortedWeekDays","Set","sortScheduleDisplayOrder","schedules","sortBy","days","min","t","hh","mm","hours","ampm","toLocaleTimeString","hour","minute","hourCycle","parts","si","ei","tbLat","tbLng","bookLat","dLat","PI","dLng","bookLatRad","tbLatRad","sin","cos","c","atan2","sqrt","includeTravelTime","ttIndLen","clawbackInd","_getSchedules","_ref7","process","allSchedules","schitem","startsWith","allLocationIds","agrigate","_ref8","parse","lc","stripLocationPrefix","uniqueLocations","allServices","allSBs","locationsFilter","or","lId","eq","execRead","queries","pd","getProviderDataForSchedules","scheduleLocationIds","substring","_ref9","services","serv","endsWith","servicetypeId","name","getServiceName","servicetypes","providerServices","serviceTypeName","servicetype","cid","pid","providerData","API","graphql","graphqlOperation","providerid","providerDataForSchedule","data","getProvider","pl","checkPackageBookedSlotsValid","heldPackageSlots","packageBookedSlots","_result$data$getProvi","idsplit","getProviderSchedule","_slots$index","dateInfo","dtstamp_str","checkSelectedSlotStillAvailable","pksk","label","serviceLocationObj","allSlotsHaveTz","slotTzMatch","checkSlotStillAvailablePkgBkgFlow","_ref10","getPhysicalLocationGeoLoc","locObj","getClusteredSlots","lookAheadDays","arguments","includeFullDayAnyTimeSlots","forceBookingTimeWithPackageBookingTime","_bookingState$company","firstBookingAnchorTime","maxTravelTimeMinutes","timeSuggestionsEnabled","company","SuggestionConfig","suggestionConfigObj","isEnabled","timeOfFirstBookingOfTheDay","maxTravelTime","remoteAddressCoordinates","clusteredSlotsResponse","post","body","providerSBs","startdate","minutes","BROWSER_TZ","Intl","DateTimeFormat","resolvedOptions","forceBookingTime","_clusteredSlotsRespon","clusteredslots","seenDates","obj","has","clusteredReadableSlot","add","getTimeSuggestions","maxNumberOfSlots","fullDays","_result$clusteredslot","slot1","slot2","_slot1$clusteredReada","_slot2$clusteredReada","slot1DateTime","slot2DateTime","getPackageSuggestedTimes","apptDates","suggestedPackageDates","hour12","_result$clusteredslot2","moment","milisecondsOfCurrentApptDate","suggestedSlot","clusteredApptMilisconds","diffToUserSelectedDateTime","s1","s2","suggestedSlotToBePresented","key","toISOString","selected","validity","searchProviderSchedulesByAddress","coords","serviceTypeIds","get","queryStringParameters","stids","esr","ex","tz1","tz2","nowDate","sortProvidersByRating","providers","p1","p2","r1","ratingstarsavg","r2","n1","toUpperCase","n2","calculateDailyPossibleMaxAvailability","counti","interval","calculateDailyStats","unreadables","dailyStats","slotlengths","sl","currLen","total","currMaxLen","currMinLen","dailyPossibleMaxAvil","p","sxl","m","stl","loadData","url","fetch","ok","text","logSystemError","statusText","checkCompanyHasTosFile","hasTos","tosPdfUrl","pdfExists","tosHtmlUrl","htmlExists","createUser","updateUser","updateProvider","createProviderRatings","createServiceType","createClient","updateClient","createClientPackage","updateClientPackage","createBooking","updateBooking","createOrder","createClientCharge","createBillingProgress","updateProviderSchedule","deleteProviderSchedule","createUISession","createAdditionalCharge","createBillingTransaction","createBookingRequest","createSystemErrorLog","updatePublicAccessToken","createProspect","createManualBooking","servicesOfCompany","skillByCompany","bundledServicesByCompany","regionalPricingByCompanyServiceType","packageByCompany","initialState","address","types","reducer","action","payload","Error","StoreContext","createContext","StoreProvider","children","dispatch","useReducer","actions","useActions","setBookingState","stringifyBookingState","useEffect","newState","_jsx","Provider","value","Logger","getCurrentDate","utc","severity","line","error","stack","message","createdAt","publicsiteByCompany","getUser","userByCompany","getCompany","companyBySubdomain","serviceTypeByCompany","clientByUserId","listSkills","getClientPackage","clientPackageByUser","promoSettingsByCompany","getBooking","getCompanyLocation","listCompanyLocations","companyLocationByCompany","getPublicAccessToken","getRefData","TriggerManager","hookName","exists","refType","refName","overrideValue","hooks","hook","hookUrls","urlList","urls","window","mode","method","headers","then","catch","invokeTrigger","selectedProviderAtom","atom","selectedProviderServicesAtom","item","service","isVisible","_s1$category","_s2$category","_s1$category2","_s2$category2","_s1$category3","_s2$category3","category","ordinal","allServicesAtom","allActiveServicesAtom","isArray","allPublicServicesAtom","activeServices","behavior","query","resp","hasOwnProperty","nextToken","sortDirection","sendSms","to","msg","countryCode","getSenderNumberByCountry","refValue","text_field_style","width","maxWidth","withRouter","props","_props$company","_props$company2","useContext","email","setEmail","useState","pasw","setPasw","loginClicked","setLoginClicked","errorMsg","setErrorMsg","newPaswRequired","setNewPaswRequired","newPasw","setNewPasW","setUser","showPassword","setShowPassword","React","showNewPassword","setShowNewPassword","smallerScreen","useMediaQuery","handleMouseDownPassword","event","preventDefault","handleEnterKeyDown","handleSignin","Auth","signIn","challengeName","doPostSignInProcess","err","_props$location$state2","_props$location$state3","code","history","fromPath","stage","_props$location$state4","_props$location$state5","authUser","currentAuthenticatedUser","bypassCache","attributes","clientRecord","Cache","removeItem","signOut","prevLoginInfo","LoginInfo","newLoginCount","loginCount","loginInfo","lastLoginDate","updateMBUserInput","getClientIfExists","userid","companyid","setClient","isNewClient","client","createClientRecord","groupName","addUserRole","newloggedinuser","newMBUserInput","signInUserSession","idToken","sub","given_name","family_name","userCompanyId","mobilephone","phone_number","contactconsent","contactconsentdatetime","newMBUser","usersByCompanyResult","roleEmailaddress","clientData","clientPackagesResult","userId","clientPackageUserId","clientId","updateClientResult","clientUserId","handleNewUserLogin","_jsxs","MainNavBar","guestUser","signOutOp","currentPath","pathname","banner","publicsitesettings","style","display","alignItems","flexDirection","gap","marginTop","padding","Grid","container","justifyContent","xs","Button","sx","cursor","marginLeft","variant","size","startIcon","KeyboardArrowLeft","marginRight","color","onClick","_props$location","_props$location$state","deleteHeldSlots","heldSlots","repeatingApptList","Typography","textAlign","_Fragment","Box","marginBottom","fontSize","TextField","alignSelf","backgroundColor","InputProps","disableUnderline","endAdornment","InputAdornment","position","IconButton","handleClickShowNewPassword","show","onMouseDown","edge","VisibilityOff","Visibility","onChange","target","userWithNewPassword","completeNewPassword","disabled","CircularProgress","isGuestOnlyCheckout","clientMayCreateAccount","fontWeight","_props$location$state6","_props$location$state7","ev","trim","toLowerCase","onKeyDown","handleClickShowPassword","fontFamily","textDecoration","_props$location$state8","_props$location$state9","isGuestCheckoutAllowed","_props$location$state10","_props$location$state11","guestMode","phone_field_style","height","setGuestMode","firstName","setFirstName","lastName","setLastName","phoneNumber","setPhoneNumber","showConfirmationSection","setShowConfirmationSection","confirmationCode","setConfirmationCode","setError","signupClicked","setSignupClicked","codeIsResent","setCodeIsResent","formNotValid","re","match","validEmail","createAccount","userDetails","UserStatus","mbUserInfo","Username","Promise","resolve","setTimeout","checkAndhandleUnconfirmedAccount","cleanedPhonNumber","codeDeliveryDetails","signUp","password","confirmSignup","confirmSignUp","userData","dateString","toLocaleString","userType","createAccountOnKeyDown","disableConfirmationBtn","disable","resendSignUp","MuiPhoneNumber","defaultCountry","userByEmailResult","setBookingUserInState","newumbser","uuidValue","v4","cleanPhone","registerUserInput","addUserToDb","clientCompanyId","accountbalance","addClient","disableCreateBtn","UserContext","setLoggedOut","doLogout","Container","useStyles","makeStyles","theme","grow","flexGrow","menuButton","spacing","title","breakpoints","up","search","borderRadius","shape","alpha","palette","common","white","searchIcon","pointerEvents","inputRoot","inputInput","transition","transitions","create","sectionDesktop","sectionMobile","paper","root","bigAvatar","margin","noLabelselectmargin","rating1","paddingTop","circleBox","border","topHeader","font","btnHidden","buttonProgress","top","logger","TipPage","setProvider","providerPic","setProviderPic","setApptDate","serviceName","setServiceName","setLocation","rating","setRating","review","setReview","hover","setHover","tipMsg","setTipMsg","tipAmt","setTipAmt","setBooking","snackMsg","setSnackMsg","msgOpen","setMsgOpen","tipPercent","setTipPercent","customTipModel","setCustomTipModal","customTipAmt","setCustomTipAmt","customTip","setCustomTip","authuser","done","setDone","buttonText","setButtonText","loading","setLoading","tokenId","setTokenId","companyAdmins","setCompanyAdmins","tipText","setTipText","bookingAddress","setBookingAddress","smallerWidthThanSixHundred","setTipInfo","percent","price","saveRating","_booking$client","_booking$client$user","_booking$client2","_booking$client2$user","_booking$company","providerRatingsProviderId","ratingstars","ratingtext","ratinguserId","debug","newReview","mutations","companyAdminsList","getCompanyAdmins","companyAdminsEmailList","companyAdmin","clientName","charAt","numStars","providerName","dataObj","client_name","num_stars","provider_name","servicetype_name","isRegisteredUser","templateName","subject","toAddresses","ccAddresses","bccAddresses","replyTo","replyemailaddress","companyName","companyLogoUrl","logoUrl","companyColor","primaryColor","authSiteUrl","sendLowRatingEmailNotification","providerRatingsByProvider","totalstars","avgstars","numberofratings","ratingInput","bookingRatingId","getCountryCodeForSms","countrycode3166alpha2","bookingId","token","params","URLSearchParams","href","expiryDate","now","picresult","Storage","pictures3key","getOrderInfo","load","Snackbar","anchorOrigin","vertical","horizontal","open","autoHideDuration","onClose","ContentProps","direction","rowSpacing","md","Rating","selectedColor","onChangeActive","newHover","newValue","ml","multiline","rows","localStorage","getItem","flexWrap","Chip","background","borderWidth","borderStyle","borderColor","startAdornment","getCurrencySymbolByCompany","billingDesc","dateNow","dateNowString","dateStyle","desc","note","orderId","additionalChargeOrderId","additionalChargeUserId","additionalChargeCompanyId","additionalChargeClientId","additionalChargeCreatorId","creatorId","createAddCharge","totalAddChg","parseFloat","timeblockid","updateBookingAddCharge","billingTransactionId","billingTransactionClientId","billingTransactionCreatorId","billingTransactionCompanyId","credit","billingTransactionOrderId","stripe_result","chargeCreditCard","stripeCustomerId","getStripeAmount","stripeAccount","stripeConnectEnabled","clientChargeClientId","description","stripechargeid","stripepaymentmethod","payment_method","stripe_payment_method_details","balance_transaction","stripe_refund_charge","stripe_status","clientChargeBillingtransactionId","billingtransactionId","amount_refunded","clientChargeOrderId","createStripePayment","companyEmail","companyCode","servicedesc","encodedURIEmail","encodeURIComponent","minimumFractionDigits","smsresult","sendSMSPaymentNotification","_jsonParse","_booking$company2","canProviderSeeClientName","jsonParse","ProviderRestrictionConfig","provider_firstname","dollars","company_name","sendProviderTipEmailNotification","finalMsg","errorresult","setStage","forgotPassword","forgotPasswordSubmit","initializeGTM","gtmId","gtmScript","document","createElement","innerHTML","head","appendChild","fetchGTMIds","hookIds","MaintenanceDialog","Sentry","dsn","beforeSend","hint","SENTRY_POPUP_ENV","exception","eventId","event_id","labelComments","subtitle2","environment","integrations","Integrations","BrowserTracing","release","npm_package_version","tracesSampleRate","SelectService","lazy","reload","ProviderPermalink","ProviderDirectory","ChooseTimeslot","AutoSelectProviderTimeSlot","ConfirmAppointmentDetail","OrderPayment","ConfirmOrder","ChoosePackage","BookingComplete","NotFound","PageNotFound","MsgTest","ContactPage","defaultButtonTextColor","buttonColor","buttonTextColor","createTheme","primary","main","createBrowserHistory","setGuestUser","guestCheckout","setGuestCheckout","userAttributes","setAttributes","setCompanyId","setCompany","setCompanyLocations","skills","setSkills","publicSiteSettings","setPublicSiteSettings","serviceLoading","setServiceLoading","landingPage","setLandingPage","loggedOut","showLoader","setShowLoader","setSelectedColor","provAgnoFlow","setProvAgnoFlow","setDefaultCountry","pathingInfo","currentPathname","currentSearch","openMessage","setAllServices","useAtom","allActiveServices","fetchSkillsData","compId","fetchServiceTypeData","sortByOrdinal","fetchCompanyLocations","offersRemoteServices","unshift","locationname","fetchCompanyPublicSettings","_styleCustomization","_styleCustomization$b","_styleCustomization2","_styleCustomization2$","_settings$textColor","styleCustomization","settings","_styleCustomization3","StyleCustomization","bookingFlowCustomizations","showHeader","opacity","circularLogo","showHeadings","showLogo","fontTypeForAllHeading","mainHeading","mandatoryNotes","checkoutOption","setItem","backgroundImageUrl","heading1Text","heading2Text","textColor","tipPageCustomizations","showTipOption","buildMainTheme","hideLoader","el","querySelector","remove","userAuthenticated","authenticatedUser","groups","SignInAsGuest","getCompanyFromDomain","gtmIds","all","init","doFetch","historyListening","useRef","current","listen","newLocation","path","seenConfirmOrder","seenOrderPayment","seenBookingComplete","go","updateCurrentUser","u","bookingUser","guest_mbuser","setClientInfoInBookingState","clientInfoObj","setClientPackagesInBookingState","clientPackages","clientExistingPackages","domain","hostname","subdomain","comp","ProvAgnoFlowConfig","providerAgnosticFlow","FallbackComponent","myFallbackComponent","fallback","showDialog","StyledEngineProvider","injectFirst","ThemeProvider","minHeight","Helmet","_company$tagline","tagline","getCompanyTagline","Router","Route","component","Suspense","serviceTypes","exact","render","Redirect","Logout","SignIn","setClientPackages","appPath","SignUp","Forgot","className","src","mbLogo","alt","createTimeDisplayInfoForTimeZone","dateTimeString","durationMins","convertedDateTime","tz_abbr_disp","tz_gmtoff","dt_disp","dt_long_disp","dt_full_disp","en_slot_disp","tm_st_disp","tm_et_disp","getBookingDateDescription","apptdate","tzAbbrv","getHours","success","getTodayDateAtBookingLocation","bookingLocationTimezone","browserTime","convertUtcToBookingLocationTimezone","utcDate","imgStyle","chroma","darken","hex","overflowX","overflowY","content","right","bottom","left","zindex","backgroundImage","backgroundSize","backgroundPosition","backgroundRepeat","bannerLogo","contextbox","title1","title2","title3","checkbox","notchedOutline","notchedOutlineProviderDir","outlined","inputRoot1","button","boxShadow","paperProviderDir","option","dropdown","paddingBottom","groupLabel","fontStyle","autocomplete","down","autocompleteusers","paddingLeft","qtywidth","primaryButtonTextColor","light","medium","secondary","info","COLOR_LIGHT_GREY","warning","textFieldPlaceHolder","typography","components","MuiTooltip","styleOverrides","tooltip","letterSpacing","lineHeight","MuiAccordion","MuiAccordionSummary","MuiAlert","icon","MuiCollapse","wrapperInner","MuiTab","textTransform","MuiTabPanel","MuiAutocomplete","MuiPaper","MuiButton","minWidth","containedPrimary","MuiPagination","MuiFormControl","MuiFormControlLabel","MuiCalendarPicker","responsiveFontSizes","h1","h2","h3","h4","h5","h6","body1","body2","caption","subtitle1","overline","helperText","cardHeader","stripecustomerid","customerCurrency","receiptemailaddress","prevChargeId","prevcharge","warn","checkCardExpiration","clientEmailAddress","USERROLE","CLIENT","PROVIDER","COMPANY_ADMIN","MARKETBOX_ADMIN","COMPANY_ADMIN_PROVIDER","MANAGER_PROVIDER","handleSendEmail","getUserFromCache","_authUser$attributes","userHasAdminRole","Boolean","awsmobile","aws_project_region","aws_mobile_analytics_app_id","aws_mobile_analytics_app_region","aws_cloud_logic_custom","endpoint","region","aws_appsync_graphqlEndpoint","aws_appsync_region","aws_appsync_authenticationType","aws_cognito_identity_pool_id","aws_cognito_region","aws_user_pools_id","aws_user_pools_web_client_id","oauth","aws_cognito_username_attributes","aws_cognito_social_providers","aws_cognito_signup_attributes","aws_cognito_mfa_configuration","aws_cognito_mfa_types","aws_cognito_password_protection_settings","passwordPolicyMinLength","passwordPolicyCharacters","aws_cognito_verification_mechanisms","aws_content_delivery_bucket","aws_content_delivery_bucket_region","aws_content_delivery_url","aws_user_files_s3_bucket","aws_user_files_s3_bucket_region","queryClient","QueryClient","defaultOptions","refetchOnWindowFocus","Amplify","configure","aws_exports","LOG_LEVEL","ReactDOM","QueryClientProvider","App","getElementById","navigator","serviceWorker","ready","registration","unregister","ProviderBookingConfirmation","orderNo","orderType","orderNotes","wdDisplay","canProviderSeeClientPhone","providerRestrictionConfig","adjustedBookings","TimeDisplayInfo","htmlTemplate","replace","getClientPhone","packageSection","bookingRow","homephone","workphone","guestCheckoutEmail","client_firstname","client_lastname","client_email","signupUrl","formatterCurr","curr","cost","NumberFormat","currencyDisplay","maximumFractionDigits","handleOrderAndBookingCreation","prps","usedPkgIdForCredit","boughtpackage","newclientpkg","clientpackage","bookedByAdmin","bookingOnBehalf","uiSessionId","bookingTz","clientNotes","getBookingAddress","acknowledgementDateTime","bookingType","chargeBreakup","cbu","orderSummary","osd","providerInfo","time","slot12","hasrepeatingappt","repeatingapptinfo","apptlist","localBookingDetails","createOrderAndBookings","_localBookingDetails$","_bookingState$user","promoData","actionUser","orderTotal","dbinfo","DashboardInfo","orders_today","orders_mtd","orders_ytd","sales_today","sales_mtd","sales_ytd","updateCompany","updateOrderStats","orderData","clientnotes","ordNoResp","idName","String","getNewOrderNo","prepareOrderDesc","orderProviderId","subtotal","servicechargeamt","taxamt","orderCompanyId","taxrate","legaltermsAcceptedAt","orderClientId","orderClientpackageId","bookingsList","slotNum","apptDT","bookingData","bookingOrderId","bookingServicetypeId","bookingProviderId","bookingClientId","bookingCompanyId","manualBooking","Notes","createdBy","notes","newbooking","prepareBookingDateTimeDisplayStrings","createUISessionEntry","eventName","clientFirstName","clientLastName","clientEmail","clientPhoneNumber","providerFirstName","providerLastName","providerEmail","orderNumber","orderDescription","orderAmount","orderCurrency","numberOfBookings","bookedBy","firstBooking","newBookingsResponse","recurBookingsResponse","selectedSlot","companyLocationCoordinates","bookingBookedById","daysOfWeek","rrule","heldSlotsList","apptDatesList","currentHeldSlot","bookingObject","partial_dt_full_disp","partial_en_slot_disp","getHeldSlotsForRecurringAPI","handleCreateRecurringBookings","repeatApptList","dateTimeObject","newBooking","generateBookingsList","newBookings","addrOneLine","remoteAddressState","remoteAddressCountryShort","postalCode","remoteAddressPostalCode","remoteAddressCountry","province","countryShort","holdSlotForPackageAppointments","tbendtime","getTimeblockEndTime","bookedtimeblockData","holdSlotsForAppointments","scheduleId","returnTimeblockList","getTimeblockEndTimeOfAppt","apptDatetime","ps","priceAfterDiscount","bs","basePrice","getDiscount","discountType","discountValue","calculateChargeBreakup","isPkgCredit","stateCode","getTaxJurisdiction","jurisdictionTaxRate","getServiceTaxRate","provstateCode","countryCodeUpper","provstateCodeUpper","taxRate","taxableAmount","taxAmount","regionalServicePrice","taxexempt","TaxOverride","taxOverrideJson","packagetype","quantity","discount","taxOverride","isNaN","isFinite","regionalServicePrice1","regionalServicePrice2","regionalServicePrice3","serviceQty1","serviceQty2","serviceQty3","taxexempt1","taxOverride1Json1","taxexempt2","taxOverride1Json2","taxexempt3","taxOverride1Json3","taxOverride1","taxOverride2","taxOverride3","taxRate1","taxRate2","taxRate3","taxableAmount1","taxableAmount2","taxableAmount3","acc","rate","VARIABLE_TAX_RATE","addServiceFee","serviceFeeType","serviceFeeAmount","taxableamt","updateClientPackageToPaid","pkg","usedQuantity","packageId","endtime","cd","getPaidPackages","servicetypeid","listClientPackagesData","servicetypeIdPackageIdCreatedAt","cp","initialQuantity","updateUsedQuantityOfPackage","increaseby","updateOrderStatusToPaidByPkgCredit","updateOrderStatus","orderid","updateOrderStatusToConfirmed","receipt","updateOrderStatusToPaid","orderReceipt","updateClientBalanceTo","balance","saveBillingProgress","ts","jsonData","userEmailAddress","bookingTimeblockId","appointmentDate","timestamp","bpData","dateTime","bp","updateHeldSlotsToConfirmed","hs","tbpksk","sendProviderBookingConfirmation","providerConfirmation","sendOrderReceipt","saveClientPackage","clientPackageServicetypeId","clientPackageClientId","clientPackagePackageId","fetchPackages","serviceTypeId","listPackagesData","servicetypeIdCreatedAt","noPackages","serviceId","pkgs","fetchRegionalPricing","getPrice","regpri","prov","countryRegPri","o","pricingtype","provRegPri","postalRegPri","postalcodes","getDescription","getCurrencySymbol","toFixed","pricePerSession","fetchCompanyLocation","num","num_check","decimal_pos","rounded_num","saveBookingRequest","guestCheckoutInfoForBookingReq","_bookingState$package","_bookingState$package2","_bookingState$heldPac","_bookingState$user2","savedNotDisplayedProviderData","savedDisplayedProviderData","usethese","_p$SBs","maxtraveltype","phone","virtualMeetingUserId","vmlink","sb","_p$SBs2","br","extraAvailabilityNotes","bookedSuggestedSlots","dir","notdisplayed","displayed","permalink","origProvider","newclientpkgid","serviceLocation","contactname","currencyBasedOnLocation","addressoneline","street","ApptAcceptanceFlowConfig","billingMode","iframeURL","publishableStripeKey","offersForeverAppt","virtualMeetingConfig","BccLists","getConfigurgedEmailAddresses","collectpayment","lastForeverApptDate","validPromocodeApplied","isRepeatingAppointment","packageRecurringSelected","guestCheckoutInfo","brData","recordType","accepted","bccListsJson","forOrdSum","bccListsObj","forBookingReqCreated","forBookingReqExpired","getCurrency","readCurrency","companyCurrency","totalRegionalPrice","numServices","taxJurisdiction","createOsd","creditsRemaining","_bs$packageBookedSlot","numofappts","unusedSessions","maxSlotsToBeBooked","qty","newService","_bs$promoData","_bs$promoData2","promocode","od","taxExemption","findOrCreateService","units","multipleServices","multipleQty","tempArr","bundledName","categoryId","categoryName","bundledMinutes","includedServices","t1","t2","componentServices","serviceTypeCompanyId","serviceTypeCategoryId","isBundledService","newBundledService","heldSlotsTimeoutExpired","heldSlotTime","heldSlotsOnDateTime","createNewUiSession","newSessionDetails","sessionItem","newUiSessionEntry","updateClientPackageIfValid","_bookingState$package3","num_of_credits_being_booked","getResponseRate","AcceptanceRatios","recent","avg","pri_rep_acceptance_ratio","getResponseTime","rep_mins","pri_rep_mins","sendGuestCheckoutEmail","guestCheckoutEmailBody","trackUser","loggedInUser","mixpanel","people","set","identify","trackServiceSelection","eventProps","trackOrderSummaryViewed","ignore_dnt","userName","setUserName","anchorEl","setAnchorEl","bookingFlowSettings","setBookingFlowSettings","useHistory","phoneWidthPadding","innerHeight","innerWidth","getCompanyName","companyname","getCompanyLogoUrl","isAdmin","getUserName","_props$publicsitesett","txtColor","logoClickHandler","homepage","focus","DisplayCompanyName","displayOnlyLogo","zIndex","handleClick","handleClose","dropDownItemsHandler","str","deviceWidth","avatarSize","phoneWidthSmaller","DisplayLoginInfo","GUEST_ONLY","currentTarget","endIcon","KeyboardArrowDownIcon","Popover","PaperProps","transformOrigin","List","ListItemText","Divider","Link","_props$publicsitesett2","_props$publicsitesett3","_props$publicsitesett4","_props$publicsitesett5","_props$publicsitesett6","overflow","objectFit","showHeadingOne","fontSizeHeader1","showHeadingTwo","fontSizeHeader2","showHeadingThree","fontSizeHeader3","AppBar","elevation","Toolbar","logo","DisplayCompanyLogo","MenuIcon","dayAbbreviations","fullDayNameMap","Mon","Tue","Wed","Thu","Fri","Sat","Sun","weekDayMap","MAX_FIRST_NAME_LENGTH","LOCATION_PREFIXES_REGEX","RegExp","AGNOSTIC_PROVIDER_NAME_TRUNCATE_LENGTH","SERVICE_BEHAVIOR_INTERNAL","TIME_OF_DAY","DEFAULT_TIME_OF_DAY_INDICES","ACCOUNT_OR_GUEST","getCheckoutOption","_publicsitesettings$S","_publicsitesettings$S2","co","_publicsitesettings$S3","_publicsitesettings$S4","_publicsitesettings$S5","_publicsitesettings$S6","_publicsitesettings$S7","_publicsitesettings$S8","n","isNumeric","jsonString","defaultValue","loggingMessage"],"mappings":"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","file":"static/js/main.609e91e4.chunk.js","sourcesContent":["import * as track from \"../utils/Common/Mixpanel\";\n\nexport function trackProviderSearch({\n  searchParams,\n  selectedFromDate,\n  selectedToDate,\n  selectedTod,\n  selectedSkillsNames,\n  companyId,\n  serviceType1,\n  serviceType2,\n  serviceType3,\n}) {\n  if (searchParams) {\n    try {\n      let eventprops = {\n        searchParams,\n        selectedFromDate,\n        selectedToDate,\n        selectedTod,\n        selectedSkillsNames,\n        companyId,\n        serviceType1,\n        serviceType2,\n        serviceType3,\n      };\n      track.trackProviderSearch(eventprops);\n    } catch (e) {\n      console.log(e);\n    }\n  }\n}\n\nexport function trackProviderSelection(bookingState, selectedSkillsNames) {\n  if (bookingState) {\n    try {\n      let {\n        provider,\n        datefilter,\n        companyId,\n        isRemoteLocation,\n        location,\n        serviceType,\n        isVirtual,\n        appointmentLocation,\n      } = bookingState;\n      let eventprops = {\n        ...datefilter,\n        provider,\n        selectedSkillsNames,\n        companyId,\n        isRemoteLocation,\n        location,\n        serviceType,\n        isVirtual,\n        appointmentLocation,\n      };\n      track.trackProviderSelection(eventprops);\n    } catch (e) {\n      console.log(e);\n    }\n  }\n}\n\nexport function trackPackageSelection(bookingState) {\n  try {\n    let {\n      boughtPackage,\n      clientPackage,\n      sdt,\n      pkgsdt,\n      companyId,\n      provider,\n      datefilter,\n      isRemoteLocation,\n      location,\n      serviceType,\n      isVirtual,\n      appointmentLocation,\n    } = bookingState;\n    track.trackPackageSelection({\n      boughtPackage,\n      clientPackage,\n      sdt,\n      pkgsdt,\n      companyId,\n      provider,\n      datefilter,\n      isRemoteLocation,\n      location,\n      serviceType,\n      isVirtual,\n      appointmentLocation,\n    });\n  } catch (e) {\n    console.log(e);\n  }\n}\n\nexport function trackTimeslotSelection(bookingState) {\n  try {\n    let {\n      boughtPackage,\n      clientPackage,\n      sdt,\n      pkgsdt,\n      companyId,\n      provider,\n      datefilter,\n      isRemoteLocation,\n      location,\n      serviceType,\n      isVirtual,\n      appointmentLocation,\n      repeatingAppointment,\n      selectedslot,\n    } = bookingState;\n    track.trackTimeslotSelection({\n      boughtPackage,\n      clientPackage,\n      sdt,\n      pkgsdt,\n      companyId,\n      provider,\n      datefilter,\n      isRemoteLocation,\n      location,\n      serviceType,\n      isVirtual,\n      appointmentLocation,\n      repeatingAppointment,\n      selectedslot,\n    });\n  } catch (e) {\n    console.log(e);\n  }\n}\n\nexport function trackBookingConfirmation(bookingState) {\n  try {\n    let {\n      boughtPackage,\n      clientPackage,\n      sdt,\n      pkgsdt,\n      companyId,\n      provider,\n      datefilter,\n      isRemoteLocation,\n      location,\n      serviceType,\n      isVirtual,\n      appointmentLocation,\n      repeatingAppointment,\n      selectedslot,\n      tryOtherProviders,\n    } = bookingState;\n    track.trackBookingConfirmation({\n      boughtPackage,\n      clientPackage,\n      sdt,\n      pkgsdt,\n      companyId,\n      provider,\n      datefilter,\n      isRemoteLocation,\n      location,\n      serviceType,\n      isVirtual,\n      appointmentLocation,\n      repeatingAppointment,\n      selectedslot,\n      tryOtherProviders,\n    });\n  } catch (e) {\n    console.log(e);\n  }\n}\n\nexport function trackOrderCompleted(bookingState, order) {\n  if (bookingState && order) {\n    try {\n      let {\n        boughtPackage,\n        clientPackage,\n        sdt,\n        pkgsdt,\n        companyId,\n        provider,\n        datefilter,\n        isRemoteLocation,\n        location,\n        serviceType,\n        isVirtual,\n        appointmentLocation,\n        repeatingAppointment,\n        selectedslot,\n        tryOtherProviders,\n      } = bookingState;\n      track.trackOrderCompleted({\n        boughtPackage,\n        clientPackage,\n        sdt,\n        pkgsdt,\n        companyId,\n        provider,\n        datefilter,\n        isRemoteLocation,\n        location,\n        serviceType,\n        isVirtual,\n        appointmentLocation,\n        repeatingAppointment,\n        selectedslot,\n        tryOtherProviders,\n        order,\n      });\n    } catch (e) {\n      console.log(e);\n    }\n  }\n}\n\nexport function trackOrderSummaryViewed(bookingState) {\n  if (bookingState) {\n    try {\n      let {\n        boughtPackage,\n        clientPackage,\n        sdt,\n        pkgsdt,\n        companyId,\n        provider,\n        datefilter,\n        isRemoteLocation,\n        location,\n        serviceType,\n        isVirtual,\n        appointmentLocation,\n        repeatingAppointment,\n        selectedslot,\n        tryOtherProviders,\n      } = bookingState;\n      track.trackOrderSummaryViewed({\n        boughtPackage,\n        clientPackage,\n        sdt,\n        pkgsdt,\n        companyId,\n        provider,\n        datefilter,\n        isRemoteLocation,\n        location,\n        serviceType,\n        isVirtual,\n        appointmentLocation,\n        repeatingAppointment,\n        selectedslot,\n        tryOtherProviders,\n      });\n    } catch (e) {\n      console.log(e);\n    }\n  }\n}\n\nexport function trackRegistration(newUser) {\n  if (newUser) {\n    try {\n      let {\n        id,\n        username,\n        emailaddress,\n        registered,\n        firstname,\n        lastname,\n        phonepref,\n        city,\n        state,\n        country,\n        postalcode,\n        role,\n        companyId,\n      } = newUser;\n      track.trackRegistration({\n        id,\n        username,\n        emailaddress,\n        registered,\n        firstname,\n        lastname,\n        phonepref,\n        city,\n        state,\n        country,\n        postalcode,\n        role,\n        companyId,\n      });\n    } catch (e) {\n      console.log(e);\n    }\n  }\n}\n\nexport function trackLogin(user) {\n  if (user) {\n    try {\n      let {\n        id,\n        username,\n        emailaddress,\n        registered,\n        firstname,\n        lastname,\n        phonepref,\n        city,\n        state,\n        country,\n        postalcode,\n        role,\n        companyId,\n      } = user;\n      track.trackLogin({\n        id,\n        username,\n        emailaddress,\n        registered,\n        firstname,\n        lastname,\n        phonepref,\n        city,\n        state,\n        country,\n        postalcode,\n        role,\n        companyId,\n      });\n    } catch (e) {\n      console.log(e);\n    }\n  }\n}\nexport function trackPaymentProcessed(bookingState, chargeInfo) {\n  if (bookingState) {\n    try {\n      let useDifferentCard = chargeInfo && chargeInfo.useDifferentCard;\n      let amount = chargeInfo && chargeInfo.charge.amount;\n      let brand = chargeInfo && chargeInfo.charge.source.brand;\n      let currency = chargeInfo && chargeInfo.charge.source.currency;\n      let trackCharge = {\n        useDifferentCard,\n        amount,\n        brand,\n        currency,\n      };\n      console.log(\"trackCharge\", trackCharge);\n      track.trackPaymentProcessed(trackCharge);\n    } catch (e) {\n      console.log(e);\n    }\n  }\n}\n\n/*\ntrackProviderSearch\ntrackProviderSelection\ntrackPackageSelection\ntrackTimeslotSelection\ntrackBookingConfirmation\ntrackOrderSummaryViewed\ntrackLogin\ntrackRegistration\ntrackPaymentProcessed\ntrackOrderCompleted\n*/\n","export const listAllScheduleItems = /* GraphQL */ `\n  query listProviderSchedules(\n    $id: ID\n    $scheduleinfo: ModelStringKeyConditionInput\n    $filter: ModelProviderScheduleFilterInput\n    $limit: Int\n    $nextToken: String\n    $sortDirection: ModelSortDirection\n  ) {\n    listProviderSchedules(\n      id: $id\n      scheduleinfo: $scheduleinfo\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n      sortDirection: $sortDirection\n    ) {\n      items {\n        id\n        scheduleinfo\n        companyId\n        providerId\n        active\n        startDate\n        endDate\n        startTime\n        endTime\n        type\n        status\n        weeksToRepeat\n        weekDays\n        locations\n        tz\n      }\n      nextToken\n    }\n  }\n`;\n\nexport const listTimeblocks = /* GraphQL */ `\n  query listProviderSchedules(\n    $id: ID\n    $scheduleinfo: ModelStringKeyConditionInput\n    $filter: ModelProviderScheduleFilterInput\n    $limit: Int\n    $nextToken: String\n    $sortDirection: ModelSortDirection\n  ) {\n    listProviderSchedules(\n      id: $id\n      scheduleinfo: $scheduleinfo\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n      sortDirection: $sortDirection\n    ) {\n      items {\n        id\n        scheduleinfo\n        startDate\n        endDate\n        startTime\n        endTime\n        type\n        status\n        weeksToRepeat\n        weekDays\n        active\n        sdtutc\n        tz\n        latitude\n        longitude\n      }\n      nextToken\n    }\n  }\n`;\n\nexport const providerDataForScheduleQuery = /* GraphQL */ `\n  query GetProvider($id: ID!) {\n    getProvider(id: $id) {\n      servicetypes {\n        items {\n          servicetype {\n            id\n            name\n          }\n        }\n        nextToken\n      }\n      locations {\n        items {\n          id\n          name\n          maxtraveltype\n          traveldistance\n          traveldistanceunit\n        }\n        nextToken\n      }\n    }\n  }\n`;\n","import API, { graphqlOperation } from \"@aws-amplify/api\";\nimport moment from \"moment\";\nimport {\n  execRead,\n  execWrite,\n  execReadBySortkey,\n  execReadByPK,\n} from \"./DBService\";\nimport * as scheduleQueries from \"./ScheduleQueries\";\nimport * as queries from \"../graphql/queries\";\nimport { utcToZonedTime, zonedTimeToUtc, format, toDate } from \"date-fns-tz\";\nimport { createProviderSchedule } from \"../graphql/mutations\";\nimport { v4 as uuid } from \"uuid\";\nimport { stripLocationPrefix } from \"../utils\";\nimport { addDays } from \"date-fns\";\nimport { uniq, sortBy, min } from \"lodash\";\nimport { mod } from \"../utils\";\n//TODO: Timezone has to be Location timezone or defaule timezone at company level\n//TODO: Move date functions to its own DateUtil module\n//The dates passed into the ScheduleService will be considered to be Location Timezone or Company Timezone\nconst SLOTSINADAY = 288;\nconst SLOTUNITMINS = 5;\nconst SLOTSINHOUR = 12;\nconst TIMEMAP = buildTimeMap();\nconst SCHEDPKSKSPLITAT = \"::\";\nconst NOTRAVELTIMERADIUS = 1000; //in meters\nconst EARTHRADIUS = 6371e3; //in meters\nconst ALLDAYSARRAY = [0, 1, 2, 3, 4, 5, 6];\nexport const DEFAULT_LOOKAHEAD_DAYS_FOR_CLUSTERING = 7;\nconst DEFAULT_MAX_NUM_OF_SUGGESTED_SLOTS_TO_DISPALY = 10;\n\nfunction weekdaysString(wdArray) {\n  return \"\" + wdArray.join(\"\");\n}\n// use API\nconst createTimeblock = async ({\n  companyId,\n  locationId,\n  startDate,\n  endDate,\n  startTime,\n  endTime,\n  type,\n  status,\n  weeksToRepeat,\n  weekDays,\n  tz,\n  sdtutc,\n  providerId,\n  geoLoc,\n}) => {\n  const weekdaysStr = weekDays ? weekdaysString(weekDays) : weekDays;\n\n  const timeblockData = {\n    id: getProviderScheduleId(companyId, providerId),\n    scheduleinfo: `BK|${startDate} ${startTime}|${locationId}|${uuid()}`,\n    companyId,\n    startDate,\n    endDate,\n    startTime,\n    endTime,\n    type,\n    status,\n    tz,\n    active: true,\n    providerId,\n    providerScheduleProviderId: providerId,\n    ...(weekdaysStr && { weekDays: weekdaysStr }),\n    ...(weeksToRepeat && { weeksToRepeat }),\n    sdtutc,\n    locations: JSON.stringify([`${locationId}`]),\n    ...(geoLoc?.lat && { latitude: geoLoc.lat }),\n    ...(geoLoc?.lng && { longitude: geoLoc.lng }),\n  };\n  let response = await execWrite({\n    opname: \"createProviderSchedule\",\n    op: createProviderSchedule,\n    input: timeblockData,\n  });\n  if (response) {\n    response = {\n      ...response,\n      id: `${response.id}${SCHEDPKSKSPLITAT}${response.scheduleinfo}`,\n    };\n  }\n  return response;\n};\nconst getSlotsForSbs = async ({\n  SBs,\n  startDate, // TODO: change the format to regular date from aws date\n  numberOfDays,\n  bookingIntervalMinutes,\n  serviceDuration,\n  travelTime,\n  geoLoc,\n  bookingIncrement,\n  providerTz,\n  locationTz,\n  companyId,\n  providerId,\n  addStats = false,\n  returnUnreadable = false,\n}) => {\n  const timeZoneAdjustedScheduleBlocks = adjustScheduleBlocksToLocationTz(\n    providerTz,\n    locationTz,\n    SBs\n  );\n  const nowInLocalTimeZone = utcToZonedTime(new Date(), locationTz);\n  const startingDate = startDate ? startDate : getAWSDate(nowInLocalTimeZone);\n  const endingDate = getEndingDate(startingDate, numberOfDays);\n  const primaryKey = getProviderScheduleId(companyId, providerId);\n\n  const { items: BUTs } = await execReadBySortkey({\n    opname: \"listProviderSchedules\",\n    op: scheduleQueries.listAllScheduleItems,\n    id: { id: primaryKey },\n    skey: { scheduleinfo: { beginsWith: `BUT|` } },\n    filter: { deleted: { ne: true } },\n  });\n\n  if (BUTs && BUTs.length)\n    adjustBUTimesForBookingLocationTimezone(BUTs, providerTz, locationTz);\n\n  const bookedResp = await execReadBySortkey({\n    opname: \"listProviderSchedules\",\n    op: scheduleQueries.listTimeblocks,\n    id: { id: primaryKey },\n    skey: {\n      scheduleinfo: { between: [`BK|${startingDate}`, `BK|${endingDate}`] },\n    },\n    filter: { status: { ne: \"CANCELLED\" } },\n    limit: 500,\n  });\n  if (bookedResp && bookedResp.items) {\n    const found = bookedResp.items.find((bk) =>\n      bk.scheduleinfo.includes(\"|CL-\")\n    );\n    if (found) {\n      //booking at company location found, so get geoLocs of the company locations\n      const companyLocations = await getCompanyLocations(companyId);\n      for (const companyLoc of companyLocations) {\n        for (const booking of bookedResp.items) {\n          if (\n            booking.scheduleinfo.includes(companyLoc.id) &&\n            companyLoc.latitude &&\n            companyLoc.longitude\n          ) {\n            if (!booking.latitude && !booking.longitude) {\n              booking.latitude = companyLoc.latitude;\n              booking.longitude = companyLoc.longitude;\n            }\n          }\n        }\n      }\n    }\n  }\n\n  if (bookedResp && bookedResp.items) {\n    // let locationTz = \"America/Vancouver\";\n    adjustGlobalBookingTimesForBookingLocationTimezone(\n      locationTz,\n      bookedResp.items,\n      serviceDuration\n    );\n  }\n\n  const unreadableSlots = computeAvailableSlots(\n    [...timeZoneAdjustedScheduleBlocks, ...BUTs],\n    bookedResp.items,\n    awsDateToJsDate(startingDate),\n    numberOfDays,\n    bookingIncrement,\n    travelTime,\n    geoLoc,\n    locationTz\n  );\n\n  const readableSlots = toReadableSlots(\n    null,\n    unreadableSlots.filter((urs) => urs.hasavail),\n    bookingIncrement,\n    serviceDuration\n  );\n\n  const futureSlotsOnly = filterOutTodaysPastSlots(\n    readableSlots,\n    bookingIntervalMinutes,\n    nowInLocalTimeZone\n  );\n  return returnUnreadable\n    ? [unreadableSlots, futureSlotsOnly, bookedResp.items]\n    : futureSlotsOnly;\n};\n\nasync function getCompanyLocations(companyId) {\n  try {\n    let locationData = await execReadByPK({\n      opname: \"companyLocationByCompany\",\n      op: /* GraphQL */ `\n        query CompanyLocationByCompany(\n          $companyId: String\n          $locationnameCreatedAt: ModelCompanyLocationByCompanyCompositeKeyConditionInput\n          $sortDirection: ModelSortDirection\n          $filter: ModelCompanyLocationFilterInput\n          $limit: Int\n          $nextToken: String\n        ) {\n          companyLocationByCompany(\n            companyId: $companyId\n            locationnameCreatedAt: $locationnameCreatedAt\n            sortDirection: $sortDirection\n            filter: $filter\n            limit: $limit\n            nextToken: $nextToken\n          ) {\n            items {\n              id\n              locationname\n              longitude\n              latitude\n              timezone\n              virtual\n              active\n              deleted\n            }\n            nextToken\n          }\n        }\n      `,\n      id: {\n        companyId,\n      },\n      limit: 500,\n    });\n\n    if (locationData?.items && locationData?.items.length > 0) {\n      return locationData.items;\n    }\n    return [];\n  } catch (e) {\n    console.log(\"error in ScheduleService getCompanyLocations\", e);\n    return [];\n  }\n}\n\nconst adjustScheduleBlocksToLocationTz = (fromTz, targetTz, blocks) =>\n  targetTz !== fromTz\n    ? blocks.map(\n        ({ startTime, startDate, endDate, endTime, weekDays, ...rest }) => {\n          // make dates in the original tz\n          const startDateTimeInScheduleTz = toDate(\n            `${startDate}T${startTime}`,\n            {\n              timeZone: fromTz,\n            }\n          );\n          const endDateTimeInScheduleTz = toDate(`${endDate}T${endTime}`, {\n            timeZone: fromTz,\n          });\n          // convert to target tz\n          const startDateTimeInLocationTz = utcToZonedTime(\n            startDateTimeInScheduleTz,\n            targetTz\n          );\n          const endDateTimeInLocationTz = utcToZonedTime(\n            endDateTimeInScheduleTz,\n            targetTz\n          );\n          //format\n          const startDateInLocationTz = format(\n            startDateTimeInLocationTz,\n            \"yyyy-MM-dd\"\n          );\n          const startTimeInLocationTz = format(\n            startDateTimeInLocationTz,\n            \"HH:mm\"\n          );\n\n          const endDateInLocationTz = format(\n            endDateTimeInLocationTz,\n            \"yyyy-MM-dd\"\n          );\n          const endTimeInLocationTz = format(endDateTimeInLocationTz, \"HH:mm\");\n\n          const adjustedWeekDays =\n            endTimeInLocationTz < startTimeInLocationTz //straddle two days case\n              ? uniq(\n                  weekDays\n                    .split(\"\")\n                    .reduce(\n                      (agr, dayNum) =>\n                        agr.concat(\n                          mod(\n                            parseInt(dayNum) +\n                              1 * (compareTimezones(targetTz, fromTz) ? 1 : -1),\n                            7\n                          ).toString()\n                        ),\n                      weekDays\n                    )\n                ).join(\"\")\n              : startDateInLocationTz !== startDate\n              ? uniq(\n                  // move case\n                  weekDays\n                    .split(\"\")\n                    .map((dayNum) =>\n                      mod(\n                        parseInt(dayNum) +\n                          1 * (compareTimezones(targetTz, fromTz) ? 1 : -1),\n                        7\n                      ).toString()\n                    )\n                ).join(\"\")\n              : weekDays;\n          return {\n            ...rest,\n            weekDays: adjustedWeekDays,\n            startTime: startTimeInLocationTz,\n            startDate: startDateInLocationTz,\n            endTime: endTimeInLocationTz,\n            endDate: endDateInLocationTz,\n          };\n        }\n      )\n    : blocks;\n\nfunction adjustGlobalBookingTimesForBookingLocationTimezone(\n  locationTz,\n  bookings\n) {\n  for (let b of bookings) {\n    if (b.sdtutc && b.startTime && b.endTime) {\n      const bookedMinutes = calculateBookedMinutes(b.startTime, b.endTime);\n      const startDateUTC = new Date(b.sdtutc);\n      const startDateInLocZone = utcToZonedTime(startDateUTC, locationTz);\n      b.startDate = format(startDateInLocZone, \"yyyy-MM-dd\", {\n        timeZone: locationTz,\n      });\n      b.startTime = format(startDateInLocZone, \"HH:mm\", {\n        timeZone: locationTz,\n      });\n      const endDateUTC = new Date(startDateInLocZone);\n      endDateUTC.setMinutes(endDateUTC.getMinutes() + bookedMinutes);\n      b.endTime = format(endDateUTC, \"HH:mm\", locationTz);\n    }\n  }\n}\n\nfunction adjustBUTimesForBookingLocationTimezone(BUTs, providerTz, locationTz) {\n  for (let sbu of BUTs) {\n    const startDateTimeinUtc = zonedTimeToUtc(\n      `${sbu.startDate}T${sbu.startTime}:00`,\n      providerTz\n    );\n    const startDateTimeInBookingLoc = utcToZonedTime(\n      startDateTimeinUtc,\n      locationTz\n    );\n    sbu.startDate = format(startDateTimeInBookingLoc, \"yyyy-MM-dd\");\n    sbu.startTime = format(startDateTimeInBookingLoc, \"HH:mm\");\n\n    const endDateTimeinUtc = zonedTimeToUtc(\n      `${sbu.endDate}T${sbu.endTime}:00`,\n      providerTz\n    );\n    const endDateTimeInBookingLoc = utcToZonedTime(\n      endDateTimeinUtc,\n      locationTz\n    );\n    sbu.endDate = format(endDateTimeInBookingLoc, \"yyyy-MM-dd\");\n    sbu.endTime = format(endDateTimeInBookingLoc, \"HH:mm\");\n  }\n}\n\nfunction calculateBookedMinutes(bkstartTime, bkendTime) {\n  //this works only if start and end times are within the same date\n  //Jan 10th 11pm to Jan 11th 1am won't work.\n  const startHHMM = bkstartTime.split(\":\");\n  const endHHMM = bkendTime.split(\":\");\n  const startTime = new Date(2000, 1, 1, startHHMM[0], startHHMM[1]);\n  const endTime = new Date(2000, 1, 1, endHHMM[0], endHHMM[1]);\n  const diff = endTime.valueOf() - startTime.valueOf();\n  const bookedMinutes = diff / (1000 * 60);\n  return bookedMinutes;\n}\n\nfunction filterOutTodaysPastSlots(\n  slots,\n  bookingIntervalMinutes,\n  nowInLocalTimeZone\n) {\n  const checkDateTime = new Date(\n    nowInLocalTimeZone.getTime() + bookingIntervalMinutes * 60 * 1000\n  );\n  slots.forEach((day) => {\n    day.slots = day.slots.filter((slot) =>\n      isFutureSlot_v3(slot, day.date, checkDateTime)\n    );\n  });\n\n  return slots;\n}\n\nfunction filterByTimesofday(slots, timesofday) {\n  slots.forEach((day) => {\n    day.slots = day.slots.filter((slot) => timesofday[slot.tfd]);\n  });\n\n  return slots;\n}\n\nfunction isFutureSlot_v3(slot, dayDate, checkDateTime) {\n  //Calculate millis of the slot\n  const dayDateMillis = dayDate.getTime();\n  let slotDate = new Date(dayDateMillis);\n  slotDate.setHours(Number.parseInt(slot.start24.slice(0, 2)));\n  slotDate.setMinutes(Number.parseInt(slot.start24.slice(-2)));\n  return slotDate.getTime() > checkDateTime.getTime();\n}\n\nfunction computeAvailableSlots(\n  timeBlocks,\n  booked,\n  selectedStartDateTime,\n  nd,\n  bookingIncrement,\n  travelTime,\n  geoLoc,\n  locationTz\n) {\n  travelTime = travelTime ? travelTime : 0;\n\n  //Create the placeholder array of by-date slots objects for asked numdays\n  //For earch day create slots array based on step (15,30,60 mins)\n  let slotMapObjects = new Array(nd).fill(null).map((a, dayIndex) => ({\n    date: addDays(selectedStartDateTime, dayIndex),\n    hasavail: false,\n    slotmap: Array.from({ length: SLOTSINADAY }),\n    availableIntervals: [],\n  }));\n\n  //iterate over the AVAILABLE timeblocks\n  //  for each AVAILABLE timeblock\n  //    based on startTime and endTime (and step), calculate start index and stop index to be marked as 1 (meaning available)\n  //    [TBD: it is possible to have this number higher than 1 indicating that multiple booking is possible but need to design the feature end-to-end]\n  //     Once start and stop indices are calculated, for each day in the slotMapArray which falls within the AVAILABLE timeblock's range\n  //     and it is the workingday of the provider, fill the availability in each day's slotmap\n\n  timeBlocks\n    .filter((timeblock) => timeblock.type === \"AVAILABLE\")\n    .forEach(({ weekDays, startTime, startDate, endDate, endTime }) => {\n      slotMapObjects\n        .filter((slotMapObject) => {\n          return (\n            slotMapObject.date >= awsDateToJsDate(startDate) &&\n            slotMapObject.date <= awsDateToJsDate(endDate) &&\n            worksonday(slotMapObject.date, weekDays)\n          );\n        })\n        .forEach((slotMapObject) => {\n          slotMapObject.hasavail = true;\n          const availableIntervalsForCurrentBlock =\n            endTime >= startTime\n              ? [\n                  // regular interval from start time to end  time\n                  [getIndexByTime(startTime), getIndexByTime(endTime)],\n                ]\n              : [\n                  // schedule is split between two days because of time zone so two intervals from start of day till end time (the piece from last day)\n                  // and from start time till end of day\n                  ...(workedTheDayBefore(slotMapObject.date, weekDays)\n                    ? [[0, getIndexByTime(endTime)]]\n                    : []),\n                  ...(workedTheDayAfter(slotMapObject.date, weekDays)\n                    ? [[getIndexByTime(startTime), SLOTSINADAY]]\n                    : []),\n                ];\n          // create the map from available intervals\n          const slotsForCurrentBlock = Array.from(\n            { length: SLOTSINADAY },\n            (val, index) =>\n              availableIntervalsForCurrentBlock.some(\n                (availableInterval) =>\n                  index >= availableInterval[0] && index <= availableInterval[1]\n              )\n                ? 1\n                : undefined\n          );\n          // merge current block slots into the slots array for that day\n          slotMapObject.slotmap = slotMapObject.slotmap.map((val, i) =>\n            val === undefined && slotsForCurrentBlock[i] === undefined\n              ? undefined\n              : val || slotsForCurrentBlock[i]\n          );\n          slotMapObject.availableIntervals =\n            slotMapObject.availableIntervals.concat(\n              availableIntervalsForCurrentBlock\n            );\n        });\n    });\n\n  //TODO: do we need to check for UNAVAILABLE?\n  timeBlocks\n    .filter((timeblock) => timeblock.type === \"UNAVAILABLE\")\n    .forEach((timeblock) => {\n      slotMapObjects\n        .filter(\n          (slotMapObject) =>\n            slotMapObject.hasavail &&\n            hasUnavailability(\n              slotMapObject.date,\n              awsDateToJsDate(timeblock.startDate),\n              awsDateToJsDate(timeblock.endDate),\n              timeblock.weekDays\n            )\n        )\n        .forEach((slotMapObject) => {\n          markUnAvailability(\n            slotMapObject.slotmap,\n            getIndexByTime(timeblock.startTime),\n            getIndexByTime(timeblock.endTime),\n            0, //Travel timee zero for\n            null,\n            null,\n            bookingIncrement\n          );\n        });\n    });\n  // iterate over BOOKED blocks (appointments already booked)\n  // For each booked appointment,\n  //    compute start and stop index based on the start and end time of the appointment\n  //    get the date of the appointment\n  //    find the day in slotMapArray that matches the appointment date\n  //    for the matched day in the slotMapArray, mark the slotmap's elements as booked (i.e. unavailable)\n  booked\n    .filter(({ type }) => type === \"BOOKED\")\n    .forEach((timeblock) => {\n      slotMapObjects\n        .filter(\n          (slotmap) =>\n            slotmap.hasavail &&\n            slotmap.date.getTime() ===\n              awsDateToJsDate(timeblock.startDate).getTime()\n        )\n        .forEach((slotmap) => {\n          markUnAvailability(\n            slotmap.slotmap,\n            getIndexByTime(timeblock.startTime),\n            getIndexByTime(timeblock.endTime),\n            travelTime,\n            timeblock,\n            geoLoc,\n            bookingIncrement\n          );\n        });\n    });\n  return slotMapObjects;\n}\n\nfunction hasUnavailability(\n  slotmapDate,\n  unavStartDate,\n  unavEndDate,\n  unavWeekDays\n) {\n  // if SBU block has weekdays, weekday must match\n  // otherwise only date match is required\n\n  if (\n    slotmapDate.getTime() >= unavStartDate.getTime() &&\n    slotmapDate.getTime() <= unavEndDate.getTime()\n  ) {\n    if (unavWeekDays && unavWeekDays.length) {\n      let unavaOnWeekday =\n        unavWeekDays.indexOf(slotmapDate.getDay()) !== -1 ? true : false;\n      if (!unavaOnWeekday) return false;\n    }\n    return true;\n  } else return false;\n}\n//sma slotMapArray, step 15, 30, 60 mins\nfunction toReadableSlots(schedule, sma, step, serviceDuration) {\n  const readableArray = [];\n  sma.forEach((d) => {\n    readableArray.push({\n      // schid: schedule.id,\n      date: d.date,\n      slots: toReableArray(\n        d.slotmap,\n        step,\n        d.date,\n        d.availableIntervals,\n        serviceDuration\n      ),\n    });\n  });\n  return readableArray;\n}\n//slotmap array of 0s and 1s indicating the availability\n//convert info in the slotmap into the start times of the available slots\nfunction toReableArray(\n  slotmap,\n  step,\n  date,\n  availableIntervals,\n  serviceDuration\n) {\n  const readableSlots = [];\n  const displaybleSlots = displaySlotsByStep2(\n    step,\n    slotmap,\n    TIMEMAP,\n    serviceDuration,\n    availableIntervals\n  );\n  if (displaybleSlots.length > 0) {\n    displaybleSlots.forEach((ds) => {\n      const datetime = new Date(date.getTime());\n      datetime.setHours(ds.hr);\n      datetime.setMinutes(ds.mins);\n      readableSlots.push({\n        len: step,\n        start24: ds.tstr24,\n        start12: ds.tstr12,\n        datetime,\n        tfd: ds.tfd,\n        hr: ds.hr,\n      });\n    });\n  }\n\n  return readableSlots;\n}\n\nfunction getAWSDate(date) {\n  let oy = { year: \"numeric\" };\n  let YYYY = date.toLocaleDateString(\"en-US\", oy);\n  let om = { month: \"2-digit\" };\n  let MM = date.toLocaleDateString(\"en-US\", om);\n  let od = { day: \"2-digit\" };\n  let DD = date.toLocaleDateString(\"en-US\", od);\n  return `${YYYY}-${MM}-${DD}`;\n}\n\nfunction getEndingDate(sd, nd) {\n  const ed = awsDateToJsDate(sd);\n  ed.setDate(ed.getDate() + nd);\n  return getAWSDate(ed);\n}\n\nfunction awsDateToJsDate(awsDate) {\n  // from YYYY-MM-DD to local timezone\n  const dateparts = awsDate.split(\"-\");\n  return new Date(\n    parseInt(dateparts[0]),\n    parseInt(dateparts[1] - 1),\n    parseInt(dateparts[2])\n  ); //yes, local time\n}\n\nfunction awsDateToJsEndDate(awsDate) {\n  const d = awsDateToJsDate(awsDate);\n  d.setHours(23);\n  d.setMinutes(59);\n  d.setSeconds(59);\n  d.setMilliseconds(999);\n  return d;\n}\n\nfunction worksonday(sample, range) {\n  if (range && sample) {\n    return range.indexOf(sample.getDay()) !== -1 ? true : false;\n  } else return true; //no range, so weekday does not matter.\n}\nconst workedTheDayBefore = (day, shceduleWeekday) =>\n  shceduleWeekday.indexOf(mod(day.getDay() - 1, 7)) !== -1;\n\nconst workedTheDayAfter = (day, shceduleWeekday) =>\n  shceduleWeekday.indexOf(mod(day.getDay() + 1, 7)) !== -1;\n\nfunction areSame(d1, d2) {\n  return (\n    d1 &&\n    d2 &&\n    d1.getDate() === d2.getDate() &&\n    d1.getMonth() === d2.getMonth() &&\n    d1.getFullYear() === d2.getFullYear()\n  );\n}\n// aDate - appointment date and time to check for validity\n// dayCount - number associated with the unit in dayType\n// dayType - days, weeks, months\nconst validateApptDate = async (\n  aDate,\n  scheduleIds,\n  dayCount,\n  dayType,\n  bookingIntervalMinutes,\n  serviceDuration,\n  travelTime,\n  geoLoc,\n  bookingIncrement,\n  selectedLocation,\n  companyId,\n  provider\n) => {\n  travelTime = travelTime ? travelTime : 0;\n  const { id: providerId, timezone: providerTz } = provider;\n  //Get timeblocks\n  const availableTBs = await getSBsByScheduleInfo(\n    getProviderScheduleId(companyId, providerId),\n    scheduleIds\n  );\n  //if apptDate's day has the schedule\n  const doesworkondate = isScheduleAvailableOnApptDate(aDate, availableTBs);\n  if (doesworkondate.result) {\n    //provider works on the booking date\n    /////....... start of new Code\n    const slotsByDate = await getSlotsForSbs({\n      SBs: availableTBs,\n      startDate: getAWSDate(aDate),\n      numberOfDays: 1,\n      bookingIntervalMinutes,\n      serviceDuration,\n      travelTime,\n      geoLoc,\n      bookingIncrement,\n      selectedLocation,\n      companyId,\n      providerId,\n      providerTz,\n      locationTz: selectedLocation.timezone,\n    });\n    const apptTime24hr = get24hrTime(aDate);\n    for (const day of slotsByDate) {\n      if (day && areSame(day.date, aDate))\n        for (const slot of day.slots) {\n          if (slot.start24 === apptTime24hr) {\n            return {\n              isValid: true,\n              hasAlternate: false,\n              alternateSlot: {},\n              originalSlot: aDate,\n              dateInSchedule: doesworkondate.dateInSchedule,\n            };\n          }\n        }\n    }\n    for (const day of slotsByDate) {\n      if (day && areSame(day.date, aDate)) {\n        if (day && day.slots && day.slots.length) {\n          for (const slot of day.slots) {\n            slot.diff = Math.abs(slot.datetime.getTime() - aDate.getTime());\n          }\n          day.slots.sort(function (a, b) {\n            return a.diff - b.diff;\n          });\n          return {\n            isValid: false,\n            hasAlternate: true,\n            alternateSlot: { date: day.date, slot: day.slots[0] },\n            originalSlot: aDate,\n            dateInSchedule: doesworkondate.dateInSchedule,\n          };\n        } else {\n          return {\n            isValid: false,\n            hasAlternate: false,\n            alternateSlot: {},\n            originalSlot: aDate,\n            dateInSchedule: doesworkondate.dateInSchedule,\n          };\n        }\n      }\n    }\n    ///// End of new Code.....................\n  } else {\n    //suggest alternate\n\n    //Get slots for one week\n    const slotSearchDateRange = decideAlternateSlotSearchDateRange(\n      aDate,\n      dayCount,\n      dayType\n    );\n    if (slotSearchDateRange.result === false) {\n      return {\n        isValid: false,\n        hasAlternate: false,\n        alternateSlot: {},\n        originalSlot: aDate,\n        dateInSchedule: doesworkondate.dateInSchedule,\n      };\n    }\n    const slotsBySchedule = await getSlotsForSbs({\n      SBs: availableTBs,\n      startDate: getAWSDate(aDate),\n      numberOfDays: 1,\n      bookingIntervalMinutes,\n      serviceDuration,\n      travelTime,\n      geoLoc,\n      bookingIncrement,\n      selectedLocation,\n      companyId,\n      providerId,\n      providerTz,\n      locationTz: selectedLocation.timezone,\n    });\n    const slotsByDate = slotsBySchedule[0]?.slots;\n    const apptTime24hr = get24hrTime(aDate);\n    if (slotsByDate && slotsByDate.length) {\n      for (const day of slotsByDate) {\n        for (const slot of day.slots) {\n          if (slot.start24 === apptTime24hr) {\n            return {\n              isValid: false,\n              hasAlternate: true,\n              alternateSlot: { date: day.date, slot: slot },\n              originalSlot: aDate,\n              dateInSchedule: doesworkondate.dateInSchedule,\n            };\n          }\n        }\n      }\n    }\n  }\n  return {\n    isValid: false,\n    hasAlternate: false,\n    alternateSlot: {},\n    originalSlot: aDate,\n    dateInSchedule: doesworkondate.dateInSchedule,\n  };\n};\n\nconst decideAlternateSlotSearchDateRange = (apptDate, dayCount, dayType) => {\n  if (dayType === \"days\" && dayCount === 1) {\n    //No alternate slot can be searched\n    return { result: false };\n  }\n  if (dayType === \"days\") {\n    return {\n      result: true,\n      startDate: addDays(apptDate, 1),\n      numdays: dayCount === 2 ? 0 : dayCount - 1,\n    };\n  }\n  if (dayType === \"weeks\") {\n    return {\n      result: true,\n      startDate: addDays(apptDate, 1),\n      numdays: dayCount === 1 ? 3 : (dayCount * 7) / 2,\n    };\n  }\n  if (dayType === \"months\") {\n    return {\n      result: true,\n      startDate: addDays(apptDate, 1),\n      numdays: dayCount === 1 ? 14 : (dayCount * 30) / 2,\n    };\n  }\n  return {\n    result: false,\n  };\n};\n\nconst isScheduleAvailableOnApptDate = (aDate, avTBs) => {\n  const ret = {\n    result: false,\n    dosuggestalternate: false,\n    dateInSchedule: false,\n  };\n  let dateInSchedule = false;\n  for (let tb of avTBs) {\n    if (\n      aDate >= awsDateToJsDate(tb.startDate) &&\n      aDate <= awsDateToJsEndDate(tb.endDate)\n    ) {\n      dateInSchedule = true;\n    }\n  }\n  ret.dateInSchedule = dateInSchedule;\n  for (let tb of avTBs) {\n    if (\n      aDate >= awsDateToJsDate(tb.startDate) &&\n      aDate <= awsDateToJsEndDate(tb.endDate)\n    ) {\n      if (worksonday(aDate, tb.weekDays)) {\n        ret.result = true;\n        ret.dosuggestalternate = false;\n      } else {\n        if (!ret.result) {\n          ret.result = false;\n          ret.dosuggestalternate = true;\n        }\n      }\n    } else {\n      if (!ret.result) {\n        ret.result = false;\n        ret.dosuggestalternate = false;\n      }\n    }\n  }\n  return ret;\n};\n\nconst getSBsByScheduleInfo = async (pk, schInfos) => {\n  const { items: scheduleBlocks } = await execReadBySortkey({\n    opname: \"listProviderSchedules\",\n    op: scheduleQueries.listTimeblocks,\n    id: { id: pk },\n    skey: { scheduleinfo: { beginsWith: `SB|` } },\n    filter: {\n      and: [{ active: { ne: false } }, { deleted: { ne: true } }],\n    },\n    limit: 20,\n  });\n  const filteredBlocks = scheduleBlocks.filter(({ scheduleinfo }) =>\n    schInfos.some((schInfos) => scheduleinfo.indexOf(schInfos) !== -1)\n  );\n  if (filteredBlocks) {\n    for (let tb of filteredBlocks) {\n      createScheduleDescription(tb);\n    }\n  }\n  return filteredBlocks;\n};\n\nfunction createScheduleDescription(tb) {\n  tb.timeRange = `${withAMPM(tb.startTime)} — ${withAMPM(tb.endTime)}`;\n  tb.dateRange = `${formatted(tb.startDate)} — ${formatted(tb.endDate)}`;\n  const weekDaysArr =\n    tb?.weekDays === \"\" ? ALLDAYSARRAY : tb.weekDays.split(\"\");\n  if (weekDaysArr) {\n    weekDaysArr.sort();\n    let repeat = \"\";\n    if (weekDaysArr.length === 7) {\n      repeat = \"Every day\";\n    } else if (weekDaysArr.length === 5 && isWeekdaysOnly(weekDaysArr)) {\n      repeat = \"Every weekday\";\n    } else {\n      const weeks = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\n      const sortedWeekDays = [...new Set(weekDaysArr)].sort((a, b) => a - b);\n      if (sortedWeekDays.length === 1) {\n        repeat = `${weeks[sortedWeekDays[0]]}`;\n      } else if (sortedWeekDays.length === 7) {\n        repeat = `Every day`;\n      } else {\n        const firstDay = weeks[sortedWeekDays[0]];\n        const lastDay = weeks[sortedWeekDays[sortedWeekDays.length - 1]];\n        repeat = `${firstDay} — ${lastDay},`;\n      }\n    }\n    tb.repeat = repeat;\n  }\n}\n\nconst sortScheduleDisplayOrder = (schedules) => {\n  const allDays = \"0123456\";\n  const allWeekDays = \"12345\";\n  return sortBy(schedules, [\n    (schedule) =>\n      schedule.weekDays === allWeekDays || schedule.weekDays === allDays\n        ? -1\n        : 1, //move \"Every weekday\" or \"Every day\" to the top\n    (schedule) => {\n      const days = schedule.weekDays.split(\"\").map(Number);\n      return min(days.map((day) => (day === 0 ? 7 : day))); //treat Sunday (0) as 7 for sorting\n    },\n    \"startTime\", //sort by start time if days are the same\n  ]);\n};\n\nfunction isWeekdaysOnly(wa) {\n  wa.sort();\n  for (let i = 0; i <= 4; i++) {\n    if (!(parseInt(wa[i]) === i + 1)) return false;\n  }\n  return true;\n}\nfunction formatted(d) {\n  return new Date(d).toLocaleDateString(\"en-US\", {\n    year: \"2-digit\",\n    month: \"short\",\n    day: \"numeric\",\n  });\n}\n\nfunction withAMPM(t) {\n  if (!t) return \"\";\n  const [hh, mm] = t.split(\":\");\n  let hours = parseInt(hh, 10);\n  const ampm = hours < 12 ? \"AM\" : \"PM\";\n  hours = hours % 12 || 12;\n  return `${hours}:${mm} ${ampm}`;\n}\n\nconst getProviderLocation = async (id) => {\n  const data = await API.graphql(\n    graphqlOperation(\n      `query GetProviderLocation($id: ID!) {\n      getProviderLocation(id: $id) {\n        id\n        name \n        timezone\n      }\n    }`,\n      {\n        id,\n      }\n    )\n  );\n  return data.data.getProviderLocation;\n};\n\nconst getCompanyLocationGeoCoordinates = async (scheduleinfo) => {\n  try {\n    if (scheduleinfo && scheduleinfo.includes(\"|CL-\")) {\n      const parts = scheduleinfo.split(\"|\");\n      const locationId = parts[1].slice(3);\n      const companyLocation = await getCompanyLocation(locationId);\n      if (companyLocation) {\n        return {\n          lat: companyLocation.latitude,\n          lng: companyLocation.longitude,\n        };\n      }\n    }\n    return null;\n  } catch (e) {\n    return null;\n  }\n};\nconst getCompanyLocation = async (id) => {\n  const data = await API.graphql(\n    graphqlOperation(\n      `query GetCompanyLocation($id: ID!) {\n        getCompanyLocation(id: $id) {\n        id\n        locationname \n        timezone\n        latitude\n        longitude\n      }\n    }`,\n      {\n        id,\n      }\n    )\n  );\n  return data.data.getCompanyLocation;\n};\n\nconst get24hrTime = (aDate) => {\n  return aDate\n    ? aDate.toLocaleTimeString(\"en-US\", {\n        hour: \"2-digit\",\n        minute: \"2-digit\",\n        hourCycle: \"h24\",\n      })\n    : \"\";\n};\nfunction getIndexByTime(t) {\n  const parts = t.split(\":\");\n  const h = parseInt(parts[0]);\n  const m = parseInt(parts[1]);\n  const index = (h * 60 + m) / SLOTUNITMINS;\n  return index;\n}\n\nfunction markUnAvailability(\n  sm,\n  si,\n  ei,\n  travelTime,\n  tb,\n  geoLoc,\n  bookingIncrement\n) {\n  if (tb && tb.latitude && tb.longitude && geoLoc) {\n    if (!includeTravelTime(tb, geoLoc)) travelTime = 0;\n  }\n  if (travelTime && travelTime > 0) {\n    let ttIndLen = travelTime / SLOTUNITMINS;\n    si = si - ttIndLen;\n    ei = ei + ttIndLen;\n    let clawbackInd = ei % (bookingIncrement / SLOTUNITMINS);\n    if (clawbackInd <= 1) {\n      //10 mins into the next half an hour like 10:10 or 10:40\n      ei = ei - clawbackInd;\n    }\n  }\n  //in above block ei could correspond to endTime 00:00 i.e. ei=0 (or near midnight like 11:50pm), and hence its travel time adjusted ei could be between 0 and 5 of the NEXT  DAY.\n  // we have no way of storing and presenting this fact to users so reset the endTime back 00:00\n  if (ei < si) ei = SLOTSINADAY;\n\n  for (let s = si; s <= ei - 1; s++) {\n    sm[s] = 0;\n  }\n}\n\nfunction includeTravelTime(tb, geoLoc) {\n  if (tb && tb.latitude && tb.longitude && geoLoc) {\n    const tbLat = Number(tb.latitude);\n    const tbLng = Number(tb.longitude);\n    const bookLat = Number(geoLoc.lat);\n    const bookLng = Number(geoLoc.lng);\n    const lat = tbLat - bookLat;\n    const lng = tbLng - bookLng;\n    const dLat = (lat * Math.PI) / 180;\n    const dLng = (lng * Math.PI) / 180;\n    const bookLatRad = (bookLat * Math.PI) / 180;\n    const tbLatRad = (tbLat * Math.PI) / 180;\n\n    let a =\n      Math.sin(dLat / 2) * Math.sin(dLat / 2) +\n      Math.cos(bookLatRad) *\n        Math.cos(tbLatRad) *\n        Math.sin(dLng / 2) *\n        Math.sin(dLng / 2);\n    let c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n    let d = EARTHRADIUS * c;\n    if (d < NOTRAVELTIMERADIUS) return false;\n  }\n  return true;\n}\n\nfunction calcDist(fromGeo, toGeo) {\n  try {\n    if (\n      fromGeo.latitude &&\n      fromGeo.longitude &&\n      toGeo.latitude &&\n      toGeo.longitude\n    ) {\n      if (\n        isNaN(fromGeo.latitude) ||\n        isNaN(fromGeo.longitude) ||\n        isNaN(toGeo.latitude) ||\n        isNaN(toGeo.longitude)\n      )\n        return { km: 0, miles: 0, usable: false };\n      const fromLat = Number(fromGeo.latitude);\n      const fromLng = Number(fromGeo.longitude);\n      const toLat = Number(toGeo.latitude);\n      const toLng = Number(toGeo.longitude);\n      const lat = fromLat - toLat;\n      const lng = fromLng - toLng;\n      const dLat = (lat * Math.PI) / 180;\n      const dLng = (lng * Math.PI) / 180;\n      const toLatRad = (toLat * Math.PI) / 180;\n      const fromLatRad = (fromLat * Math.PI) / 180;\n\n      let a =\n        Math.sin(dLat / 2) * Math.sin(dLat / 2) +\n        Math.cos(toLatRad) *\n          Math.cos(fromLatRad) *\n          Math.sin(dLng / 2) *\n          Math.sin(dLng / 2);\n      let c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n      let d = EARTHRADIUS * c;\n      if (d === 0) return { km: 0, miles: 0, usable: false };\n      let km = round(Number(d / 1000), 1);\n      let miles = round(Number((d / 1000) * 0.621371), 1);\n      return { km, miles, usable: true };\n    } else {\n      return { km: 0, miles: 0, usable: false };\n    }\n  } catch (e) {\n    console.log(\"error while calculating distance\", e);\n    return { km: 0, miles: 0, usable: false };\n  }\n}\n\nfunction round(value, precision) {\n  var multiplier = Math.pow(10, precision || 0);\n  return Math.round(value * multiplier) / multiplier;\n}\n\nfunction displaySlotsByStep2(\n  step,\n  sm,\n  tmap,\n  serviceDuration,\n  availableIntervals\n) {\n  let stepstarted = false;\n  const steplen = step / SLOTUNITMINS;\n  const serviceDurationlen = serviceDuration / SLOTUNITMINS;\n  let returnStartTimes = [];\n\n  availableIntervals.forEach((availableInterval) => {\n    const foundStartTimes = [];\n    let referenceStartIndex = availableInterval[0];\n    for (let s = availableInterval[0]; s < availableInterval[1]; s++) {\n      if (sm[s] === 1) {\n        if (stepstarted) {\n          //existing step\n          for (let fst of foundStartTimes) {\n            if (fst.live) fst.uc += 1;\n          }\n          if ((s - referenceStartIndex) % steplen === 0) {\n            foundStartTimes.push({ st: tmap[s], uc: 1, live: true });\n            stepstarted = true;\n            referenceStartIndex = s;\n          }\n        } else {\n          //new step started\n          foundStartTimes.push({ st: tmap[s], uc: 1, live: true });\n          stepstarted = true;\n          referenceStartIndex = s;\n        }\n      } else {\n        for (let fst of foundStartTimes) {\n          fst.live = false;\n        }\n        stepstarted = false;\n      }\n    }\n    returnStartTimes = returnStartTimes.concat(\n      foundStartTimes\n        .filter((fst) => fst.uc >= serviceDurationlen)\n        .map((fst) => fst.st)\n    );\n  });\n  return returnStartTimes;\n}\n\nfunction buildTimeMap() {\n  const tmap = new Array(SLOTSINADAY);\n  for (let s = 0; s < SLOTSINADAY; s++) {\n    const hr = Math.floor(s / SLOTSINHOUR);\n    const mins = (s % SLOTSINHOUR) * SLOTUNITMINS;\n    const tstr24 = `${hr < 10 ? \"0\" : \"\"}${hr}:${mins < 10 ? \"0\" : \"\"}${mins}`;\n    const tfd =\n      hr > 6 && hr < 12\n        ? 1\n        : hr > 11 && hr < 17\n        ? 2\n        : hr > 16 && hr <= 23\n        ? 3\n        : 4;\n    const tstr12 = `${hr < 13 ? hr : hr - 12}:${mins < 10 ? \"0\" : \"\"}${mins} ${\n      hr > 11 ? \"PM\" : \"AM\"\n    }`;\n    tmap[s] = { tstr24, tstr12, tfd, hr, mins };\n  }\n  return tmap;\n}\n\n//For UI : _getSchedules\nconst _getSchedules = async ({ companyId, providerId }) => {\n  const response = await execReadBySortkey({\n    opname: \"listProviderSchedules\",\n    op: scheduleQueries.listAllScheduleItems,\n    id: { id: getProviderScheduleId(companyId, providerId) },\n    skey: { scheduleinfo: { beginsWith: \"S\" } },\n    filter: { and: [{ active: { ne: false } }, { deleted: { ne: true } }] },\n    limit: process.env.REACT_APP_LISTLIMIT,\n  });\n\n  //TODO: check if no items in the response\n\n  const allSchedules = response.items.filter((schitem) =>\n    schitem.scheduleinfo.startsWith(\"SC|\")\n  );\n\n  const allLocationIds = allSchedules.reduce(\n    (agrigate, { locations = \"[]\" }) => [\n      ...agrigate,\n      ...JSON.parse(locations).map((lc) => stripLocationPrefix(lc)),\n    ],\n    []\n  );\n\n  const uniqueLocations = uniq(allLocationIds);\n\n  const allServices = response.items.filter((schitem) =>\n    schitem.scheduleinfo.startsWith(\"SR|\")\n  );\n  const allSBs = response.items.filter((schitem) =>\n    schitem.scheduleinfo.startsWith(\"SB|\")\n  );\n\n  //Get Locations\n  const ORlocations = uniqueLocations.map((lId) => {\n    return {\n      id: {\n        eq: lId,\n      },\n    };\n  });\n  const locationsFilter = {\n    or: ORlocations,\n  };\n  const companyLocations = await execRead({\n    opname: \"listCompanyLocations\",\n    op: queries.listCompanyLocations,\n    filter: locationsFilter,\n    limit: process.env.REACT_APP_LISTLIMIT,\n  });\n\n  const pd = await getProviderDataForSchedules(providerId);\n\n  const returnSchedules = allSchedules.map((schedule) => {\n    const scheduleLocationIds = JSON.parse(schedule.locations).map((id) =>\n      id.substring(3)\n    );\n    return {\n      ...schedule,\n      id: schedule.id + SCHEDPKSKSPLITAT + schedule.scheduleinfo, //to support DataTableWrapper\n      SBs: allSBs\n        .filter((tb) => tb.scheduleinfo.includes(schedule.scheduleinfo))\n        .map((tb) => {\n          createScheduleDescription(tb);\n          return {\n            ...tb,\n            id: tb.id + SCHEDPKSKSPLITAT + tb.scheduleinfo,\n          };\n        }),\n      companyLocations: companyLocations.items.filter(({ id }) =>\n        scheduleLocationIds.includes(id)\n      ),\n      services: allServices\n        .filter(\n          (serv) =>\n            serv.scheduleinfo.endsWith(schedule.scheduleinfo) ||\n            serv.scheduleinfo.includes(schedule.scheduleinfo.split(\"|\")[1])\n        )\n        .map((serv) => {\n          const servicetypeId = serv.scheduleinfo.split(\"|\")[1];\n          return {\n            scheduleinfo: serv.scheduleinfo,\n            servicetypeId,\n            name: getServiceName(pd.servicetypes, servicetypeId),\n          };\n        }),\n    };\n  });\n  return returnSchedules;\n};\n\nfunction getServiceName(providerServices, servicetypeId) {\n  let serviceTypeName = null;\n  providerServices.forEach((st) => {\n    if (servicetypeId === st.servicetype.id) {\n      serviceTypeName = st.servicetype.name;\n    }\n  });\n  return serviceTypeName;\n}\nexport function getProviderScheduleId(cid, pid) {\n  return `C-${cid}|P-${pid}`;\n}\n\nconst getProviderDataForSchedules = async (providerid) => {\n  const providerData = await API.graphql(\n    graphqlOperation(scheduleQueries.providerDataForScheduleQuery, {\n      id: providerid,\n    })\n  );\n\n  let providerDataForSchedule = {};\n\n  if (\n    providerData &&\n    providerData.data &&\n    providerData.data.getProvider &&\n    providerData.data.getProvider.servicetypes &&\n    providerData.data.getProvider.servicetypes.items\n  ) {\n    providerDataForSchedule = {\n      ...providerDataForSchedule,\n      servicetypes: providerData.data.getProvider.servicetypes.items.filter(\n        (s) => !(true === s.servicetype.deleted)\n      ),\n    };\n  }\n  if (\n    providerData &&\n    providerData.data &&\n    providerData.data.getProvider &&\n    providerData.data.getProvider.locations &&\n    providerData.data.getProvider.locations.items\n  ) {\n    providerDataForSchedule = {\n      ...providerDataForSchedule,\n      locations: providerData.data.getProvider.locations.items.filter(\n        (pl) => !(true === pl.deleted)\n      ),\n    };\n  }\n\n  return providerDataForSchedule;\n};\n\nasync function checkPackageBookedSlotsValid(bookingState) {\n  const slots = bookingState.heldPackageSlots;\n  const bookings = bookingState.packageBookedSlots;\n  if (slots?.length !== bookings?.length) {\n    return false;\n  }\n  //if each slot exists in the db\n  for (let slot of slots) {\n    const idsplit = slot.id.split(SCHEDPKSKSPLITAT);\n    const result = await API.graphql(\n      graphqlOperation(\n        /* GraphQL */ `\n          query GetProviderSchedule($id: ID!, $scheduleinfo: String!) {\n            getProviderSchedule(id: $id, scheduleinfo: $scheduleinfo) {\n              id\n              scheduleinfo\n            }\n          }\n        `,\n        {\n          id: idsplit[0],\n          scheduleinfo: idsplit[1],\n        }\n      )\n    );\n    return result.data.getProviderSchedule?.scheduleinfo === slot.scheduleinfo;\n  }\n  // check if order of slots and bookings match in the respective arrays\n  let index = 0;\n  for (let b of bookings) {\n    if (b.dateInfo.dtstamp_str !== slots[index]?.sdtutc) {\n      return false;\n    }\n    index = index + 1;\n  }\n  return true;\n}\nasync function checkSelectedSlotStillAvailable(bookingState) {\n  const pksk = getProviderScheduleId(\n    bookingState.companyId,\n    bookingState.provider.id\n  );\n  let startDate = new Date(bookingState.selectedslot.date);\n  startDate = getAWSDate(startDate);\n  let startTime = bookingState.selectedslot.label;\n  const bookedResp = await execReadBySortkey({\n    opname: \"listProviderSchedules\",\n    op: scheduleQueries.listTimeblocks,\n    id: { id: pksk },\n    skey: {\n      scheduleinfo: { beginsWith: `BK|${startDate} ${startTime}` },\n    },\n    filter: { status: { ne: \"CANCELLED\" } },\n    limit: 500,\n  });\n\n  if (bookedResp && bookedResp.items) {\n    if (bookedResp.items.length) {\n      const locationTz = bookingState.serviceLocationObj.timezone;\n\n      let allSlotsHaveTz = true;\n      let slotTzMatch = false;\n\n      for (let slot of bookedResp.items) {\n        if (!slot.tz) allSlotsHaveTz = false;\n        if (slot.tz === locationTz) {\n          slotTzMatch = true;\n        }\n      }\n      if (allSlotsHaveTz) return !slotTzMatch;\n\n      return false;\n    }\n  }\n  return true;\n}\n\nasync function checkSlotStillAvailablePkgBkgFlow(\n  selectedslot,\n  pk,\n  { timezone: locationTz }\n) {\n  let startDate = new Date(selectedslot.date);\n  startDate = getAWSDate(startDate);\n  let startTime = selectedslot.label;\n  const bookedResp = await execReadBySortkey({\n    opname: \"listProviderSchedules\",\n    op: scheduleQueries.listTimeblocks,\n    id: { id: pk },\n    skey: {\n      scheduleinfo: { beginsWith: `BK|${startDate} ${startTime}` },\n    },\n    filter: { status: { ne: \"CANCELLED\" } },\n    limit: 500,\n  });\n\n  if (bookedResp && bookedResp.items) {\n    if (bookedResp.items.length) {\n      let allSlotsHaveTz = true;\n      let slotTzMatch = false;\n\n      for (let slot of bookedResp.items) {\n        if (!slot.tz) allSlotsHaveTz = false;\n        if (slot.tz === locationTz) {\n          slotTzMatch = true;\n        }\n      }\n      if (allSlotsHaveTz) return !slotTzMatch;\n\n      return false;\n    }\n  }\n  return true;\n}\n\nfunction getPhysicalLocationGeoLoc(serviceLocationObj) {\n  if (serviceLocationObj) {\n    let locObj = serviceLocationObj;\n    if (locObj.latitude && locObj.longitude) {\n      return {\n        lat: locObj.latitude,\n        lng: locObj.longitude,\n      };\n    }\n  }\n  return;\n}\n\nasync function getClusteredSlots(\n  bookingState,\n  lookAheadDays = DEFAULT_LOOKAHEAD_DAYS_FOR_CLUSTERING,\n  startDate = new Date(),\n  includeFullDayAnyTimeSlots = false,\n  locationTz,\n  forceBookingTimeWithPackageBookingTime\n) {\n  try {\n    let timeSuggestionsEnabled = false;\n    let firstBookingAnchorTime;\n    let maxTravelTimeMinutes;\n    if (bookingState && bookingState.company?.SuggestionConfig) {\n      const suggestionConfigObj = JSON.parse(\n        bookingState.company.SuggestionConfig\n      );\n      timeSuggestionsEnabled = suggestionConfigObj.isEnabled;\n      firstBookingAnchorTime = suggestionConfigObj.timeOfFirstBookingOfTheDay;\n      maxTravelTimeMinutes = suggestionConfigObj.maxTravelTimeMinutes;\n    }\n    if (bookingState.provider.maxTravelTime)\n      maxTravelTimeMinutes = bookingState.provider.maxTravelTime;\n    if (timeSuggestionsEnabled) {\n      let geoLoc = bookingState.isRemoteLocation\n        ? bookingState.remoteAddressCoordinates\n        : getPhysicalLocationGeoLoc(bookingState.serviceLocationObj);\n      const timeZoneAdjustedScheduleBlocks = adjustScheduleBlocksToLocationTz(\n        bookingState.provider.timezone,\n        locationTz,\n        bookingState.provider.SBs\n      );\n      if (geoLoc) {\n        const clusteredSlotsResponse = await API.post(\n          \"bookingapi\",\n          \"/clusteredslots\",\n          {\n            body: {\n              companyId: bookingState.company.id,\n              providerId: bookingState.provider.id,\n              providerSBs: timeZoneAdjustedScheduleBlocks,\n              startdate: getAWSDate(startDate),\n              numdays: lookAheadDays,\n              bookingIntervalMinutes:\n                bookingState.company.bookingIntervalMinutes,\n              serviceDuration: bookingState.serviceType.minutes,\n              maxTravelTime: maxTravelTimeMinutes, // Provider.maxTravelTime (when becomes available) or company.SuggestionConfig.maxTravelTimeMinutes\n              geoLoc,\n              bookingIncrement: 15,\n              BROWSER_TZ: Intl.DateTimeFormat().resolvedOptions().timeZone, //BROWSER_TZ\n              firstBookingAnchorTime: firstBookingAnchorTime,\n              includeFullDayAnyTimeSlots,\n              locationTz,\n              forceBookingTime: forceBookingTimeWithPackageBookingTime\n                ? forceBookingTimeWithPackageBookingTime\n                : \"\",\n            },\n          }\n        );\n        //ensure unique slots\n        if (clusteredSlotsResponse && clusteredSlotsResponse.clusteredslots) {\n          if (clusteredSlotsResponse.clusteredslots.slots?.length) {\n            const seenDates = new Set();\n            clusteredSlotsResponse.clusteredslots.slots =\n              clusteredSlotsResponse.clusteredslots.slots.filter((obj) => {\n                if (seenDates.has(obj.clusteredReadableSlot.datetime)) {\n                  return false;\n                } else {\n                  seenDates.add(obj.clusteredReadableSlot.datetime);\n                  return true;\n                }\n              });\n          }\n        }\n        return clusteredSlotsResponse;\n      }\n    }\n  } catch (e) {\n    console.log(\"getClusteredSlots error:\", e);\n  }\n}\nasync function getTimeSuggestions(\n  locationTz,\n  bookingState,\n  lookAheadDays = DEFAULT_LOOKAHEAD_DAYS_FOR_CLUSTERING,\n  startDate = new Date(),\n  maxNumberOfSlots = DEFAULT_MAX_NUM_OF_SUGGESTED_SLOTS_TO_DISPALY\n) {\n  try {\n    const result = await getClusteredSlots(\n      bookingState,\n      lookAheadDays,\n      startDate,\n      false,\n      locationTz\n    );\n    if (result) {\n      if (result && result.clusteredslots) {\n        // sort first\n        result.clusteredslots.slots.sort((slot1, slot2) => {\n          const slot1DateTime = new Date(\n            slot1.clusteredReadableSlot?.datetime\n          ).valueOf();\n          const slot2DateTime = new Date(\n            slot2.clusteredReadableSlot?.datetime\n          ).valueOf();\n          if (slot1DateTime > slot2DateTime) return 1;\n          else if (slot1DateTime < slot2DateTime) return -1;\n          else return 0;\n        });\n        if (result.clusteredslots.slots?.length > maxNumberOfSlots)\n          result.clusteredslots.slots = result.clusteredslots.slots.slice(\n            0,\n            maxNumberOfSlots\n          );\n        return result.clusteredslots;\n      }\n    } else {\n      return {\n        slots: [],\n        fullDays: [],\n      };\n    }\n  } catch (e) {\n    console.log(e);\n    return {\n      slots: [],\n      fullDays: [],\n    };\n  }\n}\n\nasync function getPackageSuggestedTimes(apptDates, bookingState, locationTz) {\n  try {\n    const suggestedPackageDates = [];\n    for (let apptDate of apptDates) {\n      // apptDate.date's date/time part is important, the date object itself has browser timezine.\n      const forceBookingTimeWithPackageBookingTime =\n        apptDate.date.toLocaleTimeString(\"en-US\", {\n          hour: \"2-digit\",\n          minute: \"2-digit\",\n          hour12: false,\n        });\n      const result = await getClusteredSlots(\n        bookingState,\n        1,\n        apptDate.date,\n        false,\n        locationTz, // Intl.DateTimeFormat().resolvedOptions().timeZone // locationTz,\n        forceBookingTimeWithPackageBookingTime\n      );\n      if (result) {\n        if (result && result.clusteredslots) {\n          if (result.clusteredslots.fullDays.length === 1) {\n            // check YYYY-MM-DD of apptDate.date with fullDays[0].date's YYYY-MM-DD\n            if (\n              moment(apptDate.date).format(\"YYYY-MM-DD\") ===\n              moment(result.clusteredslots.fullDays[0].date).format(\n                \"YYYY-MM-DD\"\n              )\n            )\n              suggestedPackageDates.push(apptDate); //display date info is already there\n          }\n          if (result.clusteredslots.slots?.length) {\n            const milisecondsOfCurrentApptDate = new Date(\n              apptDate.date\n            ).valueOf();\n            for (let suggestedSlot of result.clusteredslots.slots) {\n              suggestedSlot.clusteredReadableSlot.datetime = new Date(\n                suggestedSlot.date\n              );\n              suggestedSlot.clusteredReadableSlot.datetime.setHours(\n                suggestedSlot.clusteredReadableSlot.hr\n              );\n              suggestedSlot.clusteredReadableSlot.datetime.setMinutes(\n                suggestedSlot.clusteredReadableSlot.mins\n              );\n\n              const clusteredApptMilisconds = new Date(\n                suggestedSlot.clusteredReadableSlot.datetime\n              ).valueOf();\n              suggestedSlot.clusteredReadableSlot.diffToUserSelectedDateTime =\n                Math.abs(\n                  clusteredApptMilisconds - milisecondsOfCurrentApptDate\n                );\n            }\n            result.clusteredslots.slots.sort((s1, s2) => {\n              if (\n                s1.clusteredReadableSlot.diffToUserSelectedDateTime >\n                s2.clusteredReadableSlot.diffToUserSelectedDateTime\n              )\n                return 1;\n              else if (\n                s1.clusteredReadableSlot.diffToUserSelectedDateTime <\n                s2.clusteredReadableSlot.diffToUserSelectedDateTime\n              )\n                return -1;\n              else return 0;\n            });\n            const suggestedSlotToBePresented =\n              result.clusteredslots.slots[0].clusteredReadableSlot;\n\n            suggestedPackageDates.push({\n              date: suggestedSlotToBePresented.datetime,\n              key: suggestedSlotToBePresented.datetime.toISOString(),\n              selected: true,\n              validity: {\n                isValid:\n                  suggestedSlotToBePresented.diffToUserSelectedDateTime === 0\n                    ? true\n                    : false,\n                hasAlternate:\n                  suggestedSlotToBePresented.diffToUserSelectedDateTime === 0\n                    ? false\n                    : true,\n                originalSlot: apptDate.date,\n                dateInSchedule: true,\n                ...(suggestedSlotToBePresented.diffToUserSelectedDateTime && {\n                  alternateSlot: {\n                    date: suggestedSlotToBePresented.datetime,\n                    slot: suggestedSlotToBePresented,\n                  },\n                }),\n              },\n            });\n          }\n        }\n      }\n    }\n    return suggestedPackageDates;\n  } catch (e) {\n    console.log(\"error in getPackageSuggestedTimes\", e);\n  }\n}\nexport const searchProviderSchedulesByAddress = async (\n  coords,\n  providerId,\n  serviceTypeIds,\n  companyId\n) => {\n  try {\n    let result = await API.get(\"searchapi\", \"/providers\", {\n      queryStringParameters: {\n        providerId,\n        lng: coords.lng,\n        lat: coords.lat,\n        stids: serviceTypeIds,\n        companyId,\n      },\n    });\n\n    if (result && result.length > 0) {\n      return result.map((esr) => {\n        return {\n          id: esr.id,\n          active: esr.active,\n          scheduleinfo: esr.scheduleinfo,\n        };\n      });\n    } else return [];\n  } catch (ex) {\n    console.log(\"error\", ex);\n    return [];\n  }\n};\n\nexport const compareTimezones = (tz1, tz2) => {\n  const nowDate = new Date();\n  console.log(\n    utcToZonedTime(nowDate, tz1) > utcToZonedTime(nowDate, tz2),\n    utcToZonedTime(nowDate, tz1) < utcToZonedTime(nowDate, tz2)\n  );\n  return utcToZonedTime(nowDate, tz1) > utcToZonedTime(nowDate, tz2);\n};\n\nexport function sortProvidersByRating(providers) {\n  return providers.sort((p1, p2) => {\n    let r1 = p1.ratingstarsavg ? p1.ratingstarsavg : 0;\n    let r2 = p2.ratingstarsavg ? p2.ratingstarsavg : 0;\n    if (r1 > r2) return -1;\n    if (r1 < r2) return 1;\n    let n1 = `${p1.firstname}${p1.lastname}`.toUpperCase();\n    let n2 = `${p2.firstname}${p2.lastname}`.toUpperCase();\n    if (n1 > n2) return 1;\n    if (n1 < n2) return -1;\n    return 0;\n  });\n}\n\nfunction calculateDailyPossibleMaxAvailability(availableIntervals) {\n  if (availableIntervals) {\n    let counti = 0;\n    for (let interval of availableIntervals) {\n      counti += interval[1] - interval[0];\n    }\n    return counti * SLOTUNITMINS;\n  }\n  return 0;\n}\nexport function calculateDailyStats(unreadables) {\n  let dailyStats = [];\n  if (unreadables) {\n    for (let d of unreadables) {\n      if (d.hasavail) {\n        let tfd = new Set();\n        let slotlengths = d.slotmap.reduce(\n          function (sl, s, i) {\n            if (s) {\n              sl.currLen++;\n              sl.total++;\n              sl.live = true;\n              tfd.add(TIMEMAP[i].tfd);\n            } else {\n              if (sl.live) {\n                if (sl.currLen > sl.currMaxLen) {\n                  sl.currMaxLen = sl.currLen;\n                }\n                if (sl.currMinLen > sl.currLen) {\n                  sl.currMinLen = sl.currLen;\n                }\n                sl.currLen = 0;\n                sl.live = false;\n              }\n            }\n            return sl;\n          },\n          { currLen: 0, currMinLen: 288, currMaxLen: 0, total: 0, live: false }\n        );\n        const dailyPossibleMaxAvil = calculateDailyPossibleMaxAvailability(\n          d.availableIntervals\n        );\n        dailyStats.push({\n          d: moment(d.date).format(\"YYYY-MM-DD\"),\n          p:\n            dailyPossibleMaxAvil === 0\n              ? 0\n              : ((slotlengths.total * SLOTUNITMINS) / dailyPossibleMaxAvil) *\n                100,\n          sxl: slotlengths.currMaxLen * SLOTUNITMINS,\n          m: tfd.has(1) ? 1 : 0,\n          a: tfd.has(2) ? 1 : 0,\n          e: tfd.has(3) ? 1 : 0,\n          stl: slotlengths.total * SLOTUNITMINS,\n        });\n      }\n    }\n  }\n  return dailyStats;\n}\n\nexport {\n  createTimeblock,\n  awsDateToJsDate, // turns YYYY-MM-DD formated date into JS date object of browser local TZ\n  getAWSDate, //returns a given date in YYYY-MM-DD format\n  validateApptDate,\n  _getSchedules,\n  SCHEDPKSKSPLITAT,\n  getSBsByScheduleInfo,\n  getCompanyLocation,\n  checkSelectedSlotStillAvailable,\n  checkSlotStillAvailablePkgBkgFlow,\n  calcDist,\n  checkPackageBookedSlotsValid,\n  getSlotsForSbs,\n  calculateBookedMinutes,\n  getEndingDate,\n  getTimeSuggestions,\n  getPackageSuggestedTimes,\n  getPhysicalLocationGeoLoc,\n  sortScheduleDisplayOrder,\n};\n","import { logSystemError } from \"../../modules/SystemErrorService\";\n\nasync function loadData(url, companyId) {\n  let response = await fetch(url);\n  if (response.ok) {\n    let text = await response.text(); // read response body as text\n    return text;\n  } else {\n    await logSystemError(\n      companyId,\n      \"ERROR\",\n      `status code ${response.status} ${response.statusText} - while loading url ${url}`,\n      0,\n      {}\n    );\n    console.log(\"loadData\", response);\n    return \"Error\";\n  }\n}\n\n/**\n * Function to check if a company has an uploaded Terms of Service file.\n * @param {*} companyId\n * @returns hasTos - boolean\n */\nconst checkCompanyHasTosFile = async (companyId) => {\n  try {\n    let hasTos = false;\n    const tosPdfUrl = `${process.env.REACT_APP_TOS_DOC_URL}${companyId}-tos.pdf`;\n    const pdfExists = await loadData(tosPdfUrl, companyId);\n\n    const tosHtmlUrl = `${process.env.REACT_APP_TOS_DOC_URL}${companyId}-tos.html`;\n    const htmlExists = await loadData(tosHtmlUrl, companyId);\n\n    if (pdfExists !== \"Error\") {\n      hasTos = true;\n    } else if (htmlExists !== \"Error\") {\n      hasTos = true;\n    }\n\n    return hasTos;\n  } catch (e) {\n    console.log(\"error loading terms.\");\n  }\n};\n\nexport { loadData, checkCompanyHasTosFile };\n","/* eslint-disable */\n// this is an auto generated file. This will be overwritten\n\nexport const createUserRegistration = /* GraphQL */ `\n  mutation CreateUserRegistration($input: CreateUserRegistrationInput!) {\n    createUserRegistration(input: $input) {\n      id\n      emailaddress\n      registrationInfo\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const updateUserRegistration = /* GraphQL */ `\n  mutation UpdateUserRegistration($input: UpdateUserRegistrationInput!) {\n    updateUserRegistration(input: $input) {\n      id\n      emailaddress\n      registrationInfo\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const deleteUserRegistration = /* GraphQL */ `\n  mutation DeleteUserRegistration($input: DeleteUserRegistrationInput!) {\n    deleteUserRegistration(input: $input) {\n      id\n      emailaddress\n      registrationInfo\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const createCompanyPublicSite = /* GraphQL */ `\n  mutation CreateCompanyPublicSite($input: CreateCompanyPublicSiteInput!) {\n    createCompanyPublicSite(input: $input) {\n      id\n      companyId\n      backgroundImageUrl\n      heading1Text\n      heading2Text\n      textColor\n      buttonColor\n      StyleCustomization\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n    }\n  }\n`;\nexport const updateCompanyPublicSite = /* GraphQL */ `\n  mutation UpdateCompanyPublicSite($input: UpdateCompanyPublicSiteInput!) {\n    updateCompanyPublicSite(input: $input) {\n      id\n      companyId\n      backgroundImageUrl\n      heading1Text\n      heading2Text\n      textColor\n      buttonColor\n      StyleCustomization\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n    }\n  }\n`;\nexport const deleteCompanyPublicSite = /* GraphQL */ `\n  mutation DeleteCompanyPublicSite($input: DeleteCompanyPublicSiteInput!) {\n    deleteCompanyPublicSite(input: $input) {\n      id\n      companyId\n      backgroundImageUrl\n      heading1Text\n      heading2Text\n      textColor\n      buttonColor\n      StyleCustomization\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n    }\n  }\n`;\nexport const createUser = /* GraphQL */ `\n  mutation CreateUser($input: CreateUserInput!) {\n    createUser(input: $input) {\n      id\n      username\n      emailaddress\n      registered\n      firstname\n      lastname\n      homephone\n      workphone\n      mobilephone\n      phonepref\n      addressoneline\n      street\n      city\n      state\n      country\n      postalcode\n      longitude\n      latitude\n      role\n      companyId\n      providerId\n      active\n      deleted\n      contactconsent\n      contactconsentdatetime\n      LoginInfo\n      SalesInfo\n      PNInfo\n      lc_name\n      lc_emailaddress\n      lc_ln\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const updateUser = /* GraphQL */ `\n  mutation UpdateUser($input: UpdateUserInput!) {\n    updateUser(input: $input) {\n      id\n      username\n      emailaddress\n      registered\n      firstname\n      lastname\n      homephone\n      workphone\n      mobilephone\n      phonepref\n      addressoneline\n      street\n      city\n      state\n      country\n      postalcode\n      longitude\n      latitude\n      role\n      companyId\n      providerId\n      active\n      deleted\n      contactconsent\n      contactconsentdatetime\n      LoginInfo\n      SalesInfo\n      PNInfo\n      lc_name\n      lc_emailaddress\n      lc_ln\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const deleteUser = /* GraphQL */ `\n  mutation DeleteUser($input: DeleteUserInput!) {\n    deleteUser(input: $input) {\n      id\n      username\n      emailaddress\n      registered\n      firstname\n      lastname\n      homephone\n      workphone\n      mobilephone\n      phonepref\n      addressoneline\n      street\n      city\n      state\n      country\n      postalcode\n      longitude\n      latitude\n      role\n      companyId\n      providerId\n      active\n      deleted\n      contactconsent\n      contactconsentdatetime\n      LoginInfo\n      SalesInfo\n      PNInfo\n      lc_name\n      lc_emailaddress\n      lc_ln\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const createUserRemoteAddress = /* GraphQL */ `\n  mutation CreateUserRemoteAddress($input: CreateUserRemoteAddressInput!) {\n    createUserRemoteAddress(input: $input) {\n      id\n      userId\n      addressoneline\n      street\n      city\n      state\n      country\n      postalcode\n      longitude\n      latitude\n      active\n      createdAt\n      updatedAt\n      user {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n    }\n  }\n`;\nexport const updateUserRemoteAddress = /* GraphQL */ `\n  mutation UpdateUserRemoteAddress($input: UpdateUserRemoteAddressInput!) {\n    updateUserRemoteAddress(input: $input) {\n      id\n      userId\n      addressoneline\n      street\n      city\n      state\n      country\n      postalcode\n      longitude\n      latitude\n      active\n      createdAt\n      updatedAt\n      user {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n    }\n  }\n`;\nexport const deleteUserRemoteAddress = /* GraphQL */ `\n  mutation DeleteUserRemoteAddress($input: DeleteUserRemoteAddressInput!) {\n    deleteUserRemoteAddress(input: $input) {\n      id\n      userId\n      addressoneline\n      street\n      city\n      state\n      country\n      postalcode\n      longitude\n      latitude\n      active\n      createdAt\n      updatedAt\n      user {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n    }\n  }\n`;\nexport const createUserInvitation = /* GraphQL */ `\n  mutation CreateUserInvitation($input: CreateUserInvitationInput!) {\n    createUserInvitation(input: $input) {\n      id\n      emailaddress\n      invitecode\n      role\n      active\n      companyId\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const updateUserInvitation = /* GraphQL */ `\n  mutation UpdateUserInvitation($input: UpdateUserInvitationInput!) {\n    updateUserInvitation(input: $input) {\n      id\n      emailaddress\n      invitecode\n      role\n      active\n      companyId\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const deleteUserInvitation = /* GraphQL */ `\n  mutation DeleteUserInvitation($input: DeleteUserInvitationInput!) {\n    deleteUserInvitation(input: $input) {\n      id\n      emailaddress\n      invitecode\n      role\n      active\n      companyId\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const createCompany = /* GraphQL */ `\n  mutation CreateCompany($input: CreateCompanyInput!) {\n    createCompany(input: $input) {\n      id\n      name\n      contactname\n      emailaddress\n      currency\n      currencyBasedOnLocation\n      addressoneline\n      street\n      city\n      state\n      country\n      postalcode\n      longitude\n      latitude\n      clientcanselectprovider\n      active\n      offersRemoteServices\n      offersOnPremiseServices\n      offersVirtualServices\n      providerMustAcceptAppt\n      useAnonymousPermalink\n      multipleServices\n      multipleQty\n      ApptAcceptanceFlowConfig\n      collectpayment\n      subdomain\n      tagline\n      logoUrl\n      billingMode\n      iframeURL\n      primaryColor\n      addServiceFee\n      serviceFeeType\n      serviceFeeAmount\n      taxrate\n      travelTime\n      bookingIntervalMinutes\n      countrycode3166alpha2\n      publishableStripeKey\n      displayOnlyLogo\n      sendratingTipMsg\n      ratingTipTextMsg\n      offersPackagesOnly\n      forceRepeatingPackages\n      offersForeverAppt\n      singleApptOnly\n      virtualMeetingConfig\n      DashboardInfo\n      BccLists\n      maskeddomain\n      replyemailaddress\n      homepage\n      clientnotesheading\n      hideRatingsFromClients\n      subscriptionLevel\n      cancelPolicyMinsBefore\n      bookingIncrement\n      providerCanCancelAppt\n      noProviderMsg\n      displayProviderRatios\n      PaymentSettings\n      stripeConnectEnabled\n      stripeAccount\n      setupCompleted\n      clientCanReschedule\n      providerCanReschedule\n      ProvAgnoFlowConfig\n      SuggestionConfig\n      ProviderRestrictionConfig\n      clientMayCreateAccount\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const updateCompany = /* GraphQL */ `\n  mutation UpdateCompany($input: UpdateCompanyInput!) {\n    updateCompany(input: $input) {\n      id\n      name\n      contactname\n      emailaddress\n      currency\n      currencyBasedOnLocation\n      addressoneline\n      street\n      city\n      state\n      country\n      postalcode\n      longitude\n      latitude\n      clientcanselectprovider\n      active\n      offersRemoteServices\n      offersOnPremiseServices\n      offersVirtualServices\n      providerMustAcceptAppt\n      useAnonymousPermalink\n      multipleServices\n      multipleQty\n      ApptAcceptanceFlowConfig\n      collectpayment\n      subdomain\n      tagline\n      logoUrl\n      billingMode\n      iframeURL\n      primaryColor\n      addServiceFee\n      serviceFeeType\n      serviceFeeAmount\n      taxrate\n      travelTime\n      bookingIntervalMinutes\n      countrycode3166alpha2\n      publishableStripeKey\n      displayOnlyLogo\n      sendratingTipMsg\n      ratingTipTextMsg\n      offersPackagesOnly\n      forceRepeatingPackages\n      offersForeverAppt\n      singleApptOnly\n      virtualMeetingConfig\n      DashboardInfo\n      BccLists\n      maskeddomain\n      replyemailaddress\n      homepage\n      clientnotesheading\n      hideRatingsFromClients\n      subscriptionLevel\n      cancelPolicyMinsBefore\n      bookingIncrement\n      providerCanCancelAppt\n      noProviderMsg\n      displayProviderRatios\n      PaymentSettings\n      stripeConnectEnabled\n      stripeAccount\n      setupCompleted\n      clientCanReschedule\n      providerCanReschedule\n      ProvAgnoFlowConfig\n      SuggestionConfig\n      ProviderRestrictionConfig\n      clientMayCreateAccount\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const deleteCompany = /* GraphQL */ `\n  mutation DeleteCompany($input: DeleteCompanyInput!) {\n    deleteCompany(input: $input) {\n      id\n      name\n      contactname\n      emailaddress\n      currency\n      currencyBasedOnLocation\n      addressoneline\n      street\n      city\n      state\n      country\n      postalcode\n      longitude\n      latitude\n      clientcanselectprovider\n      active\n      offersRemoteServices\n      offersOnPremiseServices\n      offersVirtualServices\n      providerMustAcceptAppt\n      useAnonymousPermalink\n      multipleServices\n      multipleQty\n      ApptAcceptanceFlowConfig\n      collectpayment\n      subdomain\n      tagline\n      logoUrl\n      billingMode\n      iframeURL\n      primaryColor\n      addServiceFee\n      serviceFeeType\n      serviceFeeAmount\n      taxrate\n      travelTime\n      bookingIntervalMinutes\n      countrycode3166alpha2\n      publishableStripeKey\n      displayOnlyLogo\n      sendratingTipMsg\n      ratingTipTextMsg\n      offersPackagesOnly\n      forceRepeatingPackages\n      offersForeverAppt\n      singleApptOnly\n      virtualMeetingConfig\n      DashboardInfo\n      BccLists\n      maskeddomain\n      replyemailaddress\n      homepage\n      clientnotesheading\n      hideRatingsFromClients\n      subscriptionLevel\n      cancelPolicyMinsBefore\n      bookingIncrement\n      providerCanCancelAppt\n      noProviderMsg\n      displayProviderRatios\n      PaymentSettings\n      stripeConnectEnabled\n      stripeAccount\n      setupCompleted\n      clientCanReschedule\n      providerCanReschedule\n      ProvAgnoFlowConfig\n      SuggestionConfig\n      ProviderRestrictionConfig\n      clientMayCreateAccount\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const createPendingCompany = /* GraphQL */ `\n  mutation CreatePendingCompany($input: CreatePendingCompanyInput!) {\n    createPendingCompany(input: $input) {\n      id\n      name\n      contactname\n      emailaddress\n      subdomain\n      publishableStripeKey\n      subscriptionLevel\n      estimatedNumOfProviders\n      status\n      PaymentSettings\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const updatePendingCompany = /* GraphQL */ `\n  mutation UpdatePendingCompany($input: UpdatePendingCompanyInput!) {\n    updatePendingCompany(input: $input) {\n      id\n      name\n      contactname\n      emailaddress\n      subdomain\n      publishableStripeKey\n      subscriptionLevel\n      estimatedNumOfProviders\n      status\n      PaymentSettings\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const deletePendingCompany = /* GraphQL */ `\n  mutation DeletePendingCompany($input: DeletePendingCompanyInput!) {\n    deletePendingCompany(input: $input) {\n      id\n      name\n      contactname\n      emailaddress\n      subdomain\n      publishableStripeKey\n      subscriptionLevel\n      estimatedNumOfProviders\n      status\n      PaymentSettings\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const createProvider = /* GraphQL */ `\n  mutation CreateProvider($input: CreateProviderInput!) {\n    createProvider(input: $input) {\n      id\n      firstname\n      lc_fn\n      lastname\n      lc_ln\n      emailaddress\n      phone\n      addressoneline\n      street\n      city\n      state\n      country\n      postalcode\n      longitude\n      latitude\n      timezone\n      bio\n      pictures3key\n      maxtraveltype\n      companyId\n      numberofschedules\n      offersMobileServices\n      active\n      deleted\n      ratingstarsavg\n      numberofratings\n      offersVirtualServices\n      virtualMeetingUserId\n      vmlink\n      permalink\n      AcceptanceRatios\n      userId\n      maxTravelTime\n      createdAt\n      updatedAt\n      user {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      locations {\n        items {\n          id\n          providerId\n          companyId\n          locationpath\n          name\n          desc\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          maxtraveltype\n          traveldistance\n          traveldistanceunit\n          travelregions\n          active\n          deleted\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n      servicetypes {\n        items {\n          id\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n      skills {\n        items {\n          id\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n    }\n  }\n`;\nexport const updateProvider = /* GraphQL */ `\n  mutation UpdateProvider($input: UpdateProviderInput!) {\n    updateProvider(input: $input) {\n      id\n      firstname\n      lc_fn\n      lastname\n      lc_ln\n      emailaddress\n      phone\n      addressoneline\n      street\n      city\n      state\n      country\n      postalcode\n      longitude\n      latitude\n      timezone\n      bio\n      pictures3key\n      maxtraveltype\n      companyId\n      numberofschedules\n      offersMobileServices\n      active\n      deleted\n      ratingstarsavg\n      numberofratings\n      offersVirtualServices\n      virtualMeetingUserId\n      vmlink\n      permalink\n      AcceptanceRatios\n      userId\n      maxTravelTime\n      createdAt\n      updatedAt\n      user {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      locations {\n        items {\n          id\n          providerId\n          companyId\n          locationpath\n          name\n          desc\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          maxtraveltype\n          traveldistance\n          traveldistanceunit\n          travelregions\n          active\n          deleted\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n      servicetypes {\n        items {\n          id\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n      skills {\n        items {\n          id\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n    }\n  }\n`;\nexport const deleteProvider = /* GraphQL */ `\n  mutation DeleteProvider($input: DeleteProviderInput!) {\n    deleteProvider(input: $input) {\n      id\n      firstname\n      lc_fn\n      lastname\n      lc_ln\n      emailaddress\n      phone\n      addressoneline\n      street\n      city\n      state\n      country\n      postalcode\n      longitude\n      latitude\n      timezone\n      bio\n      pictures3key\n      maxtraveltype\n      companyId\n      numberofschedules\n      offersMobileServices\n      active\n      deleted\n      ratingstarsavg\n      numberofratings\n      offersVirtualServices\n      virtualMeetingUserId\n      vmlink\n      permalink\n      AcceptanceRatios\n      userId\n      maxTravelTime\n      createdAt\n      updatedAt\n      user {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      locations {\n        items {\n          id\n          providerId\n          companyId\n          locationpath\n          name\n          desc\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          maxtraveltype\n          traveldistance\n          traveldistanceunit\n          travelregions\n          active\n          deleted\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n      servicetypes {\n        items {\n          id\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n      skills {\n        items {\n          id\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n    }\n  }\n`;\nexport const createProviderLocation = /* GraphQL */ `\n  mutation CreateProviderLocation($input: CreateProviderLocationInput!) {\n    createProviderLocation(input: $input) {\n      id\n      providerId\n      companyId\n      locationpath\n      name\n      desc\n      addressoneline\n      street\n      city\n      state\n      country\n      postalcode\n      longitude\n      latitude\n      timezone\n      maxtraveltype\n      traveldistance\n      traveldistanceunit\n      travelregions\n      active\n      deleted\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const updateProviderLocation = /* GraphQL */ `\n  mutation UpdateProviderLocation($input: UpdateProviderLocationInput!) {\n    updateProviderLocation(input: $input) {\n      id\n      providerId\n      companyId\n      locationpath\n      name\n      desc\n      addressoneline\n      street\n      city\n      state\n      country\n      postalcode\n      longitude\n      latitude\n      timezone\n      maxtraveltype\n      traveldistance\n      traveldistanceunit\n      travelregions\n      active\n      deleted\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const deleteProviderLocation = /* GraphQL */ `\n  mutation DeleteProviderLocation($input: DeleteProviderLocationInput!) {\n    deleteProviderLocation(input: $input) {\n      id\n      providerId\n      companyId\n      locationpath\n      name\n      desc\n      addressoneline\n      street\n      city\n      state\n      country\n      postalcode\n      longitude\n      latitude\n      timezone\n      maxtraveltype\n      traveldistance\n      traveldistanceunit\n      travelregions\n      active\n      deleted\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const createProviderPhotos = /* GraphQL */ `\n  mutation CreateProviderPhotos($input: CreateProviderPhotosInput!) {\n    createProviderPhotos(input: $input) {\n      id\n      providerId\n      name\n      desc\n      s3key\n      createdAt\n      updatedAt\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const updateProviderPhotos = /* GraphQL */ `\n  mutation UpdateProviderPhotos($input: UpdateProviderPhotosInput!) {\n    updateProviderPhotos(input: $input) {\n      id\n      providerId\n      name\n      desc\n      s3key\n      createdAt\n      updatedAt\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const deleteProviderPhotos = /* GraphQL */ `\n  mutation DeleteProviderPhotos($input: DeleteProviderPhotosInput!) {\n    deleteProviderPhotos(input: $input) {\n      id\n      providerId\n      name\n      desc\n      s3key\n      createdAt\n      updatedAt\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const createProviderRatings = /* GraphQL */ `\n  mutation CreateProviderRatings($input: CreateProviderRatingsInput!) {\n    createProviderRatings(input: $input) {\n      id\n      providerId\n      companyId\n      ratingstars\n      ratingtext\n      ratinguserId\n      active\n      createdAt\n      updatedAt\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const updateProviderRatings = /* GraphQL */ `\n  mutation UpdateProviderRatings($input: UpdateProviderRatingsInput!) {\n    updateProviderRatings(input: $input) {\n      id\n      providerId\n      companyId\n      ratingstars\n      ratingtext\n      ratinguserId\n      active\n      createdAt\n      updatedAt\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const deleteProviderRatings = /* GraphQL */ `\n  mutation DeleteProviderRatings($input: DeleteProviderRatingsInput!) {\n    deleteProviderRatings(input: $input) {\n      id\n      providerId\n      companyId\n      ratingstars\n      ratingtext\n      ratinguserId\n      active\n      createdAt\n      updatedAt\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const createProviderServiceType = /* GraphQL */ `\n  mutation CreateProviderServiceType($input: CreateProviderServiceTypeInput!) {\n    createProviderServiceType(input: $input) {\n      id\n      createdAt\n      updatedAt\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n      servicetype {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        behavior\n        ordinal\n        taxexempt\n        TaxOverride\n        locations\n        CourseSettings\n        Classification\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n        category {\n          id\n          name\n          desc\n          companyId\n          deleted\n          ordinal\n          createdAt\n          updatedAt\n        }\n        packages {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const updateProviderServiceType = /* GraphQL */ `\n  mutation UpdateProviderServiceType($input: UpdateProviderServiceTypeInput!) {\n    updateProviderServiceType(input: $input) {\n      id\n      createdAt\n      updatedAt\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n      servicetype {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        behavior\n        ordinal\n        taxexempt\n        TaxOverride\n        locations\n        CourseSettings\n        Classification\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n        category {\n          id\n          name\n          desc\n          companyId\n          deleted\n          ordinal\n          createdAt\n          updatedAt\n        }\n        packages {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const deleteProviderServiceType = /* GraphQL */ `\n  mutation DeleteProviderServiceType($input: DeleteProviderServiceTypeInput!) {\n    deleteProviderServiceType(input: $input) {\n      id\n      createdAt\n      updatedAt\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n      servicetype {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        behavior\n        ordinal\n        taxexempt\n        TaxOverride\n        locations\n        CourseSettings\n        Classification\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n        category {\n          id\n          name\n          desc\n          companyId\n          deleted\n          ordinal\n          createdAt\n          updatedAt\n        }\n        packages {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const createProviderSkill = /* GraphQL */ `\n  mutation CreateProviderSkill($input: CreateProviderSkillInput!) {\n    createProviderSkill(input: $input) {\n      id\n      createdAt\n      updatedAt\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n      skill {\n        id\n        name\n        importance\n        companyId\n        active\n        deleted\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const updateProviderSkill = /* GraphQL */ `\n  mutation UpdateProviderSkill($input: UpdateProviderSkillInput!) {\n    updateProviderSkill(input: $input) {\n      id\n      createdAt\n      updatedAt\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n      skill {\n        id\n        name\n        importance\n        companyId\n        active\n        deleted\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const deleteProviderSkill = /* GraphQL */ `\n  mutation DeleteProviderSkill($input: DeleteProviderSkillInput!) {\n    deleteProviderSkill(input: $input) {\n      id\n      createdAt\n      updatedAt\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n      skill {\n        id\n        name\n        importance\n        companyId\n        active\n        deleted\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const createServiceType = /* GraphQL */ `\n  mutation CreateServiceType($input: CreateServiceTypeInput!) {\n    createServiceType(input: $input) {\n      id\n      name\n      desc\n      categoryId\n      categoryName\n      minutes\n      price\n      active\n      deleted\n      companyId\n      s3key\n      imagedesc\n      offeredremote\n      offeredonpremise\n      isBundledService\n      isVisible\n      includedServices\n      behavior\n      ordinal\n      taxexempt\n      TaxOverride\n      locations\n      CourseSettings\n      Classification\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      providers {\n        items {\n          id\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n      category {\n        id\n        name\n        desc\n        companyId\n        deleted\n        ordinal\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      packages {\n        items {\n          id\n          desc\n          companyId\n          servicetypeId\n          packagetype\n          price\n          discount\n          quantity\n          active\n          deleted\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n    }\n  }\n`;\nexport const updateServiceType = /* GraphQL */ `\n  mutation UpdateServiceType($input: UpdateServiceTypeInput!) {\n    updateServiceType(input: $input) {\n      id\n      name\n      desc\n      categoryId\n      categoryName\n      minutes\n      price\n      active\n      deleted\n      companyId\n      s3key\n      imagedesc\n      offeredremote\n      offeredonpremise\n      isBundledService\n      isVisible\n      includedServices\n      behavior\n      ordinal\n      taxexempt\n      TaxOverride\n      locations\n      CourseSettings\n      Classification\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      providers {\n        items {\n          id\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n      category {\n        id\n        name\n        desc\n        companyId\n        deleted\n        ordinal\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      packages {\n        items {\n          id\n          desc\n          companyId\n          servicetypeId\n          packagetype\n          price\n          discount\n          quantity\n          active\n          deleted\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n    }\n  }\n`;\nexport const deleteServiceType = /* GraphQL */ `\n  mutation DeleteServiceType($input: DeleteServiceTypeInput!) {\n    deleteServiceType(input: $input) {\n      id\n      name\n      desc\n      categoryId\n      categoryName\n      minutes\n      price\n      active\n      deleted\n      companyId\n      s3key\n      imagedesc\n      offeredremote\n      offeredonpremise\n      isBundledService\n      isVisible\n      includedServices\n      behavior\n      ordinal\n      taxexempt\n      TaxOverride\n      locations\n      CourseSettings\n      Classification\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      providers {\n        items {\n          id\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n      category {\n        id\n        name\n        desc\n        companyId\n        deleted\n        ordinal\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      packages {\n        items {\n          id\n          desc\n          companyId\n          servicetypeId\n          packagetype\n          price\n          discount\n          quantity\n          active\n          deleted\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n    }\n  }\n`;\nexport const createServiceTypeCategory = /* GraphQL */ `\n  mutation CreateServiceTypeCategory($input: CreateServiceTypeCategoryInput!) {\n    createServiceTypeCategory(input: $input) {\n      id\n      name\n      desc\n      companyId\n      deleted\n      ordinal\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n    }\n  }\n`;\nexport const updateServiceTypeCategory = /* GraphQL */ `\n  mutation UpdateServiceTypeCategory($input: UpdateServiceTypeCategoryInput!) {\n    updateServiceTypeCategory(input: $input) {\n      id\n      name\n      desc\n      companyId\n      deleted\n      ordinal\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n    }\n  }\n`;\nexport const deleteServiceTypeCategory = /* GraphQL */ `\n  mutation DeleteServiceTypeCategory($input: DeleteServiceTypeCategoryInput!) {\n    deleteServiceTypeCategory(input: $input) {\n      id\n      name\n      desc\n      companyId\n      deleted\n      ordinal\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n    }\n  }\n`;\nexport const createRegionalPricing = /* GraphQL */ `\n  mutation CreateRegionalPricing($input: CreateRegionalPricingInput!) {\n    createRegionalPricing(input: $input) {\n      id\n      servicetypeId\n      pricingtype\n      country\n      countryName\n      province\n      postalcodes\n      price\n      notes\n      companyId\n      active\n      deleted\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      servicetype {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        behavior\n        ordinal\n        taxexempt\n        TaxOverride\n        locations\n        CourseSettings\n        Classification\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n        category {\n          id\n          name\n          desc\n          companyId\n          deleted\n          ordinal\n          createdAt\n          updatedAt\n        }\n        packages {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const updateRegionalPricing = /* GraphQL */ `\n  mutation UpdateRegionalPricing($input: UpdateRegionalPricingInput!) {\n    updateRegionalPricing(input: $input) {\n      id\n      servicetypeId\n      pricingtype\n      country\n      countryName\n      province\n      postalcodes\n      price\n      notes\n      companyId\n      active\n      deleted\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      servicetype {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        behavior\n        ordinal\n        taxexempt\n        TaxOverride\n        locations\n        CourseSettings\n        Classification\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n        category {\n          id\n          name\n          desc\n          companyId\n          deleted\n          ordinal\n          createdAt\n          updatedAt\n        }\n        packages {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const deleteRegionalPricing = /* GraphQL */ `\n  mutation DeleteRegionalPricing($input: DeleteRegionalPricingInput!) {\n    deleteRegionalPricing(input: $input) {\n      id\n      servicetypeId\n      pricingtype\n      country\n      countryName\n      province\n      postalcodes\n      price\n      notes\n      companyId\n      active\n      deleted\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      servicetype {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        behavior\n        ordinal\n        taxexempt\n        TaxOverride\n        locations\n        CourseSettings\n        Classification\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n        category {\n          id\n          name\n          desc\n          companyId\n          deleted\n          ordinal\n          createdAt\n          updatedAt\n        }\n        packages {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const createClient = /* GraphQL */ `\n  mutation CreateClient($input: CreateClientInput!) {\n    createClient(input: $input) {\n      id\n      userId\n      currency\n      accountbalance\n      stripeCustomerId\n      companyId\n      prevproviders {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n      defaultpartialcc\n      ClientInfo\n      Notes\n      createdAt\n      updatedAt\n      user {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n    }\n  }\n`;\nexport const updateClient = /* GraphQL */ `\n  mutation UpdateClient($input: UpdateClientInput!) {\n    updateClient(input: $input) {\n      id\n      userId\n      currency\n      accountbalance\n      stripeCustomerId\n      companyId\n      prevproviders {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n      defaultpartialcc\n      ClientInfo\n      Notes\n      createdAt\n      updatedAt\n      user {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n    }\n  }\n`;\nexport const deleteClient = /* GraphQL */ `\n  mutation DeleteClient($input: DeleteClientInput!) {\n    deleteClient(input: $input) {\n      id\n      userId\n      currency\n      accountbalance\n      stripeCustomerId\n      companyId\n      prevproviders {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n      defaultpartialcc\n      ClientInfo\n      Notes\n      createdAt\n      updatedAt\n      user {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n    }\n  }\n`;\nexport const createSkill = /* GraphQL */ `\n  mutation CreateSkill($input: CreateSkillInput!) {\n    createSkill(input: $input) {\n      id\n      name\n      importance\n      companyId\n      active\n      deleted\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      providers {\n        items {\n          id\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n    }\n  }\n`;\nexport const updateSkill = /* GraphQL */ `\n  mutation UpdateSkill($input: UpdateSkillInput!) {\n    updateSkill(input: $input) {\n      id\n      name\n      importance\n      companyId\n      active\n      deleted\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      providers {\n        items {\n          id\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n    }\n  }\n`;\nexport const deleteSkill = /* GraphQL */ `\n  mutation DeleteSkill($input: DeleteSkillInput!) {\n    deleteSkill(input: $input) {\n      id\n      name\n      importance\n      companyId\n      active\n      deleted\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      providers {\n        items {\n          id\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n    }\n  }\n`;\nexport const createPackage = /* GraphQL */ `\n  mutation CreatePackage($input: CreatePackageInput!) {\n    createPackage(input: $input) {\n      id\n      desc\n      companyId\n      servicetypeId\n      packagetype\n      price\n      discount\n      quantity\n      active\n      deleted\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      servicetype {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        behavior\n        ordinal\n        taxexempt\n        TaxOverride\n        locations\n        CourseSettings\n        Classification\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n        category {\n          id\n          name\n          desc\n          companyId\n          deleted\n          ordinal\n          createdAt\n          updatedAt\n        }\n        packages {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const updatePackage = /* GraphQL */ `\n  mutation UpdatePackage($input: UpdatePackageInput!) {\n    updatePackage(input: $input) {\n      id\n      desc\n      companyId\n      servicetypeId\n      packagetype\n      price\n      discount\n      quantity\n      active\n      deleted\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      servicetype {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        behavior\n        ordinal\n        taxexempt\n        TaxOverride\n        locations\n        CourseSettings\n        Classification\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n        category {\n          id\n          name\n          desc\n          companyId\n          deleted\n          ordinal\n          createdAt\n          updatedAt\n        }\n        packages {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const deletePackage = /* GraphQL */ `\n  mutation DeletePackage($input: DeletePackageInput!) {\n    deletePackage(input: $input) {\n      id\n      desc\n      companyId\n      servicetypeId\n      packagetype\n      price\n      discount\n      quantity\n      active\n      deleted\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      servicetype {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        behavior\n        ordinal\n        taxexempt\n        TaxOverride\n        locations\n        CourseSettings\n        Classification\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n        category {\n          id\n          name\n          desc\n          companyId\n          deleted\n          ordinal\n          createdAt\n          updatedAt\n        }\n        packages {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const createClientPackage = /* GraphQL */ `\n  mutation CreateClientPackage($input: CreateClientPackageInput!) {\n    createClientPackage(input: $input) {\n      id\n      companyId\n      clientId\n      userId\n      servicetypeId\n      packageId\n      initialQuantity\n      usedQuantity\n      status\n      active\n      createdAt\n      updatedAt\n      user {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      servicetype {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        behavior\n        ordinal\n        taxexempt\n        TaxOverride\n        locations\n        CourseSettings\n        Classification\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n        category {\n          id\n          name\n          desc\n          companyId\n          deleted\n          ordinal\n          createdAt\n          updatedAt\n        }\n        packages {\n          nextToken\n        }\n      }\n      client {\n        id\n        userId\n        currency\n        accountbalance\n        stripeCustomerId\n        companyId\n        prevproviders {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        defaultpartialcc\n        ClientInfo\n        Notes\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      package {\n        id\n        desc\n        companyId\n        servicetypeId\n        packagetype\n        price\n        discount\n        quantity\n        active\n        deleted\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n      }\n      orders {\n        items {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n    }\n  }\n`;\nexport const updateClientPackage = /* GraphQL */ `\n  mutation UpdateClientPackage($input: UpdateClientPackageInput!) {\n    updateClientPackage(input: $input) {\n      id\n      companyId\n      clientId\n      userId\n      servicetypeId\n      packageId\n      initialQuantity\n      usedQuantity\n      status\n      active\n      createdAt\n      updatedAt\n      user {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      servicetype {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        behavior\n        ordinal\n        taxexempt\n        TaxOverride\n        locations\n        CourseSettings\n        Classification\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n        category {\n          id\n          name\n          desc\n          companyId\n          deleted\n          ordinal\n          createdAt\n          updatedAt\n        }\n        packages {\n          nextToken\n        }\n      }\n      client {\n        id\n        userId\n        currency\n        accountbalance\n        stripeCustomerId\n        companyId\n        prevproviders {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        defaultpartialcc\n        ClientInfo\n        Notes\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      package {\n        id\n        desc\n        companyId\n        servicetypeId\n        packagetype\n        price\n        discount\n        quantity\n        active\n        deleted\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n      }\n      orders {\n        items {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n    }\n  }\n`;\nexport const deleteClientPackage = /* GraphQL */ `\n  mutation DeleteClientPackage($input: DeleteClientPackageInput!) {\n    deleteClientPackage(input: $input) {\n      id\n      companyId\n      clientId\n      userId\n      servicetypeId\n      packageId\n      initialQuantity\n      usedQuantity\n      status\n      active\n      createdAt\n      updatedAt\n      user {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      servicetype {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        behavior\n        ordinal\n        taxexempt\n        TaxOverride\n        locations\n        CourseSettings\n        Classification\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n        category {\n          id\n          name\n          desc\n          companyId\n          deleted\n          ordinal\n          createdAt\n          updatedAt\n        }\n        packages {\n          nextToken\n        }\n      }\n      client {\n        id\n        userId\n        currency\n        accountbalance\n        stripeCustomerId\n        companyId\n        prevproviders {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        defaultpartialcc\n        ClientInfo\n        Notes\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      package {\n        id\n        desc\n        companyId\n        servicetypeId\n        packagetype\n        price\n        discount\n        quantity\n        active\n        deleted\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n      }\n      orders {\n        items {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n    }\n  }\n`;\nexport const createPromotion = /* GraphQL */ `\n  mutation CreatePromotion($input: CreatePromotionInput!) {\n    createPromotion(input: $input) {\n      id\n      name\n      desc\n      companyId\n      amount\n      promotiontype\n      active\n      deleted\n      startdate\n      enddate\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      servicetype {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        behavior\n        ordinal\n        taxexempt\n        TaxOverride\n        locations\n        CourseSettings\n        Classification\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n        category {\n          id\n          name\n          desc\n          companyId\n          deleted\n          ordinal\n          createdAt\n          updatedAt\n        }\n        packages {\n          nextToken\n        }\n      }\n      package {\n        id\n        desc\n        companyId\n        servicetypeId\n        packagetype\n        price\n        discount\n        quantity\n        active\n        deleted\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n      }\n    }\n  }\n`;\nexport const updatePromotion = /* GraphQL */ `\n  mutation UpdatePromotion($input: UpdatePromotionInput!) {\n    updatePromotion(input: $input) {\n      id\n      name\n      desc\n      companyId\n      amount\n      promotiontype\n      active\n      deleted\n      startdate\n      enddate\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      servicetype {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        behavior\n        ordinal\n        taxexempt\n        TaxOverride\n        locations\n        CourseSettings\n        Classification\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n        category {\n          id\n          name\n          desc\n          companyId\n          deleted\n          ordinal\n          createdAt\n          updatedAt\n        }\n        packages {\n          nextToken\n        }\n      }\n      package {\n        id\n        desc\n        companyId\n        servicetypeId\n        packagetype\n        price\n        discount\n        quantity\n        active\n        deleted\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n      }\n    }\n  }\n`;\nexport const deletePromotion = /* GraphQL */ `\n  mutation DeletePromotion($input: DeletePromotionInput!) {\n    deletePromotion(input: $input) {\n      id\n      name\n      desc\n      companyId\n      amount\n      promotiontype\n      active\n      deleted\n      startdate\n      enddate\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      servicetype {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        behavior\n        ordinal\n        taxexempt\n        TaxOverride\n        locations\n        CourseSettings\n        Classification\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n        category {\n          id\n          name\n          desc\n          companyId\n          deleted\n          ordinal\n          createdAt\n          updatedAt\n        }\n        packages {\n          nextToken\n        }\n      }\n      package {\n        id\n        desc\n        companyId\n        servicetypeId\n        packagetype\n        price\n        discount\n        quantity\n        active\n        deleted\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n      }\n    }\n  }\n`;\nexport const createPromo = /* GraphQL */ `\n  mutation CreatePromo($input: CreatePromoInput!) {\n    createPromo(input: $input) {\n      id\n      recordType\n      Details\n      companyId\n      promocode\n      active\n      terminated\n      allPackages\n      allServices\n      discountType\n      discountValue\n      onePerClient\n      startDate\n      endDate\n      name\n      numOfRedemptions\n      maxNumOfRedemptions\n      hasExpiryDate\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n    }\n  }\n`;\nexport const updatePromo = /* GraphQL */ `\n  mutation UpdatePromo($input: UpdatePromoInput!) {\n    updatePromo(input: $input) {\n      id\n      recordType\n      Details\n      companyId\n      promocode\n      active\n      terminated\n      allPackages\n      allServices\n      discountType\n      discountValue\n      onePerClient\n      startDate\n      endDate\n      name\n      numOfRedemptions\n      maxNumOfRedemptions\n      hasExpiryDate\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n    }\n  }\n`;\nexport const deletePromo = /* GraphQL */ `\n  mutation DeletePromo($input: DeletePromoInput!) {\n    deletePromo(input: $input) {\n      id\n      recordType\n      Details\n      companyId\n      promocode\n      active\n      terminated\n      allPackages\n      allServices\n      discountType\n      discountValue\n      onePerClient\n      startDate\n      endDate\n      name\n      numOfRedemptions\n      maxNumOfRedemptions\n      hasExpiryDate\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n    }\n  }\n`;\nexport const createBooking = /* GraphQL */ `\n  mutation CreateBooking($input: CreateBookingInput!) {\n    createBooking(input: $input) {\n      id\n      desc\n      orderId\n      serviceTypeId\n      providerId\n      clientId\n      startdate\n      minutes\n      totalAddChg\n      location\n      companyId\n      status\n      timeblockid\n      cancelledAt\n      noshowAt\n      virtualMeetingInfo\n      timezone\n      TimeDisplayInfo\n      orderType\n      isVirtual\n      manualBooking\n      Notes\n      MetaData\n      createdAt\n      updatedAt\n      cancelledBy {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      noshowBy {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      bookedBy {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n      rating {\n        id\n        providerId\n        companyId\n        ratingstars\n        ratingtext\n        ratinguserId\n        active\n        createdAt\n        updatedAt\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      servicetype {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        behavior\n        ordinal\n        taxexempt\n        TaxOverride\n        locations\n        CourseSettings\n        Classification\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n        category {\n          id\n          name\n          desc\n          companyId\n          deleted\n          ordinal\n          createdAt\n          updatedAt\n        }\n        packages {\n          nextToken\n        }\n      }\n      client {\n        id\n        userId\n        currency\n        accountbalance\n        stripeCustomerId\n        companyId\n        prevproviders {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        defaultpartialcc\n        ClientInfo\n        Notes\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      order {\n        id\n        desc\n        type\n        orderNo\n        companyId\n        clientId\n        providerId\n        currency\n        subtotal\n        servicechargeamt\n        taxamt\n        total\n        providerPayAmt\n        status\n        orderSummary\n        orderReceipt\n        taxrate\n        bookingAddress\n        legaltermsAcceptedAt\n        clientnotes\n        Notes\n        bookedByAdmin\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        clientpackage {\n          id\n          companyId\n          clientId\n          userId\n          servicetypeId\n          packageId\n          initialQuantity\n          usedQuantity\n          status\n          active\n          createdAt\n          updatedAt\n        }\n        bookings {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const updateBooking = /* GraphQL */ `\n  mutation UpdateBooking($input: UpdateBookingInput!) {\n    updateBooking(input: $input) {\n      id\n      desc\n      orderId\n      serviceTypeId\n      providerId\n      clientId\n      startdate\n      minutes\n      totalAddChg\n      location\n      companyId\n      status\n      timeblockid\n      cancelledAt\n      noshowAt\n      virtualMeetingInfo\n      timezone\n      TimeDisplayInfo\n      orderType\n      isVirtual\n      manualBooking\n      Notes\n      MetaData\n      createdAt\n      updatedAt\n      cancelledBy {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      noshowBy {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      bookedBy {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n      rating {\n        id\n        providerId\n        companyId\n        ratingstars\n        ratingtext\n        ratinguserId\n        active\n        createdAt\n        updatedAt\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      servicetype {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        behavior\n        ordinal\n        taxexempt\n        TaxOverride\n        locations\n        CourseSettings\n        Classification\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n        category {\n          id\n          name\n          desc\n          companyId\n          deleted\n          ordinal\n          createdAt\n          updatedAt\n        }\n        packages {\n          nextToken\n        }\n      }\n      client {\n        id\n        userId\n        currency\n        accountbalance\n        stripeCustomerId\n        companyId\n        prevproviders {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        defaultpartialcc\n        ClientInfo\n        Notes\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      order {\n        id\n        desc\n        type\n        orderNo\n        companyId\n        clientId\n        providerId\n        currency\n        subtotal\n        servicechargeamt\n        taxamt\n        total\n        providerPayAmt\n        status\n        orderSummary\n        orderReceipt\n        taxrate\n        bookingAddress\n        legaltermsAcceptedAt\n        clientnotes\n        Notes\n        bookedByAdmin\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        clientpackage {\n          id\n          companyId\n          clientId\n          userId\n          servicetypeId\n          packageId\n          initialQuantity\n          usedQuantity\n          status\n          active\n          createdAt\n          updatedAt\n        }\n        bookings {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const deleteBooking = /* GraphQL */ `\n  mutation DeleteBooking($input: DeleteBookingInput!) {\n    deleteBooking(input: $input) {\n      id\n      desc\n      orderId\n      serviceTypeId\n      providerId\n      clientId\n      startdate\n      minutes\n      totalAddChg\n      location\n      companyId\n      status\n      timeblockid\n      cancelledAt\n      noshowAt\n      virtualMeetingInfo\n      timezone\n      TimeDisplayInfo\n      orderType\n      isVirtual\n      manualBooking\n      Notes\n      MetaData\n      createdAt\n      updatedAt\n      cancelledBy {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      noshowBy {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      bookedBy {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n      rating {\n        id\n        providerId\n        companyId\n        ratingstars\n        ratingtext\n        ratinguserId\n        active\n        createdAt\n        updatedAt\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      servicetype {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        behavior\n        ordinal\n        taxexempt\n        TaxOverride\n        locations\n        CourseSettings\n        Classification\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n        category {\n          id\n          name\n          desc\n          companyId\n          deleted\n          ordinal\n          createdAt\n          updatedAt\n        }\n        packages {\n          nextToken\n        }\n      }\n      client {\n        id\n        userId\n        currency\n        accountbalance\n        stripeCustomerId\n        companyId\n        prevproviders {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        defaultpartialcc\n        ClientInfo\n        Notes\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      order {\n        id\n        desc\n        type\n        orderNo\n        companyId\n        clientId\n        providerId\n        currency\n        subtotal\n        servicechargeamt\n        taxamt\n        total\n        providerPayAmt\n        status\n        orderSummary\n        orderReceipt\n        taxrate\n        bookingAddress\n        legaltermsAcceptedAt\n        clientnotes\n        Notes\n        bookedByAdmin\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        clientpackage {\n          id\n          companyId\n          clientId\n          userId\n          servicetypeId\n          packageId\n          initialQuantity\n          usedQuantity\n          status\n          active\n          createdAt\n          updatedAt\n        }\n        bookings {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const createBookingStatus = /* GraphQL */ `\n  mutation CreateBookingStatus($input: CreateBookingStatusInput!) {\n    createBookingStatus(input: $input) {\n      companyId\n      status\n      bookingId\n      createdAt\n      updatedAt\n      booking {\n        id\n        desc\n        orderId\n        serviceTypeId\n        providerId\n        clientId\n        startdate\n        minutes\n        totalAddChg\n        location\n        companyId\n        status\n        timeblockid\n        cancelledAt\n        noshowAt\n        virtualMeetingInfo\n        timezone\n        TimeDisplayInfo\n        orderType\n        isVirtual\n        manualBooking\n        Notes\n        MetaData\n        createdAt\n        updatedAt\n        cancelledBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        noshowBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        bookedBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        rating {\n          id\n          providerId\n          companyId\n          ratingstars\n          ratingtext\n          ratinguserId\n          active\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        order {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n      }\n    }\n  }\n`;\nexport const updateBookingStatus = /* GraphQL */ `\n  mutation UpdateBookingStatus($input: UpdateBookingStatusInput!) {\n    updateBookingStatus(input: $input) {\n      companyId\n      status\n      bookingId\n      createdAt\n      updatedAt\n      booking {\n        id\n        desc\n        orderId\n        serviceTypeId\n        providerId\n        clientId\n        startdate\n        minutes\n        totalAddChg\n        location\n        companyId\n        status\n        timeblockid\n        cancelledAt\n        noshowAt\n        virtualMeetingInfo\n        timezone\n        TimeDisplayInfo\n        orderType\n        isVirtual\n        manualBooking\n        Notes\n        MetaData\n        createdAt\n        updatedAt\n        cancelledBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        noshowBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        bookedBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        rating {\n          id\n          providerId\n          companyId\n          ratingstars\n          ratingtext\n          ratinguserId\n          active\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        order {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n      }\n    }\n  }\n`;\nexport const deleteBookingStatus = /* GraphQL */ `\n  mutation DeleteBookingStatus($input: DeleteBookingStatusInput!) {\n    deleteBookingStatus(input: $input) {\n      companyId\n      status\n      bookingId\n      createdAt\n      updatedAt\n      booking {\n        id\n        desc\n        orderId\n        serviceTypeId\n        providerId\n        clientId\n        startdate\n        minutes\n        totalAddChg\n        location\n        companyId\n        status\n        timeblockid\n        cancelledAt\n        noshowAt\n        virtualMeetingInfo\n        timezone\n        TimeDisplayInfo\n        orderType\n        isVirtual\n        manualBooking\n        Notes\n        MetaData\n        createdAt\n        updatedAt\n        cancelledBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        noshowBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        bookedBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        rating {\n          id\n          providerId\n          companyId\n          ratingstars\n          ratingtext\n          ratinguserId\n          active\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        order {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n      }\n    }\n  }\n`;\nexport const createOrder = /* GraphQL */ `\n  mutation CreateOrder($input: CreateOrderInput!) {\n    createOrder(input: $input) {\n      id\n      desc\n      type\n      orderNo\n      companyId\n      clientId\n      providerId\n      currency\n      subtotal\n      servicechargeamt\n      taxamt\n      total\n      providerPayAmt\n      status\n      orderSummary\n      orderReceipt\n      taxrate\n      bookingAddress\n      legaltermsAcceptedAt\n      clientnotes\n      Notes\n      bookedByAdmin\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n      client {\n        id\n        userId\n        currency\n        accountbalance\n        stripeCustomerId\n        companyId\n        prevproviders {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        defaultpartialcc\n        ClientInfo\n        Notes\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      clientpackage {\n        id\n        companyId\n        clientId\n        userId\n        servicetypeId\n        packageId\n        initialQuantity\n        usedQuantity\n        status\n        active\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        package {\n          id\n          desc\n          companyId\n          servicetypeId\n          packagetype\n          price\n          discount\n          quantity\n          active\n          deleted\n          createdAt\n          updatedAt\n        }\n        orders {\n          nextToken\n        }\n      }\n      bookings {\n        items {\n          id\n          desc\n          orderId\n          serviceTypeId\n          providerId\n          clientId\n          startdate\n          minutes\n          totalAddChg\n          location\n          companyId\n          status\n          timeblockid\n          cancelledAt\n          noshowAt\n          virtualMeetingInfo\n          timezone\n          TimeDisplayInfo\n          orderType\n          isVirtual\n          manualBooking\n          Notes\n          MetaData\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n    }\n  }\n`;\nexport const updateOrder = /* GraphQL */ `\n  mutation UpdateOrder($input: UpdateOrderInput!) {\n    updateOrder(input: $input) {\n      id\n      desc\n      type\n      orderNo\n      companyId\n      clientId\n      providerId\n      currency\n      subtotal\n      servicechargeamt\n      taxamt\n      total\n      providerPayAmt\n      status\n      orderSummary\n      orderReceipt\n      taxrate\n      bookingAddress\n      legaltermsAcceptedAt\n      clientnotes\n      Notes\n      bookedByAdmin\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n      client {\n        id\n        userId\n        currency\n        accountbalance\n        stripeCustomerId\n        companyId\n        prevproviders {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        defaultpartialcc\n        ClientInfo\n        Notes\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      clientpackage {\n        id\n        companyId\n        clientId\n        userId\n        servicetypeId\n        packageId\n        initialQuantity\n        usedQuantity\n        status\n        active\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        package {\n          id\n          desc\n          companyId\n          servicetypeId\n          packagetype\n          price\n          discount\n          quantity\n          active\n          deleted\n          createdAt\n          updatedAt\n        }\n        orders {\n          nextToken\n        }\n      }\n      bookings {\n        items {\n          id\n          desc\n          orderId\n          serviceTypeId\n          providerId\n          clientId\n          startdate\n          minutes\n          totalAddChg\n          location\n          companyId\n          status\n          timeblockid\n          cancelledAt\n          noshowAt\n          virtualMeetingInfo\n          timezone\n          TimeDisplayInfo\n          orderType\n          isVirtual\n          manualBooking\n          Notes\n          MetaData\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n    }\n  }\n`;\nexport const deleteOrder = /* GraphQL */ `\n  mutation DeleteOrder($input: DeleteOrderInput!) {\n    deleteOrder(input: $input) {\n      id\n      desc\n      type\n      orderNo\n      companyId\n      clientId\n      providerId\n      currency\n      subtotal\n      servicechargeamt\n      taxamt\n      total\n      providerPayAmt\n      status\n      orderSummary\n      orderReceipt\n      taxrate\n      bookingAddress\n      legaltermsAcceptedAt\n      clientnotes\n      Notes\n      bookedByAdmin\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n      client {\n        id\n        userId\n        currency\n        accountbalance\n        stripeCustomerId\n        companyId\n        prevproviders {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        defaultpartialcc\n        ClientInfo\n        Notes\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      clientpackage {\n        id\n        companyId\n        clientId\n        userId\n        servicetypeId\n        packageId\n        initialQuantity\n        usedQuantity\n        status\n        active\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        package {\n          id\n          desc\n          companyId\n          servicetypeId\n          packagetype\n          price\n          discount\n          quantity\n          active\n          deleted\n          createdAt\n          updatedAt\n        }\n        orders {\n          nextToken\n        }\n      }\n      bookings {\n        items {\n          id\n          desc\n          orderId\n          serviceTypeId\n          providerId\n          clientId\n          startdate\n          minutes\n          totalAddChg\n          location\n          companyId\n          status\n          timeblockid\n          cancelledAt\n          noshowAt\n          virtualMeetingInfo\n          timezone\n          TimeDisplayInfo\n          orderType\n          isVirtual\n          manualBooking\n          Notes\n          MetaData\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n    }\n  }\n`;\nexport const createClientCharge = /* GraphQL */ `\n  mutation CreateClientCharge($input: CreateClientChargeInput!) {\n    createClientCharge(input: $input) {\n      id\n      clientId\n      companyId\n      orderId\n      billingtransactionId\n      description\n      status\n      stripechargeid\n      stripepaymentmethod\n      stripe_payment_method_details\n      stripe_refund_charge\n      stripe_status\n      amount\n      amount_refunded\n      balance_transaction\n      currency\n      createdAt\n      updatedAt\n      client {\n        id\n        userId\n        currency\n        accountbalance\n        stripeCustomerId\n        companyId\n        prevproviders {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        defaultpartialcc\n        ClientInfo\n        Notes\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      order {\n        id\n        desc\n        type\n        orderNo\n        companyId\n        clientId\n        providerId\n        currency\n        subtotal\n        servicechargeamt\n        taxamt\n        total\n        providerPayAmt\n        status\n        orderSummary\n        orderReceipt\n        taxrate\n        bookingAddress\n        legaltermsAcceptedAt\n        clientnotes\n        Notes\n        bookedByAdmin\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        clientpackage {\n          id\n          companyId\n          clientId\n          userId\n          servicetypeId\n          packageId\n          initialQuantity\n          usedQuantity\n          status\n          active\n          createdAt\n          updatedAt\n        }\n        bookings {\n          nextToken\n        }\n      }\n      billingtransaction {\n        id\n        orderId\n        addservicetypeid\n        amount\n        creatorId\n        clientId\n        companyId\n        desc\n        credit\n        approved\n        createdAt\n        updatedAt\n        creator {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        addservicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        order {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n      }\n    }\n  }\n`;\nexport const updateClientCharge = /* GraphQL */ `\n  mutation UpdateClientCharge($input: UpdateClientChargeInput!) {\n    updateClientCharge(input: $input) {\n      id\n      clientId\n      companyId\n      orderId\n      billingtransactionId\n      description\n      status\n      stripechargeid\n      stripepaymentmethod\n      stripe_payment_method_details\n      stripe_refund_charge\n      stripe_status\n      amount\n      amount_refunded\n      balance_transaction\n      currency\n      createdAt\n      updatedAt\n      client {\n        id\n        userId\n        currency\n        accountbalance\n        stripeCustomerId\n        companyId\n        prevproviders {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        defaultpartialcc\n        ClientInfo\n        Notes\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      order {\n        id\n        desc\n        type\n        orderNo\n        companyId\n        clientId\n        providerId\n        currency\n        subtotal\n        servicechargeamt\n        taxamt\n        total\n        providerPayAmt\n        status\n        orderSummary\n        orderReceipt\n        taxrate\n        bookingAddress\n        legaltermsAcceptedAt\n        clientnotes\n        Notes\n        bookedByAdmin\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        clientpackage {\n          id\n          companyId\n          clientId\n          userId\n          servicetypeId\n          packageId\n          initialQuantity\n          usedQuantity\n          status\n          active\n          createdAt\n          updatedAt\n        }\n        bookings {\n          nextToken\n        }\n      }\n      billingtransaction {\n        id\n        orderId\n        addservicetypeid\n        amount\n        creatorId\n        clientId\n        companyId\n        desc\n        credit\n        approved\n        createdAt\n        updatedAt\n        creator {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        addservicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        order {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n      }\n    }\n  }\n`;\nexport const deleteClientCharge = /* GraphQL */ `\n  mutation DeleteClientCharge($input: DeleteClientChargeInput!) {\n    deleteClientCharge(input: $input) {\n      id\n      clientId\n      companyId\n      orderId\n      billingtransactionId\n      description\n      status\n      stripechargeid\n      stripepaymentmethod\n      stripe_payment_method_details\n      stripe_refund_charge\n      stripe_status\n      amount\n      amount_refunded\n      balance_transaction\n      currency\n      createdAt\n      updatedAt\n      client {\n        id\n        userId\n        currency\n        accountbalance\n        stripeCustomerId\n        companyId\n        prevproviders {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        defaultpartialcc\n        ClientInfo\n        Notes\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      order {\n        id\n        desc\n        type\n        orderNo\n        companyId\n        clientId\n        providerId\n        currency\n        subtotal\n        servicechargeamt\n        taxamt\n        total\n        providerPayAmt\n        status\n        orderSummary\n        orderReceipt\n        taxrate\n        bookingAddress\n        legaltermsAcceptedAt\n        clientnotes\n        Notes\n        bookedByAdmin\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        clientpackage {\n          id\n          companyId\n          clientId\n          userId\n          servicetypeId\n          packageId\n          initialQuantity\n          usedQuantity\n          status\n          active\n          createdAt\n          updatedAt\n        }\n        bookings {\n          nextToken\n        }\n      }\n      billingtransaction {\n        id\n        orderId\n        addservicetypeid\n        amount\n        creatorId\n        clientId\n        companyId\n        desc\n        credit\n        approved\n        createdAt\n        updatedAt\n        creator {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        addservicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        order {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n      }\n    }\n  }\n`;\nexport const createBillingProgress = /* GraphQL */ `\n  mutation CreateBillingProgress($input: CreateBillingProgressInput!) {\n    createBillingProgress(input: $input) {\n      companyId\n      dateTime\n      status\n      data\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const updateBillingProgress = /* GraphQL */ `\n  mutation UpdateBillingProgress($input: UpdateBillingProgressInput!) {\n    updateBillingProgress(input: $input) {\n      companyId\n      dateTime\n      status\n      data\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const deleteBillingProgress = /* GraphQL */ `\n  mutation DeleteBillingProgress($input: DeleteBillingProgressInput!) {\n    deleteBillingProgress(input: $input) {\n      companyId\n      dateTime\n      status\n      data\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const createCompanyLocation = /* GraphQL */ `\n  mutation CreateCompanyLocation($input: CreateCompanyLocationInput!) {\n    createCompanyLocation(input: $input) {\n      id\n      companyId\n      locationname\n      locationdesc\n      locationpath\n      addressoneline\n      street\n      city\n      state\n      country\n      countrycode3166alpha2\n      postalcode\n      longitude\n      latitude\n      timezone\n      phone\n      virtual\n      active\n      deleted\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n    }\n  }\n`;\nexport const updateCompanyLocation = /* GraphQL */ `\n  mutation UpdateCompanyLocation($input: UpdateCompanyLocationInput!) {\n    updateCompanyLocation(input: $input) {\n      id\n      companyId\n      locationname\n      locationdesc\n      locationpath\n      addressoneline\n      street\n      city\n      state\n      country\n      countrycode3166alpha2\n      postalcode\n      longitude\n      latitude\n      timezone\n      phone\n      virtual\n      active\n      deleted\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n    }\n  }\n`;\nexport const deleteCompanyLocation = /* GraphQL */ `\n  mutation DeleteCompanyLocation($input: DeleteCompanyLocationInput!) {\n    deleteCompanyLocation(input: $input) {\n      id\n      companyId\n      locationname\n      locationdesc\n      locationpath\n      addressoneline\n      street\n      city\n      state\n      country\n      countrycode3166alpha2\n      postalcode\n      longitude\n      latitude\n      timezone\n      phone\n      virtual\n      active\n      deleted\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n    }\n  }\n`;\nexport const createCompanyReminder = /* GraphQL */ `\n  mutation CreateCompanyReminder($input: CreateCompanyReminderInput!) {\n    createCompanyReminder(input: $input) {\n      id\n      companyId\n      reminderType\n      reminderDays\n      reminderHours\n      reminderMinutes\n      recipientType\n      emailSubjectText\n      emailHTMLFile\n      smsText\n      smsCallerId\n      maxSendTime\n      priority\n      active\n      deleted\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n    }\n  }\n`;\nexport const updateCompanyReminder = /* GraphQL */ `\n  mutation UpdateCompanyReminder($input: UpdateCompanyReminderInput!) {\n    updateCompanyReminder(input: $input) {\n      id\n      companyId\n      reminderType\n      reminderDays\n      reminderHours\n      reminderMinutes\n      recipientType\n      emailSubjectText\n      emailHTMLFile\n      smsText\n      smsCallerId\n      maxSendTime\n      priority\n      active\n      deleted\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n    }\n  }\n`;\nexport const deleteCompanyReminder = /* GraphQL */ `\n  mutation DeleteCompanyReminder($input: DeleteCompanyReminderInput!) {\n    deleteCompanyReminder(input: $input) {\n      id\n      companyId\n      reminderType\n      reminderDays\n      reminderHours\n      reminderMinutes\n      recipientType\n      emailSubjectText\n      emailHTMLFile\n      smsText\n      smsCallerId\n      maxSendTime\n      priority\n      active\n      deleted\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n    }\n  }\n`;\nexport const createReminder = /* GraphQL */ `\n  mutation CreateReminder($input: CreateReminderInput!) {\n    createReminder(input: $input) {\n      id\n      remSendDateTimeUTC\n      remSendDate\n      companyId\n      reminderType\n      recipientType\n      sendDateTime\n      status\n      createdAt\n      updatedAt\n      user {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n      booking {\n        id\n        desc\n        orderId\n        serviceTypeId\n        providerId\n        clientId\n        startdate\n        minutes\n        totalAddChg\n        location\n        companyId\n        status\n        timeblockid\n        cancelledAt\n        noshowAt\n        virtualMeetingInfo\n        timezone\n        TimeDisplayInfo\n        orderType\n        isVirtual\n        manualBooking\n        Notes\n        MetaData\n        createdAt\n        updatedAt\n        cancelledBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        noshowBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        bookedBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        rating {\n          id\n          providerId\n          companyId\n          ratingstars\n          ratingtext\n          ratinguserId\n          active\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        order {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n      }\n    }\n  }\n`;\nexport const updateReminder = /* GraphQL */ `\n  mutation UpdateReminder($input: UpdateReminderInput!) {\n    updateReminder(input: $input) {\n      id\n      remSendDateTimeUTC\n      remSendDate\n      companyId\n      reminderType\n      recipientType\n      sendDateTime\n      status\n      createdAt\n      updatedAt\n      user {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n      booking {\n        id\n        desc\n        orderId\n        serviceTypeId\n        providerId\n        clientId\n        startdate\n        minutes\n        totalAddChg\n        location\n        companyId\n        status\n        timeblockid\n        cancelledAt\n        noshowAt\n        virtualMeetingInfo\n        timezone\n        TimeDisplayInfo\n        orderType\n        isVirtual\n        manualBooking\n        Notes\n        MetaData\n        createdAt\n        updatedAt\n        cancelledBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        noshowBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        bookedBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        rating {\n          id\n          providerId\n          companyId\n          ratingstars\n          ratingtext\n          ratinguserId\n          active\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        order {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n      }\n    }\n  }\n`;\nexport const deleteReminder = /* GraphQL */ `\n  mutation DeleteReminder($input: DeleteReminderInput!) {\n    deleteReminder(input: $input) {\n      id\n      remSendDateTimeUTC\n      remSendDate\n      companyId\n      reminderType\n      recipientType\n      sendDateTime\n      status\n      createdAt\n      updatedAt\n      user {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n      booking {\n        id\n        desc\n        orderId\n        serviceTypeId\n        providerId\n        clientId\n        startdate\n        minutes\n        totalAddChg\n        location\n        companyId\n        status\n        timeblockid\n        cancelledAt\n        noshowAt\n        virtualMeetingInfo\n        timezone\n        TimeDisplayInfo\n        orderType\n        isVirtual\n        manualBooking\n        Notes\n        MetaData\n        createdAt\n        updatedAt\n        cancelledBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        noshowBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        bookedBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        rating {\n          id\n          providerId\n          companyId\n          ratingstars\n          ratingtext\n          ratinguserId\n          active\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        order {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n      }\n    }\n  }\n`;\nexport const createScheduleTimeblock = /* GraphQL */ `\n  mutation CreateScheduleTimeblock($input: CreateScheduleTimeblockInput!) {\n    createScheduleTimeblock(input: $input) {\n      id\n      scheduleinfo\n      companyId\n      providerId\n      locationId\n      servicetypeId\n      active\n      internal\n      slotStartStep\n      instructions\n      postBookingInstructions\n      startDate\n      sdtutc\n      tz\n      endDate\n      startTime\n      endTime\n      type\n      status\n      weeksToRepeat\n      weekDays\n      deleted\n      createdAt\n      updatedAt\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const updateScheduleTimeblock = /* GraphQL */ `\n  mutation UpdateScheduleTimeblock($input: UpdateScheduleTimeblockInput!) {\n    updateScheduleTimeblock(input: $input) {\n      id\n      scheduleinfo\n      companyId\n      providerId\n      locationId\n      servicetypeId\n      active\n      internal\n      slotStartStep\n      instructions\n      postBookingInstructions\n      startDate\n      sdtutc\n      tz\n      endDate\n      startTime\n      endTime\n      type\n      status\n      weeksToRepeat\n      weekDays\n      deleted\n      createdAt\n      updatedAt\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const deleteScheduleTimeblock = /* GraphQL */ `\n  mutation DeleteScheduleTimeblock($input: DeleteScheduleTimeblockInput!) {\n    deleteScheduleTimeblock(input: $input) {\n      id\n      scheduleinfo\n      companyId\n      providerId\n      locationId\n      servicetypeId\n      active\n      internal\n      slotStartStep\n      instructions\n      postBookingInstructions\n      startDate\n      sdtutc\n      tz\n      endDate\n      startTime\n      endTime\n      type\n      status\n      weeksToRepeat\n      weekDays\n      deleted\n      createdAt\n      updatedAt\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const createProviderSchedule = /* GraphQL */ `\n  mutation CreateProviderSchedule($input: CreateProviderScheduleInput!) {\n    createProviderSchedule(input: $input) {\n      id\n      scheduleinfo\n      companyId\n      providerId\n      locations\n      services\n      active\n      startDate\n      sdtutc\n      tz\n      endDate\n      startTime\n      endTime\n      type\n      status\n      weeksToRepeat\n      weekDays\n      deleted\n      rrule\n      latitude\n      longitude\n      notes\n      MetaData\n      createdAt\n      updatedAt\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const updateProviderSchedule = /* GraphQL */ `\n  mutation UpdateProviderSchedule($input: UpdateProviderScheduleInput!) {\n    updateProviderSchedule(input: $input) {\n      id\n      scheduleinfo\n      companyId\n      providerId\n      locations\n      services\n      active\n      startDate\n      sdtutc\n      tz\n      endDate\n      startTime\n      endTime\n      type\n      status\n      weeksToRepeat\n      weekDays\n      deleted\n      rrule\n      latitude\n      longitude\n      notes\n      MetaData\n      createdAt\n      updatedAt\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const deleteProviderSchedule = /* GraphQL */ `\n  mutation DeleteProviderSchedule($input: DeleteProviderScheduleInput!) {\n    deleteProviderSchedule(input: $input) {\n      id\n      scheduleinfo\n      companyId\n      providerId\n      locations\n      services\n      active\n      startDate\n      sdtutc\n      tz\n      endDate\n      startTime\n      endTime\n      type\n      status\n      weeksToRepeat\n      weekDays\n      deleted\n      rrule\n      latitude\n      longitude\n      notes\n      MetaData\n      createdAt\n      updatedAt\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const createUISession = /* GraphQL */ `\n  mutation CreateUISession($input: CreateUISessionInput!) {\n    createUISession(input: $input) {\n      id\n      sessionItem\n      SessionItemData\n      companyId\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const updateUISession = /* GraphQL */ `\n  mutation UpdateUISession($input: UpdateUISessionInput!) {\n    updateUISession(input: $input) {\n      id\n      sessionItem\n      SessionItemData\n      companyId\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const deleteUISession = /* GraphQL */ `\n  mutation DeleteUISession($input: DeleteUISessionInput!) {\n    deleteUISession(input: $input) {\n      id\n      sessionItem\n      SessionItemData\n      companyId\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const createScheduleAvailability = /* GraphQL */ `\n  mutation CreateScheduleAvailability(\n    $input: CreateScheduleAvailabilityInput!\n  ) {\n    createScheduleAvailability(input: $input) {\n      schId\n      statsKey\n      availJson\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const updateScheduleAvailability = /* GraphQL */ `\n  mutation UpdateScheduleAvailability(\n    $input: UpdateScheduleAvailabilityInput!\n  ) {\n    updateScheduleAvailability(input: $input) {\n      schId\n      statsKey\n      availJson\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const deleteScheduleAvailability = /* GraphQL */ `\n  mutation DeleteScheduleAvailability(\n    $input: DeleteScheduleAvailabilityInput!\n  ) {\n    deleteScheduleAvailability(input: $input) {\n      schId\n      statsKey\n      availJson\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const createAdditionalCharge = /* GraphQL */ `\n  mutation CreateAdditionalCharge($input: CreateAdditionalChargeInput!) {\n    createAdditionalCharge(input: $input) {\n      id\n      amount\n      desc\n      note\n      bookingId\n      orderId\n      companyId\n      clientId\n      creatorId\n      createdAt\n      updatedAt\n      user {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      creator {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      client {\n        id\n        userId\n        currency\n        accountbalance\n        stripeCustomerId\n        companyId\n        prevproviders {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        defaultpartialcc\n        ClientInfo\n        Notes\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      order {\n        id\n        desc\n        type\n        orderNo\n        companyId\n        clientId\n        providerId\n        currency\n        subtotal\n        servicechargeamt\n        taxamt\n        total\n        providerPayAmt\n        status\n        orderSummary\n        orderReceipt\n        taxrate\n        bookingAddress\n        legaltermsAcceptedAt\n        clientnotes\n        Notes\n        bookedByAdmin\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        clientpackage {\n          id\n          companyId\n          clientId\n          userId\n          servicetypeId\n          packageId\n          initialQuantity\n          usedQuantity\n          status\n          active\n          createdAt\n          updatedAt\n        }\n        bookings {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const updateAdditionalCharge = /* GraphQL */ `\n  mutation UpdateAdditionalCharge($input: UpdateAdditionalChargeInput!) {\n    updateAdditionalCharge(input: $input) {\n      id\n      amount\n      desc\n      note\n      bookingId\n      orderId\n      companyId\n      clientId\n      creatorId\n      createdAt\n      updatedAt\n      user {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      creator {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      client {\n        id\n        userId\n        currency\n        accountbalance\n        stripeCustomerId\n        companyId\n        prevproviders {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        defaultpartialcc\n        ClientInfo\n        Notes\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      order {\n        id\n        desc\n        type\n        orderNo\n        companyId\n        clientId\n        providerId\n        currency\n        subtotal\n        servicechargeamt\n        taxamt\n        total\n        providerPayAmt\n        status\n        orderSummary\n        orderReceipt\n        taxrate\n        bookingAddress\n        legaltermsAcceptedAt\n        clientnotes\n        Notes\n        bookedByAdmin\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        clientpackage {\n          id\n          companyId\n          clientId\n          userId\n          servicetypeId\n          packageId\n          initialQuantity\n          usedQuantity\n          status\n          active\n          createdAt\n          updatedAt\n        }\n        bookings {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const deleteAdditionalCharge = /* GraphQL */ `\n  mutation DeleteAdditionalCharge($input: DeleteAdditionalChargeInput!) {\n    deleteAdditionalCharge(input: $input) {\n      id\n      amount\n      desc\n      note\n      bookingId\n      orderId\n      companyId\n      clientId\n      creatorId\n      createdAt\n      updatedAt\n      user {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      creator {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      client {\n        id\n        userId\n        currency\n        accountbalance\n        stripeCustomerId\n        companyId\n        prevproviders {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        defaultpartialcc\n        ClientInfo\n        Notes\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      order {\n        id\n        desc\n        type\n        orderNo\n        companyId\n        clientId\n        providerId\n        currency\n        subtotal\n        servicechargeamt\n        taxamt\n        total\n        providerPayAmt\n        status\n        orderSummary\n        orderReceipt\n        taxrate\n        bookingAddress\n        legaltermsAcceptedAt\n        clientnotes\n        Notes\n        bookedByAdmin\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        clientpackage {\n          id\n          companyId\n          clientId\n          userId\n          servicetypeId\n          packageId\n          initialQuantity\n          usedQuantity\n          status\n          active\n          createdAt\n          updatedAt\n        }\n        bookings {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const createRepeatApptCharge = /* GraphQL */ `\n  mutation CreateRepeatApptCharge($input: CreateRepeatApptChargeInput!) {\n    createRepeatApptCharge(input: $input) {\n      orderId\n      bookingId\n      companyId\n      subtotal\n      servicechargeamt\n      taxamt\n      total\n      taxrate\n      status\n      chargeSummary\n      chargeReceipt\n      createdAt\n      updatedAt\n      order {\n        id\n        desc\n        type\n        orderNo\n        companyId\n        clientId\n        providerId\n        currency\n        subtotal\n        servicechargeamt\n        taxamt\n        total\n        providerPayAmt\n        status\n        orderSummary\n        orderReceipt\n        taxrate\n        bookingAddress\n        legaltermsAcceptedAt\n        clientnotes\n        Notes\n        bookedByAdmin\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        clientpackage {\n          id\n          companyId\n          clientId\n          userId\n          servicetypeId\n          packageId\n          initialQuantity\n          usedQuantity\n          status\n          active\n          createdAt\n          updatedAt\n        }\n        bookings {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const updateRepeatApptCharge = /* GraphQL */ `\n  mutation UpdateRepeatApptCharge($input: UpdateRepeatApptChargeInput!) {\n    updateRepeatApptCharge(input: $input) {\n      orderId\n      bookingId\n      companyId\n      subtotal\n      servicechargeamt\n      taxamt\n      total\n      taxrate\n      status\n      chargeSummary\n      chargeReceipt\n      createdAt\n      updatedAt\n      order {\n        id\n        desc\n        type\n        orderNo\n        companyId\n        clientId\n        providerId\n        currency\n        subtotal\n        servicechargeamt\n        taxamt\n        total\n        providerPayAmt\n        status\n        orderSummary\n        orderReceipt\n        taxrate\n        bookingAddress\n        legaltermsAcceptedAt\n        clientnotes\n        Notes\n        bookedByAdmin\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        clientpackage {\n          id\n          companyId\n          clientId\n          userId\n          servicetypeId\n          packageId\n          initialQuantity\n          usedQuantity\n          status\n          active\n          createdAt\n          updatedAt\n        }\n        bookings {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const deleteRepeatApptCharge = /* GraphQL */ `\n  mutation DeleteRepeatApptCharge($input: DeleteRepeatApptChargeInput!) {\n    deleteRepeatApptCharge(input: $input) {\n      orderId\n      bookingId\n      companyId\n      subtotal\n      servicechargeamt\n      taxamt\n      total\n      taxrate\n      status\n      chargeSummary\n      chargeReceipt\n      createdAt\n      updatedAt\n      order {\n        id\n        desc\n        type\n        orderNo\n        companyId\n        clientId\n        providerId\n        currency\n        subtotal\n        servicechargeamt\n        taxamt\n        total\n        providerPayAmt\n        status\n        orderSummary\n        orderReceipt\n        taxrate\n        bookingAddress\n        legaltermsAcceptedAt\n        clientnotes\n        Notes\n        bookedByAdmin\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        clientpackage {\n          id\n          companyId\n          clientId\n          userId\n          servicetypeId\n          packageId\n          initialQuantity\n          usedQuantity\n          status\n          active\n          createdAt\n          updatedAt\n        }\n        bookings {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const createBillingTransaction = /* GraphQL */ `\n  mutation CreateBillingTransaction($input: CreateBillingTransactionInput!) {\n    createBillingTransaction(input: $input) {\n      id\n      orderId\n      addservicetypeid\n      amount\n      creatorId\n      clientId\n      companyId\n      desc\n      credit\n      approved\n      createdAt\n      updatedAt\n      creator {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      addservicetype {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        behavior\n        ordinal\n        taxexempt\n        TaxOverride\n        locations\n        CourseSettings\n        Classification\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n        category {\n          id\n          name\n          desc\n          companyId\n          deleted\n          ordinal\n          createdAt\n          updatedAt\n        }\n        packages {\n          nextToken\n        }\n      }\n      client {\n        id\n        userId\n        currency\n        accountbalance\n        stripeCustomerId\n        companyId\n        prevproviders {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        defaultpartialcc\n        ClientInfo\n        Notes\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      order {\n        id\n        desc\n        type\n        orderNo\n        companyId\n        clientId\n        providerId\n        currency\n        subtotal\n        servicechargeamt\n        taxamt\n        total\n        providerPayAmt\n        status\n        orderSummary\n        orderReceipt\n        taxrate\n        bookingAddress\n        legaltermsAcceptedAt\n        clientnotes\n        Notes\n        bookedByAdmin\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        clientpackage {\n          id\n          companyId\n          clientId\n          userId\n          servicetypeId\n          packageId\n          initialQuantity\n          usedQuantity\n          status\n          active\n          createdAt\n          updatedAt\n        }\n        bookings {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const updateBillingTransaction = /* GraphQL */ `\n  mutation UpdateBillingTransaction($input: UpdateBillingTransactionInput!) {\n    updateBillingTransaction(input: $input) {\n      id\n      orderId\n      addservicetypeid\n      amount\n      creatorId\n      clientId\n      companyId\n      desc\n      credit\n      approved\n      createdAt\n      updatedAt\n      creator {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      addservicetype {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        behavior\n        ordinal\n        taxexempt\n        TaxOverride\n        locations\n        CourseSettings\n        Classification\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n        category {\n          id\n          name\n          desc\n          companyId\n          deleted\n          ordinal\n          createdAt\n          updatedAt\n        }\n        packages {\n          nextToken\n        }\n      }\n      client {\n        id\n        userId\n        currency\n        accountbalance\n        stripeCustomerId\n        companyId\n        prevproviders {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        defaultpartialcc\n        ClientInfo\n        Notes\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      order {\n        id\n        desc\n        type\n        orderNo\n        companyId\n        clientId\n        providerId\n        currency\n        subtotal\n        servicechargeamt\n        taxamt\n        total\n        providerPayAmt\n        status\n        orderSummary\n        orderReceipt\n        taxrate\n        bookingAddress\n        legaltermsAcceptedAt\n        clientnotes\n        Notes\n        bookedByAdmin\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        clientpackage {\n          id\n          companyId\n          clientId\n          userId\n          servicetypeId\n          packageId\n          initialQuantity\n          usedQuantity\n          status\n          active\n          createdAt\n          updatedAt\n        }\n        bookings {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const deleteBillingTransaction = /* GraphQL */ `\n  mutation DeleteBillingTransaction($input: DeleteBillingTransactionInput!) {\n    deleteBillingTransaction(input: $input) {\n      id\n      orderId\n      addservicetypeid\n      amount\n      creatorId\n      clientId\n      companyId\n      desc\n      credit\n      approved\n      createdAt\n      updatedAt\n      creator {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      addservicetype {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        behavior\n        ordinal\n        taxexempt\n        TaxOverride\n        locations\n        CourseSettings\n        Classification\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n        category {\n          id\n          name\n          desc\n          companyId\n          deleted\n          ordinal\n          createdAt\n          updatedAt\n        }\n        packages {\n          nextToken\n        }\n      }\n      client {\n        id\n        userId\n        currency\n        accountbalance\n        stripeCustomerId\n        companyId\n        prevproviders {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        defaultpartialcc\n        ClientInfo\n        Notes\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      order {\n        id\n        desc\n        type\n        orderNo\n        companyId\n        clientId\n        providerId\n        currency\n        subtotal\n        servicechargeamt\n        taxamt\n        total\n        providerPayAmt\n        status\n        orderSummary\n        orderReceipt\n        taxrate\n        bookingAddress\n        legaltermsAcceptedAt\n        clientnotes\n        Notes\n        bookedByAdmin\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        clientpackage {\n          id\n          companyId\n          clientId\n          userId\n          servicetypeId\n          packageId\n          initialQuantity\n          usedQuantity\n          status\n          active\n          createdAt\n          updatedAt\n        }\n        bookings {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const createTaxRates = /* GraphQL */ `\n  mutation CreateTaxRates($input: CreateTaxRatesInput!) {\n    createTaxRates(input: $input) {\n      id\n      countrycode\n      provstatecode\n      rate\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const updateTaxRates = /* GraphQL */ `\n  mutation UpdateTaxRates($input: UpdateTaxRatesInput!) {\n    updateTaxRates(input: $input) {\n      id\n      countrycode\n      provstatecode\n      rate\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const deleteTaxRates = /* GraphQL */ `\n  mutation DeleteTaxRates($input: DeleteTaxRatesInput!) {\n    deleteTaxRates(input: $input) {\n      id\n      countrycode\n      provstatecode\n      rate\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const createRepeatApptCreation = /* GraphQL */ `\n  mutation CreateRepeatApptCreation($input: CreateRepeatApptCreationInput!) {\n    createRepeatApptCreation(input: $input) {\n      id\n      datakey\n      repeatCount\n      repeatUnit\n      numOfApptsCreated\n      active\n      processedStatus\n      currentEndDate\n      originalStartDate\n      originalEndDate\n      extented\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const updateRepeatApptCreation = /* GraphQL */ `\n  mutation UpdateRepeatApptCreation($input: UpdateRepeatApptCreationInput!) {\n    updateRepeatApptCreation(input: $input) {\n      id\n      datakey\n      repeatCount\n      repeatUnit\n      numOfApptsCreated\n      active\n      processedStatus\n      currentEndDate\n      originalStartDate\n      originalEndDate\n      extented\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const deleteRepeatApptCreation = /* GraphQL */ `\n  mutation DeleteRepeatApptCreation($input: DeleteRepeatApptCreationInput!) {\n    deleteRepeatApptCreation(input: $input) {\n      id\n      datakey\n      repeatCount\n      repeatUnit\n      numOfApptsCreated\n      active\n      processedStatus\n      currentEndDate\n      originalStartDate\n      originalEndDate\n      extented\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const createEnvt = /* GraphQL */ `\n  mutation CreateEnvt($input: CreateEnvtInput!) {\n    createEnvt(input: $input) {\n      id\n      name\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const updateEnvt = /* GraphQL */ `\n  mutation UpdateEnvt($input: UpdateEnvtInput!) {\n    updateEnvt(input: $input) {\n      id\n      name\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const deleteEnvt = /* GraphQL */ `\n  mutation DeleteEnvt($input: DeleteEnvtInput!) {\n    deleteEnvt(input: $input) {\n      id\n      name\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const createBookingRequest = /* GraphQL */ `\n  mutation CreateBookingRequest($input: CreateBookingRequestInput!) {\n    createBookingRequest(input: $input) {\n      id\n      recordType\n      data\n      providerId\n      accepted\n      acceptedBy\n      status\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const updateBookingRequest = /* GraphQL */ `\n  mutation UpdateBookingRequest($input: UpdateBookingRequestInput!) {\n    updateBookingRequest(input: $input) {\n      id\n      recordType\n      data\n      providerId\n      accepted\n      acceptedBy\n      status\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const deleteBookingRequest = /* GraphQL */ `\n  mutation DeleteBookingRequest($input: DeleteBookingRequestInput!) {\n    deleteBookingRequest(input: $input) {\n      id\n      recordType\n      data\n      providerId\n      accepted\n      acceptedBy\n      status\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const createRequestMessages = /* GraphQL */ `\n  mutation CreateRequestMessages($input: CreateRequestMessagesInput!) {\n    createRequestMessages(input: $input) {\n      id\n      recordType\n      bookingRequestId\n      providerId\n      data\n      msg\n      seqNum\n      status\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const updateRequestMessages = /* GraphQL */ `\n  mutation UpdateRequestMessages($input: UpdateRequestMessagesInput!) {\n    updateRequestMessages(input: $input) {\n      id\n      recordType\n      bookingRequestId\n      providerId\n      data\n      msg\n      seqNum\n      status\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const deleteRequestMessages = /* GraphQL */ `\n  mutation DeleteRequestMessages($input: DeleteRequestMessagesInput!) {\n    deleteRequestMessages(input: $input) {\n      id\n      recordType\n      bookingRequestId\n      providerId\n      data\n      msg\n      seqNum\n      status\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const createSystemErrorLog = /* GraphQL */ `\n  mutation CreateSystemErrorLog($input: CreateSystemErrorLogInput!) {\n    createSystemErrorLog(input: $input) {\n      companyId\n      createdAt\n      severity\n      source\n      line\n      error\n      updatedAt\n    }\n  }\n`;\nexport const updateSystemErrorLog = /* GraphQL */ `\n  mutation UpdateSystemErrorLog($input: UpdateSystemErrorLogInput!) {\n    updateSystemErrorLog(input: $input) {\n      companyId\n      createdAt\n      severity\n      source\n      line\n      error\n      updatedAt\n    }\n  }\n`;\nexport const deleteSystemErrorLog = /* GraphQL */ `\n  mutation DeleteSystemErrorLog($input: DeleteSystemErrorLogInput!) {\n    deleteSystemErrorLog(input: $input) {\n      companyId\n      createdAt\n      severity\n      source\n      line\n      error\n      updatedAt\n    }\n  }\n`;\nexport const createPublicAccessToken = /* GraphQL */ `\n  mutation CreatePublicAccessToken($input: CreatePublicAccessTokenInput!) {\n    createPublicAccessToken(input: $input) {\n      id\n      role\n      expiryDate\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const updatePublicAccessToken = /* GraphQL */ `\n  mutation UpdatePublicAccessToken($input: UpdatePublicAccessTokenInput!) {\n    updatePublicAccessToken(input: $input) {\n      id\n      role\n      expiryDate\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const deletePublicAccessToken = /* GraphQL */ `\n  mutation DeletePublicAccessToken($input: DeletePublicAccessTokenInput!) {\n    deletePublicAccessToken(input: $input) {\n      id\n      role\n      expiryDate\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const createRefData = /* GraphQL */ `\n  mutation CreateRefData($input: CreateRefDataInput!) {\n    createRefData(input: $input) {\n      refType\n      refName\n      refValue\n      refInt\n      overrideValue\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const updateRefData = /* GraphQL */ `\n  mutation UpdateRefData($input: UpdateRefDataInput!) {\n    updateRefData(input: $input) {\n      refType\n      refName\n      refValue\n      refInt\n      overrideValue\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const deleteRefData = /* GraphQL */ `\n  mutation DeleteRefData($input: DeleteRefDataInput!) {\n    deleteRefData(input: $input) {\n      refType\n      refName\n      refValue\n      refInt\n      overrideValue\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const createStatistic = /* GraphQL */ `\n  mutation CreateStatistic($input: CreateStatisticInput!) {\n    createStatistic(input: $input) {\n      id\n      dataPoint\n      amount\n      count\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const updateStatistic = /* GraphQL */ `\n  mutation UpdateStatistic($input: UpdateStatisticInput!) {\n    updateStatistic(input: $input) {\n      id\n      dataPoint\n      amount\n      count\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const deleteStatistic = /* GraphQL */ `\n  mutation DeleteStatistic($input: DeleteStatisticInput!) {\n    deleteStatistic(input: $input) {\n      id\n      dataPoint\n      amount\n      count\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const createProspect = /* GraphQL */ `\n  mutation CreateProspect($input: CreateProspectInput!) {\n    createProspect(input: $input) {\n      companyId\n      prospectId\n      emailaddress\n      firstname\n      lastname\n      phone\n      addressoneline\n      street\n      city\n      state\n      country\n      postalcode\n      longitude\n      latitude\n      pageUrl\n      message\n      SearchParamsInfo\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const updateProspect = /* GraphQL */ `\n  mutation UpdateProspect($input: UpdateProspectInput!) {\n    updateProspect(input: $input) {\n      companyId\n      prospectId\n      emailaddress\n      firstname\n      lastname\n      phone\n      addressoneline\n      street\n      city\n      state\n      country\n      postalcode\n      longitude\n      latitude\n      pageUrl\n      message\n      SearchParamsInfo\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const deleteProspect = /* GraphQL */ `\n  mutation DeleteProspect($input: DeleteProspectInput!) {\n    deleteProspect(input: $input) {\n      companyId\n      prospectId\n      emailaddress\n      firstname\n      lastname\n      phone\n      addressoneline\n      street\n      city\n      state\n      country\n      postalcode\n      longitude\n      latitude\n      pageUrl\n      message\n      SearchParamsInfo\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const createManualBooking = /* GraphQL */ `\n  mutation CreateManualBooking($input: CreateManualBookingInput!) {\n    createManualBooking(input: $input) {\n      companyId\n      recordId\n      emailaddress\n      firstname\n      lastname\n      phone\n      addressoneline\n      street\n      city\n      state\n      country\n      postalcode\n      message\n      MetadataInfo\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const updateManualBooking = /* GraphQL */ `\n  mutation UpdateManualBooking($input: UpdateManualBookingInput!) {\n    updateManualBooking(input: $input) {\n      companyId\n      recordId\n      emailaddress\n      firstname\n      lastname\n      phone\n      addressoneline\n      street\n      city\n      state\n      country\n      postalcode\n      message\n      MetadataInfo\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const deleteManualBooking = /* GraphQL */ `\n  mutation DeleteManualBooking($input: DeleteManualBookingInput!) {\n    deleteManualBooking(input: $input) {\n      companyId\n      recordId\n      emailaddress\n      firstname\n      lastname\n      phone\n      addressoneline\n      street\n      city\n      state\n      country\n      postalcode\n      message\n      MetadataInfo\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const createAudit = /* GraphQL */ `\n  mutation CreateAudit($input: CreateAuditInput!) {\n    createAudit(input: $input) {\n      companyIdUserId\n      datetime\n      compResId\n      resType\n      companyId\n      userFN\n      userLN\n      userEmail\n      userRole\n      userAction\n      data\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const updateAudit = /* GraphQL */ `\n  mutation UpdateAudit($input: UpdateAuditInput!) {\n    updateAudit(input: $input) {\n      companyIdUserId\n      datetime\n      compResId\n      resType\n      companyId\n      userFN\n      userLN\n      userEmail\n      userRole\n      userAction\n      data\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const deleteAudit = /* GraphQL */ `\n  mutation DeleteAudit($input: DeleteAuditInput!) {\n    deleteAudit(input: $input) {\n      companyIdUserId\n      datetime\n      compResId\n      resType\n      companyId\n      userFN\n      userLN\n      userEmail\n      userRole\n      userAction\n      data\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const createIntegrationToken = /* GraphQL */ `\n  mutation CreateIntegrationToken($input: CreateIntegrationTokenInput!) {\n    createIntegrationToken(input: $input) {\n      companyIdProviderId\n      serviceName\n      TokenInfo\n      companyId\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const updateIntegrationToken = /* GraphQL */ `\n  mutation UpdateIntegrationToken($input: UpdateIntegrationTokenInput!) {\n    updateIntegrationToken(input: $input) {\n      companyIdProviderId\n      serviceName\n      TokenInfo\n      companyId\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const deleteIntegrationToken = /* GraphQL */ `\n  mutation DeleteIntegrationToken($input: DeleteIntegrationTokenInput!) {\n    deleteIntegrationToken(input: $input) {\n      companyIdProviderId\n      serviceName\n      TokenInfo\n      companyId\n      createdAt\n      updatedAt\n    }\n  }\n`;\n","// custom listBookingsQuery\n// needed to add second level of nesting for user.lastname, user.firstname\nexport const listBookingsQuery = /* GraphQL */ `\n  query ListBookings(\n    $filter: ModelBookingFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listBookings(filter: $filter, limit: $limit, nextToken: $nextToken) {\n      items {\n        id\n        desc\n        order {\n          id\n          desc\n          orderNo\n          companyId\n          clientId\n          providerId\n          amount\n          status\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n        }\n        provider {\n          id\n          firstname\n          lastname\n          emailaddress\n        }\n        providerId\n        client {\n          id\n          userId\n          user {\n            firstname\n            lastname\n          }\n        }\n        clientId\n        startdate\n        minutes\n        company {\n          id\n          name\n          emailaddress\n        }\n        companyId\n        status\n        timeblockid\n        cancelledAt\n        cancelledBy {\n          id\n          username\n          emailaddress\n        }\n        noshowAt\n        noshowBy {\n          id\n          username\n          emailaddress\n        }\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n`;\n\nexport const servicesOfCompany = /* GraphQL */ `\n  query ServiceTypeByCompany(\n    $companyId: String\n    $categoryNameName: ModelServiceTypeByCompanySortedByCategoryNameNameCompositeKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelServiceTypeFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    serviceTypeByCompany(\n      companyId: $companyId\n      categoryNameName: $categoryNameName\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        category {\n          id\n          name\n          ordinal\n        }\n        locations\n        minutes\n        price\n        active\n        isVisible\n        taxexempt\n        TaxOverride\n        ordinal\n        deleted\n        companyId\n        behavior\n      }\n      nextToken\n    }\n  }\n`;\n\nexport const skillByCompany = /* GraphQL */ `\n  query SkillByCompany(\n    $companyId: String\n    $name: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelSkillFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    skillByCompany(\n      companyId: $companyId\n      name: $name\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        name\n        importance\n        companyId\n        active\n        deleted\n      }\n      nextToken\n    }\n  }\n`;\n\nexport const bundledServicesByCompany = /* GraphQL */ `\n  query BundledServicesByCompany(\n    $companyId: String\n    $includedServices: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelServiceTypeFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    bundledServicesByCompany(\n      companyId: $companyId\n      includedServices: $includedServices\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        category {\n          id\n          name\n        }\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        TaxOverride\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n`;\nexport const regionalPricingByCompanyServiceType = /* GraphQL */ `\n  query RegionalPricingByCompanyServiceType(\n    $companyId: String\n    $servicetypeId: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelRegionalPricingFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    regionalPricingByCompanyServiceType(\n      companyId: $companyId\n      servicetypeId: $servicetypeId\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        servicetypeId\n        pricingtype\n        country\n        countryName\n        province\n        postalcodes\n        price\n        notes\n        companyId\n        active\n        deleted\n        createdAt\n        updatedAt\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n        }\n      }\n      nextToken\n    }\n  }\n`;\n\nexport const packageByCompany = /* GraphQL */ `\n  query PackageByCompany(\n    $companyId: String\n    $servicetypeIdCreatedAt: ModelPackageByCompanyCompositeKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelPackageFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    packageByCompany(\n      companyId: $companyId\n      servicetypeIdCreatedAt: $servicetypeIdCreatedAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        desc\n        companyId\n        servicetypeId\n        packagetype\n        price\n        discount\n        quantity\n        active\n        deleted\n        createdAt\n        updatedAt\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\n","const BROWSER_TZ = Intl.DateTimeFormat().resolvedOptions().timeZone;\nconst initialState = {\n  bookingState: {\n    company: {},\n    companyId: \"\",\n    serviceType: \"\",\n    provider: \"\",\n    address: \"\",\n    location: \"\",\n  },\n  BROWSER_TZ,\n};\n\nconst types = {\n  SET_BOOKING_STATE: \"SET_BOOKING_STATE\",\n};\n\nconst reducer = (state = initialState, action) => {\n  switch (action.type) {\n    case types.SET_BOOKING_STATE:\n      return {\n        ...state,\n        bookingState: action.payload,\n      };\n    default:\n      throw new Error(\"Unexpected action\");\n  }\n};\nexport { initialState, types, reducer };\n","import React, { createContext, useReducer, useEffect, useContext } from \"react\";\nimport { initialState, reducer } from \"./reducers\";\nimport { useActions } from \"./actions\";\n\nconst StoreContext = createContext(initialState);\nconst StoreProvider = ({ children }) => {\n  // Get state and dispatch from Reacts new API useReducer.\n  const [state, dispatch] = useReducer(reducer, initialState);\n  // Get actions from useActions and pass it to Context\n  const actions = useActions(state, dispatch);\n\n  // Log new state\n  useEffect(() => {\n    console.log(\"******Store Context State*****\");\n    console.log({ newState: state });\n  }, [state]);\n\n  // Render state, dispatch and special case actions\n  return (\n    <StoreContext.Provider value={{ state, dispatch, actions }}>\n      {children}\n    </StoreContext.Provider>\n  );\n};\n\nexport function useBookingState() {\n  const { state } = useContext(StoreContext);\n  return state;\n}\nexport { StoreContext, StoreProvider };\n","import { types } from \"./reducers\";\n\nexport const useActions = (state, dispatch) => {\n  // this stores the booking state selected in the booking flow\n  function setBookingState(bookingState) {\n    dispatch({ type: types.SET_BOOKING_STATE, payload: bookingState });\n    let stringifyBookingState = JSON.stringify(bookingState);\n    console.log(\"****Booking State Context****\");\n    console.log(JSON.parse(stringifyBookingState));\n    //console.log(\"bookingState = \" + JSON.stringify(bookingState));\n  }\n\n  return {\n    setBookingState,\n  };\n};\n","// *******************************************************\n// Service module to handle error logging functionality //\n// *******************************************************\n\nimport { Logger } from \"@aws-amplify/core\";\nimport API, { graphqlOperation } from \"@aws-amplify/api\";\nimport { createSystemErrorLog } from \"../graphql/mutations\";\nimport moment from \"moment\";\n\nconst logger = new Logger(\"SystemError\");\n\nconst getCurrentDate = () => {\n  return moment.utc().format(\"YYYY-MM-DDTHH:mm:ss.SSS[Z]\");\n};\n\nasync function logSystemError(companyId, severity, source, line, error) {\n  const input = {\n    companyId,\n    severity,\n    source,\n    // error.lineNumber this does not work\n    line: error.stack,\n    //stack: error.stack,\n    error: error.message,\n    createdAt: getCurrentDate(),\n  };\n\n  const result = await API.graphql(\n    graphqlOperation(createSystemErrorLog, { input })\n  );\n\n  // logger.debug(\"In logSystemError, result = \" + JSON.stringify(result));\n}\n\nexport { logSystemError };\n","/* eslint-disable */\n// this is an auto generated file. This will be overwritten\n\nexport const getUserRegistration = /* GraphQL */ `\n  query GetUserRegistration($id: ID!) {\n    getUserRegistration(id: $id) {\n      id\n      emailaddress\n      registrationInfo\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const listUserRegistrations = /* GraphQL */ `\n  query ListUserRegistrations(\n    $filter: ModelUserRegistrationFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listUserRegistrations(\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        emailaddress\n        registrationInfo\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n`;\nexport const getCompanyPublicSite = /* GraphQL */ `\n  query GetCompanyPublicSite($id: ID!) {\n    getCompanyPublicSite(id: $id) {\n      id\n      companyId\n      backgroundImageUrl\n      heading1Text\n      heading2Text\n      textColor\n      buttonColor\n      StyleCustomization\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n    }\n  }\n`;\nexport const listCompanyPublicSites = /* GraphQL */ `\n  query ListCompanyPublicSites(\n    $filter: ModelCompanyPublicSiteFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listCompanyPublicSites(\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        companyId\n        backgroundImageUrl\n        heading1Text\n        heading2Text\n        textColor\n        buttonColor\n        StyleCustomization\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const publicsiteByCompany = /* GraphQL */ `\n  query PublicsiteByCompany(\n    $companyId: String\n    $sortDirection: ModelSortDirection\n    $filter: ModelCompanyPublicSiteFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    publicsiteByCompany(\n      companyId: $companyId\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        companyId\n        backgroundImageUrl\n        heading1Text\n        heading2Text\n        textColor\n        buttonColor\n        StyleCustomization\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const getUser = /* GraphQL */ `\n  query GetUser($id: ID!) {\n    getUser(id: $id) {\n      id\n      username\n      emailaddress\n      registered\n      firstname\n      lastname\n      homephone\n      workphone\n      mobilephone\n      phonepref\n      addressoneline\n      street\n      city\n      state\n      country\n      postalcode\n      longitude\n      latitude\n      role\n      companyId\n      providerId\n      active\n      deleted\n      contactconsent\n      contactconsentdatetime\n      LoginInfo\n      SalesInfo\n      PNInfo\n      lc_name\n      lc_emailaddress\n      lc_ln\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const listUsers = /* GraphQL */ `\n  query ListUsers(\n    $filter: ModelUserFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listUsers(filter: $filter, limit: $limit, nextToken: $nextToken) {\n      items {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const userByCompany = /* GraphQL */ `\n  query UserByCompany(\n    $companyId: String\n    $roleEmailaddress: ModelUserByCompanyCompositeKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelUserFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    userByCompany(\n      companyId: $companyId\n      roleEmailaddress: $roleEmailaddress\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const searchByName = /* GraphQL */ `\n  query SearchByName(\n    $companyId: String\n    $lc_name: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelUserFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    searchByName(\n      companyId: $companyId\n      lc_name: $lc_name\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const searchByLastName = /* GraphQL */ `\n  query SearchByLastName(\n    $companyId: String\n    $lc_ln: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelUserFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    searchByLastName(\n      companyId: $companyId\n      lc_ln: $lc_ln\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const userByProviderId = /* GraphQL */ `\n  query UserByProviderId(\n    $companyId: String\n    $providerId: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelUserFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    userByProviderId(\n      companyId: $companyId\n      providerId: $providerId\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const searchUsers = /* GraphQL */ `\n  query SearchUsers(\n    $filter: SearchableUserFilterInput\n    $sort: SearchableUserSortInput\n    $limit: Int\n    $nextToken: String\n    $from: Int\n  ) {\n    searchUsers(\n      filter: $filter\n      sort: $sort\n      limit: $limit\n      nextToken: $nextToken\n      from: $from\n    ) {\n      items {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n      total\n    }\n  }\n`;\nexport const getUserRemoteAddress = /* GraphQL */ `\n  query GetUserRemoteAddress($id: ID!) {\n    getUserRemoteAddress(id: $id) {\n      id\n      userId\n      addressoneline\n      street\n      city\n      state\n      country\n      postalcode\n      longitude\n      latitude\n      active\n      createdAt\n      updatedAt\n      user {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n    }\n  }\n`;\nexport const listUserRemoteAddresss = /* GraphQL */ `\n  query ListUserRemoteAddresss(\n    $filter: ModelUserRemoteAddressFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listUserRemoteAddresss(\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        userId\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        active\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const getUserInvitation = /* GraphQL */ `\n  query GetUserInvitation($id: ID!) {\n    getUserInvitation(id: $id) {\n      id\n      emailaddress\n      invitecode\n      role\n      active\n      companyId\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const listUserInvitations = /* GraphQL */ `\n  query ListUserInvitations(\n    $filter: ModelUserInvitationFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listUserInvitations(filter: $filter, limit: $limit, nextToken: $nextToken) {\n      items {\n        id\n        emailaddress\n        invitecode\n        role\n        active\n        companyId\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n`;\nexport const searchUserInvitations = /* GraphQL */ `\n  query SearchUserInvitations(\n    $filter: SearchableUserInvitationFilterInput\n    $sort: SearchableUserInvitationSortInput\n    $limit: Int\n    $nextToken: String\n    $from: Int\n  ) {\n    searchUserInvitations(\n      filter: $filter\n      sort: $sort\n      limit: $limit\n      nextToken: $nextToken\n      from: $from\n    ) {\n      items {\n        id\n        emailaddress\n        invitecode\n        role\n        active\n        companyId\n        createdAt\n        updatedAt\n      }\n      nextToken\n      total\n    }\n  }\n`;\nexport const getCompany = /* GraphQL */ `\n  query GetCompany($id: ID!) {\n    getCompany(id: $id) {\n      id\n      name\n      contactname\n      emailaddress\n      currency\n      currencyBasedOnLocation\n      addressoneline\n      street\n      city\n      state\n      country\n      postalcode\n      longitude\n      latitude\n      clientcanselectprovider\n      active\n      offersRemoteServices\n      offersOnPremiseServices\n      offersVirtualServices\n      providerMustAcceptAppt\n      useAnonymousPermalink\n      multipleServices\n      multipleQty\n      ApptAcceptanceFlowConfig\n      collectpayment\n      subdomain\n      tagline\n      logoUrl\n      billingMode\n      iframeURL\n      primaryColor\n      addServiceFee\n      serviceFeeType\n      serviceFeeAmount\n      taxrate\n      travelTime\n      bookingIntervalMinutes\n      countrycode3166alpha2\n      publishableStripeKey\n      displayOnlyLogo\n      sendratingTipMsg\n      ratingTipTextMsg\n      offersPackagesOnly\n      forceRepeatingPackages\n      offersForeverAppt\n      singleApptOnly\n      virtualMeetingConfig\n      DashboardInfo\n      BccLists\n      maskeddomain\n      replyemailaddress\n      homepage\n      clientnotesheading\n      hideRatingsFromClients\n      subscriptionLevel\n      cancelPolicyMinsBefore\n      bookingIncrement\n      providerCanCancelAppt\n      noProviderMsg\n      displayProviderRatios\n      PaymentSettings\n      stripeConnectEnabled\n      stripeAccount\n      setupCompleted\n      clientCanReschedule\n      providerCanReschedule\n      ProvAgnoFlowConfig\n      SuggestionConfig\n      ProviderRestrictionConfig\n      clientMayCreateAccount\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const listCompanys = /* GraphQL */ `\n  query ListCompanys(\n    $filter: ModelCompanyFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listCompanys(filter: $filter, limit: $limit, nextToken: $nextToken) {\n      items {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n`;\nexport const companyBySubdomain = /* GraphQL */ `\n  query CompanyBySubdomain(\n    $subdomain: String\n    $sortDirection: ModelSortDirection\n    $filter: ModelCompanyFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    companyBySubdomain(\n      subdomain: $subdomain\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n`;\nexport const searchCompanys = /* GraphQL */ `\n  query SearchCompanys(\n    $filter: SearchableCompanyFilterInput\n    $sort: SearchableCompanySortInput\n    $limit: Int\n    $nextToken: String\n    $from: Int\n  ) {\n    searchCompanys(\n      filter: $filter\n      sort: $sort\n      limit: $limit\n      nextToken: $nextToken\n      from: $from\n    ) {\n      items {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      nextToken\n      total\n    }\n  }\n`;\nexport const getPendingCompany = /* GraphQL */ `\n  query GetPendingCompany($id: ID!) {\n    getPendingCompany(id: $id) {\n      id\n      name\n      contactname\n      emailaddress\n      subdomain\n      publishableStripeKey\n      subscriptionLevel\n      estimatedNumOfProviders\n      status\n      PaymentSettings\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const listPendingCompanys = /* GraphQL */ `\n  query ListPendingCompanys(\n    $filter: ModelPendingCompanyFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listPendingCompanys(filter: $filter, limit: $limit, nextToken: $nextToken) {\n      items {\n        id\n        name\n        contactname\n        emailaddress\n        subdomain\n        publishableStripeKey\n        subscriptionLevel\n        estimatedNumOfProviders\n        status\n        PaymentSettings\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n`;\nexport const companyByEmailAddress = /* GraphQL */ `\n  query CompanyByEmailAddress(\n    $emailaddress: AWSEmail\n    $createdAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelPendingCompanyFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    companyByEmailAddress(\n      emailaddress: $emailaddress\n      createdAt: $createdAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        name\n        contactname\n        emailaddress\n        subdomain\n        publishableStripeKey\n        subscriptionLevel\n        estimatedNumOfProviders\n        status\n        PaymentSettings\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n`;\nexport const getProvider = /* GraphQL */ `\n  query GetProvider($id: ID!) {\n    getProvider(id: $id) {\n      id\n      firstname\n      lc_fn\n      lastname\n      lc_ln\n      emailaddress\n      phone\n      addressoneline\n      street\n      city\n      state\n      country\n      postalcode\n      longitude\n      latitude\n      timezone\n      bio\n      pictures3key\n      maxtraveltype\n      companyId\n      numberofschedules\n      offersMobileServices\n      active\n      deleted\n      ratingstarsavg\n      numberofratings\n      offersVirtualServices\n      virtualMeetingUserId\n      vmlink\n      permalink\n      AcceptanceRatios\n      userId\n      maxTravelTime\n      createdAt\n      updatedAt\n      user {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      locations {\n        items {\n          id\n          providerId\n          companyId\n          locationpath\n          name\n          desc\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          maxtraveltype\n          traveldistance\n          traveldistanceunit\n          travelregions\n          active\n          deleted\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n      servicetypes {\n        items {\n          id\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n      skills {\n        items {\n          id\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n    }\n  }\n`;\nexport const listProviders = /* GraphQL */ `\n  query ListProviders(\n    $filter: ModelProviderFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listProviders(filter: $filter, limit: $limit, nextToken: $nextToken) {\n      items {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const providerByCompany = /* GraphQL */ `\n  query ProviderByCompany(\n    $companyId: String\n    $firstnameLastnameCreatedAt: ModelProviderByCompanyCompositeKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelProviderFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    providerByCompany(\n      companyId: $companyId\n      firstnameLastnameCreatedAt: $firstnameLastnameCreatedAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const providerByPermalink = /* GraphQL */ `\n  query ProviderByPermalink(\n    $companyId: String\n    $permalink: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelProviderFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    providerByPermalink(\n      companyId: $companyId\n      permalink: $permalink\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const searchByFirstName = /* GraphQL */ `\n  query SearchByFirstName(\n    $companyId: String\n    $lc_fn: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelProviderFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    searchByFirstName(\n      companyId: $companyId\n      lc_fn: $lc_fn\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const searchProviderByLastName = /* GraphQL */ `\n  query SearchProviderByLastName(\n    $companyId: String\n    $lc_ln: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelProviderFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    searchProviderByLastName(\n      companyId: $companyId\n      lc_ln: $lc_ln\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const searchProviders = /* GraphQL */ `\n  query SearchProviders(\n    $filter: SearchableProviderFilterInput\n    $sort: SearchableProviderSortInput\n    $limit: Int\n    $nextToken: String\n    $from: Int\n  ) {\n    searchProviders(\n      filter: $filter\n      sort: $sort\n      limit: $limit\n      nextToken: $nextToken\n      from: $from\n    ) {\n      items {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n      nextToken\n      total\n    }\n  }\n`;\nexport const getProviderLocation = /* GraphQL */ `\n  query GetProviderLocation($id: ID!) {\n    getProviderLocation(id: $id) {\n      id\n      providerId\n      companyId\n      locationpath\n      name\n      desc\n      addressoneline\n      street\n      city\n      state\n      country\n      postalcode\n      longitude\n      latitude\n      timezone\n      maxtraveltype\n      traveldistance\n      traveldistanceunit\n      travelregions\n      active\n      deleted\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const listProviderLocations = /* GraphQL */ `\n  query ListProviderLocations(\n    $filter: ModelProviderLocationFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listProviderLocations(\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        providerId\n        companyId\n        locationpath\n        name\n        desc\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        maxtraveltype\n        traveldistance\n        traveldistanceunit\n        travelregions\n        active\n        deleted\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const locationByProvider = /* GraphQL */ `\n  query LocationByProvider(\n    $providerId: String\n    $createdAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelProviderLocationFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    locationByProvider(\n      providerId: $providerId\n      createdAt: $createdAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        providerId\n        companyId\n        locationpath\n        name\n        desc\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        maxtraveltype\n        traveldistance\n        traveldistanceunit\n        travelregions\n        active\n        deleted\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const providerLocationPathByCompany = /* GraphQL */ `\n  query ProviderLocationPathByCompany(\n    $companyId: String\n    $locationpath: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelProviderLocationFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    providerLocationPathByCompany(\n      companyId: $companyId\n      locationpath: $locationpath\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        providerId\n        companyId\n        locationpath\n        name\n        desc\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        maxtraveltype\n        traveldistance\n        traveldistanceunit\n        travelregions\n        active\n        deleted\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const searchProviderLocations = /* GraphQL */ `\n  query SearchProviderLocations(\n    $filter: SearchableProviderLocationFilterInput\n    $sort: SearchableProviderLocationSortInput\n    $limit: Int\n    $nextToken: String\n    $from: Int\n  ) {\n    searchProviderLocations(\n      filter: $filter\n      sort: $sort\n      limit: $limit\n      nextToken: $nextToken\n      from: $from\n    ) {\n      items {\n        id\n        providerId\n        companyId\n        locationpath\n        name\n        desc\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        maxtraveltype\n        traveldistance\n        traveldistanceunit\n        travelregions\n        active\n        deleted\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n      total\n    }\n  }\n`;\nexport const getProviderPhotos = /* GraphQL */ `\n  query GetProviderPhotos($id: ID!) {\n    getProviderPhotos(id: $id) {\n      id\n      providerId\n      name\n      desc\n      s3key\n      createdAt\n      updatedAt\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const listProviderPhotoss = /* GraphQL */ `\n  query ListProviderPhotoss(\n    $filter: ModelProviderPhotosFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listProviderPhotoss(filter: $filter, limit: $limit, nextToken: $nextToken) {\n      items {\n        id\n        providerId\n        name\n        desc\n        s3key\n        createdAt\n        updatedAt\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const providerPhotosByProvider = /* GraphQL */ `\n  query ProviderPhotosByProvider(\n    $providerId: String\n    $createdAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelProviderPhotosFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    providerPhotosByProvider(\n      providerId: $providerId\n      createdAt: $createdAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        providerId\n        name\n        desc\n        s3key\n        createdAt\n        updatedAt\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const searchProviderPhotoss = /* GraphQL */ `\n  query SearchProviderPhotoss(\n    $filter: SearchableProviderPhotosFilterInput\n    $sort: SearchableProviderPhotosSortInput\n    $limit: Int\n    $nextToken: String\n    $from: Int\n  ) {\n    searchProviderPhotoss(\n      filter: $filter\n      sort: $sort\n      limit: $limit\n      nextToken: $nextToken\n      from: $from\n    ) {\n      items {\n        id\n        providerId\n        name\n        desc\n        s3key\n        createdAt\n        updatedAt\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n      total\n    }\n  }\n`;\nexport const getProviderRatings = /* GraphQL */ `\n  query GetProviderRatings($id: ID!) {\n    getProviderRatings(id: $id) {\n      id\n      providerId\n      companyId\n      ratingstars\n      ratingtext\n      ratinguserId\n      active\n      createdAt\n      updatedAt\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const listProviderRatingss = /* GraphQL */ `\n  query ListProviderRatingss(\n    $filter: ModelProviderRatingsFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listProviderRatingss(\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        providerId\n        companyId\n        ratingstars\n        ratingtext\n        ratinguserId\n        active\n        createdAt\n        updatedAt\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const providerRatingsByProvider = /* GraphQL */ `\n  query ProviderRatingsByProvider(\n    $providerId: String\n    $createdAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelProviderRatingsFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    providerRatingsByProvider(\n      providerId: $providerId\n      createdAt: $createdAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        providerId\n        companyId\n        ratingstars\n        ratingtext\n        ratinguserId\n        active\n        createdAt\n        updatedAt\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const providerRatingsByCompany = /* GraphQL */ `\n  query ProviderRatingsByCompany(\n    $companyId: String\n    $createdAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelProviderRatingsFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    providerRatingsByCompany(\n      companyId: $companyId\n      createdAt: $createdAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        providerId\n        companyId\n        ratingstars\n        ratingtext\n        ratinguserId\n        active\n        createdAt\n        updatedAt\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const searchProviderRatingss = /* GraphQL */ `\n  query SearchProviderRatingss(\n    $filter: SearchableProviderRatingsFilterInput\n    $sort: SearchableProviderRatingsSortInput\n    $limit: Int\n    $nextToken: String\n    $from: Int\n  ) {\n    searchProviderRatingss(\n      filter: $filter\n      sort: $sort\n      limit: $limit\n      nextToken: $nextToken\n      from: $from\n    ) {\n      items {\n        id\n        providerId\n        companyId\n        ratingstars\n        ratingtext\n        ratinguserId\n        active\n        createdAt\n        updatedAt\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n      total\n    }\n  }\n`;\nexport const getServiceType = /* GraphQL */ `\n  query GetServiceType($id: ID!) {\n    getServiceType(id: $id) {\n      id\n      name\n      desc\n      categoryId\n      categoryName\n      minutes\n      price\n      active\n      deleted\n      companyId\n      s3key\n      imagedesc\n      offeredremote\n      offeredonpremise\n      isBundledService\n      isVisible\n      includedServices\n      behavior\n      ordinal\n      taxexempt\n      TaxOverride\n      locations\n      CourseSettings\n      Classification\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      providers {\n        items {\n          id\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n      category {\n        id\n        name\n        desc\n        companyId\n        deleted\n        ordinal\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      packages {\n        items {\n          id\n          desc\n          companyId\n          servicetypeId\n          packagetype\n          price\n          discount\n          quantity\n          active\n          deleted\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n    }\n  }\n`;\nexport const listServiceTypes = /* GraphQL */ `\n  query ListServiceTypes(\n    $filter: ModelServiceTypeFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listServiceTypes(filter: $filter, limit: $limit, nextToken: $nextToken) {\n      items {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        behavior\n        ordinal\n        taxexempt\n        TaxOverride\n        locations\n        CourseSettings\n        Classification\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n        category {\n          id\n          name\n          desc\n          companyId\n          deleted\n          ordinal\n          createdAt\n          updatedAt\n        }\n        packages {\n          nextToken\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const serviceTypeByCompany = /* GraphQL */ `\n  query ServiceTypeByCompany(\n    $companyId: String\n    $categoryNameName: ModelServiceTypeByCompanySortedByCategoryNameNameCompositeKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelServiceTypeFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    serviceTypeByCompany(\n      companyId: $companyId\n      categoryNameName: $categoryNameName\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        behavior\n        ordinal\n        taxexempt\n        TaxOverride\n        locations\n        CourseSettings\n        Classification\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n        category {\n          id\n          name\n          desc\n          companyId\n          deleted\n          ordinal\n          createdAt\n          updatedAt\n        }\n        packages {\n          nextToken\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const bundledServicesByCompany = /* GraphQL */ `\n  query BundledServicesByCompany(\n    $companyId: String\n    $includedServices: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelServiceTypeFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    bundledServicesByCompany(\n      companyId: $companyId\n      includedServices: $includedServices\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        behavior\n        ordinal\n        taxexempt\n        TaxOverride\n        locations\n        CourseSettings\n        Classification\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n        category {\n          id\n          name\n          desc\n          companyId\n          deleted\n          ordinal\n          createdAt\n          updatedAt\n        }\n        packages {\n          nextToken\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const searchServiceTypes = /* GraphQL */ `\n  query SearchServiceTypes(\n    $filter: SearchableServiceTypeFilterInput\n    $sort: SearchableServiceTypeSortInput\n    $limit: Int\n    $nextToken: String\n    $from: Int\n  ) {\n    searchServiceTypes(\n      filter: $filter\n      sort: $sort\n      limit: $limit\n      nextToken: $nextToken\n      from: $from\n    ) {\n      items {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        behavior\n        ordinal\n        taxexempt\n        TaxOverride\n        locations\n        CourseSettings\n        Classification\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n        category {\n          id\n          name\n          desc\n          companyId\n          deleted\n          ordinal\n          createdAt\n          updatedAt\n        }\n        packages {\n          nextToken\n        }\n      }\n      nextToken\n      total\n    }\n  }\n`;\nexport const getServiceTypeCategory = /* GraphQL */ `\n  query GetServiceTypeCategory($id: ID!) {\n    getServiceTypeCategory(id: $id) {\n      id\n      name\n      desc\n      companyId\n      deleted\n      ordinal\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n    }\n  }\n`;\nexport const listServiceTypeCategorys = /* GraphQL */ `\n  query ListServiceTypeCategorys(\n    $filter: ModelServiceTypeCategoryFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listServiceTypeCategorys(\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        name\n        desc\n        companyId\n        deleted\n        ordinal\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const serviceTypeCategoryByCompany = /* GraphQL */ `\n  query ServiceTypeCategoryByCompany(\n    $companyId: String\n    $createdAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelServiceTypeCategoryFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    serviceTypeCategoryByCompany(\n      companyId: $companyId\n      createdAt: $createdAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        name\n        desc\n        companyId\n        deleted\n        ordinal\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const searchServiceTypeCategorys = /* GraphQL */ `\n  query SearchServiceTypeCategorys(\n    $filter: SearchableServiceTypeCategoryFilterInput\n    $sort: SearchableServiceTypeCategorySortInput\n    $limit: Int\n    $nextToken: String\n    $from: Int\n  ) {\n    searchServiceTypeCategorys(\n      filter: $filter\n      sort: $sort\n      limit: $limit\n      nextToken: $nextToken\n      from: $from\n    ) {\n      items {\n        id\n        name\n        desc\n        companyId\n        deleted\n        ordinal\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n      total\n    }\n  }\n`;\nexport const getRegionalPricing = /* GraphQL */ `\n  query GetRegionalPricing($id: ID!) {\n    getRegionalPricing(id: $id) {\n      id\n      servicetypeId\n      pricingtype\n      country\n      countryName\n      province\n      postalcodes\n      price\n      notes\n      companyId\n      active\n      deleted\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      servicetype {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        behavior\n        ordinal\n        taxexempt\n        TaxOverride\n        locations\n        CourseSettings\n        Classification\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n        category {\n          id\n          name\n          desc\n          companyId\n          deleted\n          ordinal\n          createdAt\n          updatedAt\n        }\n        packages {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const listRegionalPricings = /* GraphQL */ `\n  query ListRegionalPricings(\n    $filter: ModelRegionalPricingFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listRegionalPricings(\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        servicetypeId\n        pricingtype\n        country\n        countryName\n        province\n        postalcodes\n        price\n        notes\n        companyId\n        active\n        deleted\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const regionalPricingByCompanyServiceType = /* GraphQL */ `\n  query RegionalPricingByCompanyServiceType(\n    $companyId: String\n    $servicetypeId: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelRegionalPricingFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    regionalPricingByCompanyServiceType(\n      companyId: $companyId\n      servicetypeId: $servicetypeId\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        servicetypeId\n        pricingtype\n        country\n        countryName\n        province\n        postalcodes\n        price\n        notes\n        companyId\n        active\n        deleted\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const getClient = /* GraphQL */ `\n  query GetClient($id: ID!) {\n    getClient(id: $id) {\n      id\n      userId\n      currency\n      accountbalance\n      stripeCustomerId\n      companyId\n      prevproviders {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n      defaultpartialcc\n      ClientInfo\n      Notes\n      createdAt\n      updatedAt\n      user {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n    }\n  }\n`;\nexport const listClients = /* GraphQL */ `\n  query ListClients(\n    $filter: ModelClientFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listClients(filter: $filter, limit: $limit, nextToken: $nextToken) {\n      items {\n        id\n        userId\n        currency\n        accountbalance\n        stripeCustomerId\n        companyId\n        prevproviders {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        defaultpartialcc\n        ClientInfo\n        Notes\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const clientByUserId = /* GraphQL */ `\n  query ClientByUserId(\n    $userId: String\n    $id: ModelIDKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelClientFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    clientByUserId(\n      userId: $userId\n      id: $id\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        userId\n        currency\n        accountbalance\n        stripeCustomerId\n        companyId\n        prevproviders {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        defaultpartialcc\n        ClientInfo\n        Notes\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const clientByCompany = /* GraphQL */ `\n  query ClientByCompany(\n    $companyId: String\n    $id: ModelIDKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelClientFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    clientByCompany(\n      companyId: $companyId\n      id: $id\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        userId\n        currency\n        accountbalance\n        stripeCustomerId\n        companyId\n        prevproviders {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        defaultpartialcc\n        ClientInfo\n        Notes\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const searchClients = /* GraphQL */ `\n  query SearchClients(\n    $filter: SearchableClientFilterInput\n    $sort: SearchableClientSortInput\n    $limit: Int\n    $nextToken: String\n    $from: Int\n  ) {\n    searchClients(\n      filter: $filter\n      sort: $sort\n      limit: $limit\n      nextToken: $nextToken\n      from: $from\n    ) {\n      items {\n        id\n        userId\n        currency\n        accountbalance\n        stripeCustomerId\n        companyId\n        prevproviders {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        defaultpartialcc\n        ClientInfo\n        Notes\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n      total\n    }\n  }\n`;\nexport const getSkill = /* GraphQL */ `\n  query GetSkill($id: ID!) {\n    getSkill(id: $id) {\n      id\n      name\n      importance\n      companyId\n      active\n      deleted\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      providers {\n        items {\n          id\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n    }\n  }\n`;\nexport const listSkills = /* GraphQL */ `\n  query ListSkills(\n    $filter: ModelSkillFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listSkills(filter: $filter, limit: $limit, nextToken: $nextToken) {\n      items {\n        id\n        name\n        importance\n        companyId\n        active\n        deleted\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const skillByCompany = /* GraphQL */ `\n  query SkillByCompany(\n    $companyId: String\n    $name: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelSkillFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    skillByCompany(\n      companyId: $companyId\n      name: $name\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        name\n        importance\n        companyId\n        active\n        deleted\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const searchSkills = /* GraphQL */ `\n  query SearchSkills(\n    $filter: SearchableSkillFilterInput\n    $sort: SearchableSkillSortInput\n    $limit: Int\n    $nextToken: String\n    $from: Int\n  ) {\n    searchSkills(\n      filter: $filter\n      sort: $sort\n      limit: $limit\n      nextToken: $nextToken\n      from: $from\n    ) {\n      items {\n        id\n        name\n        importance\n        companyId\n        active\n        deleted\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n      }\n      nextToken\n      total\n    }\n  }\n`;\nexport const getPackage = /* GraphQL */ `\n  query GetPackage($id: ID!) {\n    getPackage(id: $id) {\n      id\n      desc\n      companyId\n      servicetypeId\n      packagetype\n      price\n      discount\n      quantity\n      active\n      deleted\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      servicetype {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        behavior\n        ordinal\n        taxexempt\n        TaxOverride\n        locations\n        CourseSettings\n        Classification\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n        category {\n          id\n          name\n          desc\n          companyId\n          deleted\n          ordinal\n          createdAt\n          updatedAt\n        }\n        packages {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const listPackages = /* GraphQL */ `\n  query ListPackages(\n    $filter: ModelPackageFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listPackages(filter: $filter, limit: $limit, nextToken: $nextToken) {\n      items {\n        id\n        desc\n        companyId\n        servicetypeId\n        packagetype\n        price\n        discount\n        quantity\n        active\n        deleted\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const packageByCompany = /* GraphQL */ `\n  query PackageByCompany(\n    $companyId: String\n    $servicetypeIdCreatedAt: ModelPackageByCompanyCompositeKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelPackageFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    packageByCompany(\n      companyId: $companyId\n      servicetypeIdCreatedAt: $servicetypeIdCreatedAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        desc\n        companyId\n        servicetypeId\n        packagetype\n        price\n        discount\n        quantity\n        active\n        deleted\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const searchPackages = /* GraphQL */ `\n  query SearchPackages(\n    $filter: SearchablePackageFilterInput\n    $sort: SearchablePackageSortInput\n    $limit: Int\n    $nextToken: String\n    $from: Int\n  ) {\n    searchPackages(\n      filter: $filter\n      sort: $sort\n      limit: $limit\n      nextToken: $nextToken\n      from: $from\n    ) {\n      items {\n        id\n        desc\n        companyId\n        servicetypeId\n        packagetype\n        price\n        discount\n        quantity\n        active\n        deleted\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n      total\n    }\n  }\n`;\nexport const getClientPackage = /* GraphQL */ `\n  query GetClientPackage($id: ID!) {\n    getClientPackage(id: $id) {\n      id\n      companyId\n      clientId\n      userId\n      servicetypeId\n      packageId\n      initialQuantity\n      usedQuantity\n      status\n      active\n      createdAt\n      updatedAt\n      user {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      servicetype {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        behavior\n        ordinal\n        taxexempt\n        TaxOverride\n        locations\n        CourseSettings\n        Classification\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n        category {\n          id\n          name\n          desc\n          companyId\n          deleted\n          ordinal\n          createdAt\n          updatedAt\n        }\n        packages {\n          nextToken\n        }\n      }\n      client {\n        id\n        userId\n        currency\n        accountbalance\n        stripeCustomerId\n        companyId\n        prevproviders {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        defaultpartialcc\n        ClientInfo\n        Notes\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      package {\n        id\n        desc\n        companyId\n        servicetypeId\n        packagetype\n        price\n        discount\n        quantity\n        active\n        deleted\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n      }\n      orders {\n        items {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n    }\n  }\n`;\nexport const listClientPackages = /* GraphQL */ `\n  query ListClientPackages(\n    $filter: ModelClientPackageFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listClientPackages(filter: $filter, limit: $limit, nextToken: $nextToken) {\n      items {\n        id\n        companyId\n        clientId\n        userId\n        servicetypeId\n        packageId\n        initialQuantity\n        usedQuantity\n        status\n        active\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        package {\n          id\n          desc\n          companyId\n          servicetypeId\n          packagetype\n          price\n          discount\n          quantity\n          active\n          deleted\n          createdAt\n          updatedAt\n        }\n        orders {\n          nextToken\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const clientPackageByUser = /* GraphQL */ `\n  query ClientPackageByUser(\n    $userId: String\n    $servicetypeIdPackageIdCreatedAt: ModelClientPackageByUserCompositeKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelClientPackageFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    clientPackageByUser(\n      userId: $userId\n      servicetypeIdPackageIdCreatedAt: $servicetypeIdPackageIdCreatedAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        companyId\n        clientId\n        userId\n        servicetypeId\n        packageId\n        initialQuantity\n        usedQuantity\n        status\n        active\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        package {\n          id\n          desc\n          companyId\n          servicetypeId\n          packagetype\n          price\n          discount\n          quantity\n          active\n          deleted\n          createdAt\n          updatedAt\n        }\n        orders {\n          nextToken\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const clientPackageByCompany = /* GraphQL */ `\n  query ClientPackageByCompany(\n    $companyId: String\n    $createdAtId: ModelClientPackageByCompanyCompositeKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelClientPackageFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    clientPackageByCompany(\n      companyId: $companyId\n      createdAtId: $createdAtId\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        companyId\n        clientId\n        userId\n        servicetypeId\n        packageId\n        initialQuantity\n        usedQuantity\n        status\n        active\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        package {\n          id\n          desc\n          companyId\n          servicetypeId\n          packagetype\n          price\n          discount\n          quantity\n          active\n          deleted\n          createdAt\n          updatedAt\n        }\n        orders {\n          nextToken\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const searchClientPackages = /* GraphQL */ `\n  query SearchClientPackages(\n    $filter: SearchableClientPackageFilterInput\n    $sort: SearchableClientPackageSortInput\n    $limit: Int\n    $nextToken: String\n    $from: Int\n  ) {\n    searchClientPackages(\n      filter: $filter\n      sort: $sort\n      limit: $limit\n      nextToken: $nextToken\n      from: $from\n    ) {\n      items {\n        id\n        companyId\n        clientId\n        userId\n        servicetypeId\n        packageId\n        initialQuantity\n        usedQuantity\n        status\n        active\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        package {\n          id\n          desc\n          companyId\n          servicetypeId\n          packagetype\n          price\n          discount\n          quantity\n          active\n          deleted\n          createdAt\n          updatedAt\n        }\n        orders {\n          nextToken\n        }\n      }\n      nextToken\n      total\n    }\n  }\n`;\nexport const getPromotion = /* GraphQL */ `\n  query GetPromotion($id: ID!) {\n    getPromotion(id: $id) {\n      id\n      name\n      desc\n      companyId\n      amount\n      promotiontype\n      active\n      deleted\n      startdate\n      enddate\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      servicetype {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        behavior\n        ordinal\n        taxexempt\n        TaxOverride\n        locations\n        CourseSettings\n        Classification\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n        category {\n          id\n          name\n          desc\n          companyId\n          deleted\n          ordinal\n          createdAt\n          updatedAt\n        }\n        packages {\n          nextToken\n        }\n      }\n      package {\n        id\n        desc\n        companyId\n        servicetypeId\n        packagetype\n        price\n        discount\n        quantity\n        active\n        deleted\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n      }\n    }\n  }\n`;\nexport const listPromotions = /* GraphQL */ `\n  query ListPromotions(\n    $filter: ModelPromotionFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listPromotions(filter: $filter, limit: $limit, nextToken: $nextToken) {\n      items {\n        id\n        name\n        desc\n        companyId\n        amount\n        promotiontype\n        active\n        deleted\n        startdate\n        enddate\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n        package {\n          id\n          desc\n          companyId\n          servicetypeId\n          packagetype\n          price\n          discount\n          quantity\n          active\n          deleted\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const searchPromotions = /* GraphQL */ `\n  query SearchPromotions(\n    $filter: SearchablePromotionFilterInput\n    $sort: SearchablePromotionSortInput\n    $limit: Int\n    $nextToken: String\n    $from: Int\n  ) {\n    searchPromotions(\n      filter: $filter\n      sort: $sort\n      limit: $limit\n      nextToken: $nextToken\n      from: $from\n    ) {\n      items {\n        id\n        name\n        desc\n        companyId\n        amount\n        promotiontype\n        active\n        deleted\n        startdate\n        enddate\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n        package {\n          id\n          desc\n          companyId\n          servicetypeId\n          packagetype\n          price\n          discount\n          quantity\n          active\n          deleted\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n      total\n    }\n  }\n`;\nexport const getPromo = /* GraphQL */ `\n  query GetPromo($id: ID!, $recordType: String!) {\n    getPromo(id: $id, recordType: $recordType) {\n      id\n      recordType\n      Details\n      companyId\n      promocode\n      active\n      terminated\n      allPackages\n      allServices\n      discountType\n      discountValue\n      onePerClient\n      startDate\n      endDate\n      name\n      numOfRedemptions\n      maxNumOfRedemptions\n      hasExpiryDate\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n    }\n  }\n`;\nexport const listPromos = /* GraphQL */ `\n  query ListPromos(\n    $id: ID\n    $recordType: ModelStringKeyConditionInput\n    $filter: ModelPromoFilterInput\n    $limit: Int\n    $nextToken: String\n    $sortDirection: ModelSortDirection\n  ) {\n    listPromos(\n      id: $id\n      recordType: $recordType\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n      sortDirection: $sortDirection\n    ) {\n      items {\n        id\n        recordType\n        Details\n        companyId\n        promocode\n        active\n        terminated\n        allPackages\n        allServices\n        discountType\n        discountValue\n        onePerClient\n        startDate\n        endDate\n        name\n        numOfRedemptions\n        maxNumOfRedemptions\n        hasExpiryDate\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const promocodeByCompany = /* GraphQL */ `\n  query PromocodeByCompany(\n    $companyId: String\n    $promocodeId: ModelPromoByCompanyPromocodeCompositeKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelPromoFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    promocodeByCompany(\n      companyId: $companyId\n      promocodeId: $promocodeId\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        recordType\n        Details\n        companyId\n        promocode\n        active\n        terminated\n        allPackages\n        allServices\n        discountType\n        discountValue\n        onePerClient\n        startDate\n        endDate\n        name\n        numOfRedemptions\n        maxNumOfRedemptions\n        hasExpiryDate\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const promocodeRecordTypeByCompany = /* GraphQL */ `\n  query PromocodeRecordTypeByCompany(\n    $companyId: String\n    $promocodeRecordType: ModelPromoByCompanyPromocodeRecordtypeCompositeKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelPromoFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    promocodeRecordTypeByCompany(\n      companyId: $companyId\n      promocodeRecordType: $promocodeRecordType\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        recordType\n        Details\n        companyId\n        promocode\n        active\n        terminated\n        allPackages\n        allServices\n        discountType\n        discountValue\n        onePerClient\n        startDate\n        endDate\n        name\n        numOfRedemptions\n        maxNumOfRedemptions\n        hasExpiryDate\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const promoByCompany = /* GraphQL */ `\n  query PromoByCompany(\n    $companyId: String\n    $idRecordType: ModelPromoByCompanyPromosCompositeKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelPromoFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    promoByCompany(\n      companyId: $companyId\n      idRecordType: $idRecordType\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        recordType\n        Details\n        companyId\n        promocode\n        active\n        terminated\n        allPackages\n        allServices\n        discountType\n        discountValue\n        onePerClient\n        startDate\n        endDate\n        name\n        numOfRedemptions\n        maxNumOfRedemptions\n        hasExpiryDate\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const promoSettingsByCompany = /* GraphQL */ `\n  query PromoSettingsByCompany(\n    $companyId: String\n    $recordTypeId: ModelPromoByCompanyPromoSettingsCompositeKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelPromoFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    promoSettingsByCompany(\n      companyId: $companyId\n      recordTypeId: $recordTypeId\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        recordType\n        Details\n        companyId\n        promocode\n        active\n        terminated\n        allPackages\n        allServices\n        discountType\n        discountValue\n        onePerClient\n        startDate\n        endDate\n        name\n        numOfRedemptions\n        maxNumOfRedemptions\n        hasExpiryDate\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const getBooking = /* GraphQL */ `\n  query GetBooking($id: ID!) {\n    getBooking(id: $id) {\n      id\n      desc\n      orderId\n      serviceTypeId\n      providerId\n      clientId\n      startdate\n      minutes\n      totalAddChg\n      location\n      companyId\n      status\n      timeblockid\n      cancelledAt\n      noshowAt\n      virtualMeetingInfo\n      timezone\n      TimeDisplayInfo\n      orderType\n      isVirtual\n      manualBooking\n      Notes\n      MetaData\n      createdAt\n      updatedAt\n      cancelledBy {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      noshowBy {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      bookedBy {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n      rating {\n        id\n        providerId\n        companyId\n        ratingstars\n        ratingtext\n        ratinguserId\n        active\n        createdAt\n        updatedAt\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      servicetype {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        behavior\n        ordinal\n        taxexempt\n        TaxOverride\n        locations\n        CourseSettings\n        Classification\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n        category {\n          id\n          name\n          desc\n          companyId\n          deleted\n          ordinal\n          createdAt\n          updatedAt\n        }\n        packages {\n          nextToken\n        }\n      }\n      client {\n        id\n        userId\n        currency\n        accountbalance\n        stripeCustomerId\n        companyId\n        prevproviders {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        defaultpartialcc\n        ClientInfo\n        Notes\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      order {\n        id\n        desc\n        type\n        orderNo\n        companyId\n        clientId\n        providerId\n        currency\n        subtotal\n        servicechargeamt\n        taxamt\n        total\n        providerPayAmt\n        status\n        orderSummary\n        orderReceipt\n        taxrate\n        bookingAddress\n        legaltermsAcceptedAt\n        clientnotes\n        Notes\n        bookedByAdmin\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        clientpackage {\n          id\n          companyId\n          clientId\n          userId\n          servicetypeId\n          packageId\n          initialQuantity\n          usedQuantity\n          status\n          active\n          createdAt\n          updatedAt\n        }\n        bookings {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const listBookings = /* GraphQL */ `\n  query ListBookings(\n    $filter: ModelBookingFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listBookings(filter: $filter, limit: $limit, nextToken: $nextToken) {\n      items {\n        id\n        desc\n        orderId\n        serviceTypeId\n        providerId\n        clientId\n        startdate\n        minutes\n        totalAddChg\n        location\n        companyId\n        status\n        timeblockid\n        cancelledAt\n        noshowAt\n        virtualMeetingInfo\n        timezone\n        TimeDisplayInfo\n        orderType\n        isVirtual\n        manualBooking\n        Notes\n        MetaData\n        createdAt\n        updatedAt\n        cancelledBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        noshowBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        bookedBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        rating {\n          id\n          providerId\n          companyId\n          ratingstars\n          ratingtext\n          ratinguserId\n          active\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        order {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const bookingByProvider = /* GraphQL */ `\n  query BookingByProvider(\n    $providerId: String\n    $startdateTimeblockid: ModelBookingByProviderCompositeKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelBookingFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    bookingByProvider(\n      providerId: $providerId\n      startdateTimeblockid: $startdateTimeblockid\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        desc\n        orderId\n        serviceTypeId\n        providerId\n        clientId\n        startdate\n        minutes\n        totalAddChg\n        location\n        companyId\n        status\n        timeblockid\n        cancelledAt\n        noshowAt\n        virtualMeetingInfo\n        timezone\n        TimeDisplayInfo\n        orderType\n        isVirtual\n        manualBooking\n        Notes\n        MetaData\n        createdAt\n        updatedAt\n        cancelledBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        noshowBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        bookedBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        rating {\n          id\n          providerId\n          companyId\n          ratingstars\n          ratingtext\n          ratinguserId\n          active\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        order {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const bookingByCompany = /* GraphQL */ `\n  query BookingByCompany(\n    $companyId: String\n    $startdateTimeblockid: ModelBookingByCompanyCompositeKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelBookingFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    bookingByCompany(\n      companyId: $companyId\n      startdateTimeblockid: $startdateTimeblockid\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        desc\n        orderId\n        serviceTypeId\n        providerId\n        clientId\n        startdate\n        minutes\n        totalAddChg\n        location\n        companyId\n        status\n        timeblockid\n        cancelledAt\n        noshowAt\n        virtualMeetingInfo\n        timezone\n        TimeDisplayInfo\n        orderType\n        isVirtual\n        manualBooking\n        Notes\n        MetaData\n        createdAt\n        updatedAt\n        cancelledBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        noshowBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        bookedBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        rating {\n          id\n          providerId\n          companyId\n          ratingstars\n          ratingtext\n          ratinguserId\n          active\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        order {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const bookingByOrder = /* GraphQL */ `\n  query BookingByOrder(\n    $orderId: String\n    $startdateTimeblockid: ModelBookingByOrderCompositeKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelBookingFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    bookingByOrder(\n      orderId: $orderId\n      startdateTimeblockid: $startdateTimeblockid\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        desc\n        orderId\n        serviceTypeId\n        providerId\n        clientId\n        startdate\n        minutes\n        totalAddChg\n        location\n        companyId\n        status\n        timeblockid\n        cancelledAt\n        noshowAt\n        virtualMeetingInfo\n        timezone\n        TimeDisplayInfo\n        orderType\n        isVirtual\n        manualBooking\n        Notes\n        MetaData\n        createdAt\n        updatedAt\n        cancelledBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        noshowBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        bookedBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        rating {\n          id\n          providerId\n          companyId\n          ratingstars\n          ratingtext\n          ratinguserId\n          active\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        order {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const bookingByClient = /* GraphQL */ `\n  query BookingByClient(\n    $clientId: String\n    $startdateTimeblockid: ModelBookingByClientCompositeKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelBookingFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    bookingByClient(\n      clientId: $clientId\n      startdateTimeblockid: $startdateTimeblockid\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        desc\n        orderId\n        serviceTypeId\n        providerId\n        clientId\n        startdate\n        minutes\n        totalAddChg\n        location\n        companyId\n        status\n        timeblockid\n        cancelledAt\n        noshowAt\n        virtualMeetingInfo\n        timezone\n        TimeDisplayInfo\n        orderType\n        isVirtual\n        manualBooking\n        Notes\n        MetaData\n        createdAt\n        updatedAt\n        cancelledBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        noshowBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        bookedBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        rating {\n          id\n          providerId\n          companyId\n          ratingstars\n          ratingtext\n          ratinguserId\n          active\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        order {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const bookingByServiceType = /* GraphQL */ `\n  query BookingByServiceType(\n    $serviceTypeId: String\n    $sortDirection: ModelSortDirection\n    $filter: ModelBookingFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    bookingByServiceType(\n      serviceTypeId: $serviceTypeId\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        desc\n        orderId\n        serviceTypeId\n        providerId\n        clientId\n        startdate\n        minutes\n        totalAddChg\n        location\n        companyId\n        status\n        timeblockid\n        cancelledAt\n        noshowAt\n        virtualMeetingInfo\n        timezone\n        TimeDisplayInfo\n        orderType\n        isVirtual\n        manualBooking\n        Notes\n        MetaData\n        createdAt\n        updatedAt\n        cancelledBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        noshowBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        bookedBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        rating {\n          id\n          providerId\n          companyId\n          ratingstars\n          ratingtext\n          ratinguserId\n          active\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        order {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const searchBookings = /* GraphQL */ `\n  query SearchBookings(\n    $filter: SearchableBookingFilterInput\n    $sort: SearchableBookingSortInput\n    $limit: Int\n    $nextToken: String\n    $from: Int\n  ) {\n    searchBookings(\n      filter: $filter\n      sort: $sort\n      limit: $limit\n      nextToken: $nextToken\n      from: $from\n    ) {\n      items {\n        id\n        desc\n        orderId\n        serviceTypeId\n        providerId\n        clientId\n        startdate\n        minutes\n        totalAddChg\n        location\n        companyId\n        status\n        timeblockid\n        cancelledAt\n        noshowAt\n        virtualMeetingInfo\n        timezone\n        TimeDisplayInfo\n        orderType\n        isVirtual\n        manualBooking\n        Notes\n        MetaData\n        createdAt\n        updatedAt\n        cancelledBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        noshowBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        bookedBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        rating {\n          id\n          providerId\n          companyId\n          ratingstars\n          ratingtext\n          ratinguserId\n          active\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        order {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n      total\n    }\n  }\n`;\nexport const getBookingStatus = /* GraphQL */ `\n  query GetBookingStatus($companyId: ID!, $status: String!) {\n    getBookingStatus(companyId: $companyId, status: $status) {\n      companyId\n      status\n      bookingId\n      createdAt\n      updatedAt\n      booking {\n        id\n        desc\n        orderId\n        serviceTypeId\n        providerId\n        clientId\n        startdate\n        minutes\n        totalAddChg\n        location\n        companyId\n        status\n        timeblockid\n        cancelledAt\n        noshowAt\n        virtualMeetingInfo\n        timezone\n        TimeDisplayInfo\n        orderType\n        isVirtual\n        manualBooking\n        Notes\n        MetaData\n        createdAt\n        updatedAt\n        cancelledBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        noshowBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        bookedBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        rating {\n          id\n          providerId\n          companyId\n          ratingstars\n          ratingtext\n          ratinguserId\n          active\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        order {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n      }\n    }\n  }\n`;\nexport const listBookingStatuss = /* GraphQL */ `\n  query ListBookingStatuss(\n    $companyId: ID\n    $status: ModelStringKeyConditionInput\n    $filter: ModelBookingStatusFilterInput\n    $limit: Int\n    $nextToken: String\n    $sortDirection: ModelSortDirection\n  ) {\n    listBookingStatuss(\n      companyId: $companyId\n      status: $status\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n      sortDirection: $sortDirection\n    ) {\n      items {\n        companyId\n        status\n        bookingId\n        createdAt\n        updatedAt\n        booking {\n          id\n          desc\n          orderId\n          serviceTypeId\n          providerId\n          clientId\n          startdate\n          minutes\n          totalAddChg\n          location\n          companyId\n          status\n          timeblockid\n          cancelledAt\n          noshowAt\n          virtualMeetingInfo\n          timezone\n          TimeDisplayInfo\n          orderType\n          isVirtual\n          manualBooking\n          Notes\n          MetaData\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const statusByBooking = /* GraphQL */ `\n  query StatusByBooking(\n    $bookingId: String\n    $status: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelBookingStatusFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    statusByBooking(\n      bookingId: $bookingId\n      status: $status\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        companyId\n        status\n        bookingId\n        createdAt\n        updatedAt\n        booking {\n          id\n          desc\n          orderId\n          serviceTypeId\n          providerId\n          clientId\n          startdate\n          minutes\n          totalAddChg\n          location\n          companyId\n          status\n          timeblockid\n          cancelledAt\n          noshowAt\n          virtualMeetingInfo\n          timezone\n          TimeDisplayInfo\n          orderType\n          isVirtual\n          manualBooking\n          Notes\n          MetaData\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const getOrder = /* GraphQL */ `\n  query GetOrder($id: ID!) {\n    getOrder(id: $id) {\n      id\n      desc\n      type\n      orderNo\n      companyId\n      clientId\n      providerId\n      currency\n      subtotal\n      servicechargeamt\n      taxamt\n      total\n      providerPayAmt\n      status\n      orderSummary\n      orderReceipt\n      taxrate\n      bookingAddress\n      legaltermsAcceptedAt\n      clientnotes\n      Notes\n      bookedByAdmin\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n      client {\n        id\n        userId\n        currency\n        accountbalance\n        stripeCustomerId\n        companyId\n        prevproviders {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        defaultpartialcc\n        ClientInfo\n        Notes\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      clientpackage {\n        id\n        companyId\n        clientId\n        userId\n        servicetypeId\n        packageId\n        initialQuantity\n        usedQuantity\n        status\n        active\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        package {\n          id\n          desc\n          companyId\n          servicetypeId\n          packagetype\n          price\n          discount\n          quantity\n          active\n          deleted\n          createdAt\n          updatedAt\n        }\n        orders {\n          nextToken\n        }\n      }\n      bookings {\n        items {\n          id\n          desc\n          orderId\n          serviceTypeId\n          providerId\n          clientId\n          startdate\n          minutes\n          totalAddChg\n          location\n          companyId\n          status\n          timeblockid\n          cancelledAt\n          noshowAt\n          virtualMeetingInfo\n          timezone\n          TimeDisplayInfo\n          orderType\n          isVirtual\n          manualBooking\n          Notes\n          MetaData\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n    }\n  }\n`;\nexport const listOrders = /* GraphQL */ `\n  query ListOrders(\n    $filter: ModelOrderFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listOrders(filter: $filter, limit: $limit, nextToken: $nextToken) {\n      items {\n        id\n        desc\n        type\n        orderNo\n        companyId\n        clientId\n        providerId\n        currency\n        subtotal\n        servicechargeamt\n        taxamt\n        total\n        providerPayAmt\n        status\n        orderSummary\n        orderReceipt\n        taxrate\n        bookingAddress\n        legaltermsAcceptedAt\n        clientnotes\n        Notes\n        bookedByAdmin\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        clientpackage {\n          id\n          companyId\n          clientId\n          userId\n          servicetypeId\n          packageId\n          initialQuantity\n          usedQuantity\n          status\n          active\n          createdAt\n          updatedAt\n        }\n        bookings {\n          nextToken\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const ordersByCompanyOrderNo = /* GraphQL */ `\n  query OrdersByCompanyOrderNo(\n    $companyId: String\n    $orderNo: ModelIntKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelOrderFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    ordersByCompanyOrderNo(\n      companyId: $companyId\n      orderNo: $orderNo\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        desc\n        type\n        orderNo\n        companyId\n        clientId\n        providerId\n        currency\n        subtotal\n        servicechargeamt\n        taxamt\n        total\n        providerPayAmt\n        status\n        orderSummary\n        orderReceipt\n        taxrate\n        bookingAddress\n        legaltermsAcceptedAt\n        clientnotes\n        Notes\n        bookedByAdmin\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        clientpackage {\n          id\n          companyId\n          clientId\n          userId\n          servicetypeId\n          packageId\n          initialQuantity\n          usedQuantity\n          status\n          active\n          createdAt\n          updatedAt\n        }\n        bookings {\n          nextToken\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const ordersByClientCreatedAt = /* GraphQL */ `\n  query OrdersByClientCreatedAt(\n    $clientId: String\n    $createdAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelOrderFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    ordersByClientCreatedAt(\n      clientId: $clientId\n      createdAt: $createdAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        desc\n        type\n        orderNo\n        companyId\n        clientId\n        providerId\n        currency\n        subtotal\n        servicechargeamt\n        taxamt\n        total\n        providerPayAmt\n        status\n        orderSummary\n        orderReceipt\n        taxrate\n        bookingAddress\n        legaltermsAcceptedAt\n        clientnotes\n        Notes\n        bookedByAdmin\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        clientpackage {\n          id\n          companyId\n          clientId\n          userId\n          servicetypeId\n          packageId\n          initialQuantity\n          usedQuantity\n          status\n          active\n          createdAt\n          updatedAt\n        }\n        bookings {\n          nextToken\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const ordersByProviderCreatedAt = /* GraphQL */ `\n  query OrdersByProviderCreatedAt(\n    $providerId: String\n    $createdAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelOrderFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    ordersByProviderCreatedAt(\n      providerId: $providerId\n      createdAt: $createdAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        desc\n        type\n        orderNo\n        companyId\n        clientId\n        providerId\n        currency\n        subtotal\n        servicechargeamt\n        taxamt\n        total\n        providerPayAmt\n        status\n        orderSummary\n        orderReceipt\n        taxrate\n        bookingAddress\n        legaltermsAcceptedAt\n        clientnotes\n        Notes\n        bookedByAdmin\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        clientpackage {\n          id\n          companyId\n          clientId\n          userId\n          servicetypeId\n          packageId\n          initialQuantity\n          usedQuantity\n          status\n          active\n          createdAt\n          updatedAt\n        }\n        bookings {\n          nextToken\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const searchOrders = /* GraphQL */ `\n  query SearchOrders(\n    $filter: SearchableOrderFilterInput\n    $sort: SearchableOrderSortInput\n    $limit: Int\n    $nextToken: String\n    $from: Int\n  ) {\n    searchOrders(\n      filter: $filter\n      sort: $sort\n      limit: $limit\n      nextToken: $nextToken\n      from: $from\n    ) {\n      items {\n        id\n        desc\n        type\n        orderNo\n        companyId\n        clientId\n        providerId\n        currency\n        subtotal\n        servicechargeamt\n        taxamt\n        total\n        providerPayAmt\n        status\n        orderSummary\n        orderReceipt\n        taxrate\n        bookingAddress\n        legaltermsAcceptedAt\n        clientnotes\n        Notes\n        bookedByAdmin\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        clientpackage {\n          id\n          companyId\n          clientId\n          userId\n          servicetypeId\n          packageId\n          initialQuantity\n          usedQuantity\n          status\n          active\n          createdAt\n          updatedAt\n        }\n        bookings {\n          nextToken\n        }\n      }\n      nextToken\n      total\n    }\n  }\n`;\nexport const getClientCharge = /* GraphQL */ `\n  query GetClientCharge($id: ID!) {\n    getClientCharge(id: $id) {\n      id\n      clientId\n      companyId\n      orderId\n      billingtransactionId\n      description\n      status\n      stripechargeid\n      stripepaymentmethod\n      stripe_payment_method_details\n      stripe_refund_charge\n      stripe_status\n      amount\n      amount_refunded\n      balance_transaction\n      currency\n      createdAt\n      updatedAt\n      client {\n        id\n        userId\n        currency\n        accountbalance\n        stripeCustomerId\n        companyId\n        prevproviders {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        defaultpartialcc\n        ClientInfo\n        Notes\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      order {\n        id\n        desc\n        type\n        orderNo\n        companyId\n        clientId\n        providerId\n        currency\n        subtotal\n        servicechargeamt\n        taxamt\n        total\n        providerPayAmt\n        status\n        orderSummary\n        orderReceipt\n        taxrate\n        bookingAddress\n        legaltermsAcceptedAt\n        clientnotes\n        Notes\n        bookedByAdmin\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        clientpackage {\n          id\n          companyId\n          clientId\n          userId\n          servicetypeId\n          packageId\n          initialQuantity\n          usedQuantity\n          status\n          active\n          createdAt\n          updatedAt\n        }\n        bookings {\n          nextToken\n        }\n      }\n      billingtransaction {\n        id\n        orderId\n        addservicetypeid\n        amount\n        creatorId\n        clientId\n        companyId\n        desc\n        credit\n        approved\n        createdAt\n        updatedAt\n        creator {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        addservicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        order {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n      }\n    }\n  }\n`;\nexport const listClientCharges = /* GraphQL */ `\n  query ListClientCharges(\n    $filter: ModelClientChargeFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listClientCharges(filter: $filter, limit: $limit, nextToken: $nextToken) {\n      items {\n        id\n        clientId\n        companyId\n        orderId\n        billingtransactionId\n        description\n        status\n        stripechargeid\n        stripepaymentmethod\n        stripe_payment_method_details\n        stripe_refund_charge\n        stripe_status\n        amount\n        amount_refunded\n        balance_transaction\n        currency\n        createdAt\n        updatedAt\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        order {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n        billingtransaction {\n          id\n          orderId\n          addservicetypeid\n          amount\n          creatorId\n          clientId\n          companyId\n          desc\n          credit\n          approved\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const clientChargeByOrder = /* GraphQL */ `\n  query ClientChargeByOrder(\n    $orderId: String\n    $createdAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelClientChargeFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    clientChargeByOrder(\n      orderId: $orderId\n      createdAt: $createdAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        clientId\n        companyId\n        orderId\n        billingtransactionId\n        description\n        status\n        stripechargeid\n        stripepaymentmethod\n        stripe_payment_method_details\n        stripe_refund_charge\n        stripe_status\n        amount\n        amount_refunded\n        balance_transaction\n        currency\n        createdAt\n        updatedAt\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        order {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n        billingtransaction {\n          id\n          orderId\n          addservicetypeid\n          amount\n          creatorId\n          clientId\n          companyId\n          desc\n          credit\n          approved\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const clientChargeByCompany = /* GraphQL */ `\n  query ClientChargeByCompany(\n    $companyId: String\n    $createdAtId: ModelClientChargeByCompanyCompositeKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelClientChargeFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    clientChargeByCompany(\n      companyId: $companyId\n      createdAtId: $createdAtId\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        clientId\n        companyId\n        orderId\n        billingtransactionId\n        description\n        status\n        stripechargeid\n        stripepaymentmethod\n        stripe_payment_method_details\n        stripe_refund_charge\n        stripe_status\n        amount\n        amount_refunded\n        balance_transaction\n        currency\n        createdAt\n        updatedAt\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        order {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n        billingtransaction {\n          id\n          orderId\n          addservicetypeid\n          amount\n          creatorId\n          clientId\n          companyId\n          desc\n          credit\n          approved\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const searchClientCharges = /* GraphQL */ `\n  query SearchClientCharges(\n    $filter: SearchableClientChargeFilterInput\n    $sort: SearchableClientChargeSortInput\n    $limit: Int\n    $nextToken: String\n    $from: Int\n  ) {\n    searchClientCharges(\n      filter: $filter\n      sort: $sort\n      limit: $limit\n      nextToken: $nextToken\n      from: $from\n    ) {\n      items {\n        id\n        clientId\n        companyId\n        orderId\n        billingtransactionId\n        description\n        status\n        stripechargeid\n        stripepaymentmethod\n        stripe_payment_method_details\n        stripe_refund_charge\n        stripe_status\n        amount\n        amount_refunded\n        balance_transaction\n        currency\n        createdAt\n        updatedAt\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        order {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n        billingtransaction {\n          id\n          orderId\n          addservicetypeid\n          amount\n          creatorId\n          clientId\n          companyId\n          desc\n          credit\n          approved\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n      total\n    }\n  }\n`;\nexport const getBillingProgress = /* GraphQL */ `\n  query GetBillingProgress($companyId: String!, $dateTime: AWSDateTime!) {\n    getBillingProgress(companyId: $companyId, dateTime: $dateTime) {\n      companyId\n      dateTime\n      status\n      data\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const listBillingProgresss = /* GraphQL */ `\n  query ListBillingProgresss(\n    $companyId: String\n    $dateTime: ModelStringKeyConditionInput\n    $filter: ModelBillingProgressFilterInput\n    $limit: Int\n    $nextToken: String\n    $sortDirection: ModelSortDirection\n  ) {\n    listBillingProgresss(\n      companyId: $companyId\n      dateTime: $dateTime\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n      sortDirection: $sortDirection\n    ) {\n      items {\n        companyId\n        dateTime\n        status\n        data\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n`;\nexport const getCompanyLocation = /* GraphQL */ `\n  query GetCompanyLocation($id: ID!) {\n    getCompanyLocation(id: $id) {\n      id\n      companyId\n      locationname\n      locationdesc\n      locationpath\n      addressoneline\n      street\n      city\n      state\n      country\n      countrycode3166alpha2\n      postalcode\n      longitude\n      latitude\n      timezone\n      phone\n      virtual\n      active\n      deleted\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n    }\n  }\n`;\nexport const listCompanyLocations = /* GraphQL */ `\n  query ListCompanyLocations(\n    $filter: ModelCompanyLocationFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listCompanyLocations(\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        companyId\n        locationname\n        locationdesc\n        locationpath\n        addressoneline\n        street\n        city\n        state\n        country\n        countrycode3166alpha2\n        postalcode\n        longitude\n        latitude\n        timezone\n        phone\n        virtual\n        active\n        deleted\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const companyLocationByCompany = /* GraphQL */ `\n  query CompanyLocationByCompany(\n    $companyId: String\n    $locationnameCreatedAt: ModelCompanyLocationByCompanyCompositeKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelCompanyLocationFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    companyLocationByCompany(\n      companyId: $companyId\n      locationnameCreatedAt: $locationnameCreatedAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        companyId\n        locationname\n        locationdesc\n        locationpath\n        addressoneline\n        street\n        city\n        state\n        country\n        countrycode3166alpha2\n        postalcode\n        longitude\n        latitude\n        timezone\n        phone\n        virtual\n        active\n        deleted\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const companyLocationPathByCompany = /* GraphQL */ `\n  query CompanyLocationPathByCompany(\n    $companyId: String\n    $locationpath: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelCompanyLocationFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    companyLocationPathByCompany(\n      companyId: $companyId\n      locationpath: $locationpath\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        companyId\n        locationname\n        locationdesc\n        locationpath\n        addressoneline\n        street\n        city\n        state\n        country\n        countrycode3166alpha2\n        postalcode\n        longitude\n        latitude\n        timezone\n        phone\n        virtual\n        active\n        deleted\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const searchCompanyLocations = /* GraphQL */ `\n  query SearchCompanyLocations(\n    $filter: SearchableCompanyLocationFilterInput\n    $sort: SearchableCompanyLocationSortInput\n    $limit: Int\n    $nextToken: String\n    $from: Int\n  ) {\n    searchCompanyLocations(\n      filter: $filter\n      sort: $sort\n      limit: $limit\n      nextToken: $nextToken\n      from: $from\n    ) {\n      items {\n        id\n        companyId\n        locationname\n        locationdesc\n        locationpath\n        addressoneline\n        street\n        city\n        state\n        country\n        countrycode3166alpha2\n        postalcode\n        longitude\n        latitude\n        timezone\n        phone\n        virtual\n        active\n        deleted\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n      total\n    }\n  }\n`;\nexport const getCompanyReminder = /* GraphQL */ `\n  query GetCompanyReminder($id: ID!) {\n    getCompanyReminder(id: $id) {\n      id\n      companyId\n      reminderType\n      reminderDays\n      reminderHours\n      reminderMinutes\n      recipientType\n      emailSubjectText\n      emailHTMLFile\n      smsText\n      smsCallerId\n      maxSendTime\n      priority\n      active\n      deleted\n      createdAt\n      updatedAt\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n    }\n  }\n`;\nexport const listCompanyReminders = /* GraphQL */ `\n  query ListCompanyReminders(\n    $filter: ModelCompanyReminderFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listCompanyReminders(\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        companyId\n        reminderType\n        reminderDays\n        reminderHours\n        reminderMinutes\n        recipientType\n        emailSubjectText\n        emailHTMLFile\n        smsText\n        smsCallerId\n        maxSendTime\n        priority\n        active\n        deleted\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const searchCompanyReminders = /* GraphQL */ `\n  query SearchCompanyReminders(\n    $filter: SearchableCompanyReminderFilterInput\n    $sort: SearchableCompanyReminderSortInput\n    $limit: Int\n    $nextToken: String\n    $from: Int\n  ) {\n    searchCompanyReminders(\n      filter: $filter\n      sort: $sort\n      limit: $limit\n      nextToken: $nextToken\n      from: $from\n    ) {\n      items {\n        id\n        companyId\n        reminderType\n        reminderDays\n        reminderHours\n        reminderMinutes\n        recipientType\n        emailSubjectText\n        emailHTMLFile\n        smsText\n        smsCallerId\n        maxSendTime\n        priority\n        active\n        deleted\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n      total\n    }\n  }\n`;\nexport const getReminder = /* GraphQL */ `\n  query GetReminder($id: ID!) {\n    getReminder(id: $id) {\n      id\n      remSendDateTimeUTC\n      remSendDate\n      companyId\n      reminderType\n      recipientType\n      sendDateTime\n      status\n      createdAt\n      updatedAt\n      user {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n      booking {\n        id\n        desc\n        orderId\n        serviceTypeId\n        providerId\n        clientId\n        startdate\n        minutes\n        totalAddChg\n        location\n        companyId\n        status\n        timeblockid\n        cancelledAt\n        noshowAt\n        virtualMeetingInfo\n        timezone\n        TimeDisplayInfo\n        orderType\n        isVirtual\n        manualBooking\n        Notes\n        MetaData\n        createdAt\n        updatedAt\n        cancelledBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        noshowBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        bookedBy {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        rating {\n          id\n          providerId\n          companyId\n          ratingstars\n          ratingtext\n          ratinguserId\n          active\n          createdAt\n          updatedAt\n        }\n        servicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        order {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n      }\n    }\n  }\n`;\nexport const listReminders = /* GraphQL */ `\n  query ListReminders(\n    $filter: ModelReminderFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listReminders(filter: $filter, limit: $limit, nextToken: $nextToken) {\n      items {\n        id\n        remSendDateTimeUTC\n        remSendDate\n        companyId\n        reminderType\n        recipientType\n        sendDateTime\n        status\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        booking {\n          id\n          desc\n          orderId\n          serviceTypeId\n          providerId\n          clientId\n          startdate\n          minutes\n          totalAddChg\n          location\n          companyId\n          status\n          timeblockid\n          cancelledAt\n          noshowAt\n          virtualMeetingInfo\n          timezone\n          TimeDisplayInfo\n          orderType\n          isVirtual\n          manualBooking\n          Notes\n          MetaData\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const byReminderSendDate = /* GraphQL */ `\n  query ByReminderSendDate(\n    $remSendDate: AWSDate\n    $remSendDateTimeUTCId: ModelReminderByReminderSendDateCompositeKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelReminderFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    byReminderSendDate(\n      remSendDate: $remSendDate\n      remSendDateTimeUTCId: $remSendDateTimeUTCId\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        remSendDateTimeUTC\n        remSendDate\n        companyId\n        reminderType\n        recipientType\n        sendDateTime\n        status\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        booking {\n          id\n          desc\n          orderId\n          serviceTypeId\n          providerId\n          clientId\n          startdate\n          minutes\n          totalAddChg\n          location\n          companyId\n          status\n          timeblockid\n          cancelledAt\n          noshowAt\n          virtualMeetingInfo\n          timezone\n          TimeDisplayInfo\n          orderType\n          isVirtual\n          manualBooking\n          Notes\n          MetaData\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const remindersByCompanyStatusReminderTypeSendDate = /* GraphQL */ `\n  query RemindersByCompanyStatusReminderTypeSendDate(\n    $companyId: String\n    $statusReminderTypeSendDateTime: ModelReminderByCompanyReminderStatusCompositeKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelReminderFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    remindersByCompanyStatusReminderTypeSendDate(\n      companyId: $companyId\n      statusReminderTypeSendDateTime: $statusReminderTypeSendDateTime\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        remSendDateTimeUTC\n        remSendDate\n        companyId\n        reminderType\n        recipientType\n        sendDateTime\n        status\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        booking {\n          id\n          desc\n          orderId\n          serviceTypeId\n          providerId\n          clientId\n          startdate\n          minutes\n          totalAddChg\n          location\n          companyId\n          status\n          timeblockid\n          cancelledAt\n          noshowAt\n          virtualMeetingInfo\n          timezone\n          TimeDisplayInfo\n          orderType\n          isVirtual\n          manualBooking\n          Notes\n          MetaData\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const searchReminders = /* GraphQL */ `\n  query SearchReminders(\n    $filter: SearchableReminderFilterInput\n    $sort: SearchableReminderSortInput\n    $limit: Int\n    $nextToken: String\n    $from: Int\n  ) {\n    searchReminders(\n      filter: $filter\n      sort: $sort\n      limit: $limit\n      nextToken: $nextToken\n      from: $from\n    ) {\n      items {\n        id\n        remSendDateTimeUTC\n        remSendDate\n        companyId\n        reminderType\n        recipientType\n        sendDateTime\n        status\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        booking {\n          id\n          desc\n          orderId\n          serviceTypeId\n          providerId\n          clientId\n          startdate\n          minutes\n          totalAddChg\n          location\n          companyId\n          status\n          timeblockid\n          cancelledAt\n          noshowAt\n          virtualMeetingInfo\n          timezone\n          TimeDisplayInfo\n          orderType\n          isVirtual\n          manualBooking\n          Notes\n          MetaData\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n      total\n    }\n  }\n`;\nexport const getScheduleTimeblock = /* GraphQL */ `\n  query GetScheduleTimeblock($id: ID!, $scheduleinfo: String!) {\n    getScheduleTimeblock(id: $id, scheduleinfo: $scheduleinfo) {\n      id\n      scheduleinfo\n      companyId\n      providerId\n      locationId\n      servicetypeId\n      active\n      internal\n      slotStartStep\n      instructions\n      postBookingInstructions\n      startDate\n      sdtutc\n      tz\n      endDate\n      startTime\n      endTime\n      type\n      status\n      weeksToRepeat\n      weekDays\n      deleted\n      createdAt\n      updatedAt\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const listScheduleTimeblocks = /* GraphQL */ `\n  query ListScheduleTimeblocks(\n    $id: ID\n    $scheduleinfo: ModelStringKeyConditionInput\n    $filter: ModelScheduleTimeblockFilterInput\n    $limit: Int\n    $nextToken: String\n    $sortDirection: ModelSortDirection\n  ) {\n    listScheduleTimeblocks(\n      id: $id\n      scheduleinfo: $scheduleinfo\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n      sortDirection: $sortDirection\n    ) {\n      items {\n        id\n        scheduleinfo\n        companyId\n        providerId\n        locationId\n        servicetypeId\n        active\n        internal\n        slotStartStep\n        instructions\n        postBookingInstructions\n        startDate\n        sdtutc\n        tz\n        endDate\n        startTime\n        endTime\n        type\n        status\n        weeksToRepeat\n        weekDays\n        deleted\n        createdAt\n        updatedAt\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const schedulesByLocation = /* GraphQL */ `\n  query SchedulesByLocation(\n    $locationId: String\n    $scheduleinfo: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelScheduleTimeblockFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    schedulesByLocation(\n      locationId: $locationId\n      scheduleinfo: $scheduleinfo\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        scheduleinfo\n        companyId\n        providerId\n        locationId\n        servicetypeId\n        active\n        internal\n        slotStartStep\n        instructions\n        postBookingInstructions\n        startDate\n        sdtutc\n        tz\n        endDate\n        startTime\n        endTime\n        type\n        status\n        weeksToRepeat\n        weekDays\n        deleted\n        createdAt\n        updatedAt\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const schedulesByCompany = /* GraphQL */ `\n  query SchedulesByCompany(\n    $companyId: String\n    $scheduleinfo: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelScheduleTimeblockFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    schedulesByCompany(\n      companyId: $companyId\n      scheduleinfo: $scheduleinfo\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        scheduleinfo\n        companyId\n        providerId\n        locationId\n        servicetypeId\n        active\n        internal\n        slotStartStep\n        instructions\n        postBookingInstructions\n        startDate\n        sdtutc\n        tz\n        endDate\n        startTime\n        endTime\n        type\n        status\n        weeksToRepeat\n        weekDays\n        deleted\n        createdAt\n        updatedAt\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const getProviderSchedule = /* GraphQL */ `\n  query GetProviderSchedule($id: ID!, $scheduleinfo: String!) {\n    getProviderSchedule(id: $id, scheduleinfo: $scheduleinfo) {\n      id\n      scheduleinfo\n      companyId\n      providerId\n      locations\n      services\n      active\n      startDate\n      sdtutc\n      tz\n      endDate\n      startTime\n      endTime\n      type\n      status\n      weeksToRepeat\n      weekDays\n      deleted\n      rrule\n      latitude\n      longitude\n      notes\n      MetaData\n      createdAt\n      updatedAt\n      provider {\n        id\n        firstname\n        lc_fn\n        lastname\n        lc_ln\n        emailaddress\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        timezone\n        bio\n        pictures3key\n        maxtraveltype\n        companyId\n        numberofschedules\n        offersMobileServices\n        active\n        deleted\n        ratingstarsavg\n        numberofratings\n        offersVirtualServices\n        virtualMeetingUserId\n        vmlink\n        permalink\n        AcceptanceRatios\n        userId\n        maxTravelTime\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        locations {\n          nextToken\n        }\n        servicetypes {\n          nextToken\n        }\n        skills {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const listProviderSchedules = /* GraphQL */ `\n  query ListProviderSchedules(\n    $id: ID\n    $scheduleinfo: ModelStringKeyConditionInput\n    $filter: ModelProviderScheduleFilterInput\n    $limit: Int\n    $nextToken: String\n    $sortDirection: ModelSortDirection\n  ) {\n    listProviderSchedules(\n      id: $id\n      scheduleinfo: $scheduleinfo\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n      sortDirection: $sortDirection\n    ) {\n      items {\n        id\n        scheduleinfo\n        companyId\n        providerId\n        locations\n        services\n        active\n        startDate\n        sdtutc\n        tz\n        endDate\n        startTime\n        endTime\n        type\n        status\n        weeksToRepeat\n        weekDays\n        deleted\n        rrule\n        latitude\n        longitude\n        notes\n        MetaData\n        createdAt\n        updatedAt\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const providerScheduleByCompany = /* GraphQL */ `\n  query ProviderScheduleByCompany(\n    $companyId: String\n    $scheduleinfo: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelProviderScheduleFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    providerScheduleByCompany(\n      companyId: $companyId\n      scheduleinfo: $scheduleinfo\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        scheduleinfo\n        companyId\n        providerId\n        locations\n        services\n        active\n        startDate\n        sdtutc\n        tz\n        endDate\n        startTime\n        endTime\n        type\n        status\n        weeksToRepeat\n        weekDays\n        deleted\n        rrule\n        latitude\n        longitude\n        notes\n        MetaData\n        createdAt\n        updatedAt\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const getUISession = /* GraphQL */ `\n  query GetUISession($id: ID!, $sessionItem: String!) {\n    getUISession(id: $id, sessionItem: $sessionItem) {\n      id\n      sessionItem\n      SessionItemData\n      companyId\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const listUISessions = /* GraphQL */ `\n  query ListUISessions(\n    $id: ID\n    $sessionItem: ModelStringKeyConditionInput\n    $filter: ModelUISessionFilterInput\n    $limit: Int\n    $nextToken: String\n    $sortDirection: ModelSortDirection\n  ) {\n    listUISessions(\n      id: $id\n      sessionItem: $sessionItem\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n      sortDirection: $sortDirection\n    ) {\n      items {\n        id\n        sessionItem\n        SessionItemData\n        companyId\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n`;\nexport const getScheduleAvailability = /* GraphQL */ `\n  query GetScheduleAvailability($schId: ID!, $statsKey: String!) {\n    getScheduleAvailability(schId: $schId, statsKey: $statsKey) {\n      schId\n      statsKey\n      availJson\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const listScheduleAvailabilitys = /* GraphQL */ `\n  query ListScheduleAvailabilitys(\n    $schId: ID\n    $statsKey: ModelStringKeyConditionInput\n    $filter: ModelScheduleAvailabilityFilterInput\n    $limit: Int\n    $nextToken: String\n    $sortDirection: ModelSortDirection\n  ) {\n    listScheduleAvailabilitys(\n      schId: $schId\n      statsKey: $statsKey\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n      sortDirection: $sortDirection\n    ) {\n      items {\n        schId\n        statsKey\n        availJson\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n`;\nexport const getAdditionalCharge = /* GraphQL */ `\n  query GetAdditionalCharge($id: ID!) {\n    getAdditionalCharge(id: $id) {\n      id\n      amount\n      desc\n      note\n      bookingId\n      orderId\n      companyId\n      clientId\n      creatorId\n      createdAt\n      updatedAt\n      user {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      creator {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      client {\n        id\n        userId\n        currency\n        accountbalance\n        stripeCustomerId\n        companyId\n        prevproviders {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        defaultpartialcc\n        ClientInfo\n        Notes\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      order {\n        id\n        desc\n        type\n        orderNo\n        companyId\n        clientId\n        providerId\n        currency\n        subtotal\n        servicechargeamt\n        taxamt\n        total\n        providerPayAmt\n        status\n        orderSummary\n        orderReceipt\n        taxrate\n        bookingAddress\n        legaltermsAcceptedAt\n        clientnotes\n        Notes\n        bookedByAdmin\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        clientpackage {\n          id\n          companyId\n          clientId\n          userId\n          servicetypeId\n          packageId\n          initialQuantity\n          usedQuantity\n          status\n          active\n          createdAt\n          updatedAt\n        }\n        bookings {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const listAdditionalCharges = /* GraphQL */ `\n  query ListAdditionalCharges(\n    $filter: ModelAdditionalChargeFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listAdditionalCharges(\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        amount\n        desc\n        note\n        bookingId\n        orderId\n        companyId\n        clientId\n        creatorId\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        creator {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        order {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const additionalChargesByOrderId = /* GraphQL */ `\n  query AdditionalChargesByOrderId(\n    $orderId: String\n    $id: ModelIDKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelAdditionalChargeFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    additionalChargesByOrderId(\n      orderId: $orderId\n      id: $id\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        amount\n        desc\n        note\n        bookingId\n        orderId\n        companyId\n        clientId\n        creatorId\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        creator {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        order {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const additionalChargesByCompany = /* GraphQL */ `\n  query AdditionalChargesByCompany(\n    $companyId: String\n    $createdAtId: ModelAdditionalChargeByCompanyCompositeKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelAdditionalChargeFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    additionalChargesByCompany(\n      companyId: $companyId\n      createdAtId: $createdAtId\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        amount\n        desc\n        note\n        bookingId\n        orderId\n        companyId\n        clientId\n        creatorId\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        creator {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        order {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const getRepeatApptCharge = /* GraphQL */ `\n  query GetRepeatApptCharge($orderId: ID!, $bookingId: String!) {\n    getRepeatApptCharge(orderId: $orderId, bookingId: $bookingId) {\n      orderId\n      bookingId\n      companyId\n      subtotal\n      servicechargeamt\n      taxamt\n      total\n      taxrate\n      status\n      chargeSummary\n      chargeReceipt\n      createdAt\n      updatedAt\n      order {\n        id\n        desc\n        type\n        orderNo\n        companyId\n        clientId\n        providerId\n        currency\n        subtotal\n        servicechargeamt\n        taxamt\n        total\n        providerPayAmt\n        status\n        orderSummary\n        orderReceipt\n        taxrate\n        bookingAddress\n        legaltermsAcceptedAt\n        clientnotes\n        Notes\n        bookedByAdmin\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        clientpackage {\n          id\n          companyId\n          clientId\n          userId\n          servicetypeId\n          packageId\n          initialQuantity\n          usedQuantity\n          status\n          active\n          createdAt\n          updatedAt\n        }\n        bookings {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const listRepeatApptCharges = /* GraphQL */ `\n  query ListRepeatApptCharges(\n    $orderId: ID\n    $bookingId: ModelStringKeyConditionInput\n    $filter: ModelRepeatApptChargeFilterInput\n    $limit: Int\n    $nextToken: String\n    $sortDirection: ModelSortDirection\n  ) {\n    listRepeatApptCharges(\n      orderId: $orderId\n      bookingId: $bookingId\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n      sortDirection: $sortDirection\n    ) {\n      items {\n        orderId\n        bookingId\n        companyId\n        subtotal\n        servicechargeamt\n        taxamt\n        total\n        taxrate\n        status\n        chargeSummary\n        chargeReceipt\n        createdAt\n        updatedAt\n        order {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const getBillingTransaction = /* GraphQL */ `\n  query GetBillingTransaction($id: ID!) {\n    getBillingTransaction(id: $id) {\n      id\n      orderId\n      addservicetypeid\n      amount\n      creatorId\n      clientId\n      companyId\n      desc\n      credit\n      approved\n      createdAt\n      updatedAt\n      creator {\n        id\n        username\n        emailaddress\n        registered\n        firstname\n        lastname\n        homephone\n        workphone\n        mobilephone\n        phonepref\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        role\n        companyId\n        providerId\n        active\n        deleted\n        contactconsent\n        contactconsentdatetime\n        LoginInfo\n        SalesInfo\n        PNInfo\n        lc_name\n        lc_emailaddress\n        lc_ln\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n      }\n      company {\n        id\n        name\n        contactname\n        emailaddress\n        currency\n        currencyBasedOnLocation\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        clientcanselectprovider\n        active\n        offersRemoteServices\n        offersOnPremiseServices\n        offersVirtualServices\n        providerMustAcceptAppt\n        useAnonymousPermalink\n        multipleServices\n        multipleQty\n        ApptAcceptanceFlowConfig\n        collectpayment\n        subdomain\n        tagline\n        logoUrl\n        billingMode\n        iframeURL\n        primaryColor\n        addServiceFee\n        serviceFeeType\n        serviceFeeAmount\n        taxrate\n        travelTime\n        bookingIntervalMinutes\n        countrycode3166alpha2\n        publishableStripeKey\n        displayOnlyLogo\n        sendratingTipMsg\n        ratingTipTextMsg\n        offersPackagesOnly\n        forceRepeatingPackages\n        offersForeverAppt\n        singleApptOnly\n        virtualMeetingConfig\n        DashboardInfo\n        BccLists\n        maskeddomain\n        replyemailaddress\n        homepage\n        clientnotesheading\n        hideRatingsFromClients\n        subscriptionLevel\n        cancelPolicyMinsBefore\n        bookingIncrement\n        providerCanCancelAppt\n        noProviderMsg\n        displayProviderRatios\n        PaymentSettings\n        stripeConnectEnabled\n        stripeAccount\n        setupCompleted\n        clientCanReschedule\n        providerCanReschedule\n        ProvAgnoFlowConfig\n        SuggestionConfig\n        ProviderRestrictionConfig\n        clientMayCreateAccount\n        createdAt\n        updatedAt\n      }\n      addservicetype {\n        id\n        name\n        desc\n        categoryId\n        categoryName\n        minutes\n        price\n        active\n        deleted\n        companyId\n        s3key\n        imagedesc\n        offeredremote\n        offeredonpremise\n        isBundledService\n        isVisible\n        includedServices\n        behavior\n        ordinal\n        taxexempt\n        TaxOverride\n        locations\n        CourseSettings\n        Classification\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        providers {\n          nextToken\n        }\n        category {\n          id\n          name\n          desc\n          companyId\n          deleted\n          ordinal\n          createdAt\n          updatedAt\n        }\n        packages {\n          nextToken\n        }\n      }\n      client {\n        id\n        userId\n        currency\n        accountbalance\n        stripeCustomerId\n        companyId\n        prevproviders {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        defaultpartialcc\n        ClientInfo\n        Notes\n        createdAt\n        updatedAt\n        user {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n      }\n      order {\n        id\n        desc\n        type\n        orderNo\n        companyId\n        clientId\n        providerId\n        currency\n        subtotal\n        servicechargeamt\n        taxamt\n        total\n        providerPayAmt\n        status\n        orderSummary\n        orderReceipt\n        taxrate\n        bookingAddress\n        legaltermsAcceptedAt\n        clientnotes\n        Notes\n        bookedByAdmin\n        createdAt\n        updatedAt\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        provider {\n          id\n          firstname\n          lc_fn\n          lastname\n          lc_ln\n          emailaddress\n          phone\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          timezone\n          bio\n          pictures3key\n          maxtraveltype\n          companyId\n          numberofschedules\n          offersMobileServices\n          active\n          deleted\n          ratingstarsavg\n          numberofratings\n          offersVirtualServices\n          virtualMeetingUserId\n          vmlink\n          permalink\n          AcceptanceRatios\n          userId\n          maxTravelTime\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        clientpackage {\n          id\n          companyId\n          clientId\n          userId\n          servicetypeId\n          packageId\n          initialQuantity\n          usedQuantity\n          status\n          active\n          createdAt\n          updatedAt\n        }\n        bookings {\n          nextToken\n        }\n      }\n    }\n  }\n`;\nexport const listBillingTransactions = /* GraphQL */ `\n  query ListBillingTransactions(\n    $filter: ModelBillingTransactionFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listBillingTransactions(\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        orderId\n        addservicetypeid\n        amount\n        creatorId\n        clientId\n        companyId\n        desc\n        credit\n        approved\n        createdAt\n        updatedAt\n        creator {\n          id\n          username\n          emailaddress\n          registered\n          firstname\n          lastname\n          homephone\n          workphone\n          mobilephone\n          phonepref\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          role\n          companyId\n          providerId\n          active\n          deleted\n          contactconsent\n          contactconsentdatetime\n          LoginInfo\n          SalesInfo\n          PNInfo\n          lc_name\n          lc_emailaddress\n          lc_ln\n          createdAt\n          updatedAt\n        }\n        company {\n          id\n          name\n          contactname\n          emailaddress\n          currency\n          currencyBasedOnLocation\n          addressoneline\n          street\n          city\n          state\n          country\n          postalcode\n          longitude\n          latitude\n          clientcanselectprovider\n          active\n          offersRemoteServices\n          offersOnPremiseServices\n          offersVirtualServices\n          providerMustAcceptAppt\n          useAnonymousPermalink\n          multipleServices\n          multipleQty\n          ApptAcceptanceFlowConfig\n          collectpayment\n          subdomain\n          tagline\n          logoUrl\n          billingMode\n          iframeURL\n          primaryColor\n          addServiceFee\n          serviceFeeType\n          serviceFeeAmount\n          taxrate\n          travelTime\n          bookingIntervalMinutes\n          countrycode3166alpha2\n          publishableStripeKey\n          displayOnlyLogo\n          sendratingTipMsg\n          ratingTipTextMsg\n          offersPackagesOnly\n          forceRepeatingPackages\n          offersForeverAppt\n          singleApptOnly\n          virtualMeetingConfig\n          DashboardInfo\n          BccLists\n          maskeddomain\n          replyemailaddress\n          homepage\n          clientnotesheading\n          hideRatingsFromClients\n          subscriptionLevel\n          cancelPolicyMinsBefore\n          bookingIncrement\n          providerCanCancelAppt\n          noProviderMsg\n          displayProviderRatios\n          PaymentSettings\n          stripeConnectEnabled\n          stripeAccount\n          setupCompleted\n          clientCanReschedule\n          providerCanReschedule\n          ProvAgnoFlowConfig\n          SuggestionConfig\n          ProviderRestrictionConfig\n          clientMayCreateAccount\n          createdAt\n          updatedAt\n        }\n        addservicetype {\n          id\n          name\n          desc\n          categoryId\n          categoryName\n          minutes\n          price\n          active\n          deleted\n          companyId\n          s3key\n          imagedesc\n          offeredremote\n          offeredonpremise\n          isBundledService\n          isVisible\n          includedServices\n          behavior\n          ordinal\n          taxexempt\n          TaxOverride\n          locations\n          CourseSettings\n          Classification\n          createdAt\n          updatedAt\n        }\n        client {\n          id\n          userId\n          currency\n          accountbalance\n          stripeCustomerId\n          companyId\n          defaultpartialcc\n          ClientInfo\n          Notes\n          createdAt\n          updatedAt\n        }\n        order {\n          id\n          desc\n          type\n          orderNo\n          companyId\n          clientId\n          providerId\n          currency\n          subtotal\n          servicechargeamt\n          taxamt\n          total\n          providerPayAmt\n          status\n          orderSummary\n          orderReceipt\n          taxrate\n          bookingAddress\n          legaltermsAcceptedAt\n          clientnotes\n          Notes\n          bookedByAdmin\n          createdAt\n          updatedAt\n        }\n      }\n      nextToken\n    }\n  }\n`;\nexport const getTaxRates = /* GraphQL */ `\n  query GetTaxRates($id: ID!) {\n    getTaxRates(id: $id) {\n      id\n      countrycode\n      provstatecode\n      rate\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const listTaxRatess = /* GraphQL */ `\n  query ListTaxRatess(\n    $filter: ModelTaxRatesFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listTaxRatess(filter: $filter, limit: $limit, nextToken: $nextToken) {\n      items {\n        id\n        countrycode\n        provstatecode\n        rate\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n`;\nexport const getRepeatApptCreation = /* GraphQL */ `\n  query GetRepeatApptCreation($id: ID!, $datakey: String!) {\n    getRepeatApptCreation(id: $id, datakey: $datakey) {\n      id\n      datakey\n      repeatCount\n      repeatUnit\n      numOfApptsCreated\n      active\n      processedStatus\n      currentEndDate\n      originalStartDate\n      originalEndDate\n      extented\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const listRepeatApptCreations = /* GraphQL */ `\n  query ListRepeatApptCreations(\n    $id: ID\n    $datakey: ModelStringKeyConditionInput\n    $filter: ModelRepeatApptCreationFilterInput\n    $limit: Int\n    $nextToken: String\n    $sortDirection: ModelSortDirection\n  ) {\n    listRepeatApptCreations(\n      id: $id\n      datakey: $datakey\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n      sortDirection: $sortDirection\n    ) {\n      items {\n        id\n        datakey\n        repeatCount\n        repeatUnit\n        numOfApptsCreated\n        active\n        processedStatus\n        currentEndDate\n        originalStartDate\n        originalEndDate\n        extented\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n`;\nexport const getEnvt = /* GraphQL */ `\n  query GetEnvt($id: ID!) {\n    getEnvt(id: $id) {\n      id\n      name\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const listEnvts = /* GraphQL */ `\n  query ListEnvts(\n    $filter: ModelEnvtFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listEnvts(filter: $filter, limit: $limit, nextToken: $nextToken) {\n      items {\n        id\n        name\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n`;\nexport const getBookingRequest = /* GraphQL */ `\n  query GetBookingRequest($id: ID!, $recordType: String!) {\n    getBookingRequest(id: $id, recordType: $recordType) {\n      id\n      recordType\n      data\n      providerId\n      accepted\n      acceptedBy\n      status\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const listBookingRequests = /* GraphQL */ `\n  query ListBookingRequests(\n    $id: ID\n    $recordType: ModelStringKeyConditionInput\n    $filter: ModelBookingRequestFilterInput\n    $limit: Int\n    $nextToken: String\n    $sortDirection: ModelSortDirection\n  ) {\n    listBookingRequests(\n      id: $id\n      recordType: $recordType\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n      sortDirection: $sortDirection\n    ) {\n      items {\n        id\n        recordType\n        data\n        providerId\n        accepted\n        acceptedBy\n        status\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n`;\nexport const getRequestMessages = /* GraphQL */ `\n  query GetRequestMessages($id: ID!, $recordType: String!) {\n    getRequestMessages(id: $id, recordType: $recordType) {\n      id\n      recordType\n      bookingRequestId\n      providerId\n      data\n      msg\n      seqNum\n      status\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const listRequestMessagess = /* GraphQL */ `\n  query ListRequestMessagess(\n    $id: ID\n    $recordType: ModelStringKeyConditionInput\n    $filter: ModelRequestMessagesFilterInput\n    $limit: Int\n    $nextToken: String\n    $sortDirection: ModelSortDirection\n  ) {\n    listRequestMessagess(\n      id: $id\n      recordType: $recordType\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n      sortDirection: $sortDirection\n    ) {\n      items {\n        id\n        recordType\n        bookingRequestId\n        providerId\n        data\n        msg\n        seqNum\n        status\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n`;\nexport const getSystemErrorLog = /* GraphQL */ `\n  query GetSystemErrorLog($companyId: String!, $createdAt: AWSDateTime!) {\n    getSystemErrorLog(companyId: $companyId, createdAt: $createdAt) {\n      companyId\n      createdAt\n      severity\n      source\n      line\n      error\n      updatedAt\n    }\n  }\n`;\nexport const listSystemErrorLogs = /* GraphQL */ `\n  query ListSystemErrorLogs(\n    $companyId: String\n    $createdAt: ModelStringKeyConditionInput\n    $filter: ModelSystemErrorLogFilterInput\n    $limit: Int\n    $nextToken: String\n    $sortDirection: ModelSortDirection\n  ) {\n    listSystemErrorLogs(\n      companyId: $companyId\n      createdAt: $createdAt\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n      sortDirection: $sortDirection\n    ) {\n      items {\n        companyId\n        createdAt\n        severity\n        source\n        line\n        error\n        updatedAt\n      }\n      nextToken\n    }\n  }\n`;\nexport const getPublicAccessToken = /* GraphQL */ `\n  query GetPublicAccessToken($id: ID!) {\n    getPublicAccessToken(id: $id) {\n      id\n      role\n      expiryDate\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const listPublicAccessTokens = /* GraphQL */ `\n  query ListPublicAccessTokens(\n    $filter: ModelPublicAccessTokenFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listPublicAccessTokens(\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        role\n        expiryDate\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n`;\nexport const getRefData = /* GraphQL */ `\n  query GetRefData($refType: ID!, $refName: String!) {\n    getRefData(refType: $refType, refName: $refName) {\n      refType\n      refName\n      refValue\n      refInt\n      overrideValue\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const listRefDatas = /* GraphQL */ `\n  query ListRefDatas(\n    $refType: ID\n    $refName: ModelStringKeyConditionInput\n    $filter: ModelRefDataFilterInput\n    $limit: Int\n    $nextToken: String\n    $sortDirection: ModelSortDirection\n  ) {\n    listRefDatas(\n      refType: $refType\n      refName: $refName\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n      sortDirection: $sortDirection\n    ) {\n      items {\n        refType\n        refName\n        refValue\n        refInt\n        overrideValue\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n`;\nexport const getStatistic = /* GraphQL */ `\n  query GetStatistic($id: ID!, $dataPoint: String!) {\n    getStatistic(id: $id, dataPoint: $dataPoint) {\n      id\n      dataPoint\n      amount\n      count\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const listStatistics = /* GraphQL */ `\n  query ListStatistics(\n    $id: ID\n    $dataPoint: ModelStringKeyConditionInput\n    $filter: ModelStatisticFilterInput\n    $limit: Int\n    $nextToken: String\n    $sortDirection: ModelSortDirection\n  ) {\n    listStatistics(\n      id: $id\n      dataPoint: $dataPoint\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n      sortDirection: $sortDirection\n    ) {\n      items {\n        id\n        dataPoint\n        amount\n        count\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n`;\nexport const getProspect = /* GraphQL */ `\n  query GetProspect($companyId: ID!, $prospectId: String!) {\n    getProspect(companyId: $companyId, prospectId: $prospectId) {\n      companyId\n      prospectId\n      emailaddress\n      firstname\n      lastname\n      phone\n      addressoneline\n      street\n      city\n      state\n      country\n      postalcode\n      longitude\n      latitude\n      pageUrl\n      message\n      SearchParamsInfo\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const listProspects = /* GraphQL */ `\n  query ListProspects(\n    $companyId: ID\n    $prospectId: ModelStringKeyConditionInput\n    $filter: ModelProspectFilterInput\n    $limit: Int\n    $nextToken: String\n    $sortDirection: ModelSortDirection\n  ) {\n    listProspects(\n      companyId: $companyId\n      prospectId: $prospectId\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n      sortDirection: $sortDirection\n    ) {\n      items {\n        companyId\n        prospectId\n        emailaddress\n        firstname\n        lastname\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        pageUrl\n        message\n        SearchParamsInfo\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n`;\nexport const searchProspects = /* GraphQL */ `\n  query SearchProspects(\n    $filter: SearchableProspectFilterInput\n    $sort: SearchableProspectSortInput\n    $limit: Int\n    $nextToken: String\n    $from: Int\n  ) {\n    searchProspects(\n      filter: $filter\n      sort: $sort\n      limit: $limit\n      nextToken: $nextToken\n      from: $from\n    ) {\n      items {\n        companyId\n        prospectId\n        emailaddress\n        firstname\n        lastname\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        longitude\n        latitude\n        pageUrl\n        message\n        SearchParamsInfo\n        createdAt\n        updatedAt\n      }\n      nextToken\n      total\n    }\n  }\n`;\nexport const getManualBooking = /* GraphQL */ `\n  query GetManualBooking($companyId: ID!, $recordId: String!) {\n    getManualBooking(companyId: $companyId, recordId: $recordId) {\n      companyId\n      recordId\n      emailaddress\n      firstname\n      lastname\n      phone\n      addressoneline\n      street\n      city\n      state\n      country\n      postalcode\n      message\n      MetadataInfo\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const listManualBookings = /* GraphQL */ `\n  query ListManualBookings(\n    $companyId: ID\n    $recordId: ModelStringKeyConditionInput\n    $filter: ModelManualBookingFilterInput\n    $limit: Int\n    $nextToken: String\n    $sortDirection: ModelSortDirection\n  ) {\n    listManualBookings(\n      companyId: $companyId\n      recordId: $recordId\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n      sortDirection: $sortDirection\n    ) {\n      items {\n        companyId\n        recordId\n        emailaddress\n        firstname\n        lastname\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        message\n        MetadataInfo\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n`;\nexport const searchManualBookings = /* GraphQL */ `\n  query SearchManualBookings(\n    $filter: SearchableManualBookingFilterInput\n    $sort: SearchableManualBookingSortInput\n    $limit: Int\n    $nextToken: String\n    $from: Int\n  ) {\n    searchManualBookings(\n      filter: $filter\n      sort: $sort\n      limit: $limit\n      nextToken: $nextToken\n      from: $from\n    ) {\n      items {\n        companyId\n        recordId\n        emailaddress\n        firstname\n        lastname\n        phone\n        addressoneline\n        street\n        city\n        state\n        country\n        postalcode\n        message\n        MetadataInfo\n        createdAt\n        updatedAt\n      }\n      nextToken\n      total\n    }\n  }\n`;\nexport const getAudit = /* GraphQL */ `\n  query GetAudit($companyIdUserId: String!, $datetime: AWSDateTime!) {\n    getAudit(companyIdUserId: $companyIdUserId, datetime: $datetime) {\n      companyIdUserId\n      datetime\n      compResId\n      resType\n      companyId\n      userFN\n      userLN\n      userEmail\n      userRole\n      userAction\n      data\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const listAudits = /* GraphQL */ `\n  query ListAudits(\n    $companyIdUserId: String\n    $datetime: ModelStringKeyConditionInput\n    $filter: ModelAuditFilterInput\n    $limit: Int\n    $nextToken: String\n    $sortDirection: ModelSortDirection\n  ) {\n    listAudits(\n      companyIdUserId: $companyIdUserId\n      datetime: $datetime\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n      sortDirection: $sortDirection\n    ) {\n      items {\n        companyIdUserId\n        datetime\n        compResId\n        resType\n        companyId\n        userFN\n        userLN\n        userEmail\n        userRole\n        userAction\n        data\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n`;\nexport const auditByResource = /* GraphQL */ `\n  query AuditByResource(\n    $compResId: String\n    $datetime: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelAuditFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    auditByResource(\n      compResId: $compResId\n      datetime: $datetime\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        companyIdUserId\n        datetime\n        compResId\n        resType\n        companyId\n        userFN\n        userLN\n        userEmail\n        userRole\n        userAction\n        data\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n`;\nexport const auditByCompany = /* GraphQL */ `\n  query AuditByCompany(\n    $companyId: String\n    $datetime: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelAuditFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    auditByCompany(\n      companyId: $companyId\n      datetime: $datetime\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        companyIdUserId\n        datetime\n        compResId\n        resType\n        companyId\n        userFN\n        userLN\n        userEmail\n        userRole\n        userAction\n        data\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n`;\nexport const getIntegrationToken = /* GraphQL */ `\n  query GetIntegrationToken(\n    $companyIdProviderId: String!\n    $serviceName: String!\n  ) {\n    getIntegrationToken(\n      companyIdProviderId: $companyIdProviderId\n      serviceName: $serviceName\n    ) {\n      companyIdProviderId\n      serviceName\n      TokenInfo\n      companyId\n      createdAt\n      updatedAt\n    }\n  }\n`;\nexport const listIntegrationTokens = /* GraphQL */ `\n  query ListIntegrationTokens(\n    $companyIdProviderId: String\n    $serviceName: ModelStringKeyConditionInput\n    $filter: ModelIntegrationTokenFilterInput\n    $limit: Int\n    $nextToken: String\n    $sortDirection: ModelSortDirection\n  ) {\n    listIntegrationTokens(\n      companyIdProviderId: $companyIdProviderId\n      serviceName: $serviceName\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n      sortDirection: $sortDirection\n    ) {\n      items {\n        companyIdProviderId\n        serviceName\n        TokenInfo\n        companyId\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n`;\nexport const integrationTokensByCompany = /* GraphQL */ `\n  query IntegrationTokensByCompany(\n    $companyId: String\n    $createdAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelIntegrationTokenFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    integrationTokensByCompany(\n      companyId: $companyId\n      createdAt: $createdAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        companyIdProviderId\n        serviceName\n        TokenInfo\n        companyId\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n`;\n","import * as queries from \"../graphql/queries\";\n\nimport API, { graphqlOperation } from \"@aws-amplify/api\";\n\n/**\n * Function to trigger all hooks associated with the id and hookName\n * @param {Object} data - The data to be sent to an endpoint\n * @param {string} id - Used to retrieve integration refData - integration|${id}\n * @param {string} hookName - Used to reference the appropriate hook\n * @returns {bool}\n */\nasync function TriggerManager(data, id, hookName) {\n  console.log(\"this is the data from TriggerManager\", data);\n  console.log(\"this is the hookName\", hookName);\n\n  //function to send data to a list of urls\n  function invokeTrigger(urlList, data) {\n    let urls = urlList;\n    for (let i = 0; i < urls.length; i++) {\n      window\n        .fetch(urls[i], {\n          mode: \"no-cors\",\n          method: \"POST\",\n          headers: {\n            \"Content-Type\": \"application/json\",\n          },\n          body: JSON.stringify(data),\n        })\n        .then((response) => {\n          console.log(\"Performed hook for url\", urls[i]);\n        })\n        .catch((error) => {\n          console.error(\"Error performing hook for url\", urls[i], error);\n        });\n    }\n  }\n\n  try {\n    const exists = await API.graphql(\n      graphqlOperation(queries.getRefData, {\n        refType: `integration|${id}`,\n        refName: \"data-integration\",\n      })\n    );\n    console.log(\"exists from TriggerManager\", exists);\n\n    //check to see if refData exists\n    if (exists.data.getRefData) {\n      console.log(\n        \"overrideValue from TriggerManager\",\n        JSON.parse(exists.data.getRefData.overrideValue)\n      );\n      let overrideValue = JSON.parse(exists.data.getRefData.overrideValue);\n\n      //check to see if a hook with the hookName exists\n      if (overrideValue.hooks && overrideValue.hooks[hookName]) {\n        console.log(\n          \"found hook name!\",\n          hookName,\n          overrideValue.hooks[hookName]\n        );\n        let hook = overrideValue.hooks[hookName];\n        let hookUrls = [];\n        for (let i = 0; i < hook.length; i++) {\n          hookUrls.push(hook[i].url);\n        }\n        console.log(\"hookUrls from TriggerManager\", hookUrls);\n        invokeTrigger(hookUrls, data);\n      } else {\n        console.log(\"unable to find hook\", hookName);\n        return;\n      }\n    } else {\n      console.log(\"integration refData does not exist for id\", id);\n      return;\n    }\n  } catch (e) {\n    console.log(\"error in getting refdata\", e);\n  }\n}\n\nexport { TriggerManager };\n","import { atom } from \"jotai\";\n\nexport const selectedProviderAtom = atom(null);\n\nexport const selectedProviderServicesAtom = atom((get) => {\n  const provider = get(selectedProviderAtom);\n  if (provider && provider.servicetypes && provider.servicetypes.items) {\n    const providerServices = provider.servicetypes.items.map(\n      (item) => item.servicetype\n    );\n    const activeProviderServices = providerServices.filter((service) => {\n      return (\n        service.active !== false &&\n        service.deleted !== true &&\n        service.isVisible !== false\n      );\n    });\n    const sortedServices = activeProviderServices.sort((s1, s2) => {\n      if (s1?.category?.ordinal > s2?.category?.ordinal) return 1;\n      if (s1?.category?.ordinal < s2?.category?.ordinal) return -1;\n      if (s1?.category?.id === s2?.category?.id) {\n        if (s1.ordinal > s2.ordinal) return 1;\n        if (s1.ordinal < s2.ordinal) return -1;\n        return 0;\n      }\n      return 0;\n    });\n\n    return sortedServices;\n  }\n\n  return [];\n});\n\nexport const allServicesAtom = atom(null);\n\nexport const allActiveServicesAtom = atom((get) => {\n  const allServices = get(allServicesAtom);\n  if (!allServices || !Array.isArray(allServices)) {\n    return [];\n  }\n\n  const activeServices = allServices.filter((service) => {\n    return (\n      service.active !== false &&\n      service.deleted !== true &&\n      service.isVisible !== false\n    );\n  });\n\n  return activeServices;\n});\n\nexport const allPublicServicesAtom = atom((get) => {\n  const activeServices = get(allActiveServicesAtom);\n  if (!activeServices || !Array.isArray(activeServices)) {\n    return [];\n  }\n  const publicServices = activeServices.filter(\n    (service) => service.behavior !== \"INTERNAL\"\n  );\n\n  return publicServices;\n});\n","import API, { graphqlOperation } from \"@aws-amplify/api\";\n\nasync function execWrite(query) {\n  try {\n    const { opname, op, input } = query;\n    const resp = await API.graphql(graphqlOperation(op, { input: input }));\n    if (resp && resp.data && resp.data.hasOwnProperty(opname)) {\n      return {\n        ...resp.data[opname],\n      };\n    } else {\n      return {\n        error: \"something went wrong please try again later\",\n      };\n    }\n  } catch (error) {\n    return {\n      error,\n    };\n  }\n}\n\nasync function execRead(query) {\n  try {\n    const { opname, op, filter, limit } = query;\n    let resp = null;\n    let nextToken = null;\n    const items = [];\n    do {\n      resp = await API.graphql(\n        graphqlOperation(op, {\n          filter,\n          ...(limit ? { limit } : { limit: 10 }),\n          nextToken,\n        })\n      );\n      if (resp && resp.data && resp.data.hasOwnProperty(opname)) {\n        //TODO: check if hasOwnProperty should be used or [opname]\n        items.push(...resp.data[opname].items);\n        nextToken = resp.data[opname].nextToken;\n      } else {\n        return {\n          error: \"something went wrong please try again later\",\n        };\n      }\n    } while (nextToken);\n    return {\n      items,\n    };\n  } catch (error) {\n    return {\n      error,\n    };\n  }\n}\n\nasync function execReadBySortkey(query) {\n  try {\n    const { opname, op, id, skey, filter, limit, sortDirection } = query;\n    let resp = null;\n    let nextToken = null;\n    const items = [];\n    do {\n      // console.log(\"nexttoken:\" + nextToken);\n      resp = await API.graphql(\n        graphqlOperation(op, {\n          ...id,\n          ...skey,\n          filter,\n          ...(limit ? { limit } : { limit: 10 }),\n          ...(sortDirection ? { sortDirection } : { sortDirection: \"ASC\" }),\n          nextToken,\n        })\n      );\n      // console.log(resp);\n      if (resp && resp.data && resp.data.hasOwnProperty(opname)) {\n        //TODO: check if hasOwnProperty should be used or [opname]\n        items.push(...resp.data[opname].items);\n        nextToken = resp.data[opname].nextToken;\n      } else {\n        return {\n          error: \"something went wrong please try again later\",\n        };\n      }\n    } while (nextToken);\n    return {\n      items,\n    };\n  } catch (error) {\n    return {\n      error,\n    };\n  }\n}\n\nasync function execReadByPK(query) {\n  try {\n    const { opname, op, id, filter, limit, sortDirection } = query;\n    let resp = null;\n    let nextToken = null;\n    const items = [];\n    do {\n      console.log(\"nexttoken:\" + nextToken);\n      resp = await API.graphql(\n        graphqlOperation(op, {\n          ...id,\n          filter,\n          ...(limit ? { limit } : { limit: process.env.REACT_APP_LISTLIMIT }),\n          ...(sortDirection ? { sortDirection } : { sortDirection: \"ASC\" }),\n          nextToken,\n        })\n      );\n      if (resp && resp.data && resp.data.hasOwnProperty(opname)) {\n        //TODO: check if hasOwnProperty should be used or [opname]\n        items.push(...resp.data[opname].items);\n        nextToken = resp.data[opname].nextToken;\n      } else {\n        return {\n          error: \"something went wrong please try again later\",\n        };\n      }\n    } while (nextToken);\n    return {\n      items,\n    };\n  } catch (error) {\n    return {\n      error,\n    };\n  }\n}\n\nexport { execRead, execWrite, execReadBySortkey, execReadByPK };\n","// ************************************\n// Service module to handle messaging common functionality //\n// ************************************\n\nimport API, { graphqlOperation } from \"@aws-amplify/api\";\n\nasync function sendSms(to, msg, countryCode) {\n  let from = await getSenderNumberByCountry(countryCode);\n  const result = await API.post(\"messaging\", \"/send\", {\n    body: {\n      from,\n      to,\n      msg,\n    },\n  });\n  console.log(JSON.stringify(result));\n}\n\nasync function getSenderNumberByCountry(countryCode) {\n  const getRefData = /* GraphQL */ `\n    query GetRefData($refType: ID!, $refName: String!) {\n      getRefData(refType: $refType, refName: $refName) {\n        refType\n        refName\n        refValue\n      }\n    }\n  `;\n  let resp = await API.graphql(\n    graphqlOperation(getRefData, {\n      refType: \"TWILIO_FROM_NUM\",\n      refName: countryCode,\n    })\n  );\n  if (resp.data.getRefData) return resp.data.getRefData.refValue;\n  else {\n    resp = await API.graphql(\n      graphqlOperation(getRefData, {\n        refType: \"TWILIO_FROM_NUM\",\n        refName: \"DEFAULT\",\n      })\n    );\n    if (resp.data.getRefData) return resp.data.getRefData.refValue;\n  }\n  return process.env.REACT_APP_TWILIO_SMS_SEND_NUMBER;\n}\n\nexport { sendSms, getSenderNumberByCountry };\n","import {\n  Box,\n  Button,\n  FormControl,\n  Grid,\n  TextField,\n  Typography,\n  useMediaQuery,\n} from \"@mui/material\";\nimport React, { useEffect, useState } from \"react\";\nimport MainNavBar from \"../components/MainNavbar\";\nimport { withRouter } from \"react-router-dom\";\nimport Auth from \"@aws-amplify/auth\";\nimport API, { graphqlOperation } from \"@aws-amplify/api\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Visibility from \"@mui/icons-material/Visibility\";\nimport VisibilityOff from \"@mui/icons-material/VisibilityOff\";\nimport { trackRegistration, trackLogin } from \"../modules/Tracking\";\nimport Cache from \"@aws-amplify/cache\";\nimport {\n  getUser,\n  userByCompany,\n  clientByUserId,\n  clientPackageByUser,\n} from \"../graphql/queries\";\nimport {\n  createUser,\n  updateUser,\n  updateClient,\n  updateClientPackage,\n} from \"../graphql/mutations\";\nimport {\n  getClientIfExists,\n  createClientRecord,\n  deleteHeldSlots,\n} from \"../modules/BookingService\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport {\n  isGuestCheckoutAllowed,\n  isGuestOnlyCheckout,\n} from \"../user/checkoutOption\";\nimport { KeyboardArrowLeft } from \"@mui/icons-material\";\nimport { useContext } from \"react\";\nimport { StoreContext } from \"../context/StoreContext\";\n\nconst text_field_style = { width: \"100%\", maxWidth: \"300px\" };\n\nfunction SignIn(props) {\n  const { actions, state } = useContext(StoreContext);\n  const [email, setEmail] = useState(\"\");\n  const [pasw, setPasw] = useState(\"\");\n  const [loginClicked, setLoginClicked] = useState(false);\n  const [errorMsg, setErrorMsg] = useState(\"\");\n  const [newPaswRequired, setNewPaswRequired] = useState(false);\n  const [newPasw, setNewPasW] = useState();\n  const [user, setUser] = useState(\"\");\n  const [showPassword, setShowPassword] = React.useState(false);\n  const [showNewPassword, setShowNewPassword] = React.useState(false);\n  const smallerScreen = useMediaQuery(\"(min-width:600px)\");\n\n  useEffect(() => {\n    console.log(\"Props to SignIN\", props);\n  }, [props]);\n\n  const handleClickShowNewPassword = () => setShowNewPassword((show) => !show);\n\n  const handleMouseDownPassword = (event) => {\n    event.preventDefault();\n  };\n  const handleClickShowPassword = () => setShowPassword((show) => !show);\n\n  const backButtonHandler = async () => {\n    console.log(\"Back button clicked\");\n    if (props?.location?.state?.fromPath) {\n      if (props.location.state.fromPath === \"/confirm-order\") {\n        try {\n          if (state.bookingState.sdt === \"package\") {\n            if (state.bookingState.heldPackageSlots) {\n              await deleteHeldSlots(state.bookingState.heldPackageSlots);\n              state.bookingState.heldPackageSlots = [];\n              if (state.bookingState.hasOwnProperty(\"packageBookedSlots\")) {\n                state.bookingState.packageBookedSlots = [];\n              }\n            }\n          }\n\n          if (state.bookingState.sdt === \"forever\") {\n            await deleteHeldSlots(state.bookingState.heldSlots);\n            state.bookingState.heldSlots = [];\n            state.bookingState.apptDates = [];\n            state.bookingState.repeatingApptList = [];\n\n            // state.bookingState.repeatStartDate = null;\n            //Appears to be some degredation of information across here?\n          }\n\n          if (state.bookingState.sdt === \"single\") {\n            await deleteHeldSlots(state.bookingState.heldSlots);\n            state.bookingState.heldSlots = [];\n            /* if (state.bookingState.hasOwnProperty(\"selectedslot\")) {\n              state.bookingState.selectedslot = {};\n            } */\n          }\n        } catch (e) {\n          console.log(\"error while deleting the slots\");\n        }\n        props.history.push(\"/choose-timeslot\");\n        return;\n      }\n      props.history.push(props.location.state.fromPath);\n    }\n  };\n\n  async function handleChangePassword() {\n    try {\n      setLoginClicked(true);\n      const userWithNewPassword = await Auth.completeNewPassword(user, newPasw);\n      console.log(\"userWithNewPassword\", userWithNewPassword);\n      await doPostSignInProcess();\n    } catch (err) {\n      setLoginClicked(false);\n      setErrorMsg(\n        err.message\n          ? err.message\n          : \"There was an error in processing your request.\"\n      );\n    }\n  }\n\n  const handleEnterKeyDown = (e) => {\n    if (e.key === \"Enter\") {\n      handleSignin();\n    }\n  };\n  async function handleSignin() {\n    setLoginClicked(true);\n    try {\n      const user = await Auth.signIn(email, pasw);\n      setUser(user);\n      if (user.challengeName === \"NEW_PASSWORD_REQUIRED\") {\n        setNewPaswRequired(true);\n        setLoginClicked(false);\n      } else {\n        await doPostSignInProcess();\n      }\n    } catch (err) {\n      if (err.code === \"PasswordResetRequiredException\") {\n        props.history.push(\"/forgot\", {\n          fromPath: props.location.state?.fromPath\n            ? props.location.state?.fromPath\n            : \"/\",\n          stage: 2,\n          email,\n        });\n      }\n      console.log(\"error\", err);\n      setLoginClicked(false);\n      setErrorMsg(`Login failed. ${err.message ? err.message : \"\"}`);\n      return;\n    }\n  }\n\n  async function doPostSignInProcess() {\n    setLoginClicked(true);\n\n    // look up user and store\n    const authUser = await Auth.currentAuthenticatedUser({\n      bypassCache: true,\n    });\n    if (authUser.attributes.email === process.env.REACT_APP_MB_GUEST_EMAIL) {\n      console.log(\"non-guest user not logged in\");\n      setLoginClicked(false);\n      return;\n    }\n    const data = await API.graphql(\n      graphqlOperation(getUser, {\n        id: authUser.username,\n      })\n    );\n    let clientRecord;\n    if (data.data.getUser) {\n      if (\n        data.data.getUser.companyId !== props.company.id &&\n        data.data.getUser.role !== \"MARKETBOX_ADMIN\"\n      ) {\n        setErrorMsg(\n          \"Please create an account with different email address using the Sign Up link above.\"\n        );\n        Cache.removeItem(\"user\");\n        // logout the user of different company\n        await Auth.signOut();\n        // log back the guest user in\n        const user = await Auth.signIn(\n          process.env.REACT_APP_MB_GUEST_EMAIL,\n          process.env.REACT_APP_MB_GUEST_PWD\n        );\n        setLoginClicked(false);\n        return;\n      }\n      trackLogin(data.data.getUser);\n      const prevLoginInfo = JSON.parse(data.data.getUser.LoginInfo);\n      const newLoginCount = prevLoginInfo ? ++prevLoginInfo.loginCount : 1;\n      const loginInfo = {\n        lastLoginDate: new Date(),\n        loginCount: newLoginCount,\n      };\n      const LoginInfo = JSON.stringify(loginInfo);\n      const updateMBUserInput = {\n        role: data.data.getUser.role,\n        emailaddress: data.data.getUser.emailaddress,\n        id: authUser.username,\n        LoginInfo,\n      };\n      await API.graphql(\n        graphqlOperation(updateUser, { input: updateMBUserInput })\n      );\n      clientRecord = await getClientIfExists({\n        userid: data.data.getUser.id,\n        companyid: props.company.id,\n      });\n      if (!clientRecord) {\n        const clientRecord = await createClientRecord(\n          data.data.getUser,\n          props.company\n        );\n        if (clientRecord && clientRecord.error) {\n          setLoginClicked(false);\n          return {\n            error: clientRecord.error,\n          };\n        }\n        props.setUser(authUser);\n        props.setClient({\n          isNewClient: true,\n          client: clientRecord,\n        });\n      } else {\n        props.setUser(authUser);\n        props.setClient({\n          isNewClient: false,\n          client: clientRecord,\n        });\n      }\n    } else {\n      await handleNewUserLogin();\n    }\n    console.log(props);\n    props.history.push(\n      props.location.state?.fromPath ? props.location.state?.fromPath : \"/\"\n    );\n  }\n  async function addUserRole(username, groupName, action) {\n    const result = await API.post(\"changeuserrole\", \"/changeuserrole\", {\n      body: {\n        username,\n        groupName,\n        action,\n      },\n    });\n  }\n\n  async function handleNewUserLogin() {\n    // console.log(\"signing in new user\");\n    const newuser = await Auth.currentAuthenticatedUser({\n      bypassCache: true,\n    });\n    if (newuser.attributes.email === process.env.REACT_APP_MB_GUEST_EMAIL) {\n      console.log(\"new non-guest user login is unsuccessful\");\n      setLoginClicked(false);\n      return false;\n    }\n    await addUserRole(email, \"Client\", \"ADD\");\n    await Auth.signOut();\n    await Auth.signIn(email, pasw);\n    const newloggedinuser = await Auth.currentAuthenticatedUser({\n      bypassCache: true,\n    });\n    const loginInfo = {\n      lastLoginDate: new Date(),\n      loginCount: 1,\n    };\n    const LoginInfo = JSON.stringify(loginInfo);\n    const newMBUserInput = {\n      username: newloggedinuser.username,\n      id: newloggedinuser.signInUserSession.idToken.payload.sub,\n      emailaddress: newloggedinuser.signInUserSession.idToken.payload.email,\n      firstname: newloggedinuser.signInUserSession.idToken.payload.given_name,\n      lastname: newloggedinuser.signInUserSession.idToken.payload.family_name,\n      registered: true,\n      active: true,\n      role: \"CLIENT\",\n      companyId: props.company.id,\n      userCompanyId: props.company.id,\n      mobilephone:\n        newloggedinuser.signInUserSession.idToken.payload.phone_number,\n      LoginInfo,\n      phonepref: \"MOBILE\",\n      contactconsent: true,\n      contactconsentdatetime: new Date().toISOString(),\n    };\n    const newMBUser = await API.graphql(\n      graphqlOperation(createUser, { input: newMBUserInput })\n    );\n    trackRegistration(newMBUser && newMBUser.data && newMBUser.data.createUser);\n    trackLogin(newMBUser && newMBUser.data && newMBUser.data.createUser);\n    const usersByCompanyResult = await API.graphql(\n      graphqlOperation(userByCompany, {\n        companyId: props.company.id,\n        roleEmailaddress: {\n          beginsWith: {\n            role: \"CLIENT\",\n            emailaddress:\n              newloggedinuser.signInUserSession.idToken.payload.email,\n          },\n        },\n        filter: {\n          and: [\n            {\n              emailaddress: {\n                eq: newloggedinuser.signInUserSession.idToken.payload.email,\n              },\n            },\n            { registered: { eq: false } },\n            { deleted: { ne: true } },\n          ],\n        },\n        limit: 1000,\n      })\n    );\n    //console.log(\"users by company result register\", usersByCompanyResult);\n\n    if (\n      usersByCompanyResult &&\n      usersByCompanyResult.data.userByCompany.items.length > 0\n    ) {\n      const clientData = usersByCompanyResult.data.userByCompany.items[0];\n      const clientPackagesResult = await API.graphql(\n        graphqlOperation(clientPackageByUser, {\n          userId: clientData.id,\n        })\n      );\n      // console.log(\"client packages\", clientPackagesResult);\n\n      if (\n        clientPackagesResult &&\n        clientPackagesResult.data.clientPackageByUser.items.length > 0\n      ) {\n        clientPackagesResult.data.clientPackageByUser.items.map(\n          async (item) => {\n            const updateClientPackageResult = await API.graphql(\n              graphqlOperation(updateClientPackage, {\n                input: {\n                  id: item.id,\n                  userId: newloggedinuser.signInUserSession.idToken.payload.sub,\n                  clientPackageUserId:\n                    newloggedinuser.signInUserSession.idToken.payload.sub,\n                },\n              })\n            );\n            //  console.log(\"update package result\", updateClientPackageResult);\n          }\n        );\n      }\n      const deleteOldUserProfile = await API.graphql(\n        graphqlOperation(updateUser, {\n          input: { id: clientData.id, deleted: true },\n        })\n      );\n\n      //    console.log(\"delete result\", deleteOldUserProfile);\n      const clientProfile = await API.graphql(\n        graphqlOperation(clientByUserId, {\n          userId: clientData.id,\n        })\n      );\n      const clientId = clientProfile.data.clientByUserId.items[0].id;\n      //    console.log(\"existing client profile\", clientProfile);\n\n      const updateClientResult = await API.graphql(\n        graphqlOperation(updateClient, {\n          input: {\n            id: clientId,\n            userId: newloggedinuser.signInUserSession.idToken.payload.sub,\n            clientUserId: newloggedinuser.signInUserSession.idToken.payload.sub,\n          },\n        })\n      );\n      //   console.log(\"update client result: \", updateClientResult);\n      props.setUser(newloggedinuser);\n      props.setClient({\n        isNewClient: false,\n        client: updateClientResult.data.updateClient,\n      });\n      setLoginClicked(false);\n      return true;\n    }\n    const clientRecord = await createClientRecord(\n      newMBUser.data.createUser,\n      props.company\n    );\n    props.setUser(newloggedinuser);\n    props.setClient({\n      isNewClient: true,\n      client: clientRecord,\n    });\n    setLoginClicked(false);\n    return true;\n  }\n  return (\n    <div>\n      <MainNavBar\n        company={props.company}\n        user={null}\n        guestUser={true}\n        signOutOp={props.signOutOp}\n        currentPath={props.location.pathname}\n        banner={false}\n        publicsitesettings={props.publicsitesettings}\n      />\n      <div\n        style={{\n          width: \"100%\",\n          display: \"flex\",\n          alignItems: \"center\",\n          flexDirection: \"column\",\n          gap: \"1rem\",\n          marginTop: \"115px\",\n          padding: \"0 1rem\",\n        }}\n      >\n        <Grid container justifyContent=\"flex-start\">\n          {smallerScreen && <Grid item xs={3}></Grid>}\n          <Grid item>\n            {/* component={Link} */}\n            <Button\n              sx={{\n                cursor: \"pointer\",\n                marginLeft: !smallerScreen ? \"-1.25rem\" : \"unset\",\n              }}\n              variant=\"text\"\n              size=\"small\"\n              startIcon={\n                <KeyboardArrowLeft\n                  size=\"small\"\n                  style={{ marginRight: \"5px\" }}\n                />\n              }\n              color=\"primary\"\n              onClick={backButtonHandler}\n            >\n              Back\n            </Button>\n          </Grid>\n          {smallerScreen && <Grid item xs={6}></Grid>}\n        </Grid>\n\n        <Typography variant=\"h3\" sx={{ textAlign: \"center\" }}>\n          {`Welcome to ${props.company.name}`}\n        </Typography>\n        {newPaswRequired && (\n          <>\n            {errorMsg && (\n              <Box\n                style={{\n                  width: \"100%\",\n                  display: \"flex\",\n                  flexDirection: \"column\",\n                  alignItems: \"center\",\n                  gap: \"0.5rem\",\n                  marginBottom: \"1rem\",\n                }}\n              >\n                <Typography\n                  variant=\"body2\"\n                  sx={{ fontSize: \"1rem\" }}\n                  style={{ color: \"red\" }}\n                >\n                  {errorMsg}\n                </Typography>\n              </Box>\n            )}\n            <Box\n              sx={{\n                display: \"flex\",\n                flexDirection: \"column\",\n\n                gap: \"1rem\",\n                width: \"100%\",\n              }}\n            >\n              <TextField\n                sx={{\n                  ...text_field_style,\n                  alignSelf: \"center\",\n                  maxWidth: !smallerScreen ? \"unset\" : \"300px\",\n                  backgroundColor: \"#fff\",\n                  \"&.Mui-focused\": {\n                    backgroundColor: \"#fff\",\n                  },\n                  \"&.Mui-focused .MuiInputAdornment-root\": {\n                    backgroundColor: \"#fff\",\n                  },\n                }}\n                type={showNewPassword ? \"text\" : \"password\"}\n                InputProps={{\n                  disableUnderline: true,\n                  endAdornment: (\n                    <InputAdornment position=\"end\">\n                      <IconButton\n                        aria-label=\"toggle password visibility\"\n                        onClick={handleClickShowNewPassword}\n                        onMouseDown={handleMouseDownPassword}\n                        edge=\"end\"\n                      >\n                        {showNewPassword ? <VisibilityOff /> : <Visibility />}\n                      </IconButton>\n                    </InputAdornment>\n                  ),\n                }}\n                variant=\"outlined\"\n                size=\"small\"\n                id=\"newpassword\"\n                label=\"New password\"\n                onChange={(e) => {\n                  setNewPasW(e.target.value);\n                  if (errorMsg) setErrorMsg();\n                }}\n              />\n            </Box>\n            <Button\n              variant=\"contained\"\n              sx={{ ...text_field_style }}\n              onClick={handleChangePassword}\n              disabled={loginClicked}\n            >\n              Change password\n              {loginClicked && (\n                <CircularProgress size={12} style={{ color: \"#fff\" }} />\n              )}\n            </Button>\n          </>\n        )}\n        {!newPaswRequired && !isGuestOnlyCheckout(props.publicsitesettings) && (\n          <>\n            <Box\n              style={{\n                width: \"100%\",\n                display: \"flex\",\n                flexDirection: \"column\",\n                alignItems: \"center\",\n                gap: \"0.5rem\",\n                marginBottom: \"1rem\",\n              }}\n            >\n              <Typography variant=\"body2\" sx={{ fontSize: \"1rem\" }}>\n                Log in to your account\n              </Typography>\n              {props.company?.clientMayCreateAccount ? (\n                <Typography variant=\"body2\" sx={{ fontSize: \"1rem\" }}>\n                  Don't have an account?{\" \"}\n                  <Box\n                    sx={{\n                      display: \"inline\",\n                      fontWeight: 700,\n                      color: \"primary.main\",\n                      cursor: \"pointer\",\n                    }}\n                    onClick={(event) =>\n                      props.history.push(\"/signup\", {\n                        fromPath: props.location.state?.fromPath\n                          ? props.location.state?.fromPath\n                          : \"/\",\n                      })\n                    }\n                  >\n                    Sign up\n                  </Box>{\" \"}\n                  instead\n                </Typography>\n              ) : (\n                <></>\n              )}\n            </Box>\n            {errorMsg && (\n              <Box\n                style={{\n                  width: \"100%\",\n                  display: \"flex\",\n                  flexDirection: \"column\",\n                  alignItems: \"center\",\n                  gap: \"0.5rem\",\n                  marginBottom: \"1rem\",\n                }}\n              >\n                <Typography\n                  variant=\"body2\"\n                  sx={{ fontSize: \"1rem\" }}\n                  style={{ color: \"red\" }}\n                >\n                  {errorMsg}\n                </Typography>\n              </Box>\n            )}\n            <TextField\n              sx={{\n                ...text_field_style,\n                maxWidth: !smallerScreen ? \"unset\" : \"300px\",\n              }}\n              InputProps={{ disableUnderline: true }}\n              variant=\"outlined\"\n              size=\"small\"\n              id=\"email\"\n              label=\"Email\"\n              onChange={(e) => {\n                let ev = e.target.value;\n                ev = ev.trim().toLowerCase();\n                setEmail(ev);\n                if (errorMsg) setErrorMsg();\n              }}\n              onKeyDown={handleEnterKeyDown}\n            />\n\n            <Box\n              sx={{\n                display: \"flex\",\n                flexDirection: \"column\",\n\n                gap: \"6px\",\n                width: \"100%\",\n              }}\n            >\n              <TextField\n                sx={{\n                  ...text_field_style,\n                  alignSelf: \"center\",\n                  maxWidth: !smallerScreen ? \"unset\" : \"300px\",\n                }}\n                type={showPassword ? \"text\" : \"password\"}\n                InputProps={{\n                  disableUnderline: true,\n                  endAdornment: (\n                    <InputAdornment position=\"end\">\n                      <IconButton\n                        aria-label=\"toggle password visibility\"\n                        onClick={handleClickShowPassword}\n                        onMouseDown={handleMouseDownPassword}\n                        edge=\"end\"\n                      >\n                        {showPassword ? <VisibilityOff /> : <Visibility />}\n                      </IconButton>\n                    </InputAdornment>\n                  ),\n                }}\n                variant=\"outlined\"\n                size=\"small\"\n                id=\"password\"\n                label=\"Password\"\n                onChange={(e) => {\n                  setPasw(e.target.value);\n                  if (errorMsg) setErrorMsg();\n                }}\n                onKeyDown={handleEnterKeyDown}\n              />\n\n              <Box\n                sx={{\n                  ...text_field_style,\n                  color: \"primary.main\",\n                  cursor: \"pointer\",\n                  alignSelf: \"center\",\n                  fontFamily: \"Roboto\",\n                  fontSize: \"1rem\",\n                  maxWidth: !smallerScreen ? \"unset\" : \"300px\",\n                  textDecoration: \"underline\",\n                }}\n                onClick={(event) =>\n                  props.history.push(\"/forgot\", {\n                    fromPath: props.location.state?.fromPath\n                      ? props.location.state?.fromPath\n                      : \"/\",\n                  })\n                }\n              >\n                Forgot password?\n              </Box>\n            </Box>\n\n            <Button\n              variant=\"contained\"\n              sx={{\n                ...text_field_style,\n                maxWidth: !smallerScreen ? \"unset\" : \"300px\",\n                marginTop: \"1rem\",\n              }}\n              onClick={handleSignin}\n              disabled={loginClicked}\n            >\n              {loginClicked ? (\n                <CircularProgress size={12} sx={{ color: \"primary.main\" }} />\n              ) : (\n                \"Log In\"\n              )}\n            </Button>\n          </>\n        )}\n        {props.company?.clientMayCreateAccount !== false &&\n          isGuestCheckoutAllowed(props.publicsitesettings) && (\n            <Box\n              sx={{\n                display: \"flex\",\n                flexDirection: \"column\",\n                alignItems: \"center\",\n                gap: \"1rem\",\n                width: \"100%\",\n              }}\n            >\n              {!isGuestOnlyCheckout(props.publicsitesettings) && (\n                <Typography variant=\"body2\" sx={{ fontSize: \"1rem\" }}>\n                  OR\n                </Typography>\n              )}\n              <Button\n                variant=\"outlined\"\n                onClick={(event) =>\n                  props.history.push(\"/signup\", {\n                    fromPath: props.location.state?.fromPath\n                      ? props.location.state?.fromPath\n                      : \"/\",\n                    guestMode: true,\n                  })\n                }\n                sx={{\n                  ...text_field_style,\n                  maxWidth: !smallerScreen ? \"unset\" : \"300px\",\n                }}\n              >\n                Continue as guest\n              </Button>\n            </Box>\n          )}\n      </div>\n    </div>\n  );\n}\n\nexport default withRouter(SignIn);\n","import {\n  Box,\n  Button,\n  TextField,\n  Typography,\n  useMediaQuery,\n} from \"@mui/material\";\nimport React, { useState } from \"react\";\nimport MainNavBar from \"../components/MainNavbar\";\nimport { withRouter } from \"react-router-dom\";\nimport MuiPhoneNumber from \"material-ui-phone-number\";\nimport Auth from \"@aws-amplify/auth\";\nimport API, { graphqlOperation } from \"@aws-amplify/api\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Visibility from \"@mui/icons-material/Visibility\";\nimport VisibilityOff from \"@mui/icons-material/VisibilityOff\";\nimport { trackRegistration, trackLogin } from \"../modules/Tracking\";\nimport {\n  userByCompany,\n  clientByUserId,\n  clientPackageByUser,\n  getUser,\n} from \"../graphql/queries\";\nimport {\n  createUser,\n  updateUser,\n  updateClient,\n  updateClientPackage,\n  createClient,\n} from \"../graphql/mutations\";\nimport { createClientRecord } from \"../modules/BookingService\";\nimport { v4 } from \"uuid\";\nimport { isGuestOnlyCheckout } from \"../user/checkoutOption\";\nimport { TriggerManager } from \"../modules/TriggerManager\";\n\nimport Cache from \"@aws-amplify/cache\";\nconst text_field_style = { width: \"100%\", maxWidth: \"300px\" };\nconst phone_field_style = {\n  width: \"100%\",\n  maxWidth: \"300px\",\n  \"& svg\": { height: \"1em\" },\n};\n\nfunction SignUp(props) {\n  const [guestMode, setGuestMode] = useState(\n    isGuestOnlyCheckout(props.publicsitesettings)\n      ? true\n      : props.location?.state?.guestMode\n  );\n  const [firstName, setFirstName] = useState(\"\");\n  const [lastName, setLastName] = useState(\"\");\n  const [email, setEmail] = useState(\"\");\n  const [pasw, setPasw] = useState(\"\");\n  const [phoneNumber, setPhoneNumber] = useState(\"\");\n  const [showConfirmationSection, setShowConfirmationSection] = useState(false);\n  const [confirmationCode, setConfirmationCode] = useState(\"\");\n  const [errorMsg, setErrorMsg] = useState(\"\");\n  const [error, setError] = useState();\n  const [signupClicked, setSignupClicked] = useState(false);\n  const [codeIsResent, setCodeIsResent] = useState(false);\n  const [showPassword, setShowPassword] = React.useState(false);\n\n  const smallerScreen = useMediaQuery(\"(min-width:600px)\");\n\n  const handleClickShowPassword = () => setShowPassword((show) => !show);\n\n  const handleMouseDownPassword = (event) => {\n    event.preventDefault();\n  };\n  function formNotValid() {\n    if (!validEmail()) {\n      setError(true);\n      setErrorMsg(\"Please provide a valid email address\");\n      return true;\n    }\n    if (!firstName) {\n      setError(true);\n      setErrorMsg(\"Please provide first name\");\n      return true;\n    } else if (!lastName) {\n      setError(true);\n      setErrorMsg(\"Please provide last name\");\n      return true;\n    } else if (!phoneNumber) {\n      setError(true);\n      setErrorMsg(\"Please provide a valid phone number\");\n      return true;\n    }\n    return false;\n  }\n\n  function validEmail() {\n    // var mailformat =\n    //   /^([A-Za-z0-9_\\-\\.])+\\@([A-Za-z0-9_\\-\\.])+\\.([A-Za-z]{2,4})$/;\n    var re =\n      /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n    if (email?.match(re)) {\n      return true;\n    } else {\n      return false;\n    }\n  }\n\n  async function checkAndhandleUnconfirmedAccount(email) {\n    try {\n      const { data: userDetails } = await API.get(\n        \"changeuserrole\",\n        \"/getuser\",\n        {\n          queryStringParameters: {\n            username: email,\n          },\n        }\n      );\n      //FORCE_CHANGE_PASSWORD,RESET_REQUIRED,UNCONFIRMED\n      if (userDetails?.UserStatus === \"UNCONFIRMED\") {\n        // get user from db using userDetails.Username\n        const {\n          data: { getUser: mbUserInfo },\n        } = await API.graphql(\n          graphqlOperation(getUser, {\n            id: userDetails.Username,\n          })\n        );\n        if (!(mbUserInfo?.id === userDetails.Username)) {\n          // if user does not exist in the db, delete cognito entry\n          await API.post(\"changeuserrole\", \"/deleteuser\", {\n            body: {\n              username: userDetails.Username,\n            },\n          });\n          await new Promise((resolve) => setTimeout(resolve, 1000)); // to give cognito some time to clear the record\n        }\n      }\n    } catch (e) {\n      console.log(e);\n    }\n  }\n  async function createAccount() {\n    try {\n      setSignupClicked(true);\n      if (formNotValid()) return;\n      await checkAndhandleUnconfirmedAccount(email);\n      setErrorMsg();\n      setError();\n      const cleanedPhonNumber = phoneNumber.match(/\\d+/g).join(\"\");\n      console.log(phoneNumber, cleanedPhonNumber);\n\n      const { codeDeliveryDetails } = await Auth.signUp({\n        username: email,\n        password: pasw,\n        attributes: {\n          email,\n          phone_number: `+${cleanedPhonNumber}`,\n          given_name: firstName,\n          family_name: lastName,\n        },\n      });\n      if (codeDeliveryDetails) {\n        setShowConfirmationSection(true);\n        setSignupClicked(false);\n      }\n    } catch (error) {\n      console.log(\"Signup error\", error);\n      setErrorMsg(error.message);\n      setError(error);\n    }\n  }\n\n  async function resendCode() {\n    Auth.resendSignUp(email)\n      .then(() => {\n        setCodeIsResent(true);\n      })\n      .catch((err) => {\n        setError(err);\n        if (err.message) setErrorMsg(err.message);\n      });\n  }\n\n  async function confirmSignup() {\n    setSignupClicked(true);\n\n    try {\n      //sign out current user and remove from Cache\n      await Auth.signOut();\n      Cache.removeItem(\"user\");\n      // confirm and sign in new user\n      await Auth.confirmSignUp(email, confirmationCode);\n      await Auth.signIn(email, pasw);\n      // TODO: what to do if signup fails?\n      await addUserRole(email, \"Client\", \"ADD\");\n\n      // Get new Authenticated user - newLoggedinuser should be the same as 'user' above\n      const newloggedinuser = await Auth.currentAuthenticatedUser({\n        bypassCache: true,\n      });\n      // object loginStats\n      const loginInfo = {\n        lastLoginDate: new Date(),\n        loginCount: 1,\n      };\n      const LoginInfo = JSON.stringify(loginInfo);\n      // create MB User object for the newly signedup user\n      const newMBUserInput = {\n        username: newloggedinuser.username,\n        id: newloggedinuser.signInUserSession.idToken.payload.sub,\n        emailaddress: newloggedinuser.signInUserSession.idToken.payload.email,\n        firstname: newloggedinuser.signInUserSession.idToken.payload.given_name,\n        lastname: newloggedinuser.signInUserSession.idToken.payload.family_name,\n        registered: true,\n        active: true,\n        role: \"CLIENT\",\n        companyId: props.company.id,\n        userCompanyId: props.company.id,\n        mobilephone:\n          newloggedinuser.signInUserSession.idToken.payload.phone_number,\n        LoginInfo,\n        phonepref: \"MOBILE\",\n        contactconsent: true,\n        contactconsentdatetime: new Date().toISOString(),\n      };\n      const newMBUser = await API.graphql(\n        graphqlOperation(createUser, { input: newMBUserInput })\n      );\n\n      trackRegistration(\n        newMBUser && newMBUser.data && newMBUser.data.createUser\n      );\n      trackLogin(newMBUser && newMBUser.data && newMBUser.data.createUser);\n      // handle situation when previos MB User was created in DB by Admin and this MB User\n      // did not have to cognito account\n\n      const usersByCompanyResult = await API.graphql(\n        graphqlOperation(userByCompany, {\n          companyId: props.company.id,\n          roleEmailaddress: {\n            beginsWith: {\n              role: \"CLIENT\",\n              emailaddress:\n                newloggedinuser.signInUserSession.idToken.payload.email,\n            },\n          },\n          filter: {\n            and: [\n              {\n                emailaddress: {\n                  eq: newloggedinuser.signInUserSession.idToken.payload.email,\n                },\n              },\n              { registered: { eq: false } },\n              { deleted: { ne: true } },\n            ],\n          },\n          limit: 1000,\n        })\n      );\n\n      if (\n        usersByCompanyResult &&\n        usersByCompanyResult.data.userByCompany.items.length > 0\n      ) {\n        // if a previously created user is found and has purchased packages, adjust the\n        // index of client packages to point to the new MB User that has cognito profile\n        const userData = usersByCompanyResult.data.userByCompany.items[0];\n        const clientPackagesResult = await API.graphql(\n          graphqlOperation(clientPackageByUser, {\n            userId: userData.id,\n          })\n        );\n        if (\n          clientPackagesResult &&\n          clientPackagesResult.data.clientPackageByUser.items.length > 0\n        ) {\n          clientPackagesResult.data.clientPackageByUser.items.map(\n            async (item) => {\n              const updateClientPackageResult = await API.graphql(\n                graphqlOperation(updateClientPackage, {\n                  input: {\n                    id: item.id,\n                    userId:\n                      newloggedinuser.signInUserSession.idToken.payload.sub,\n                    clientPackageUserId:\n                      newloggedinuser.signInUserSession.idToken.payload.sub,\n                  },\n                })\n              );\n            }\n          );\n        }\n        // Delete the old MB User profile that did not have the cognito profile\n        const deleteOldUserProfile = await API.graphql(\n          graphqlOperation(updateUser, {\n            input: { id: userData.id, deleted: true },\n          })\n        );\n\n        const clientProfile = await API.graphql(\n          graphqlOperation(clientByUserId, {\n            userId: userData.id,\n          })\n        );\n        const clientId = clientProfile.data.clientByUserId.items[0].id;\n        // update existing client to point to the new MB User\n        const updateClientResult = await API.graphql(\n          graphqlOperation(updateClient, {\n            input: {\n              id: clientId,\n              userId: newloggedinuser.signInUserSession.idToken.payload.sub,\n              clientUserId:\n                newloggedinuser.signInUserSession.idToken.payload.sub,\n            },\n          })\n        );\n        props.setUser(newloggedinuser);\n        props.setClient({\n          isNewClient: false,\n          client: updateClientResult.data.updateClient,\n        });\n      } else {\n        const clientRecord = await createClientRecord(\n          newMBUser.data.createUser,\n          props.company\n        );\n        /* Zapier Trigger - New Client (new-client-zapier)*/\n        try {\n          const date = new Date();\n          const dateString = date.toLocaleString(\"en-US\");\n          let clientData = {\n            email: newMBUserInput.emailaddress,\n            userType: \"Client\",\n            phoneNumber: newMBUserInput.mobilephone,\n            createdAt: dateString,\n            firstName: newMBUserInput.firstname,\n            lastName: newMBUserInput.lastname,\n          };\n          let hookName = \"new-client-zapier\";\n          await TriggerManager(clientData, newMBUserInput.companyId, hookName);\n        } catch (e) {\n          console.log(\"ERROR: unable to perform triggerManager\", e);\n        }\n        props.setUser(newloggedinuser);\n        props.setClient({\n          isNewClient: true,\n          client: clientRecord,\n        });\n      }\n\n      props.history.push(\n        props.location.state?.fromPath ? props.location.state.fromPath : \"/\"\n      );\n    } catch (error) {\n      if (error.code === \"CodeMismatchException\") setErrorMsg(\"Invalid code\");\n      console.log(\"Signup error\", JSON.stringify(error));\n      setSignupClicked(false);\n    }\n    setSignupClicked(false);\n  }\n\n  async function addUserRole(username, groupName, action) {\n    const result = await API.post(\"changeuserrole\", \"/changeuserrole\", {\n      body: {\n        username,\n        groupName,\n        action,\n      },\n    });\n  }\n\n  async function continueAsGuest() {\n    try {\n      const userByEmailResult = await API.graphql(\n        graphqlOperation(userByCompany, {\n          companyId: props.company.id,\n          roleEmailaddress: {\n            beginsWith: {\n              role: \"CLIENT\",\n              emailaddress: email,\n            },\n          },\n          filter: { deleted: { ne: true } },\n\n          limit: 1000,\n        })\n      );\n      if (\n        userByEmailResult &&\n        userByEmailResult.data.userByCompany.items.length === 1\n      ) {\n        // save user\n        props.setBookingUserInState(\n          userByEmailResult.data.userByCompany.items[0]\n        );\n        props.history.push(props.location.state?.fromPath);\n        return;\n      }\n    } catch (err) {\n      console.log(\"error while reading user by email address\", err);\n    }\n    try {\n      const newumbser = await addUserToDb();\n      if (newumbser) {\n        const clientData = {\n          userId: newumbser.id,\n          companyId: props.company.id,\n          clientUserId: newumbser.id,\n          currency: props.company.currency ? props.company.currency : \"CAD\",\n          clientCompanyId: props.company.id,\n          accountbalance: 0.0,\n        };\n        await addClient(clientData);\n        props.setBookingUserInState(newumbser);\n        props.history.push(props.location.state?.fromPath);\n      }\n    } catch (err) {\n      console.log(err);\n    }\n  }\n\n  async function addUserToDb() {\n    try {\n      const uuidValue = v4();\n      const cleanPhone = phoneNumber.match(/\\d+/g).join(\"\");\n      let registerUserInput = {\n        id: uuidValue,\n        username: uuidValue,\n        emailaddress: email,\n        firstname: firstName,\n        lastname: lastName,\n        registered: false,\n        active: true,\n        role: \"CLIENT\",\n        companyId: props.company.id,\n        userCompanyId: props.company.id,\n        mobilephone: `+${cleanPhone}`,\n        phonepref: \"MOBILE\",\n        contactconsent: true,\n        contactconsentdatetime: new Date().toISOString(),\n      };\n      const newUser = await API.graphql(\n        graphqlOperation(createUser, { input: registerUserInput })\n      );\n      return newUser.data.createUser;\n      //return uuidValue;\n    } catch (err) {\n      console.log(err);\n    }\n  }\n\n  async function addClient(input) {\n    let newClient = await API.graphql(\n      graphqlOperation(createClient, { input })\n    );\n    return newClient;\n  }\n\n  const disableCreateBtn = () => {\n    let disable = true;\n\n    if (\n      firstName.trim().length !== 0 &&\n      lastName.trim().length !== 0 &&\n      email.trim().length !== 0 &&\n      phoneNumber.trim().length > 3 &&\n      pasw.trim().length !== 0\n    ) {\n      disable = false;\n    }\n    return disable;\n  };\n\n  const disableConfirmationBtn = () => {\n    let disable = true;\n    if (confirmationCode.trim().length !== 0) {\n      disable = false;\n    }\n\n    return disable;\n  };\n\n  const createAccountOnKeyDown = (e) => {\n    if (e.key === \"Enter\") {\n      setSignupClicked(true);\n      createAccount();\n    }\n  };\n\n  const confirmSignupOnKeyDown = (e) => {\n    if (e.key === \"Enter\") {\n      setSignupClicked(true);\n      confirmSignup();\n    }\n  };\n\n  return (\n    <div>\n      <MainNavBar\n        company={props.company}\n        user={null}\n        guestUser={true}\n        signOutOp={props.signOutOp}\n        currentPath={props.location.pathname}\n        banner={false}\n        publicsitesettings={props.publicsitesettings}\n      />\n      <div\n        style={{\n          width: \"100%\",\n          display: \"flex\",\n          alignItems: \"center\",\n          flexDirection: \"column\",\n          gap: \"1rem\",\n          marginTop: \"115px\",\n          padding: \"0 1rem\",\n        }}\n      >\n        <Typography variant=\"h3\" sx={{ textAlign: \"center\" }}>\n          {`Welcome to ${props.company.name}`}\n        </Typography>\n        {showConfirmationSection ? (\n          <>\n            <Box\n              style={{\n                width: \"100%\",\n                display: \"flex\",\n                flexDirection: \"column\",\n                alignItems: \"center\",\n                gap: \"0.5rem\",\n                marginBottom: \"1rem\",\n              }}\n            >\n              <Typography variant=\"body2\" sx={{ fontSize: \"1rem\" }}>\n                {`We have sent a confirmation code to your email address`}\n              </Typography>\n            </Box>\n\n            <TextField\n              sx={{\n                ...text_field_style,\n                maxWidth: !smallerScreen ? \"unset\" : \"300px\",\n              }}\n              InputProps={{ disableUnderline: true }}\n              variant=\"outlined\"\n              size=\"small\"\n              id=\"userenteredinfo\"\n              label=\"Confirmation code\"\n              value={confirmationCode ? confirmationCode : \"\"}\n              onChange={(e) => {\n                if (error && errorMsg) {\n                  setError(false);\n                  setErrorMsg(\"\");\n                }\n                setConfirmationCode(e.target.value);\n              }}\n              onKeyDown={confirmSignupOnKeyDown}\n            />\n\n            {errorMsg && (\n              <Box\n                style={{\n                  width: \"100%\",\n                  display: \"flex\",\n                  flexDirection: \"column\",\n                  alignItems: \"center\",\n                  gap: \"0.5rem\",\n                  marginBottom: \"1rem\",\n                }}\n              >\n                <Typography\n                  variant=\"body2\"\n                  sx={{ fontSize: \"1rem\" }}\n                  style={{ color: \"red\" }}\n                >\n                  {errorMsg}\n                </Typography>\n              </Box>\n            )}\n            <Button\n              variant=\"contained\"\n              sx={{\n                ...text_field_style,\n                maxWidth: !smallerScreen ? \"unset\" : \"300px\",\n              }}\n              onClick={confirmSignup}\n              disabled={signupClicked || disableConfirmationBtn()}\n            >\n              {signupClicked ? (\n                <CircularProgress size={12} sx={{ color: \"#fff\" }} />\n              ) : (\n                \"Confirm code\"\n              )}\n            </Button>\n            <Box\n              style={{\n                width: \"100%\",\n                display: \"flex\",\n                flexDirection: \"column\",\n                alignItems: \"center\",\n                gap: \"0.5rem\",\n                marginBottom: \"1rem\",\n              }}\n            >\n              <Typography variant=\"body2\" sx={{ fontSize: \"1rem\" }}>\n                Lost your code?{\" \"}\n                <Box\n                  sx={{\n                    display: \"inline\",\n                    fontWeight: 700,\n                    color: \"primary.main\",\n                    cursor: \"pointer\",\n                  }}\n                  onClick={resendCode}\n                >\n                  Resend code\n                </Box>\n              </Typography>\n            </Box>\n            {codeIsResent && (\n              <Box\n                style={{\n                  width: \"100%\",\n                  display: \"flex\",\n                  flexDirection: \"column\",\n                  alignItems: \"center\",\n                  gap: \"0.5rem\",\n                  marginBottom: \"1rem\",\n                }}\n              >\n                <Typography variant=\"body2\" sx={{ fontSize: \"1rem\" }}>\n                  We have sent you an email with the new code.\n                </Typography>\n              </Box>\n            )}\n          </>\n        ) : (\n          <>\n            <Box\n              style={{\n                width: \"100%\",\n                display: \"flex\",\n                flexDirection: \"column\",\n                alignItems: \"center\",\n                gap: \"0.5rem\",\n                marginBottom: \"1rem\",\n              }}\n            >\n              <Typography variant=\"body2\" sx={{ fontSize: \"1rem\" }}>\n                {guestMode\n                  ? `Please provide contact information to continue as a guest`\n                  : `Create a new account`}\n              </Typography>\n            </Box>\n            {errorMsg && (\n              <Box\n                style={{\n                  width: \"100%\",\n                  display: \"flex\",\n                  flexDirection: \"column\",\n                  alignItems: \"center\",\n                  gap: \"0.5rem\",\n                  marginBottom: \"1rem\",\n                }}\n              >\n                <Typography\n                  variant=\"body2\"\n                  sx={{ fontSize: \"1rem\" }}\n                  style={{ color: \"red\" }}\n                >\n                  {errorMsg}\n                </Typography>\n              </Box>\n            )}\n            <TextField\n              sx={{\n                ...text_field_style,\n                maxWidth: !smallerScreen ? \"unset\" : \"300px\",\n              }}\n              InputProps={{ disableUnderline: true }}\n              variant=\"outlined\"\n              size=\"small\"\n              id=\"firstName\"\n              label=\"First name\"\n              value={firstName}\n              onChange={(e) => {\n                if (error) {\n                  setError(false);\n                  setErrorMsg(\"\");\n                }\n                setFirstName(e.target.value);\n\n                //createAccountOnKeyDown(e);\n              }}\n              onKeyDown={createAccountOnKeyDown}\n            />\n            <TextField\n              sx={{\n                ...text_field_style,\n                maxWidth: !smallerScreen ? \"unset\" : \"300px\",\n              }}\n              InputProps={{ disableUnderline: true }}\n              variant=\"outlined\"\n              size=\"small\"\n              id=\"lastName\"\n              label=\"Last name\"\n              value={lastName}\n              onChange={(e) => {\n                if (error) {\n                  setError(false);\n                  setErrorMsg(\"\");\n                }\n                setLastName(e.target.value);\n              }}\n              onKeyDown={createAccountOnKeyDown}\n            />\n            <TextField\n              sx={{\n                ...text_field_style,\n                maxWidth: !smallerScreen ? \"unset\" : \"300px\",\n              }}\n              InputProps={{ disableUnderline: true }}\n              variant=\"outlined\"\n              size=\"small\"\n              id=\"email\"\n              label=\"Email\"\n              value={email}\n              onChange={(e) => {\n                if (error) {\n                  setError(false);\n                  setErrorMsg(\"\");\n                }\n                let ev = e.target.value;\n                ev = ev.trim().toLowerCase();\n                setEmail(ev);\n              }}\n              onKeyDown={createAccountOnKeyDown}\n            />\n            <MuiPhoneNumber\n              sx={{\n                ...phone_field_style,\n                maxWidth: !smallerScreen ? \"unset\" : \"300px\",\n              }}\n              variant=\"outlined\"\n              size=\"small\"\n              InputProps={{ disableUnderline: true }}\n              id=\"phoneNumber\"\n              label=\"Phone\"\n              defaultCountry={props.defaultCountry}\n              value={phoneNumber}\n              onChange={(val) => {\n                if (error) {\n                  setError(false);\n                  setErrorMsg(\"\");\n                }\n                setPhoneNumber(val);\n              }}\n              onKeyDown={createAccountOnKeyDown}\n            />\n            {!guestMode && (\n              <Box\n                sx={{\n                  display: \"flex\",\n                  flexDirection: \"column\",\n\n                  gap: \"1rem\",\n                  width: \"100%\",\n                }}\n              >\n                <TextField\n                  sx={{\n                    ...text_field_style,\n                    alignSelf: \"center\",\n                    maxWidth: !smallerScreen ? \"unset\" : \"300px\",\n                  }}\n                  type={showPassword ? \"text\" : \"password\"}\n                  InputProps={{\n                    disableUnderline: true,\n                    endAdornment: (\n                      <InputAdornment position=\"end\">\n                        <IconButton\n                          aria-label=\"toggle password visibility\"\n                          onClick={handleClickShowPassword}\n                          onMouseDown={handleMouseDownPassword}\n                          edge=\"end\"\n                        >\n                          {showPassword ? <VisibilityOff /> : <Visibility />}\n                        </IconButton>\n                      </InputAdornment>\n                    ),\n                  }}\n                  variant=\"outlined\"\n                  size=\"small\"\n                  id=\"password\"\n                  label=\"Password\"\n                  value={pasw}\n                  onChange={(e) => {\n                    if (error) {\n                      setError(false);\n                      setErrorMsg(\"\");\n                    }\n                    setPasw(e.target.value);\n                    //createAccountOnKeyDown(e);\n                  }}\n                  onKeyDown={createAccountOnKeyDown}\n                />\n              </Box>\n            )}\n            {guestMode && (\n              <Button\n                id=\"guest-account\"\n                variant=\"contained\"\n                sx={{\n                  ...text_field_style,\n                  maxWidth: !smallerScreen ? \"unset\" : \"300px\",\n                }}\n                onClick={continueAsGuest}\n              >\n                Continue As Guest\n              </Button>\n            )}{\" \"}\n            {!guestMode && (\n              <Button\n                id=\"create-account\"\n                variant=\"contained\"\n                sx={{\n                  ...text_field_style,\n                  maxWidth: !smallerScreen ? \"unset\" : \"300px\",\n                }}\n                disabled={signupClicked || disableCreateBtn()}\n                onClick={createAccount}\n              >\n                {signupClicked ? (\n                  <CircularProgress size={12} sx={{ color: \"primary.main\" }} />\n                ) : (\n                  \"Create account\"\n                )}\n              </Button>\n            )}\n            {!isGuestOnlyCheckout(props.publicsitesettings) && (\n              <Box\n                style={{\n                  width: \"100%\",\n                  display: \"flex\",\n                  flexDirection: \"column\",\n                  alignItems: \"center\",\n                  gap: \"0.5rem\",\n                  marginBottom: \"1rem\",\n                }}\n              >\n                <Typography variant=\"body2\" sx={{ fontSize: \"1rem\" }}>\n                  Have an account?{\" \"}\n                  <Box\n                    sx={{\n                      display: \"inline\",\n                      fontWeight: 700,\n                      color: \"primary.main\",\n                      cursor: \"pointer\",\n                    }}\n                    onClick={(event) =>\n                      props.history.push(\"/login\", {\n                        fromPath: props.location.state?.fromPath\n                          ? props.location.state?.fromPath\n                          : \"/\",\n                      })\n                    }\n                  >\n                    Sign in\n                  </Box>\n                </Typography>\n              </Box>\n            )}\n          </>\n        )}\n      </div>\n    </div>\n  );\n}\n\nexport default withRouter(SignUp);\n","import React, { useEffect, useContext } from \"react\";\nimport Container from \"@mui/material/Container\";\nimport MainNavBar from \"../components/MainNavbar\";\nimport Auth from \"@aws-amplify/auth\";\nimport { withRouter } from \"react-router-dom\";\nimport { UserContext } from \"../App\";\n\nfunction Logout(props) {\n  const { user, guestUser } = useContext(UserContext);\n\n  useEffect(() => {\n    async function doLogout() {\n      await Auth.signOut();\n      props.setLoggedOut(true);\n      // props.history.push(\"/\");\n    }\n    doLogout();\n  }, []);\n\n  return (\n    <>\n      <Container maxWidth=\"xl\">\n        <MainNavBar company={props.company} />\n        <br />\n        <br />\n        <br />\n        Signed out\n      </Container>\n    </>\n  );\n}\nexport default withRouter(Logout);\n","import { alpha } from \"@mui/material/styles\";\n\nimport makeStyles from \"@mui/styles/makeStyles\";\n\nexport const useStyles = makeStyles((theme) => ({\n  grow: {\n    flexGrow: 1,\n  },\n  menuButton: {\n    marginRight: theme.spacing(2),\n  },\n  title: {\n    display: \"none\",\n    [theme.breakpoints.up(\"sm\")]: {\n      display: \"block\",\n    },\n  },\n  search: {\n    position: \"relative\",\n    borderRadius: theme.shape.borderRadius,\n    backgroundColor: alpha(theme.palette.common.white, 0.15),\n    marginRight: theme.spacing(2),\n    marginLeft: 0,\n    width: \"100%\",\n    [theme.breakpoints.up(\"sm\")]: {\n      marginLeft: theme.spacing(3),\n      width: \"auto\",\n    },\n    grow: {\n      flexGrow: 1,\n    },\n  },\n  searchIcon: {\n    width: theme.spacing(7),\n    height: \"100%\",\n    position: \"absolute\",\n    pointerEvents: \"none\",\n    display: \"flex\",\n    alignItems: \"center\",\n    justifyContent: \"center\",\n  },\n  inputRoot: {\n    color: \"inherit\",\n  },\n  inputInput: {\n    padding: theme.spacing(1, 1, 1, 7),\n    transition: theme.transitions.create(\"width\"),\n    width: \"100%\",\n    [theme.breakpoints.up(\"md\")]: {\n      width: 200,\n    },\n  },\n  sectionDesktop: {\n    display: \"none\",\n    [theme.breakpoints.up(\"md\")]: {\n      display: \"flex\",\n    },\n  },\n  sectionMobile: {\n    display: \"flex\",\n    [theme.breakpoints.up(\"md\")]: {\n      display: \"none\",\n    },\n  },\n  paper: {\n    padding: 2,\n  },\n  root: {\n    padding: theme.spacing(3, 2),\n  },\n  bigAvatar: {\n    margin: 10,\n    width: 300,\n    height: 300,\n  },\n  noLabelselectmargin: {\n    marginTop: \"15px\",\n    marginLeft: \"5px\",\n  },\n  rating1: {\n    width: 300,\n    display: \"flex\",\n    alignItems: \"center\",\n  },\n  container: {\n    paddingTop: theme.spacing(6),\n  },\n  circleBox: {\n    width: 75,\n    height: 75,\n    color: \"#ffffff\",\n    backgroundColor: \"#000000\",\n    borderRadius: \"50%\",\n    margin: \"0 10px\",\n    display: \"inline-flex\",\n    border: \"1px solid #d5d5d6\",\n    justifyContent: \"center\",\n    alignItems: \"center\",\n  },\n  topHeader: {\n    backgroundColor: \"#000\",\n    color: \"#fff\",\n    padding: \"6px\",\n    margin: \"-16px -8px 8px -8px\",\n    fontSize: \"14px\",\n    font: \"Arial\",\n    [theme.breakpoints.up(\"sm\")]: {\n      margin: \"-16px 0px 15px -0px\",\n      padding: \"6px 15px\",\n    },\n  },\n  btnHidden: {\n    display: \"none\",\n  },\n  buttonProgress: {\n    position: \"absolute\",\n    top: \"30%\",\n    marginTop: -1,\n    marginLeft: -1,\n  },\n}));\n","import React, { useState, useEffect } from \"react\";\nimport Rating from \"@mui/material/Rating\";\n// prettier-ignore\nimport { Logger } from \"@aws-amplify/core\";\nimport API, { graphqlOperation } from \"@aws-amplify/api\";\nimport Storage from \"@aws-amplify/storage\";\nimport * as queries from \"../../graphql/queries\";\nimport * as mutations from \"../../graphql/mutations\";\n// prettier-ignore\nimport { Paper, Dialog, DialogTitle, DialogActions, DialogContent, CircularProgress, InputAdornment, Grid, Avatar, TextField, Button, Container, Typography, useMediaQuery, Chip } from \"@mui/material\";\nimport { Box, Snackbar } from \"@mui/material\";\nimport { useStyles } from \"../../styles/ProviderAddEditStyles\";\nimport MainNavBar from \"../MainNavbar\";\nimport moment from \"moment\";\nimport { logSystemError } from \"../../modules/SystemErrorService\";\nimport { chargeCreditCard } from \"../../modules/BillingCommon\";\nimport { sendSms } from \"../../modules/MessagingService\";\nimport { getStripeAmount } from \"../../modules/BookingService\";\nimport { getCurrencySymbolByCompany, jsonParse } from \"../../utils\";\nimport { getCompanyAdmins } from \"../../user/UserCommon\";\nimport { execReadByPK } from \"../../modules/DBService\";\nimport { providerRatingsByProvider } from \"../../queries/CustomQueries\";\n\nconst logger = new Logger(\"TipPage\");\nconst limit = process.env.REACT_APP_LISTLIMIT; // global setting for list limits\n\nexport const TipPage = (props) => {\n  const classes = useStyles();\n  const paperclasses = useStyles();\n  const [provider, setProvider] = useState();\n  const [providerPic, setProviderPic] = useState(\"\");\n  const [apptDate, setApptDate] = useState(\"\");\n  const [serviceName, setServiceName] = useState(\"\");\n  const [location, setLocation] = useState(\"\");\n  const [rating, setRating] = useState(0);\n  const [review, setReview] = useState(\"\");\n  const [hover, setHover] = React.useState(-1);\n  const [tipMsg, setTipMsg] = useState(\"Add a tip for \");\n  const [tipAmt, setTipAmt] = useState(\"\");\n  const [booking, setBooking] = useState();\n  const [snackMsg, setSnackMsg] = useState(false);\n  const [msgOpen, setMsgOpen] = useState(false);\n  const [tipPercent, setTipPercent] = useState(0);\n  const [customTipModel, setCustomTipModal] = useState(false);\n  const [customTipAmt, setCustomTipAmt] = useState(\"\");\n  const [customTip, setCustomTip] = useState(false);\n  const [user, setUser] = useState(props.authuser);\n  const limit = process.env.REACT_APP_LISTLIMIT; // global setting for list limits\n  const [done, setDone] = useState(false);\n  const [buttonText, setButtonText] = useState(\"\");\n  const [loading, setLoading] = useState(false);\n  const [tokenId, setTokenId] = useState(null);\n  const [companyAdmins, setCompanyAdmins] = useState([]);\n  const [tipText, setTipText] = useState(null);\n  const [bookingAddress, setBookingAddress] = useState(\"\");\n  const smallerWidthThanSixHundred = useMediaQuery(\"(min-width:600px)\");\n\n  const labels = {\n    1: \"Unsatisfactory\",\n    2: \"OK\",\n    3: \"Good\",\n    4: \"Very good\",\n    5: \"Excellent\",\n  };\n\n  useEffect(() => {\n    async function load() {\n      await getOrderInfo();\n    }\n    load();\n  }, []);\n\n  async function getOrderInfo() {\n    let bookingId, token;\n\n    let search = window.location.search;\n    let params = new URLSearchParams(search);\n\n    if (params) {\n      if (params.has(\"b\") && params.get(\"b\") !== \"\") {\n        bookingId = params.get(\"b\");\n      } else {\n        // invalid URL\n        window.location.href = \"/\";\n        return;\n      }\n      if (params.has(\"t\") && params.get(\"t\") !== \"\") {\n        token = params.get(\"t\");\n        setTokenId(token);\n      } else {\n        // invalid URL\n        window.location.href = \"/\";\n        return;\n      }\n    }\n\n    try {\n      // validate token\n      let input = {\n        id: token,\n      };\n\n      let response = await API.graphql(\n        graphqlOperation(queries.getPublicAccessToken, input)\n      );\n\n      let result = response.data.getPublicAccessToken;\n\n      const expiryDate = new Date(result.expiryDate);\n      const now = new Date();\n      const role = result.role;\n\n      // test if token is valid (has correct role and has not expired)\n      if (expiryDate.getTime() > now.getTime() && role === \"TIPPAGE\") {\n        // get booking info\n        input = {\n          id: bookingId,\n        };\n        response = await API.graphql(\n          graphqlOperation(queries.getBooking, input)\n        );\n        result = response.data.getBooking;\n        setBooking(result);\n        const provider = result.provider;\n        setProvider(provider);\n        setButtonText(\"Rate \" + provider.firstname);\n        setServiceName(result.servicetype.name);\n        setApptDate(moment(result.startdate).format(\"MMM DD, YYYY\"));\n        if (providerPic.length === 0) {\n          const picresult = await Storage.get(provider.pictures3key);\n          setProviderPic(picresult);\n        }\n        setLocation(result.location ? result.location : \"No Location\");\n      } else {\n        logger.error(\"Token invalid or expired\");\n        window.location.href = \"/\";\n        return;\n      }\n    } catch (err) {\n      logger.error(\"*** an error occurred. The error was: \" + err.message);\n      window.location.href = \"/\";\n      return;\n    }\n  }\n\n  useEffect(() => {\n    console.log(\"Booking State Tip Page\");\n    console.log(booking);\n  }, [booking]);\n\n  function setTipInfo(percent) {\n    setTipPercent(percent);\n    setTipMsg(percent + \"% tip added for \");\n    setTipAmt(booking && (booking.servicetype.price * percent) / 100);\n  }\n\n  function handleClickOpt1() {\n    const percent = 15;\n    setTipInfo(percent);\n    setTipText(\"15\");\n  }\n\n  function handleClickOpt2() {\n    const percent = 20;\n    setTipInfo(percent);\n    setTipText(\"20\");\n  }\n\n  function handleClickOpt3() {\n    const percent = 25;\n    setTipInfo(percent);\n    setTipText(\"25\");\n  }\n\n  function handleClickNoTip() {\n    setTipMsg(\"No tip chosen for \");\n    setTipPercent(0);\n    setTipAmt(0);\n    setTipText(\"none\");\n  }\n\n  function handleCustomTip() {\n    setCustomTipModal(true);\n    setTipText(\"custom\");\n  }\n\n  function saveCustomTip() {\n    setTipAmt(customTipAmt);\n    setCustomTip(true);\n    //setTipMsg(\"Custom tip added for \");\n    //setCustomTipModal(false);\n  }\n\n  async function saveRating() {\n    let input = {\n      providerRatingsProviderId: provider.id,\n      providerId: provider.id,\n      ratingstars: rating,\n      ratingtext: review,\n      active: true,\n      ratinguserId: booking?.client?.user?.id\n        ? booking?.client?.user?.id\n        : user.id,\n      companyId: booking?.company?.id,\n    };\n    logger.debug(\"input:\" + input);\n    const newReview = await API.graphql(\n      graphqlOperation(mutations.createProviderRatings, { input })\n    );\n    logger.debug(\"New review created = \");\n    logger.debug(newReview);\n\n    //If rating is low, send low rating notification\n    if (rating < 3) {\n      //Poor or Very Bad rating.\n      await sendLowRatingEmailNotification(input);\n    }\n\n    // now recalcuate average stars\n    const result = await execReadByPK({\n      opname: \"providerRatingsByProvider\",\n      op: providerRatingsByProvider,\n      id: { providerId: provider.id },\n      filter: {\n        active: { eq: true },\n      },\n      sortDirection: \"DESC\",\n    });\n\n    let totalstars = 0,\n      avgstars = 0;\n\n    for (let i = 0; i < result.items.length; i++) {\n      totalstars += result.items[i].ratingstars;\n    }\n\n    avgstars = totalstars / result.items.length;\n\n    const numberofratings = !!provider.numberofratings\n      ? provider.numberofratings + 1\n      : 1;\n    // save avgstars\n    input = {\n      id: provider.id,\n      ratingstarsavg: avgstars,\n      numberofratings,\n      firstname: provider.firstname,\n      lastname: provider.lastname,\n      createdAt: provider.createdAt,\n    };\n\n    const newProvider = await API.graphql(\n      graphqlOperation(mutations.updateProvider, { input })\n    );\n\n    // Adding rating to the booking itself\n    const ratingInput = {\n      id: booking.id,\n      bookingRatingId: newReview.data.createProviderRatings.id,\n    };\n    const updateRatingResult = await API.graphql(\n      graphqlOperation(mutations.updateBooking, { input: ratingInput })\n    );\n  }\n\n  async function createAddCharge(billingDesc) {\n    const dateNow = new Date();\n    const options = { dateStyle: \"long\" };\n    const dateNowString =\n      dateNow.toLocaleDateString(\"en-US\", options) + // use en-US for now\n      \" \" +\n      dateNow.toLocaleTimeString();\n\n    let input = {\n      amount: tipAmt,\n      desc:\n        \"Tip for \" +\n        provider.firstname +\n        \" \" +\n        provider.lastname +\n        \". Tip processed on \" +\n        dateNowString,\n      note: billingDesc,\n      bookingId: booking.id,\n      orderId: booking.order.id,\n      additionalChargeOrderId: booking.order.id,\n      additionalChargeUserId: user.id,\n      additionalChargeCompanyId: booking.company.id,\n      companyId: booking.company.id,\n      additionalChargeClientId: booking.client.id,\n      clientId: booking.client.id,\n      additionalChargeCreatorId: booking.client.user.id,\n      creatorId: booking.client.user.id,\n    };\n\n    let result = await API.graphql(\n      graphqlOperation(mutations.createAdditionalCharge, { input })\n    );\n  }\n\n  async function updateBookingAddCharge() {\n    const totalAddChg = (booking.totalAddChg || 0) + Number.parseFloat(tipAmt);\n    const input = {\n      id: booking.id,\n      startdate: booking.startdate,\n      timeblockid: booking.timeblockid,\n      totalAddChg,\n    };\n    const result = await API.graphql(\n      graphqlOperation(mutations.updateBooking, { input })\n    );\n    logger.debug(\"totalAddChgResult = \" + JSON.stringify(result));\n  }\n\n  async function createBillingTransaction(billingDesc) {\n    let billingTransactionId = 0;\n\n    let input = {\n      billingTransactionClientId: booking.client.id,\n      clientId: booking.client.id,\n      amount: tipAmt,\n      billingTransactionCreatorId: booking.client.user.id,\n      creatorId: booking.client.user.id,\n      billingTransactionCompanyId: booking.company.id,\n      companyId: booking.company.id,\n      desc: billingDesc,\n      credit: false,\n    };\n    if (booking.order) {\n      input = {\n        ...input,\n        billingTransactionOrderId: booking.order.id,\n        orderId: booking.order.id,\n      };\n    }\n    let result = await API.graphql(\n      graphqlOperation(mutations.createBillingTransaction, { input })\n    );\n\n    if (result && result.data) {\n      // create stripe payment for tip\n      billingTransactionId = result.data.createBillingTransaction.id;\n    }\n\n    return billingTransactionId;\n  }\n\n  async function createStripePayment(billingDesc, billingTransactionId) {\n    const emailaddress =\n      booking.client.user && booking.client.user.emailaddress\n        ? booking.client.user.emailaddress\n        : \"stripe@gomarketbox.com\";\n\n    let currency = booking.order.currency;\n    if (!currency) currency = booking.company.currency;\n    //const currency = booking.company.currency.toString();\n\n    // charge via Stripe\n    const stripe_result = await chargeCreditCard(\n      booking.client.stripeCustomerId,\n      getStripeAmount(tipAmt), // tipAmt * 100, // stripe integer value includes cents\n      currency,\n      emailaddress,\n      false,\n      0,\n      booking.company.id,\n      booking.company.stripeAccount,\n      booking.company.stripeConnectEnabled\n    );\n    logger.debug(\"stripe_result = \");\n    logger.debug(stripe_result);\n\n    // save the data to the ClientCharge table\n    const dateNow = new Date();\n    const options = { dateStyle: \"long\" };\n    const dateNowString =\n      dateNow.toLocaleDateString(\"en-US\", options) + // use en-US for now\n      \" \" +\n      dateNow.toLocaleTimeString();\n    let input = {\n      clientId: booking.client.id,\n      clientChargeClientId: booking.client.id,\n      companyId: booking.company.id,\n      description: \"Client generated tip amount created on \" + dateNowString,\n      status: \"created\",\n      stripechargeid: stripe_result.charge.id,\n      stripepaymentmethod: stripe_result.charge.payment_method,\n      stripe_payment_method_details:\n        stripe_result.charge.stripe_payment_method_details,\n      balance_transaction: stripe_result.charge.balance_transaction,\n      stripe_refund_charge: stripe_result.charge.id,\n      stripe_status: stripe_result.charge.status,\n      clientChargeBillingtransactionId: billingTransactionId,\n      billingtransactionId: billingTransactionId,\n      amount: tipAmt,\n      amount_refunded: 0,\n      currency: currency,\n    };\n    if (booking.order) {\n      input = {\n        ...input,\n        clientChargeOrderId: booking.order.id,\n        orderId: booking.order.id,\n      };\n    }\n    let result = await API.graphql(\n      graphqlOperation(mutations.createClientCharge, { input })\n    );\n  }\n\n  async function sendLowRatingEmailNotification(input) {\n    //Getting company Admins\n    const companyAdminsList = await getCompanyAdmins(booking.company.id);\n    let companyAdminsEmailList = [];\n    for (let companyAdmin of companyAdminsList) {\n      companyAdminsEmailList.push(companyAdmin.emailaddress);\n    }\n    const companyAdmins = companyAdminsEmailList;\n\n    //Creating necessary values\n    const clientName =\n      booking.client.user.firstname +\n      \" \" +\n      booking.client.user.lastname.charAt(0) +\n      \".\";\n    const numStars = input.ratingstars;\n    const providerName = provider.firstname + \" \" + provider.lastname.charAt(0);\n    const serviceTypeName = booking.servicetype.name;\n\n    //Creating Data object\n    const dataObj = {\n      client_name: clientName,\n      num_stars: numStars,\n      provider_name: providerName,\n      servicetype_name: serviceTypeName,\n      isRegisteredUser: true,\n    };\n\n    //Send email\n    const result = await API.post(\n      \"sendtwilioemail\",\n      \"/sendtwilioemailtemplate\",\n      {\n        body: {\n          templateName: \"low-rating-notification.html\",\n          subject: `${numStars} Star Rating from ${clientName} for ${providerName}`,\n          body: null,\n          toAddresses: [provider.emailaddress],\n          ccAddresses: [],\n          bccAddresses: companyAdmins,\n          replyTo: booking.company.replyemailaddress,\n          companyName: booking.company.name,\n          companyId: booking.company.id,\n          company: booking.company,\n          dataObj: dataObj,\n          companyLogoUrl: booking.company.logoUrl,\n          companyColor: booking.company.primaryColor,\n          authSiteUrl: process.env.REACT_APP_AUTH_SITE_URL,\n        },\n      }\n    );\n    console.log(\"low rating notification email sent!\");\n  }\n\n  async function sendSMSPaymentNotification() {\n    const from = process.env.REACT_APP_TWILIO_SMS_SEND_NUMBER;\n    const to = booking.client.user.mobilephone;\n    //const email = booking.client.user.emailaddress;\n    const companyName = booking.company.name;\n    const companyEmail = booking.company.emailaddress;\n    const companyCode = booking.company.countrycode3166alpha2\n      ? \"en-\" + booking.company.countrycode3166alpha2.toUpperCase()\n      : \"en-CA\";\n    logger.debug(\"companycode = \" + companyCode);\n    const servicedesc = booking.desc;\n    let currency = booking.order.currency;\n    const encodedURIEmail = encodeURIComponent(companyEmail);\n    if (!currency) currency = booking.company.currency;\n    const total = tipAmt.toLocaleString(companyCode, {\n      style: \"currency\",\n      currency,\n      minimumFractionDigits: 2,\n    });\n\n    const msg =\n      \"Message from \" +\n      companyName +\n      \". A tip amount of \" +\n      total +\n      \" has been added to your service '\" +\n      servicedesc +\n      \"'. Thank you for your generosity. Please contact \" +\n      encodedURIEmail +\n      \" if this tip was made in error.\";\n    logger.debug(\"msg to = \" + to);\n    logger.debug(\"msg = \" + msg);\n    const smsresult = await sendSms(to, msg, getCountryCodeForSms());\n    logger.debug(\"smsresult = \" + JSON.stringify(smsresult));\n  }\n\n  async function sendProviderTipEmailNotification() {\n    const canProviderSeeClientName = jsonParse(\n      booking.company?.ProviderRestrictionConfig,\n      {}\n    )?.canProviderSeeClientName;\n    const companyAdminsList = await getCompanyAdmins(booking.company.id);\n    let companyAdminsEmailList = [];\n    for (let companyAdmin of companyAdminsList) {\n      companyAdminsEmailList.push(companyAdmin.emailaddress);\n    }\n    const companyAdmins = companyAdminsEmailList;\n\n    //Generating values to replace tokens\n    const companyCode = booking.company.countrycode3166alpha2\n      ? \"en-\" + booking.company.countrycode3166alpha2.toUpperCase()\n      : \"en-CA\";\n    let currency = booking.order.currency;\n    if (!currency) currency = booking.company.currency;\n    const total = tipAmt.toLocaleString(companyCode, {\n      style: \"currency\",\n      currency,\n      minimumFractionDigits: 2,\n    });\n    const clientName = canProviderSeeClientName\n      ? booking.client.user.firstname + \" \" + booking.client.user.lastname\n      : booking.client.user.firstname +\n        \" \" +\n        booking.client.user.lastname.charAt(0);\n\n    //Data object with [token] : value pairs\n    const dataObj = {\n      provider_firstname: provider.firstname,\n      dollars: total,\n      client_name: clientName,\n      company_name: booking.company.name,\n      isRegisteredUser: true,\n    };\n\n    console.log(\"asdf provider:\", provider);\n\n    //Send email\n    const result = await API.post(\n      \"sendtwilioemail\",\n      \"/sendtwilioemailtemplate\",\n      {\n        body: {\n          templateName: \"provider-tip-notification.html\",\n          subject: `You’ve just received a tip from ${clientName}`,\n          body: null,\n          toAddresses: [provider.emailaddress],\n          ccAddresses: [],\n          bccAddresses: companyAdmins,\n          replyTo: booking.company.replyemailaddress,\n          companyName: booking.company.name,\n          companyId: booking.company.id,\n          company: booking.company,\n          dataObj: dataObj,\n          companyLogoUrl: booking.company.logoUrl,\n          companyColor: booking.company.primaryColor,\n          authSiteUrl: process.env.REACT_APP_AUTH_SITE_URL,\n        },\n      }\n    );\n    console.log(\"asdf result\");\n  }\n\n  async function sendProviderTipSMSNotification() {\n    console.log(\"asdf booking info\", booking);\n    const from = process.env.REACT_APP_TWILIO_SMS_SEND_NUMBER;\n    const to = provider.phone;\n    const companyName = booking.company.name;\n    const companyCode = booking.company.countrycode3166alpha2\n      ? \"en-\" + booking.company.countrycode3166alpha2.toUpperCase()\n      : \"en-CA\";\n    let currency = booking.order.currency;\n    if (!currency) currency = booking.company.currency;\n    const total = tipAmt.toLocaleString(companyCode, {\n      style: \"currency\",\n      currency,\n      minimumFractionDigits: 2,\n    });\n    const clientName =\n      booking.client.firstname + \" \" + booking.client.lastname.charAt(0);\n\n    const msg =\n      \"Message from \" +\n      companyName +\n      \". You have received a tip of \" +\n      total +\n      \" from \" +\n      clientName +\n      \" for your service '\" +\n      serviceName +\n      \"'. Keep up the great work!\";\n    logger.debug(\"msg to = \" + to);\n    logger.debug(\"msg = \" + msg);\n    const smsresult = await sendSms(to, msg, getCountryCodeForSms());\n    logger.debug(\"smsresult = \" + JSON.stringify(smsresult));\n  }\n\n  function getCountryCodeForSms() {\n    if (booking.order.bookingAddress) {\n      let addr = JSON.parse(booking.order.bookingAddress);\n      return addr.countryCode;\n    } else {\n      return booking.company.countrycode3166alpha2;\n    }\n  }\n\n  const handleRatingTip = async (data) => {\n    // WE DO THE FOLLOWING:\n    // 1. Create rating entry\n    // 2. Create Additional Charge entry\n    // 3. Create Billing Transaction entry\n    // 4. Create Stripe payment\n    // 5. Create ClientCharge entry\n    // 6. Send SMS to client to notify of additional charge\n    // 7. Send Email to Provider and Admins of Tip\n\n    // if done, return to public site\n    /*if (done) {\n      window.location.href = \"/\";\n    }*/\n\n    if (!loading && !done) {\n      setLoading(true);\n    }\n\n    if (rating === 0) {\n      setSnackMsg(\n        \"Please enter a rating (number of stars) for \" + provider.firstname\n      );\n      setMsgOpen(true);\n      setLoading(false);\n      return;\n    }\n\n    try {\n      // save rating and re-calc stars\n      await saveRating();\n\n      const billingDesc =\n        \"Tip specified by customer for \" +\n        provider.firstname +\n        \" \" +\n        provider.lastname +\n        \". Service provided: \" +\n        serviceName +\n        \". Location: \" +\n        location +\n        \" on \" +\n        apptDate;\n\n      // create additional charge\n      if (tipAmt > 0) {\n        await createAddCharge(billingDesc);\n        await updateBookingAddCharge();\n        // create billing transaction\n        const billingTransactionId = await createBillingTransaction(\n          billingDesc\n        );\n\n        // create stripe payment\n        await createStripePayment(billingDesc, billingTransactionId);\n\n        // Send SMS to client to notify of additional charge\n        await sendSMSPaymentNotification();\n\n        //Send Email to provider that they received money\n        await sendProviderTipEmailNotification();\n        console.log(\"asdf sent correctly!\");\n        //Send SMS to provider that they received money\n        // (Inactive, twilio bills too high. Uncomment to activate - please test)\n        // await sendProviderTipSMSNotification();\n      }\n\n      let finalMsg;\n      if (tipAmt > 0) {\n        finalMsg =\n          \"The review and tip for \" +\n          provider.firstname +\n          \" have been processed. Thank you.\";\n      } else {\n        finalMsg =\n          \"The review for \" +\n          provider.firstname +\n          \" has been processed. Thank you.\";\n      }\n\n      // expire token\n      const input = {\n        id: tokenId,\n        expiryDate: new Date(),\n      };\n      await API.graphql(\n        graphqlOperation(mutations.updatePublicAccessToken, { input })\n      );\n\n      setSnackMsg(finalMsg);\n      setMsgOpen(true);\n      setDone(true);\n      window.location.href = \"/\";\n    } catch (err) {\n      logger.error(\"*** an error occurred. The error was: \" + err.message);\n      logger.error(err);\n      const errorresult = await logSystemError(\n        booking.company.id,\n        \"ERROR\",\n        \"Saving Rating and Tip on TipPage\",\n        0,\n        err\n      );\n      logger.debug(errorresult);\n      setSnackMsg(\n        `Unable to save rating ` +\n          `${tipAmt > 0 ? \"and tip\" : \"information.\"}\n          `\n      );\n      setMsgOpen(true);\n      setLoading(false);\n      return;\n    }\n  };\n\n  return (\n    <>\n      <Snackbar\n        anchorOrigin={{\n          vertical: \"top\",\n          horizontal: \"center\",\n        }}\n        open={msgOpen}\n        autoHideDuration={3000}\n        onClose={() => setMsgOpen(false)}\n        ContentProps={{\n          \"aria-describedby\": \"message-id\",\n        }}\n        message={<span id=\"message-id\">{snackMsg}</span>}\n      />\n      <MainNavBar company={props.company} />\n      {booking && (\n        <Container maxWidth=\"lg\" style={{ marginTop: \"115px\" }}>\n          {\n            //if provider exists\n            provider && (\n              /* Image, Name and Bio */\n              <Grid\n                container\n                direction=\"column\"\n                justifyContent=\"flex-start\"\n                rowSpacing={2}\n              ></Grid>\n            )\n          }\n\n          {/* Left Right Layout */}\n          <Grid container spacing={smallerWidthThanSixHundred ? 7 : 0}>\n            {/* Left Side */}\n            <Grid item sm={12} md={8}>\n              <Grid\n                container\n                item\n                md={12}\n                justifyContent=\"flex-start\"\n                direction=\"column\"\n              >\n                <Typography\n                  style={{\n                    marginTop: !smallerWidthThanSixHundred ? \"1.5rem\" : \"60px\",\n                    marginBottom: \"1rem\",\n                  }}\n                  variant=\"h3\"\n                >\n                  {`Leave a review for ${\n                    booking.provider.firstname\n                  } ${booking.provider.lastname.substring(0, 1)}. for ${\n                    serviceName ? serviceName : \"\"\n                  }`}\n                </Typography>\n                {/* <Typography variant=\"body1\">\n                  How satisfied were you with the service?\n                </Typography> */}\n              </Grid>\n\n              {/* Stars */}\n              <Grid\n                container\n                item\n                md={12}\n                justifyContent=\"flex-start\"\n                direction=\"row\"\n                alignItems={\"center\"}\n              >\n                <Rating\n                  style={{ color: props.selectedColor }}\n                  name=\"hover-side\"\n                  value={rating}\n                  onChangeActive={(event, newHover) => {\n                    setHover(newHover);\n                  }}\n                  onChange={(event, newValue) => {\n                    setRating(newValue);\n                  }}\n                  size=\"large\"\n                />\n                <Box ml={1} sx={{ marginTop: \"4px\" }}>\n                  {labels[hover !== -1 ? hover : rating]}\n                </Box>\n              </Grid>\n\n              {/* Textbox */}\n              <Grid\n                container\n                style={{ marginTop: \"1rem\" }}\n                item\n                md={12}\n                justifyContent=\"flex-start\"\n                direction=\"row\"\n              >\n                <TextField\n                  variant=\"outlined\"\n                  size=\"small\"\n                  style={{ width: \"100%\" }}\n                  id=\"outlined-multiline-static\"\n                  label=\"Review\"\n                  value={review}\n                  onChange={(event) => setReview(event.target.value)}\n                  InputProps={{ disableUnderline: true }}\n                  multiline\n                  rows=\"4\"\n                />\n              </Grid>\n\n              {localStorage.getItem(\"showTipOption\") !== \"false\" && (\n                /*Tip amount */\n                <Grid\n                  container\n                  item\n                  md={12}\n                  justifyContent=\"flex-start\"\n                  direction=\"column\"\n                >\n                  {provider && (\n                    <Typography\n                      style={{ marginTop: \"1rem\", marginBottom: \"1rem\" }}\n                      variant=\"body1\"\n                    >\n                      Add a tip for{\" \"}\n                      {`${provider.firstname} ${provider.lastname.substring(\n                        0,\n                        1\n                      )}.`}\n                    </Typography>\n                  )}\n\n                  <div\n                    style={{\n                      display: \"flex\",\n                      flexWrap: \"wrap\",\n                    }}\n                  >\n                    <div\n                      style={{\n                        display: \"flex\",\n                        flexWrap: \"nowrap\",\n                        gap: !smallerWidthThanSixHundred ? \"0.4rem\" : \"0.75rem\",\n                        width: !smallerWidthThanSixHundred ? \"100%\" : \"60%\",\n                      }}\n                    >\n                      <Chip\n                        variant={\n                          tipText && tipText === \"15\" ? \"filled\" : \"outlined\"\n                        }\n                        color=\"primary\"\n                        sx={{\n                          display: \"flex\",\n                          alignItems: \"center\",\n                          justifyContent: \"center\",\n                          /* flexGrow: 1, */\n                          cursor: \"pointer\",\n                          \"&.MuiChip-filled\": {\n                            background: props.selectedColor,\n                            borderWidth: \"1px\",\n                            borderStyle: \"solid\",\n                            borderColor: \"primary.main\",\n                          },\n                          \"&.MuiChip-outlined\": {\n                            borderColor: \"#808080\",\n                            color: \"#808080\",\n                          },\n                          fontFamily: \"Roboto\",\n                          fontSize: \"1rem\",\n                          width: \"23.5%\",\n                        }}\n                        onClick={handleClickOpt1}\n                        label={\"15%\"}\n                      />\n\n                      <Chip\n                        variant={\n                          tipText && tipText === \"20\" ? \"filled\" : \"outlined\"\n                        }\n                        color=\"primary\"\n                        sx={{\n                          width: \"23.5%\",\n\n                          display: \"flex\",\n                          alignItems: \"center\",\n                          justifyContent: \"center\",\n                          /* flexGrow: 1, */\n                          cursor: \"pointer\",\n                          \"&.MuiChip-filled\": {\n                            background: props.selectedColor,\n                            borderWidth: \"1px\",\n                            borderStyle: \"solid\",\n                            borderColor: \"primary.main\",\n                          },\n                          \"&.MuiChip-outlined\": {\n                            borderColor: \"#808080\",\n                            color: \"#808080\",\n                          },\n                          fontFamily: \"Roboto\",\n                          fontSize: \"1rem\",\n                        }}\n                        onClick={handleClickOpt2}\n                        label={\"20%\"}\n                      />\n\n                      <Chip\n                        variant={\n                          tipText && tipText === \"25\" ? \"filled\" : \"outlined\"\n                        }\n                        color=\"primary\"\n                        sx={{\n                          width: \"23.5%\",\n\n                          display: \"flex\",\n                          alignItems: \"center\",\n                          justifyContent: \"center\",\n                          /* flexGrow: 1, */\n                          cursor: \"pointer\",\n                          \"&.MuiChip-filled\": {\n                            background: props.selectedColor,\n                            borderWidth: \"1px\",\n                            borderStyle: \"solid\",\n                            borderColor: \"primary.main\",\n                          },\n                          \"&.MuiChip-outlined\": {\n                            borderColor: \"#808080\",\n                            color: \"#808080\",\n                          },\n                          fontFamily: \"Roboto\",\n                          fontSize: \"1rem\",\n                        }}\n                        onClick={handleClickOpt3}\n                        label={\"25%\"}\n                      />\n                      <Chip\n                        variant={\n                          tipText && tipText === \"custom\"\n                            ? \"filled\"\n                            : \"outlined\"\n                        }\n                        color=\"primary\"\n                        sx={{\n                          width: \"29.5%\",\n                          display: \"flex\",\n                          alignItems: \"center\",\n                          justifyContent: \"center\",\n                          cursor: \"pointer\",\n                          \"&.MuiChip-filled\": {\n                            background: props.selectedColor,\n                            borderWidth: \"1px\",\n                            borderStyle: \"solid\",\n                            borderColor: \"primary.main\",\n                          },\n                          \"&.MuiChip-outlined\": {\n                            borderColor: \"#808080\",\n                            color: \"#808080\",\n                          },\n\n                          fontFamily: \"Roboto\",\n                          fontSize: \"1rem\",\n                        }}\n                        onClick={handleCustomTip}\n                        label={\"Custom\"}\n                      />\n                    </div>\n                  </div>\n\n                  {tipText && tipText === \"custom\" && (\n                    <TextField\n                      sx={{\n                        marginTop: \"1.5rem\",\n                        width: !smallerWidthThanSixHundred ? \"100%\" : \"300px\",\n                        //maxWidth: \"300px\"\n                      }}\n                      variant=\"outlined\"\n                      size=\"small\"\n                      type=\"number\"\n                      id=\"amount\"\n                      label=\"Custom amount\"\n                      InputProps={{\n                        disableUnderline: true,\n                        startAdornment: booking && (\n                          <InputAdornment position=\"start\">\n                            <strong>\n                              {getCurrencySymbolByCompany(booking.company)}\n                            </strong>\n                          </InputAdornment>\n                        ),\n                      }}\n                      value={tipAmt}\n                      onChange={(event) => {\n                        setTipAmt(event.target.value);\n                        //saveCustomTip();\n                      }}\n                    />\n                  )}\n                </Grid>\n              )}\n\n              <Grid\n                container\n                item\n                md={12}\n                justifyContent=\"flex-start\"\n                direction=\"column\"\n              >\n                {provider && (\n                  <Button\n                    style={{\n                      marginTop: \"1.5rem\",\n                      width: !smallerWidthThanSixHundred ? \"100%\" : \"300px\",\n                      //maxWidth: \"300px\"\n                    }}\n                    variant=\"contained\"\n                    onClick={handleRatingTip}\n                    disabled={loading || !rating}\n                  >\n                    {/* `Rate ${\" \"}${\n                      provider.firstname\n                    } ${provider.lastname.substring(0, 1)}.` */}\n                    {loading ? (\n                      <CircularProgress size={12} sx={{ color: \"#fff\" }} />\n                    ) : (\n                      `Submit Review`\n                    )}\n                  </Button>\n                )}\n              </Grid>\n            </Grid>\n          </Grid>\n        </Container>\n      )}\n    </>\n  );\n};\n","export default __webpack_public_path__ + \"static/media/MBLogo.289e8153.svg\";","import {\n  Box,\n  Button,\n  FormControl,\n  TextField,\n  Typography,\n  useMediaQuery,\n} from \"@mui/material\";\nimport React, { useEffect, useState } from \"react\";\nimport MainNavBar from \"../components/MainNavbar\";\nimport { withRouter } from \"react-router-dom\";\nimport Auth from \"@aws-amplify/auth\";\nconst text_field_style = { width: \"100%\", maxWidth: \"300px\" };\n\nfunction Forgot(props) {\n  const [stage, setStage] = useState(1);\n  const [email, setEmail] = useState(\"\");\n  const [confirmationCode, setConfirmationCode] = useState(\"\");\n  const [pasw, setPasw] = useState(\"\");\n  const [errorMsg, setErrorMsg] = useState();\n  const [error, setError] = useState();\n  const smallerScreen = useMediaQuery(\"(min-width:600px)\");\n\n  useEffect(() => {\n    if (\n      props.location.state &&\n      props.location.state.stage &&\n      props.location.state.email\n    ) {\n      setStage(props.location.state.stage);\n      setEmail(props.location.state.email);\n    }\n  });\n\n  async function sendCode() {\n    if (email) {\n      try {\n        await forgotPassword();\n      } catch (err) {\n        console.log(\"error whole forgotpassword\");\n        console.log(err);\n        setErrorMsg(err.message);\n      }\n    } else {\n      setErrorMsg(\"Please enter a valid email address\");\n    }\n  }\n  const forgotPassword = async () => {\n    Auth.forgotPassword(email)\n      .then((data) => {\n        console.log(data);\n        setStage(2);\n      })\n      .catch((err) => setErrorMsg(err.message));\n  };\n\n  const resetPassword = async () => {\n    Auth.forgotPasswordSubmit(email, confirmationCode, pasw)\n      .then((data) => {\n        console.log(\"resetPassword response\", data);\n        props.history.push(\"/login\", {\n          fromPath: props.location.state.fromPath,\n        });\n      })\n      .catch((err) => {\n        console.log(\"resetPassword error\", err);\n      });\n  };\n\n  return (\n    <div>\n      <MainNavBar\n        company={props.company}\n        user={null}\n        guestUser={true}\n        signOutOp={props.signOutOp}\n        currentPath={props.location.pathname}\n        banner={false}\n        publicsitesettings={props.publicsitesettings}\n      />\n      <div\n        style={{\n          width: \"100%\",\n          display: \"flex\",\n          alignItems: \"center\",\n          flexDirection: \"column\",\n          gap: \"1rem\",\n          marginTop: \"115px\",\n          padding: \"0 1rem\",\n        }}\n      >\n        <Typography variant=\"h4\" sx={{ textAlign: \"center\" }}>\n          {`Reset your password`}\n        </Typography>\n        {stage === 1 && (\n          <Typography variant=\"body2\" sx={{ textAlign: \"center\" }}>\n            {`Please enter your email address to receive the confirmation code.`}\n          </Typography>\n        )}\n        {stage === 2 && (\n          <Typography variant=\"body2\" sx={{ textAlign: \"center\" }}>\n            {`Please enter your confirmation code and new password.`}\n          </Typography>\n        )}\n        {errorMsg && (\n          <Box\n            style={{\n              width: \"100%\",\n              display: \"flex\",\n              flexDirection: \"column\",\n              alignItems: \"center\",\n              gap: \"0.5rem\",\n              marginBottom: \"1rem\",\n            }}\n          >\n            <Typography variant=\"body2\" style={{ color: \"red\" }}>\n              {errorMsg}\n            </Typography>\n          </Box>\n        )}\n        {stage === 2 ? (\n          <>\n            <TextField\n              sx={{\n                ...text_field_style,\n                maxWidth: !smallerScreen ? \"unset\" : \"300px\",\n              }}\n              InputProps={{ disableUnderline: true }}\n              variant=\"outlined\"\n              size=\"small\"\n              id=\"userenteredinfo\"\n              label=\"Confirmation code\"\n              value={confirmationCode ? confirmationCode : \"\"}\n              onChange={(e) => setConfirmationCode(e.target.value)}\n            />\n            <Box\n              sx={{\n                display: \"flex\",\n                flexDirection: \"column\",\n\n                gap: \"1rem\",\n                width: \"100%\",\n              }}\n            >\n              <TextField\n                sx={{\n                  ...text_field_style,\n                  alignSelf: \"center\",\n                  maxWidth: !smallerScreen ? \"unset\" : \"300px\",\n                }}\n                type=\"password\"\n                InputProps={{ disableUnderline: true }}\n                variant=\"outlined\"\n                size=\"small\"\n                id=\"password\"\n                label=\"Password\"\n                value={pasw}\n                onChange={(e) => setPasw(e.target.value)}\n              />\n            </Box>\n\n            <Button\n              variant=\"contained\"\n              sx={{\n                ...text_field_style,\n                maxWidth: !smallerScreen ? \"unset\" : \"300px\",\n              }}\n              onClick={resetPassword}\n              disabled={\n                confirmationCode.trim().length === 0 || pasw.trim().length === 0\n              }\n            >\n              Reset password\n            </Button>\n          </>\n        ) : (\n          <>\n            <TextField\n              sx={{\n                ...text_field_style,\n                maxWidth: !smallerScreen ? \"unset\" : \"300px\",\n              }}\n              InputProps={{ disableUnderline: true }}\n              variant=\"outlined\"\n              size=\"small\"\n              id=\"email\"\n              label=\"Email\"\n              value={email}\n              onChange={(e) => {\n                let ev = e.target.value;\n                ev = ev.trim().toLowerCase();\n                setEmail(ev);\n                if (errorMsg) setErrorMsg();\n              }}\n            />\n            <Button\n              variant=\"contained\"\n              sx={{\n                ...text_field_style,\n                maxWidth: !smallerScreen ? \"unset\" : \"300px\",\n              }}\n              onClick={sendCode}\n              disabled={email.trim().length === 0}\n            >\n              Send code\n            </Button>\n          </>\n        )}\n      </div>\n    </div>\n  );\n}\n\nexport default withRouter(Forgot);\n","import API, { graphqlOperation } from \"@aws-amplify/api\";\nimport * as queries from \"../graphql/queries\";\n\nconst initializeGTM = (gtmId) => {\n  const gtmScript = document.createElement(\"script\");\n  gtmScript.innerHTML = `\n    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\n    new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\n    j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=\n    'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\n    })(window,document,'script','dataLayer','${gtmId}');\n  `;\n  document.head.appendChild(gtmScript);\n};\n\nconst fetchGTMIds = async (companyId) => {\n  try {\n    const result = await API.graphql(\n      graphqlOperation(queries.getRefData, {\n        refType: `integration|${companyId}`,\n        refName: \"data-integration\",\n      })\n    );\n    let hookIds = null;\n\n    if (result.data.getRefData) {\n      let overrideValue = JSON.parse(result.data.getRefData.overrideValue);\n\n      //check to see if a hook with the hookName exists\n      if (overrideValue.hooks && overrideValue.hooks[\"google-tag-manager\"]) {\n        let hooks = overrideValue.hooks[\"google-tag-manager\"];\n        hookIds = hooks.map((hook) => hook.id);\n      }\n    }\n    return hookIds;\n  } catch (e) {\n    console.log(\"Error: unable to fetchGTMId for companyId \", companyId);\n  }\n};\n\nexport { initializeGTM, fetchGTMIds };\n","export default __webpack_public_path__ + \"static/media/WarningTriangleIcon.e50952e9.svg\";","import WarningTriangleIcon from \"../images/WarningTriangleIcon.svg\";\nimport { Box, Dialog, DialogTitle, DialogContent } from \"@mui/material\";\n\nconst MaintenanceDialog = () => {\n  return (\n    <>\n      <Dialog open={true} headingIcon={WarningTriangleIcon}>\n        <DialogTitle\n          sx={{\n            fontSize: \"1.5rem\",\n            fontWeight: \"500\",\n            display: \"flex\",\n            alignItems: \"center\",\n            gap: \"8px\",\n          }}\n        >\n          <img\n            src={WarningTriangleIcon}\n            alt=\"Warning Triangle Icon\"\n            style={{ height: \"24px\", width: \"24px\" }}\n          />\n          Ongoing maintenance\n        </DialogTitle>\n        <DialogContent\n          sx={{ display: \"flex\", flexDirection: \"column\", gap: \"18px\" }}\n        >\n          <Box>SCHEDULED MAINTENANCE IN PROGRESS</Box>\n          <Box>\n            Our system will be temporarily unavailable on Tuesday, September 24,\n            while we perform planned system maintenance\n          </Box>\n        </DialogContent>\n      </Dialog>\n    </>\n  );\n};\n\nexport default MaintenanceDialog;\n","import React, {\n  useState,\n  useEffect,\n  useContext,\n  Suspense,\n  lazy,\n  useRef,\n} from \"react\";\nimport { Logger } from \"@aws-amplify/core\";\nimport API, { graphqlOperation } from \"@aws-amplify/api\";\nimport Auth from \"@aws-amplify/auth\";\nimport { StoreContext } from \"./context/StoreContext\";\nimport {\n  Router,\n  Route,\n  withRouter,\n  Redirect,\n  useLocation,\n} from \"react-router-dom\";\nimport { createBrowserHistory } from \"history\";\nimport \"./App.css\";\nimport { Helmet } from \"react-helmet\";\nimport {\n  publicsiteByCompany,\n  companyBySubdomain,\n  companyLocationByCompany,\n} from \"./graphql/queries\";\nimport {\n  servicesOfCompany,\n  skillByCompany,\n} from \"./queries/ListBookingsQueries\";\nimport { parse } from \"query-string\";\nimport { ThemeProvider, StyledEngineProvider } from \"@mui/material/styles\";\nimport { createTheme } from \"@mui/material/styles\";\nimport SignIn from \"./auth/SignIn\";\nimport SignUp from \"./auth/SignUp\";\nimport Logout from \"./auth/Logout\";\nimport { TipPage } from \"./components/tip/TipPage\";\nimport * as Sentry from \"@sentry/react\";\nimport { Integrations } from \"@sentry/tracing\";\nimport { Typography } from \"@mui/material\";\nimport mbLogo from \"../src/images/MBLogo.svg\";\nimport \"typeface-roboto\";\nimport \"typeface-raleway\";\nimport { buildMainTheme } from \"./styles/PublicSiteStyles\";\nimport Forgot from \"./auth/Forgot\";\nimport { fetchGTMIds, initializeGTM } from \"./modules/GoogleTagManager\";\nimport { checkCompanyHasTosFile } from \"./utils/Common/Template\";\nimport MaintenanceDialog from \"./components/MaintenanceDialog\";\nimport { SENTRY_POPUP_ENV } from \"./utils/Constants\";\nimport { useAtom } from \"jotai\";\nimport {\n  allActiveServicesAtom,\n  allPublicServicesAtom,\n  allServicesAtom,\n  selectedProviderAtom,\n  selectedProviderServicesAtom,\n} from \"./atoms/atoms\";\nSentry.init({\n  dsn: \"https://058cfe0ab69349feb230ca4b204f17e4@o435799.ingest.sentry.io/5428728\",\n  beforeSend(event, hint) {\n    // Check if it is an exception, and if so, show the report dialog\n    if (\n      process.env.REACT_APP_SENTRY_ENVT === SENTRY_POPUP_ENV &&\n      event.exception\n    ) {\n      Sentry.showReportDialog({\n        eventId: event.event_id,\n        labelComments:\n          \"What happened? Please tell us the steps that caused the issue.\",\n        subtitle2:\n          \"Please tell us the steps that you took that caused the issue. This will help us fix the problem. Thank you.\",\n      });\n    }\n    return event;\n  },\n  environment: process.env.REACT_APP_SENTRY_ENVT,\n  integrations: [new Integrations.BrowserTracing()],\n  release: \"marketbox-public-site@\" + process.env.npm_package_version,\n  tracesSampleRate: 1.0, // lower this in prod between 0 to 1\n});\n\nconst SelectService = lazy(() =>\n  import(\"./components/booking/SelectService\").catch((e) =>\n    window.location.reload()\n  )\n);\nconst ProviderPermalink = lazy(() =>\n  import(\"./components/ProviderPermalink\").catch((e) =>\n    window.location.reload()\n  )\n);\nconst ProviderDirectory = lazy(() =>\n  import(\"./components/booking/ProviderDirectory\").catch((e) =>\n    window.location.reload()\n  )\n);\nconst Provider = lazy(() =>\n  import(\"./components/booking/Provider\").catch((e) => window.location.reload())\n);\n\nconst ChooseTimeslot = lazy(() =>\n  import(\"./components/booking/ChooseTimeslot\").catch((e) =>\n    window.location.reload()\n  )\n);\nconst AutoSelectProviderTimeSlot = lazy(() =>\n  import(\"./components/booking/AutoSelectProviderTimeSlot\").catch((e) =>\n    window.location.reload()\n  )\n);\nconst ConfirmAppointmentDetail = lazy(() =>\n  import(\"./components/booking/ConfirmAppointmentDetails\").catch((e) =>\n    window.location.reload()\n  )\n);\nconst OrderPayment = lazy(() =>\n  import(\"./components/booking/OrderPayment\").catch((e) =>\n    window.location.reload()\n  )\n);\nconst ConfirmOrder = lazy(() =>\n  import(\"./components/booking/ConfirmOrder\").catch((e) =>\n    window.location.reload()\n  )\n);\nconst ChoosePackage = lazy(() =>\n  import(\"./components/booking/ChoosePackage\").catch((e) =>\n    window.location.reload()\n  )\n);\nconst BookingComplete = lazy(() =>\n  import(\"./components/booking/BookingComplete\").catch((e) =>\n    window.location.reload()\n  )\n);\nconst NotFound = lazy(() =>\n  import(\"./components/NotFound\").catch((e) => window.location.reload())\n);\nconst PageNotFound = lazy(() =>\n  import(\"./components/PageNotFound\").catch((e) => window.location.reload())\n);\nconst MsgTest = lazy(() =>\n  import(\"./components/booking/MsgTest\").catch((e) => window.location.reload())\n);\nconst ContactPage = lazy(() =>\n  import(\"./components/booking/ContactPage\").catch((e) =>\n    window.location.reload()\n  )\n);\nconst logger = new Logger(\"App\");\nlet params;\nconst limit = process.env.REACT_APP_LISTLIMIT; // global setting for list limits\n\n// set default theme\nconst defaultButtonColor = \"#ff4400\";\nconst defaultButtonTextColor = \"white\";\nlet buttonColor = localStorage.getItem(\"buttonColor\") || defaultButtonColor;\nlet buttonTextColor =\n  localStorage.getItem(\"buttonTextColor\") || defaultButtonTextColor;\n\nlet theme = createTheme({\n  palette: {\n    primary: {\n      main: buttonColor,\n    },\n  },\n});\n\nexport const history = createBrowserHistory();\nexport const UserContext = React.createContext();\n\nfunction App(props) {\n  const [user, setUser] = useState();\n  const [guestUser, setGuestUser] = useState();\n  const [guestCheckout, setGuestCheckout] = useState(false);\n  const [userAttributes, setAttributes] = useState({});\n  const [companyId, setCompanyId] = useState(\"\");\n  const [company, setCompany] = useState();\n  const [companyLocations, setCompanyLocations] = useState();\n  const [skills, setSkills] = useState();\n  const [publicSiteSettings, setPublicSiteSettings] = useState();\n  const { state, actions } = useContext(StoreContext);\n  const [serviceLoading, setServiceLoading] = useState(true);\n  const [loading, setLoading] = useState(false);\n  const [landingPage, setLandingPage] = useState(false);\n  const [loggedOut, setLoggedOut] = useState(false);\n  const currentPath = \"/\";\n  const [showLoader, setShowLoader] = useState(true);\n  const [selectedColor, setSelectedColor] = useState(null);\n  const [provAgnoFlow, setProvAgnoFlow] = useState(false);\n  const [defaultCountry, setDefaultCountry] = useState();\n  let pathingInfo = {\n    currentPathname: null,\n    currentSearch: null,\n    message: \"Please use the Previous and Next buttons to navigate.\",\n    openMessage: false,\n  };\n  const [allServices, setAllServices] = useAtom(allServicesAtom);\n  const [allActiveServices] = useAtom(allActiveServicesAtom);\n\n  // return new theme, set primary color only for now\n  const fetchSkillsData = async (compId) => {\n    const response = await API.graphql(\n      graphqlOperation(skillByCompany, {\n        companyId: compId,\n        filter: {\n          and: [{ active: { ne: false } }, { deleted: { ne: true } }],\n        },\n        limit,\n      })\n    );\n    const result = await response.data.skillByCompany.items;\n    setSkills(result);\n  };\n\n  const fetchServiceTypeData = async (compId) => {\n    const filter = {\n      and: [\n        { active: { ne: false } },\n        { deleted: { ne: true } },\n        { isVisible: { ne: false } },\n      ],\n    };\n    const response = await API.graphql(\n      graphqlOperation(servicesOfCompany, {\n        companyId: compId,\n        filter,\n        limit,\n      })\n    );\n    const result = await response.data.serviceTypeByCompany.items;\n\n    setAllServices(sortByOrdinal(result));\n    setServiceLoading(false);\n  };\n\n  const fetchCompanyLocations = async (companyId, offersRemoteServices) => {\n    const filter = {\n      and: [{ active: { ne: false } }, { deleted: { ne: true } }],\n    };\n\n    const response = await API.graphql(\n      graphqlOperation(companyLocationByCompany, {\n        companyId,\n        filter,\n        limit,\n      })\n    );\n    let result = await response.data.companyLocationByCompany.items;\n    // add \"My Address to the beginning of the array\"\n    if (offersRemoteServices) {\n      result.unshift({\n        id: \"0\",\n        locationname: \"My location\",\n      });\n    }\n    setCompanyLocations(result);\n  };\n\n  const fetchCompanyPublicSettings = async (compId) => {\n    let primaryColor = \"\";\n    const response = await API.graphql(\n      graphqlOperation(publicsiteByCompany, { companyId: compId })\n    );\n    let [settings] = response.data.publicsiteByCompany.items;\n    let styleCustomization;\n    if (\n      settings?.StyleCustomization &&\n      settings.StyleCustomization.length > 0\n    ) {\n      styleCustomization = JSON.parse(settings.StyleCustomization);\n      setPublicSiteSettings({\n        ...settings,\n        StyleCustomization: styleCustomization,\n      });\n    } else {\n      styleCustomization = {\n        bookingFlowCustomizations: {\n          showHeader: true,\n          backgroundColor: publicSiteSettings.buttonColor,\n          opacity: 0.2,\n          circularLogo: false,\n          showHeadings: true,\n          showLogo: true,\n          fontTypeForAllHeading: \"Raleway\",\n          mainHeading: company?.name\n            ? company.name\n            : \"Please set Heading 1 in company public settings\",\n          mandatoryNotes: false,\n          checkoutOption: \"ACCOUNT_OR_GUEST\",\n        },\n      };\n      setPublicSiteSettings({\n        ...settings,\n        StyleCustomization: styleCustomization,\n      });\n    }\n\n    localStorage.setItem(\"backgroundImgUrl\", settings.backgroundImageUrl);\n    localStorage.setItem(\"buttonColor\", settings.buttonColor);\n    localStorage.setItem(\"heading1Text\", settings.heading1Text);\n    localStorage.setItem(\"heading2Text\", settings.heading2Text);\n    localStorage.setItem(\"textColor\", settings.textColor);\n    localStorage.setItem(\n      \"buttonTextColor\",\n      styleCustomization?.bookingFlowCustomizations?.buttonTextColor ||\n        defaultButtonTextColor\n    );\n\n    if (\n      styleCustomization?.tipPageCustomizations?.showTipOption !== undefined\n    ) {\n      localStorage.setItem(\n        \"showTipOption\",\n        styleCustomization?.tipPageCustomizations.showTipOption\n      );\n    }\n    theme = buildMainTheme(\n      settings.buttonColor.trim(),\n      buttonTextColor,\n      settings?.textColor?.trim()\n    );\n    setSelectedColor(settings.buttonColor.trim());\n    primaryColor = settings.buttonColor;\n    primaryColor = primaryColor.trim(); // trim in case space added.\n    setSelectedColor(primaryColor);\n  };\n\n  useEffect(() => {\n    // get companyId passed in query string\n    if (props && props.location && props.location.search) {\n      params = parse(props.location.search);\n      logger.debug(\"page = \" + params.p); // \"tippage\"\n      if (params.p && params.p !== \"\") {\n        setLandingPage(true);\n      }\n    }\n\n    async function doFetch() {\n      await init();\n    }\n    doFetch();\n  }, [selectedColor]);\n\n  useEffect(() => {\n    async function doFetch() {\n      setLoggedOut(false);\n      history.push(\"/\");\n      window.location.reload();\n    }\n    if (loggedOut) doFetch();\n  }, [loggedOut]);\n\n  function hideLoader() {\n    const el = document.querySelector(\".loader-container\");\n    if (el) {\n      el.remove();\n      setShowLoader(!showLoader);\n    }\n  }\n\n  const historyListening = useRef(false);\n  if (!historyListening.current) {\n    historyListening.current = true;\n    history.listen((newLocation, action) => {\n      try {\n        if (backPathingEnabled(newLocation)) {\n          //In the case the backpathing should be enabled, return and do nothing.\n          return;\n        }\n\n        if (action === \"PUSH\") {\n          if (\n            newLocation.pathname !== pathingInfo.currentPathname ||\n            newLocation.search !== pathingInfo.currentSearch\n          ) {\n            pathingInfo.openMessage = false;\n            state.bookingState.seenConfirmOrder = false;\n            state.bookingState.seenOrderPayment = false;\n            state.bookingState.seenBookingComplete = false;\n            // Save new location\n            pathingInfo.currentPathname = newLocation.pathname;\n            pathingInfo.currentSearch = newLocation.search;\n            // Clone location object and push it to history\n            history.push({\n              pathname: newLocation.pathname,\n              search: newLocation.search,\n            });\n          }\n        } else {\n          // Send user back if they try to navigate back\n          pathingInfo.openMessage = true;\n          history.go(1);\n        }\n      } catch (e) {\n        console.log(\"history listen error\", e);\n      }\n    });\n  }\n\n  function backPathingEnabled(path) {\n    if (\n      path === \"/\" ||\n      path === \"/logout\" ||\n      path === \"/login\" ||\n      path === \"/notfound\" ||\n      path === \"/msgtest\" ||\n      path === \"/service\"\n    ) {\n      return true;\n    } else {\n      return false;\n    }\n  }\n\n  async function init() {\n    setLoading(false);\n    state.bookingState = {};\n    // log in as guest if not authenticated\n    await SignInAsGuest();\n    const { compId, company } = await getCompanyFromDomain();\n    const { offersRemoteServices } = company;\n    if ((company && company.active === false) || !company) {\n      history.push(\"/notfound\");\n      setLoading(true);\n      hideLoader();\n      return;\n    }\n\n    //Append MarketBox GTMId\n    initializeGTM(process.env.REACT_APP_MB_GTM_ID);\n\n    //route user to maintenance dialog if maintenance flag is ON\n    if (process.env.REACT_APP_FF_ONGOING_MAINTENANCE === \"true\") {\n      history.push(\"/maintenance\");\n    }\n\n    const [, , , , gtmIds] = await Promise.all([\n      fetchServiceTypeData(compId),\n      fetchSkillsData(compId),\n      fetchCompanyLocations(compId, offersRemoteServices),\n      fetchCompanyPublicSettings(compId),\n      fetchGTMIds(compId),\n    ]);\n\n    if (gtmIds && Array.isArray(gtmIds) && gtmIds.length > 0) {\n      initializeGTM(gtmIds[0]); //for now we will only embed one ID\n    }\n\n    setCompanyId(compId);\n    state.bookingState.company = company;\n    state.bookingState.companyId = compId;\n\n    //check if company has a Tos and set 'hasTos' in bookingState\n    const hasTos = await checkCompanyHasTosFile(compId);\n    actions.setBookingState({\n      ...state.bookingState,\n      hasTos: hasTos,\n    });\n\n    setLoading(true);\n    hideLoader();\n  }\n\n  function sortByOrdinal(services) {\n    if (services) {\n      return services.sort((s1, s2) => {\n        if (s1.category.ordinal > s2.category.ordinal) return 1;\n        if (s1.category.ordinal < s2.category.ordinal) return -1;\n        if (s1.category.id === s2.category.id) {\n          if (s1.ordinal > s2.ordinal) return 1;\n          if (s1.ordinal < s2.ordinal) return -1;\n          return 0;\n        }\n        return 0;\n      });\n    }\n    return [];\n  }\n\n  async function SignInAsGuest() {\n    let userAuthenticated = false;\n    let user = null;\n    try {\n      // check if user signed in\n      try {\n        const authenticatedUser = await Auth.currentAuthenticatedUser({\n          bypassCache: true,\n        });\n        if (\n          authenticatedUser &&\n          authenticatedUser.signInUserSession &&\n          authenticatedUser.signInUserSession.idToken &&\n          authenticatedUser.signInUserSession.idToken.payload\n        ) {\n          let groups =\n            authenticatedUser.signInUserSession.idToken.payload[\n              \"cognito:groups\"\n            ];\n          if (groups && groups.length) {\n            setUser(authenticatedUser);\n            setAttributes(authenticatedUser.attributes);\n            if (\n              authenticatedUser.attributes.email ===\n              process.env.REACT_APP_MB_GUEST_EMAIL\n            )\n              setGuestUser(true);\n            else setGuestUser(false);\n            userAuthenticated = true;\n            state.bookingState.user = authenticatedUser;\n          }\n        }\n      } catch (e) {\n        console.log(\"user not found\", e.code);\n      }\n\n      if (!userAuthenticated) {\n        const user = await Auth.signIn(\n          process.env.REACT_APP_MB_GUEST_EMAIL,\n          process.env.REACT_APP_MB_GUEST_PWD\n        );\n        setUser(user);\n        setAttributes(user.attributes);\n        setGuestUser(true);\n\n        state.bookingState.user = user;\n      }\n    } catch (err) {\n      if (err.code === \"UserNotConfirmedException\") {\n        // The error happens if the user didn't finish the confirmation step when signing up\n        // In this case you need to resend the code and confirm the user\n        // About how to resend the code and confirm the user, please check the signUp part\n      } else if (err.code === \"PasswordResetRequiredException\") {\n        // The error happens when the password is reset in the Cognito console\n        // In this case you need to call forgotPassword to reset the password\n        // Please check the Forgot Password part.\n      } else if (err.code === \"NotAuthorizedException\") {\n        // The error happens when the incorrect password is provided\n      } else if (err.code === \"UserNotFoundException\") {\n        // The error happens when the supplied username/email does not exist in the Cognito user pool\n      } else {\n        logger.debug(\n          \"An error occurred attempting to login. Error was: \" +\n            JSON.stringify(err)\n        );\n      }\n    }\n  }\n\n  const updateCurrentUser = (u) => {\n    state.bookingState.user = u;\n    state.bookingState.bookingUser = u;\n    actions.setBookingState(state.bookingState);\n    setUser(u);\n    setGuestUser(false);\n  };\n\n  const setBookingUserInState = (guest_mbuser) => {\n    state.bookingState.bookingUser = guest_mbuser;\n    state.bookingState.guestCheckout = true;\n    setGuestCheckout(true);\n  };\n\n  const signOutOp = async () => {\n    history.push(\"/logout\");\n  };\n\n  const setClientInfoInBookingState = (clientInfoObj) => {\n    state.bookingState.isNewClient = clientInfoObj.isNewClient;\n    state.bookingState.client = clientInfoObj.client;\n    actions.setBookingState(state.bookingState);\n  };\n\n  const setClientPackagesInBookingState = (clientPackages) => {\n    state.bookingState.clientExistingPackages = clientPackages;\n    actions.setBookingState(state.bookingState);\n  };\n\n  const getCompanyFromDomain = async () => {\n    // enter domain here\n    //frasiercrane-dev.gomarketbox.com\n    let domain = window.location.hostname;\n    //\"justkeepswimming.gomarketbox.com\";\n    //let domain = \"frasiercrane-dev.gomarketbox.com\"; //\"theebigrelease.gomarketbox.com\"; //frasiercrane-dev.gomarketbox.com\";\n    let compId = \"\";\n    let company = {};\n    // fix to work for localhost\n    if (domain === \"localhost\") {\n      //domain = \"gaming-dev.gomarketbox.com\";\n      domain = \"frasiercrane.gomarketbox.com\";\n      //domain = \"programmersyounite.gomarketbox.com\";\n      // domain = \"jccs-devm.gomarketbox.com\";\n      // domain = \"april21.gomarketbox.com\";\n    }\n\n    const response = await API.graphql(\n      graphqlOperation(companyBySubdomain, {\n        subdomain: domain,\n      })\n    );\n    if (\n      response.data.companyBySubdomain.items &&\n      response.data.companyBySubdomain.items.length === 1\n    ) {\n      compId = response.data.companyBySubdomain.items[0].id;\n      company = response.data.companyBySubdomain.items[0];\n      setCompany(company);\n      setCompanyId(compId);\n      providerAgnosticFlow(company);\n      setDefaultCountry(company.countrycode3166alpha2 || \"ca\");\n      localStorage.setItem(\"companyId\", compId);\n      localStorage.setItem(\"company\", JSON.stringify(company));\n    } else {\n      logger.error(\n        \"*** ERROR ***: Unable to find a company for subdomain: \" + domain\n      );\n    }\n    return { compId, company };\n  };\n\n  function providerAgnosticFlow(comp) {\n    if (comp.ProvAgnoFlowConfig) {\n      const ProvAgnoFlowConfig = JSON.parse(comp.ProvAgnoFlowConfig);\n      setProvAgnoFlow(ProvAgnoFlowConfig.isEnabled);\n    }\n  }\n\n  function getCompanyTagline() {\n    let tagline;\n    if (company && company?.tagline?.length <= 0) {\n      tagline = company.name;\n    } else {\n      tagline = company.tagline;\n    }\n    return tagline;\n  }\n\n  if (showLoader) {\n    return null;\n  }\n\n  function FallbackComponent() {\n    return (\n      <div>\n        We are sorry but an error has occurred. Don't worry, our development\n        team has already been notified and will be denied dessert tonight.\n      </div>\n    );\n  }\n\n  const myFallbackComponent = <FallbackComponent />;\n\n  return (\n    <>\n      <Sentry.ErrorBoundary fallback={myFallbackComponent} showDialog>\n        <StyledEngineProvider injectFirst>\n          <ThemeProvider theme={theme}>\n            <UserContext.Provider\n              value={{ user, userAttributes, guestUser, guestCheckout }}\n            >\n              <div id=\"main-content\" style={{ minHeight: \"90vh\" }}>\n                <Helmet>\n                  <title>\n                    {company && company.active !== false\n                      ? getCompanyTagline()\n                      : \"Company Not Found\"}\n                  </title>\n                </Helmet>\n                <Router history={history}>\n                  <Route\n                    path=\"/maintenance\"\n                    component={() => {\n                      return loading ? (\n                        <div>\n                          <Suspense fallback={<div></div>}>\n                            {process.env.REACT_APP_FF_ONGOING_MAINTENANCE ===\n                            \"true\" ? (\n                              <MaintenanceDialog />\n                            ) : (\n                              <SelectService\n                                provAgnoFlow={provAgnoFlow}\n                                serviceTypes={allActiveServices}\n                                skills={skills}\n                                companyLocations={companyLocations}\n                                companyId={companyId}\n                                company={company}\n                                loading={serviceLoading}\n                                publicsitesettings={publicSiteSettings}\n                                signOutOp={signOutOp}\n                                pathingInfo={pathingInfo}\n                                selectedColor={\n                                  selectedColor ? selectedColor : \"#7AA0CD\"\n                                }\n                              />\n                            )}\n                          </Suspense>\n                        </div>\n                      ) : (\n                        \"\"\n                      );\n                    }}\n                  />\n                  <Route\n                    path=\"/service\"\n                    component={() => {\n                      return loading ? (\n                        <Suspense fallback={<div></div>}>\n                          <SelectService\n                            provAgnoFlow={provAgnoFlow}\n                            serviceTypes={allActiveServices}\n                            skills={skills}\n                            companyLocations={companyLocations}\n                            companyId={companyId}\n                            company={company}\n                            loading={serviceLoading}\n                            publicsitesettings={publicSiteSettings}\n                            pathingInfo={pathingInfo}\n                            signOutOp={signOutOp}\n                            selectedColor={\n                              selectedColor ? selectedColor : \"#7AA0CD\"\n                            }\n                          />\n                        </Suspense>\n                      ) : (\n                        \"\"\n                      );\n                    }}\n                  />\n                  <Route\n                    path=\"/contact\"\n                    component={() => {\n                      return loading ? (\n                        <Suspense fallback={<div></div>}>\n                          <ContactPage\n                            company={company}\n                            publicsitesettings={publicSiteSettings}\n                            pathingInfo={pathingInfo}\n                            selectedColor={\n                              selectedColor ? selectedColor : \"#7AA0CD\"\n                            }\n                          />\n                        </Suspense>\n                      ) : (\n                        \"\"\n                      );\n                    }}\n                  />\n                  <Route\n                    path=\"/notfound\"\n                    component={() => {\n                      return loading ? (\n                        <Suspense fallback={<div></div>}>\n                          <NotFound\n                            company={company}\n                            pathingInfo={pathingInfo}\n                            selectedColor={\n                              selectedColor ? selectedColor : \"#7AA0CD\"\n                            }\n                          />\n                        </Suspense>\n                      ) : (\n                        \"\"\n                      );\n                    }}\n                  />\n                  <Route\n                    path=\"/pagenotfound\"\n                    component={() => {\n                      return loading ? (\n                        <Suspense fallback={<div></div>}>\n                          <PageNotFound\n                            company={company}\n                            pathingInfo={pathingInfo}\n                            selectedColor={\n                              selectedColor ? selectedColor : \"#7AA0CD\"\n                            }\n                          />\n                        </Suspense>\n                      ) : (\n                        \"\"\n                      );\n                    }}\n                  />\n                  <Route\n                    exact\n                    path=\"/providers\"\n                    component={() => {\n                      return loading ? (\n                        <Suspense fallback={<div></div>}>\n                          <ProviderDirectory\n                            serviceTypes={allServices}\n                            skills={skills}\n                            companyLocations={companyLocations}\n                            companyId={companyId}\n                            company={company}\n                            loading={serviceLoading}\n                            publicsitesettings={publicSiteSettings}\n                            signOutOp={signOutOp}\n                            pathingInfo={pathingInfo}\n                            selectedColor={\n                              selectedColor ? selectedColor : \"#7AA0CD\"\n                            }\n                          />\n                        </Suspense>\n                      ) : (\n                        \"\"\n                      );\n                    }}\n                  />\n                  <Route\n                    path=\"/providers/:providerName\"\n                    component={() => {\n                      return loading ? (\n                        <div>\n                          <Suspense fallback={<div></div>}>\n                            <ProviderPermalink\n                              provAgnoFlow={provAgnoFlow}\n                              skills={skills}\n                              companyLocations={companyLocations}\n                              companyId={companyId}\n                              company={company}\n                              publicSiteSettings={publicSiteSettings}\n                              pathingInfo={pathingInfo}\n                              signOutOp={signOutOp}\n                              selectedColor={\n                                selectedColor ? selectedColor : \"#7AA0CD\"\n                              }\n                            />\n                          </Suspense>\n                        </div>\n                      ) : (\n                        \"\"\n                      );\n                    }}\n                  />\n                  <Route\n                    path=\"/provider/:providerName\"\n                    render={({ match }) => (\n                      <Redirect\n                        to={`/providers/${match.params.providerName}`}\n                      />\n                    )}\n                  />\n                  <Route\n                    path=\"/choose-timeslot\"\n                    component={() => {\n                      return loading ? (\n                        <Suspense fallback={<div></div>}>\n                          <ChooseTimeslot\n                            serviceTypes={allServices}\n                            skills={skills}\n                            companyLocations={companyLocations}\n                            companyId={companyId}\n                            company={company}\n                            loading={serviceLoading}\n                            publicsitesettings={publicSiteSettings}\n                            signOutOp={signOutOp}\n                            pathingInfo={pathingInfo}\n                            selectedColor={\n                              selectedColor ? selectedColor : \"#7AA0CD\"\n                            }\n                          />\n                        </Suspense>\n                      ) : (\n                        \"\"\n                      );\n                    }}\n                  />\n                  <Route\n                    path=\"/auto-timeslot\"\n                    component={() => {\n                      return loading ? (\n                        <Suspense fallback={<div></div>}>\n                          <AutoSelectProviderTimeSlot\n                            serviceTypes={allServices}\n                            skills={skills}\n                            companyLocations={companyLocations}\n                            companyId={companyId}\n                            company={company}\n                            loading={serviceLoading}\n                            publicsitesettings={publicSiteSettings}\n                            signOutOp={signOutOp}\n                            pathingInfo={pathingInfo}\n                            selectedColor={\n                              selectedColor ? selectedColor : \"#7AA0CD\"\n                            }\n                          />\n                        </Suspense>\n                      ) : (\n                        \"\"\n                      );\n                    }}\n                  />\n                  <Route\n                    path=\"/confirmation\"\n                    component={() => {\n                      return loading ? (\n                        <Suspense fallback={<div></div>}>\n                          <ConfirmAppointmentDetail\n                            serviceTypes={allServices}\n                            skills={skills}\n                            companyLocations={companyLocations}\n                            companyId={companyId}\n                            company={company}\n                            loading={serviceLoading}\n                            publicsitesettings={publicSiteSettings}\n                            signOutOp={signOutOp}\n                            pathingInfo={pathingInfo}\n                            selectedColor={\n                              selectedColor ? selectedColor : \"#7AA0CD\"\n                            }\n                          />\n                        </Suspense>\n                      ) : (\n                        \"\"\n                      );\n                    }}\n                  />\n                  <Route\n                    path=\"/payment\"\n                    component={() => {\n                      return loading ? (\n                        <Suspense fallback={<div></div>}>\n                          <OrderPayment\n                            companyId={companyId}\n                            company={company}\n                            publicsitesettings={publicSiteSettings}\n                            authuser={user}\n                            signOutOp={signOutOp}\n                            pathingInfo={pathingInfo}\n                            selectedColor={\n                              selectedColor ? selectedColor : \"#7AA0CD\"\n                            }\n                          />\n                        </Suspense>\n                      ) : (\n                        \"\"\n                      );\n                    }}\n                  />\n                  <Route\n                    path=\"/confirm-order\"\n                    component={() => {\n                      return loading ? (\n                        <Suspense fallback={<div></div>}>\n                          <ConfirmOrder\n                            serviceTypes={allServices}\n                            skills={skills}\n                            companyLocations={companyLocations}\n                            companyId={companyId}\n                            company={company}\n                            loading={serviceLoading}\n                            publicsitesettings={publicSiteSettings}\n                            signOutOp={signOutOp}\n                            pathingInfo={pathingInfo}\n                            selectedColor={\n                              selectedColor ? selectedColor : \"#7AA0CD\"\n                            }\n                          />\n                        </Suspense>\n                      ) : (\n                        \"\"\n                      );\n                    }}\n                  />\n                  <Route\n                    path=\"/choose-package\"\n                    component={() => {\n                      return loading ? (\n                        <Suspense fallback={<div></div>}>\n                          <ChoosePackage\n                            serviceTypes={allServices}\n                            skills={skills}\n                            companyLocations={companyLocations}\n                            companyId={companyId}\n                            company={company}\n                            loading={serviceLoading}\n                            publicsitesettings={publicSiteSettings}\n                            pathingInfo={pathingInfo}\n                            signOutOp={signOutOp}\n                            selectedColor={\n                              selectedColor ? selectedColor : \"#7AA0CD\"\n                            }\n                          />\n                        </Suspense>\n                      ) : (\n                        \"\"\n                      );\n                    }}\n                  />\n                  <Route\n                    path=\"/booking-complete\"\n                    component={() => {\n                      return loading ? (\n                        <Suspense fallback={<div></div>}>\n                          <BookingComplete\n                            companyId={companyId}\n                            company={company}\n                            loading={serviceLoading}\n                            signOutOp={signOutOp}\n                            publicsitesettings={publicSiteSettings}\n                            pathingInfo={pathingInfo}\n                            selectedColor={\n                              selectedColor ? selectedColor : \"#7AA0CD\"\n                            }\n                          />\n                        </Suspense>\n                      ) : (\n                        \"\"\n                      );\n                    }}\n                  />\n                  <Route\n                    path=\"/logout\"\n                    component={() => {\n                      return loading ? (\n                        <Suspense fallback={<div></div>}>\n                          <Logout\n                            companyId={companyId}\n                            company={company}\n                            loading={serviceLoading}\n                            setLoggedOut={setLoggedOut}\n                            publicsitesettings={publicSiteSettings}\n                            pathingInfo={pathingInfo}\n                            selectedColor={\n                              selectedColor ? selectedColor : \"#7AA0CD\"\n                            }\n                          />{\" \"}\n                        </Suspense>\n                      ) : (\n                        \"\"\n                      );\n                    }}\n                  />\n                  <Route\n                    path=\"/login\"\n                    component={() => {\n                      return loading ? (\n                        <div>\n                          <SignIn\n                            companyId={companyId}\n                            company={company}\n                            setUser={updateCurrentUser}\n                            setClient={setClientInfoInBookingState}\n                            setClientPackages={setClientPackagesInBookingState}\n                            publicsitesettings={publicSiteSettings}\n                            appPath={currentPath}\n                            pathingInfo={pathingInfo}\n                            selectedColor={\n                              selectedColor ? selectedColor : \"#7AA0CD\"\n                            }\n                          />\n                        </div>\n                      ) : (\n                        \"\"\n                      );\n                    }}\n                  />\n                  <Route\n                    path=\"/signup\"\n                    component={() => {\n                      return loading && defaultCountry ? (\n                        company?.clientMayCreateAccount ? (\n                          <div>\n                            <SignUp\n                              companyId={companyId}\n                              company={company}\n                              defaultCountry={defaultCountry}\n                              setBookingUserInState={setBookingUserInState}\n                              setUser={updateCurrentUser}\n                              setClient={setClientInfoInBookingState}\n                              setClientPackages={\n                                setClientPackagesInBookingState\n                              }\n                              publicsitesettings={publicSiteSettings}\n                              appPath={currentPath}\n                              pathingInfo={pathingInfo}\n                              selectedColor={\n                                selectedColor ? selectedColor : \"#7AA0CD\"\n                              }\n                            />\n                          </div>\n                        ) : (\n                          <Redirect to=\"/\" />\n                        )\n                      ) : (\n                        <></>\n                      );\n                    }}\n                  />\n                  <Route\n                    path=\"/forgot\"\n                    component={() => {\n                      return loading ? (\n                        <div>\n                          <Forgot\n                            companyId={companyId}\n                            company={company}\n                            setUser={updateCurrentUser}\n                            setClient={setClientInfoInBookingState}\n                            setClientPackages={setClientPackagesInBookingState}\n                            publicsitesettings={publicSiteSettings}\n                            appPath={currentPath}\n                            pathingInfo={pathingInfo}\n                            selectedColor={\n                              selectedColor ? selectedColor : \"#7AA0CD\"\n                            }\n                          />\n                        </div>\n                      ) : (\n                        \"\"\n                      );\n                    }}\n                  />\n                  <Route\n                    path=\"/msgtest\"\n                    component={() => {\n                      return loading ? (\n                        <div>\n                          <Suspense fallback={<div></div>}>\n                            <MsgTest\n                              companyLocations={companyLocations}\n                              companyId={companyId}\n                              company={company}\n                              loading={serviceLoading}\n                              publicsitesettings={publicSiteSettings}\n                              signOutOp={signOutOp}\n                              pathingInfo={pathingInfo}\n                              selectedColor={\n                                selectedColor ? selectedColor : \"#7AA0CD\"\n                              }\n                            ></MsgTest>\n                          </Suspense>\n                        </div>\n                      ) : (\n                        \"\"\n                      );\n                    }}\n                  />\n                  <Route\n                    exact\n                    path=\"/\"\n                    component={() => {\n                      if (params && params.p && params.p === \"tippage\") {\n                        return loading ? (\n                          <TipPage\n                            companyId={companyId}\n                            company={company}\n                            authuser={user}\n                            selectedColor={\n                              selectedColor ? selectedColor : \"#7AA0CD\"\n                            }\n                          />\n                        ) : (\n                          \"\"\n                        );\n                      } else {\n                        return loading ? (\n                          <Suspense fallback={<div></div>}>\n                            <SelectService\n                              provAgnoFlow={provAgnoFlow}\n                              serviceTypes={allActiveServices}\n                              skills={skills}\n                              companyLocations={companyLocations}\n                              companyId={companyId}\n                              company={company}\n                              loading={serviceLoading}\n                              publicsitesettings={publicSiteSettings}\n                              signOutOp={signOutOp}\n                              pathingInfo={pathingInfo}\n                              selectedColor={\n                                selectedColor ? selectedColor : \"#7AA0CD\"\n                              }\n                            />\n                          </Suspense>\n                        ) : (\n                          \"\"\n                        );\n                      }\n                    }}\n                  />\n                </Router>\n              </div>\n              <div className=\"footer\">\n                <Typography variant=\"subtitle2\">Powered by</Typography>\n                <img\n                  src={mbLogo}\n                  alt=\"MarketBox\"\n                  style={{\n                    width: \"90px\",\n                    marginBottom: \"10px\",\n                  }}\n                />\n              </div>\n            </UserContext.Provider>\n          </ThemeProvider>\n        </StyledEngineProvider>\n      </Sentry.ErrorBoundary>\n    </>\n  );\n}\n\nexport default Sentry.withProfiler(withRouter(App));\n","import { format, utcToZonedTime } from \"date-fns-tz\";\nimport API from \"@aws-amplify/api\";\nexport const createTimeDisplayInfoForTimeZone = (\n  dateTimeString,\n  targetTz,\n  durationMins\n) => {\n  const convertedDateTime = utcToZonedTime(dateTimeString, targetTz);\n  return {\n    dtstamp_str: format(convertedDateTime, \"yyyy-MM-dd'T'HH:mm:ssXXX\", {\n      timeZone: targetTz,\n    }),\n    tz_abbr_disp: format(convertedDateTime, \"z\", {\n      timeZone: targetTz,\n    }),\n    tz_gmtoff: `GMT${format(convertedDateTime, \"XXX\", {\n      timeZone: targetTz,\n    })}`,\n\n    dt_disp: format(convertedDateTime, \"yyyy-MM-dd\", {\n      timeZone: targetTz,\n    }),\n    dt_long_disp: format(convertedDateTime, \"EEEE, MMMM d, yyyy\", {\n      timeZone: targetTz,\n    }),\n    dt_full_disp: format(convertedDateTime, \"EEE, MMM d — h:mm a (zzz)\", {\n      timeZone: targetTz,\n    }),\n    en_slot_disp: `${format(convertedDateTime, \"EEE, MMM d 'at' h:mm a zzz\", {\n      timeZone: targetTz,\n    })}`,\n    tm_st_disp: format(convertedDateTime, \"h:mm a\", {\n      timeZone: targetTz,\n    }),\n    tm_et_disp: format(\n      convertedDateTime.setMinutes(\n        convertedDateTime.getMinutes() + durationMins\n      ),\n      \"h:mm a\",\n      {\n        timeZone: targetTz,\n      }\n    ),\n    durationMins: durationMins,\n    tz: targetTz,\n  };\n};\nasync function getBookingDateDescription(apptdate, timeZone, durationMins) {\n  apptdate = new Date(apptdate); //work with the copy\n  // if date-fns-tz returns tz abbr as GMT+ or GMT-, that means it does not have\n  //  complete locale info so call server side api to do the formatting using moment-timezone\n  // return\n  // object\n  //      dtstamp_str:  '2021-01-14T10:11:04-08:00'\n  //      dt_disp:  '2021-01-14'\n  //      dt_full_disp: \"MMM DD, YYYY h:mm A z\" (moment formatting e.g.) 'Thu, Jan 14, 2021 10:11 AM PST'\n  //      tm_st_disp: \"h:mm A\" e.g. '10:26 AM'\n  //      tm_et_disp: \"h:mm A\" e.g. '10:26 AM'\n  //      tz_abbr_disp: \"z\" e.g. EST\n  //      durationMins: e.g. 30\n  let tzAbbrv = format(apptdate, \"z\", { timeZone });\n  if (tzAbbrv && (tzAbbrv.includes(\"GMT+\") || tzAbbrv.includes(\"GMT-\"))) {\n    const result = await API.post(\"mapdirection\", \"/timezone\", {\n      body: {\n        action: \"formatInLocationTz\",\n        dateInfo: {\n          datetime: getDateParts(apptdate),\n          tz: timeZone,\n          durationMins,\n        },\n      },\n    });\n    if (result && result.success && result.dateInfo) {\n      return result.dateInfo;\n    }\n  } else {\n    let tz = { timeZone };\n\n    return {\n      dtstamp_str: format(apptdate, \"yyyy-MM-dd'T'HH:mm:ssXXX\", tz),\n      tz_abbr_disp: format(apptdate, \"z\", tz),\n      tz_gmtoff: `GMT${format(apptdate, \"XXX\", tz)}`,\n      dt_disp: format(apptdate, \"yyyy-MM-dd\", tz),\n      dt_long_disp: format(apptdate, \"EEEE, MMMM d, yyyy\", tz),\n      dt_full_disp: format(apptdate, \"EEE, MMM d — h:mm a (zzz)\", tz),\n      en_slot_disp: `${format(apptdate, \"EEE, MMM d 'at' h:mm a zzz\", tz)}`,\n      tm_st_disp: format(apptdate, \"h:mm a\", tz),\n      tm_et_disp: format(\n        apptdate.setMinutes(apptdate.getMinutes() + durationMins),\n        \"h:mm a\",\n        tz\n      ),\n      durationMins: durationMins,\n      tz: timeZone,\n    };\n  }\n}\n\nfunction getDateParts(d) {\n  return {\n    year: d.getFullYear(),\n    month: d.getMonth(),\n    date: d.getDate(),\n    hours: d.getHours(),\n    minutes: d.getMinutes(),\n  };\n}\n\nfunction getFullDateDisplayWithGMTOffset(dateInfo) {\n  let gmtoff = dateInfo.tz_gmtoff ? `(${dateInfo.tz_gmtoff})` : \"\";\n  return `${dateInfo.dt_full_disp} ${gmtoff}`;\n}\n\nfunction getDateWithGMTOffset(dateInfo) {\n  let gmtoff = dateInfo.tz_gmtoff ? `(${dateInfo.tz_gmtoff})` : \"\";\n  let tz_abbr = dateInfo.tz_abbr_disp ? dateInfo.tz_abbr_disp : \"\";\n  return `${dateInfo.dt_long_disp} ${tz_abbr} ${gmtoff}`;\n}\n\nfunction getSlotDisplayWithGMTOffset(dateInfo) {\n  let gmtoff = dateInfo.tz_gmtoff ? `(${dateInfo.tz_gmtoff})` : \"\";\n  return `${dateInfo.en_slot_disp} ${gmtoff}`;\n}\n\nfunction getEndTimeDisplayWithGMTOffset(dateInfo) {\n  let gmtoff = dateInfo.tz_gmtoff ? `(${dateInfo.tz_gmtoff})` : \"\";\n  let tz_abbr = dateInfo.tz_abbr_disp ? dateInfo.tz_abbr_disp : \"\";\n  return `${dateInfo.tm_et_disp} ${tz_abbr} ${gmtoff}`;\n}\n\nfunction getTodayDateAtBookingLocation(bookingLocationTimezone) {\n  const browserTime = new Date();\n  return new Date(\n    browserTime.toLocaleString(\"en-US\", { timeZone: bookingLocationTimezone })\n  );\n}\n\nfunction convertUtcToBookingLocationTimezone(utcDate, bookingLocationTimezone) {\n  const bookingLocationTime = new Date(\n    new Date(utcDate).toLocaleString(\"en-US\", {\n      timeZone: bookingLocationTimezone,\n    })\n  );\n  return bookingLocationTime;\n}\nexport {\n  getBookingDateDescription,\n  getFullDateDisplayWithGMTOffset,\n  getEndTimeDisplayWithGMTOffset,\n  getSlotDisplayWithGMTOffset,\n  getDateWithGMTOffset,\n  getTodayDateAtBookingLocation,\n  convertUtcToBookingLocationTimezone,\n};\n","import makeStyles from \"@mui/styles/makeStyles\";\nimport chroma from \"chroma-js\";\nimport { responsiveFontSizes, createTheme } from \"@mui/material/styles\";\nimport typography from \"../components/UI/theme/typography\";\nimport { COLOR_LIGHT_GREY } from \"../utils/Constants\";\nexport const useStyles = makeStyles((theme) => ({\n  imgStyle: (props) => ({\n    background: `${chroma(props.buttonColor).darken().hex()}`,\n    color: \"#fff\",\n    height: \"35vh\",\n    overflowX: \"hidden\",\n    overflowY: \"hidden\",\n    position: \"relative\",\n    display: \"flex\",\n    flexDirection: \"column\",\n    alignItems: \"flex-start\",\n    justifyContent: \"center\",\n    padding: \"70px 100px\",\n\n    \"&::before\": {\n      content: '\"\"',\n      position: \"absolute\",\n      top: 0,\n      right: 0,\n      bottom: 0,\n      left: 0,\n      opacity: 0.5,\n      zindex: -1,\n      backgroundImage: `url(\"${props.backgroundImageUrl}\")`,\n      backgroundSize: \"cover\",\n      backgroundPosition: \"center\",\n      backgroundRepeat: \"no-repeat\",\n    },\n  }),\n\n  bannerLogo: (props) => ({\n    width: 80,\n    height: 80,\n  }),\n\n  root: (props) => ({\n    \"& .Mui-focused\": {\n      color: `${props.textColor}`,\n    },\n    \"& .MuiFilledInput-root\": {\n      border: \"2px solid #d3d3d3\",\n      borderRadius: \"3px\",\n      marginLeft: \"-16px\",\n    },\n\n    \"& label.Mui-focused\": {\n      color: `${props.buttonColor}`,\n    },\n  }),\n  contextbox: {},\n  title1: (props) => ({ marginBottom: theme.spacing(2), fontWeight: \"bold\" }),\n  title2: (props) => ({ marginBottom: theme.spacing(1) }),\n  title3: (props) => ({ marginBottom: theme.spacing(1) }),\n\n  checkbox: (props) => ({\n    paddingTop: \"0em\",\n    textAlign: \"center\",\n    color: `${props.textColor}`,\n  }),\n  location: (props) => ({\n    paddingTop: \"1em\",\n    textAlign: \"center\",\n    color: `${props.textColor}`,\n  }),\n  notchedOutline: (props) => ({\n    borderWidth: \"1px\",\n    borderColor: `${props.textColor} !important`,\n  }),\n  notchedOutlineProviderDir: (props) => ({\n    borderWidth: \"1px\",\n    borderColor: `${props.buttonColor} !important`,\n  }),\n  outlined: (props) => ({\n    color: `${props.textColor}`,\n  }),\n  inputRoot: (props) => ({\n    color: `${props.textColor}`,\n  }),\n  inputRoot1: (props) => ({\n    color: \"#000\",\n  }),\n  button: {\n    color: \"#ffffff\",\n    backgroundColor: (props) => props.buttonColor,\n  },\n  buttonProgress: {\n    position: \"absolute\",\n    top: \"30%\",\n    marginTop: -1,\n    marginLeft: -1,\n  },\n  paper: {\n    boxShadow: \"none\",\n    margin: 0,\n    color: \"#586069\",\n    fontSize: 13,\n  },\n  paperProviderDir: {\n    boxShadow: \"none\",\n    margin: 0,\n    color: \"#586069\",\n    fontSize: 13,\n    borderStyle: \"solid\",\n    borderColor: (props) => props.buttonColor,\n    borderWidth: \"thin\",\n  },\n  option: {\n    fontSize: 15,\n    \"& > span\": {\n      marginRight: 10,\n      fontSize: 18,\n    },\n  },\n  dropdown: {\n    paddingTop: \"6px\",\n    paddingBottom: \"2px\",\n  },\n  groupLabel: { fontWeight: \"bold\", fontStyle: \"italic\" },\n  autocomplete: {\n    width: 320,\n    [theme.breakpoints.down(\"sm\")]: {\n      width: 250,\n    },\n  },\n  autocompleteusers: {\n    width: 417,\n    paddingLeft: 13,\n    [theme.breakpoints.down(\"sm\")]: {\n      width: 330,\n    },\n  },\n  qtywidth: {\n    width: 40,\n    [theme.breakpoints.down(\"sm\")]: {\n      width: 28,\n    },\n  },\n}));\n\nexport const buildMainTheme = (\n  primaryColor,\n  primaryButtonTextColor,\n  textColor\n) => {\n  const theme = createTheme({\n    palette: {\n      primary: {\n        main: primaryColor,\n        light: chroma(primaryColor).alpha(0.1).hex(),\n        medium: chroma(primaryColor).alpha(0.25).hex(),\n      },\n      secondary: {\n        main: `${chroma(primaryColor).darken().hex()}`,\n      },\n      info: {\n        main: COLOR_LIGHT_GREY,\n      },\n      warning: {\n        main: `${chroma(primaryColor).darken().hex()}`,\n      },\n      background: {\n        main: \"#F4F4F4\",\n      },\n      text: {\n        main: textColor,\n      },\n      textFieldPlaceHolder: {\n        main: \"#D9D9D9\",\n      },\n    },\n    typography: typography,\n    components: {\n      MuiTooltip: {\n        styleOverrides: {\n          tooltip: {\n            fontSize: \"1rem\",\n            fontWeight: 400,\n            letterSpacing: \"normal\",\n            lineHeight: \"normal\",\n          },\n        },\n      },\n      //accordion\n      MuiAccordion: {\n        styleOverrides: {\n          root: {\n            padding: \"0\",\n          },\n        },\n      },\n      MuiAccordionSummary: {\n        styleOverrides: {\n          root: {\n            padding: \"16px 12px\",\n            display: \"flex\",\n            alignItems: \"center\",\n            \"&:hover\": {\n              color: primaryColor,\n            },\n          },\n          content: {\n            margin: 0,\n            \"& .MuiFormControlLabel-root\": {\n              margin: 0,\n            },\n            \"& .MuiCheckbox-root\": {\n              padding: 0,\n            },\n            \"& .MuiFormControlLabel-label\": {\n              padding: \"0 11px\",\n            },\n          },\n        },\n      },\n      //alert\n      MuiAlert: {\n        styleOverrides: {\n          root: {\n            backgroundColor: `${chroma(primaryColor).alpha(0.3).hex()}`,\n            alignItems: \"center\",\n          },\n          icon: {\n            marginRight: \"0.625rem\",\n            color: `${chroma(primaryColor).darken(3).hex()}`,\n          },\n        },\n      },\n      //collapse:\n      MuiCollapse: {\n        styleOverrides: {\n          wrapperInner: {\n            marginBottom: \"0.5rem\",\n          },\n        },\n      },\n      //tabs\n      MuiTab: {\n        styleOverrides: {\n          root: {\n            textTransform: \"uppercase\",\n            fontFamily: \"Roboto\",\n            fontSize: \"14px\",\n            fontWeight: \"700\",\n            \"&:active\": {\n              border: \"none\",\n            },\n            \"&:focus\": {\n              border: \"none\",\n            },\n          },\n        },\n      },\n      //tab panel\n      MuiTabPanel: {\n        styleOverrides: {\n          root: {\n            \"& .MuiFormControlLabel-root\": {\n              marginLeft: \"0px\",\n            },\n          },\n        },\n      },\n      //google autocomplete\n      MuiAutocomplete: {\n        styleOverrides: {\n          root: {\n            width: \"100%\",\n            \"& .MuiFormControl-root\": {\n              width: \"100%\",\n              fontSize: \"1rem\",\n              fontWeight: \"400\",\n              fontFamily: [\"Roboto\", \"sans-serif\"].join(\",\"),\n            },\n          },\n        },\n      },\n      //paper\n      MuiPaper: {\n        styleOverrides: {\n          root: {\n            \"& .MuiFormControlLabel-root\": {\n              margin: 0,\n\n              \"& .MuiRadio-root\": {\n                padding: \"0px 10px 0px 0px\",\n              },\n            },\n          },\n        },\n      },\n      //Button\n      MuiButton: {\n        styleOverrides: {\n          root: {\n            minWidth: \"90px\",\n            height: \"2.5rem\",\n            padding: \"0px 1.25rem\",\n            boxShadow: \"none\",\n            fontWeight: 700,\n            fontSize: \"1rem\",\n            textTransform: \"uppercase \",\n            \"&.MuiButtonGroup-grouped\": {\n              padding: \"0px\",\n            },\n            \"&.Mui-disabled\": {\n              color: \"white\",\n            },\n          },\n          containedPrimary: {\n            color: primaryButtonTextColor,\n            \"&:hover\": {\n              boxShadow: \"none\",\n            },\n          },\n          outlined: {\n            borderColor: primaryColor,\n          },\n          text: {\n            \"&:hover\": {\n              backgroundColor: \"transparent\",\n            },\n            alignItems: \"center\",\n            fontWeight: 500,\n            fontFamily: [\"Roboto\", \"sans-serif\"].join(\",\"),\n            fontSize: \"0.88rem\",\n            color: \"rgba(0,0,0,0.5)\",\n            textTransform: \"capitalize\",\n            \"& .MuiButton-startIcon\": {\n              margin: 0,\n            },\n          },\n        },\n      },\n      //Pagination\n      MuiPagination: {\n        styleOverrides: {\n          root: {\n            \"& .MuiPaginationItem-outline\": {\n              border: \"1px solid #ccc\",\n              background: \"white\",\n            },\n\n            \"& .MuiPaginationItem-previousNext\": {\n              border: \"1px solid #ccc\",\n              background: `white`,\n            },\n\n            \"& .Mui-selected\": {\n              border: `1px solid ${primaryColor}`,\n              background: `${chroma(primaryColor).alpha(0.5).hex()}`,\n            },\n\n            \"& .Mui-disabled\": {\n              background: `${chroma(\"#cccccc\").alpha(0.6).hex()}`,\n            },\n          },\n        },\n      },\n      //formcontrol select\n      MuiFormControl: {\n        styleOverrides: {\n          root: {\n            \"& .MuiFormLabel-filled\": {\n              color: primaryColor,\n            },\n            \"& .MuiFilledInput-root\": {\n              background: \"white\",\n              border: \"1px solid #ccc\",\n              borderRadius: \"4px\",\n              \"& .MuiSelect-select\": {\n                background: \"white\",\n                borderRadius: \"4px\",\n              },\n            },\n            \"& .MuiInputBase-root\": {\n              background: \"white\",\n            },\n\n            \"& .MuiInputBase-input\": {\n              background: \"white\",\n              borderRadius: \"4px\",\n            },\n            \"& .MuiInputBase-multiline\": {\n              background: \"white\",\n              borderRadius: \"4px\",\n            },\n            \"& .MuiInputBase-inputMultiline\": {\n              background: \"white\",\n              borderRadius: \"4px\",\n            },\n            \"& .MuiOutlinedInput-root\": {\n              \"& fieldset\": {\n                borderColor: \"#D9D9D9\",\n              },\n              \"&:hover fieldset\": {\n                borderColor: \"#D9D9D9\",\n              },\n              \"&.Mui-focused fieldset\": {\n                borderColor: primaryColor,\n              },\n            },\n          },\n        },\n      },\n\n      //formcontaol label\n      MuiFormControlLabel: {\n        styleOverrides: {\n          root: {\n            margin: 0,\n          },\n        },\n      },\n\n      MuiCalendarPicker: {\n        styleOverrides: {\n          root: {\n            \"& .MuiTypography-caption\": {\n              fontFamily: \"Roboto\",\n              fontSize: \"14px\",\n              fontWeight: \"400\",\n              color: \"rgba(0,0,0,1)\",\n            },\n          },\n        },\n      },\n    },\n  });\n  return responsiveFontSizes(theme);\n};\n","import { COLOR_LIGHT_GREY } from \"../../../utils/Constants\";\nconst typography = {\n  fontFamily: [\"Raleway\", \"Roboto\", \"sans-serif\"].join(\",\"),\n  h1: {\n    fontSize: \"3.75rem\",\n    fontWeight: \"900\",\n  },\n  h2: {\n    fontSize: \"2.25rem\",\n    fontWeight: \"900\",\n    color: \"rgba(0,0,0,0.75)\",\n  },\n  h3: {\n    fontSize: \"1.5rem\",\n    fontWeight: \"700\",\n    color: \"rgba(0,0,0,0.75)\",\n  },\n  h4: {\n    fontSize: \"1.13rem\",\n    fontWeight: \"700\",\n    fontFamily: [\"Roboto\", \"sans-serif\"].join(\",\"),\n    color: \"rgba(0,0,0,0.75)\",\n  },\n  h5: {\n    fontSize: \"1rem\",\n    fontWeight: \"700\",\n    fontFamily: [\"Roboto\", \"sans-serif\"].join(\",\"),\n    color: \"rgba(0,0,0,0.75)\",\n  },\n  h6: {\n    fontSize: \"0.88rem\",\n    fontWeight: \"700\",\n    fontFamily: [\"Roboto\", \"sans-serif\"].join(\",\"),\n    color: \"rgba(0,0,0,0.75)\",\n  },\n  body1: {\n    fontSize: \"1rem\",\n    fontWeight: \"400\",\n    fontFamily: [\"Roboto\"],\n  },\n  body2: {\n    fontSize: \"0.88rem\",\n    fontWeight: \"400\",\n    fontFamily: [\"Roboto\", \"sans-serif\"].join(\",\"),\n  },\n  caption: {\n    fontSize: \"0.5rem\",\n    fontWeight: \"300\",\n    fontFamily: [\"Roboto\", \"sans-serif\"].join(\",\"),\n  },\n  button: {\n    fontSize: \"1rem\",\n    fontWeight: \"700\",\n    fontFamily: [\"Roboto\", \"sans-serif\"].join(\",\"),\n    textTransform: \"capitalize\",\n    letterSpacing: \"1px\",\n  },\n  subtitle1: {\n    fontFamily: [\"Roboto\", \"sans-serif\"].join(\",\"),\n  },\n  subtitle2: {\n    fontSize: \"0.75rem\",\n    fontWeight: \"400\",\n    color: \"rgba(0,0,0,0.5)\",\n    fontFamily: [\"Roboto\", \"sans-serif\"].join(\",\"),\n  },\n  overline: {\n    fontSize: \"0.88rem\",\n    fontWeight: \"400\",\n    color: \"rgba(0,0,0,0.5)\",\n    textTransform: \"uppercase\",\n    fontFamily: [\"Roboto\", \"sans-serif\"].join(\",\"),\n  },\n  helperText: {\n    fontSize: \"0.87rem\",\n    fontWeight: \"400\",\n    color: \"rgba(0, 0, 0, 0.35)\",\n    fontStyle: \"italic\",\n    fontFamily: [\"Roboto\"],\n  },\n  cardHeader: {\n    fontSize: \"0.875rem\",\n    fontWeight: \"700\",\n    color: COLOR_LIGHT_GREY,\n    textTransform: \"uppercase\",\n    fontFamily: [\"Roboto\", \"sans-serif\"].join(\",\"),\n  },\n};\n\nexport default typography;\n","export const providerRatingsByProvider = /* GraphQL */ `\n  query ProviderRatingsByProvider(\n    $providerId: String\n    $createdAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelProviderRatingsFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    providerRatingsByProvider(\n      providerId: $providerId\n      createdAt: $createdAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        providerId\n        ratingstars\n        ratingtext\n        ratinguserId\n        active\n      }\n      nextToken\n    }\n  }\n`;\nexport const updateProviderSchedule = /* GraphQL */ `\n  mutation UpdateProviderSchedule($input: updateProviderScheduleInput!) {\n    updateProviderSchedule(input: $input) {\n      id\n      scheduleinfo\n      status\n    }\n  }\n`;\nexport const deleteProviderSchedule = /* GraphQL */ `\n  mutation DeleteProviderSchedule($input: deleteProviderScheduleInput!) {\n    deleteProviderSchedule(input: $input) {\n      id\n      scheduleinfo\n      status\n    }\n  }\n`;\n","// ************************************\n// Common billing routines\n// ************************************\nimport { Logger } from \"@aws-amplify/core\";\nimport API from \"@aws-amplify/api\";\n\nasync function chargeCreditCard(\n  stripecustomerid,\n  amount,\n  customerCurrency,\n  receiptemailaddress,\n  credit,\n  prevChargeId,\n  companyId,\n  stripeAccount,\n  stripeConnectEnabled\n) {\n  const logger = new Logger(\"chargeCreditCard\");\n  const result = await API.post(\"stripechargecard\", \"/stripechargecard\", {\n    body: {\n      amount,\n      customerCurrency,\n      stripecustomerid,\n      receiptemailaddress,\n      credit,\n      prevcharge: prevChargeId,\n      companyId,\n      stripeAccount: stripeAccount,\n      stripeConnectEnabled: stripeConnectEnabled,\n    },\n  });\n\n  logger.warn(\"result from stripechargecard = \");\n  logger.warn(result);\n\n  return result;\n}\nasync function checkCardExpiration({\n  stripecustomerid,\n  companyId,\n  clientEmailAddress,\n  stripeAccount,\n  stripeConnectEnabled,\n}) {\n  const result = await API.post(\"stripechargecard\", \"/checkcardexpiration\", {\n    body: {\n      stripecustomerid,\n      clientEmailAddress,\n      companyId,\n      stripeAccount: stripeAccount,\n      stripeConnectEnabled: stripeConnectEnabled,\n    },\n  });\n  return result;\n}\nexport { chargeCreditCard, checkCardExpiration };\n","/* Common user functions */\n\n// imports for addUserToGroup\nimport { Logger } from \"@aws-amplify/core\";\nimport API, { graphqlOperation } from \"@aws-amplify/api\";\nimport Cache from \"@aws-amplify/cache\";\nimport Auth from \"@aws-amplify/auth\";\nimport {\n  serviceTypeByCompany,\n  listSkills,\n  getUser,\n  userByCompany,\n} from \"../graphql/queries\";\n\nconst logger = new Logger(\"UserCommon\");\n\nconst USERROLE = {\n  CLIENT: \"CLIENT\",\n  PROVIDER: \"PROVIDER\",\n  COMPANY_ADMIN: \"COMPANY_ADMIN\",\n  MARKETBOX_ADMIN: \"MARKETBOX_ADMIN\",\n  COMPANY_ADMIN_PROVIDER: \"COMPANY_ADMIN_PROVIDER\",\n  MANAGER_PROVIDER: \"MANAGER_PROVIDER\",\n};\n\nconst fetchSkillsData = async () => {\n  const user = Cache.getItem(\"user\");\n  const response = await API.graphql(\n    graphqlOperation(listSkills, {\n      filter: {\n        and: [\n          { active: { ne: false } },\n          { deleted: { ne: true } },\n          { companyId: { eq: user && user.company ? user.company.id : \"\" } },\n        ],\n      },\n      limit: 50,\n    })\n  );\n  const result = await response.data.listSkills.items;\n  // store in Amplify cache\n  Cache.setItem(\"skills\", result);\n};\n\nconst fetchServiceTypeData = async () => {\n  const user = Cache.getItem(\"user\");\n\n  const filter = {\n    and: [\n      { active: { ne: false } },\n      { deleted: { ne: true } },\n      { isVisible: { ne: false } },\n    ],\n  };\n  const response = await API.graphql(\n    graphqlOperation(serviceTypeByCompany, {\n      companyId: user.company.id,\n      filter,\n      limit: process.env.REACT_APP_LISTLIMIT,\n    })\n  );\n  const result = await response.data.serviceTypeByCompany.items;\n  Cache.setItem(\"servicetypes\", result);\n};\n\nconst getAuthUser = async () => {\n  const user = await Auth.currentAuthenticatedUser();\n  return user;\n};\n\nconst getAuthUserEmail = async () => {\n  const user = await Auth.currentAuthenticatedUser();\n  const email = await user.attributes.email;\n  return email;\n};\n\nasync function handleSendEmail(\n  subject,\n  body,\n  toAddresses,\n  ccAddresses,\n  bccAddresses,\n  replyTo,\n  companyName\n) {\n  const result = await API.post(\"sendtwilioemail\", \"/sendtwilioemail\", {\n    body: {\n      subject,\n      body,\n      toAddresses,\n      ccAddresses,\n      bccAddresses,\n      replyTo,\n      companyName,\n    },\n  });\n}\n\nasync function getCompanyAdmins(companyId) {\n  const result = await API.graphql(\n    graphqlOperation(userByCompany, {\n      companyId,\n      roleEmailaddress: {\n        beginsWith: {\n          role: \"COMPANY_ADMIN\",\n        },\n      },\n      filter: {\n        and: [\n          { active: { ne: false } },\n          { deleted: { ne: true } },\n          { registered: { ne: false } },\n        ],\n      },\n      limit: process.env.REACT_APP_LISTLIMIT,\n    })\n  );\n  return result.data.userByCompany.items;\n}\n\nasync function getUserFromCache() {\n  let user = Cache.getItem(\"user\");\n  if (user) {\n    if (user.emailaddress === process.env.REACT_APP_MB_GUEST_EMAIL) {\n      Cache.removeItem(\"user\");\n      user = null;\n    }\n  }\n  if (!user) {\n    const authUser = await Auth.currentAuthenticatedUser({\n      bypassCache: true,\n    });\n    if (!authUser) return;\n    if (authUser?.attributes?.email === process.env.REACT_APP_MB_GUEST_EMAIL) {\n      console.log(\"the non-guest user not logged in\");\n      return;\n    }\n    // console.log(\"user should not be guest\", authUser.username);\n    const userData = await API.graphql(\n      graphqlOperation(getUser, {\n        id: authUser.username,\n      })\n    );\n    if (\n      userData &&\n      userData.data.getUser.emailaddress ===\n        process.env.REACT_APP_MB_GUEST_EMAIL\n    )\n      return;\n    else {\n      user = userData.data.getUser;\n      // console.log(\"Putting user \", authUser.attributes.email, \" in cache.\");\n      Cache.setItem(\"user\", user);\n      return user;\n    }\n  }\n  // console.log(\"Putting user from cache \", user.emailaddress);\n  return user;\n}\n\nasync function getUserRole() {\n  const user = await getUserFromCache();\n  // logger.debug(user);\n  if (user && user.role) {\n    if (user.role === USERROLE.CLIENT) return USERROLE.CLIENT;\n    if (user.role === USERROLE.PROVIDER) return USERROLE.PROVIDER;\n    if (user.role === USERROLE.COMPANY_ADMIN) return USERROLE.COMPANY_ADMIN;\n    if (user.role === USERROLE.COMPANY_ADMIN_PROVIDER)\n      return USERROLE.COMPANY_ADMIN_PROVIDER;\n    if (user.role === USERROLE.MARKETBOX_ADMIN) return USERROLE.MARKETBOX_ADMIN;\n  } else {\n    logger.debug(\"*** WARNING: user.role null in UserCommon, getUserRole\");\n    return USERROLE.CLIENT;\n  }\n}\n\nasync function userHasAdminRole() {\n  const user = await getUserFromCache();\n  if (user && user.role)\n    return (\n      USERROLE.MARKETBOX_ADMIN === user.role ||\n      USERROLE.COMPANY_ADMIN === user.role ||\n      USERROLE.COMPANY_ADMIN_PROVIDER === user.role ||\n      USERROLE.MANAGER_PROVIDER === user.role\n    );\n  else return false;\n}\nasync function userHasClientRole() {\n  const user = await getUserFromCache();\n  if (user && user.role) return USERROLE.CLIENT === user.role;\n  else return false;\n}\nexport {\n  fetchSkillsData,\n  fetchServiceTypeData,\n  getUserRole,\n  getUserFromCache,\n  USERROLE,\n  getAuthUser,\n  getAuthUserEmail,\n  handleSendEmail,\n  userHasAdminRole,\n  userHasClientRole,\n  getCompanyAdmins,\n};\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n  window.location.hostname === 'localhost' ||\n    // [::1] is the IPv6 localhost address.\n    window.location.hostname === '[::1]' ||\n    // 127.0.0.1/8 is considered localhost for IPv4.\n    window.location.hostname.match(\n      /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n    )\n);\n\nexport function register(config) {\n  if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n    // The URL constructor is available in all browsers that support SW.\n    const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n    if (publicUrl.origin !== window.location.origin) {\n      // Our service worker won't work if PUBLIC_URL is on a different origin\n      // from what our page is served on. This might happen if a CDN is used to\n      // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n      return;\n    }\n\n    window.addEventListener('load', () => {\n      const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n      if (isLocalhost) {\n        // This is running on localhost. Let's check if a service worker still exists or not.\n        checkValidServiceWorker(swUrl, config);\n\n        // Add some additional logging to localhost, pointing developers to the\n        // service worker/PWA documentation.\n        navigator.serviceWorker.ready.then(() => {\n          console.log(\n            'This web app is being served cache-first by a service ' +\n              'worker. To learn more, visit https://bit.ly/CRA-PWA'\n          );\n        });\n      } else {\n        // Is not localhost. Just register service worker\n        registerValidSW(swUrl, config);\n      }\n    });\n  }\n}\n\nfunction registerValidSW(swUrl, config) {\n  navigator.serviceWorker\n    .register(swUrl)\n    .then(registration => {\n      registration.onupdatefound = () => {\n        const installingWorker = registration.installing;\n        if (installingWorker == null) {\n          return;\n        }\n        installingWorker.onstatechange = () => {\n          if (installingWorker.state === 'installed') {\n            if (navigator.serviceWorker.controller) {\n              // At this point, the updated precached content has been fetched,\n              // but the previous service worker will still serve the older\n              // content until all client tabs are closed.\n              console.log(\n                'New content is available and will be used when all ' +\n                  'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n              );\n\n              // Execute callback\n              if (config && config.onUpdate) {\n                config.onUpdate(registration);\n              }\n            } else {\n              // At this point, everything has been precached.\n              // It's the perfect time to display a\n              // \"Content is cached for offline use.\" message.\n              console.log('Content is cached for offline use.');\n\n              // Execute callback\n              if (config && config.onSuccess) {\n                config.onSuccess(registration);\n              }\n            }\n          }\n        };\n      };\n    })\n    .catch(error => {\n      console.error('Error during service worker registration:', error);\n    });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n  // Check if the service worker can be found. If it can't reload the page.\n  fetch(swUrl)\n    .then(response => {\n      // Ensure service worker exists, and that we really are getting a JS file.\n      const contentType = response.headers.get('content-type');\n      if (\n        response.status === 404 ||\n        (contentType != null && contentType.indexOf('javascript') === -1)\n      ) {\n        // No service worker found. Probably a different app. Reload the page.\n        navigator.serviceWorker.ready.then(registration => {\n          registration.unregister().then(() => {\n            window.location.reload();\n          });\n        });\n      } else {\n        // Service worker found. Proceed as normal.\n        registerValidSW(swUrl, config);\n      }\n    })\n    .catch(() => {\n      console.log(\n        'No internet connection found. App is running in offline mode.'\n      );\n    });\n}\n\nexport function unregister() {\n  if ('serviceWorker' in navigator) {\n    navigator.serviceWorker.ready.then(registration => {\n      registration.unregister();\n    });\n  }\n}\n","/* eslint-disable */\n// WARNING: DO NOT EDIT. This file is automatically generated by AWS Amplify. It will be overwritten.\n\nconst awsmobile = {\n  aws_project_region: \"us-east-1\",\n  aws_mobile_analytics_app_id: \"4f2dae4511374f85aebf5a928d41cb39\",\n  aws_mobile_analytics_app_region: \"us-east-1\",\n  aws_cloud_logic_custom: [\n    {\n      name: \"adminapi\",\n      endpoint: \"https://qm7otfoc67.execute-api.us-east-1.amazonaws.com/prodaa\",\n      region: \"us-east-1\",\n    },\n    {\n      name: \"auditapi\",\n      endpoint: \"https://ethi6ivcw1.execute-api.us-east-1.amazonaws.com/prodaa\",\n      region: \"us-east-1\",\n    },\n    {\n      name: \"bookingapi\",\n      endpoint: \"https://1smwa7vzb6.execute-api.us-east-1.amazonaws.com/prodaa\",\n      region: \"us-east-1\",\n    },\n    {\n      name: \"changeuserrole\",\n      endpoint: \"https://1x37dp8hqd.execute-api.us-east-1.amazonaws.com/prodaa\",\n      region: \"us-east-1\",\n    },\n    {\n      name: \"hubspotapi\",\n      endpoint: \"https://o62trj46ih.execute-api.us-east-1.amazonaws.com/prodaa\",\n      region: \"us-east-1\",\n    },\n    {\n      name: \"integrationapi\",\n      endpoint: \"https://jfu8sjc0c5.execute-api.us-east-1.amazonaws.com/prodaa\",\n      region: \"us-east-1\",\n    },\n    {\n      name: \"mapdirection\",\n      endpoint: \"https://v3dfgb6fp4.execute-api.us-east-1.amazonaws.com/prodaa\",\n      region: \"us-east-1\",\n    },\n    {\n      name: \"messaging\",\n      endpoint: \"https://ufhierrkwh.execute-api.us-east-1.amazonaws.com/prodaa\",\n      region: \"us-east-1\",\n    },\n    {\n      name: \"promoapi\",\n      endpoint: \"https://7st8zf98gj.execute-api.us-east-1.amazonaws.com/prodaa\",\n      region: \"us-east-1\",\n    },\n    {\n      name: \"recurringBookingsApi\",\n      endpoint: \"https://rirdgzjh6i.execute-api.us-east-1.amazonaws.com/prodaa\",\n      region: \"us-east-1\",\n    },\n    {\n      name: \"redirect\",\n      endpoint: \"https://xb7s6qcmx2.execute-api.us-east-1.amazonaws.com/prodaa\",\n      region: \"us-east-1\",\n    },\n    {\n      name: \"s3filemgmt\",\n      endpoint: \"https://uhuus84d66.execute-api.us-east-1.amazonaws.com/prodaa\",\n      region: \"us-east-1\",\n    },\n    {\n      name: \"searchapi\",\n      endpoint: \"https://js178mamsd.execute-api.us-east-1.amazonaws.com/prodaa\",\n      region: \"us-east-1\",\n    },\n    {\n      name: \"sendsesemail\",\n      endpoint: \"https://yzlp0y80rh.execute-api.us-east-1.amazonaws.com/prodaa\",\n      region: \"us-east-1\",\n    },\n    {\n      name: \"sendtwilioemail\",\n      endpoint: \"https://xm4gc5kc8e.execute-api.us-east-1.amazonaws.com/prodaa\",\n      region: \"us-east-1\",\n    },\n    {\n      name: \"stripechargecard\",\n      endpoint: \"https://91klqw04va.execute-api.us-east-1.amazonaws.com/prodaa\",\n      region: \"us-east-1\",\n    },\n    {\n      name: \"stripeconnect\",\n      endpoint: \"https://b49x4eyrnh.execute-api.us-east-1.amazonaws.com/prodaa\",\n      region: \"us-east-1\",\n    },\n    {\n      name: \"stripesavecard\",\n      endpoint: \"https://77cy1lvn80.execute-api.us-east-1.amazonaws.com/prodaa\",\n      region: \"us-east-1\",\n    },\n    {\n      name: \"twiliosmsin\",\n      endpoint: \"https://wxtgk9xwp9.execute-api.us-east-1.amazonaws.com/prodaa\",\n      region: \"us-east-1\",\n    },\n    {\n      name: \"virtualmeeting\",\n      endpoint: \"https://at05ot2e63.execute-api.us-east-1.amazonaws.com/prodaa\",\n      region: \"us-east-1\",\n    },\n  ],\n  aws_appsync_graphqlEndpoint:\n    \"https://wk56cxiyizbj7lnn24i6out7h4.appsync-api.us-east-1.amazonaws.com/graphql\",\n  aws_appsync_region: \"us-east-1\",\n  aws_appsync_authenticationType: \"AMAZON_COGNITO_USER_POOLS\",\n  aws_cognito_identity_pool_id:\n    \"us-east-1:2c370eb6-4e0d-4a42-ba10-f02217502424\",\n  aws_cognito_region: \"us-east-1\",\n  aws_user_pools_id: \"us-east-1_gQhrm0cU8\",\n  aws_user_pools_web_client_id: \"4qjalmqfpfpga2a8na0qupvop1\",\n  oauth: {},\n  aws_cognito_username_attributes: [\"EMAIL\"],\n  aws_cognito_social_providers: [],\n  aws_cognito_signup_attributes: [\"EMAIL\"],\n  aws_cognito_mfa_configuration: \"OFF\",\n  aws_cognito_mfa_types: [\"SMS\"],\n  aws_cognito_password_protection_settings: {\n    passwordPolicyMinLength: 8,\n    passwordPolicyCharacters: [],\n  },\n  aws_cognito_verification_mechanisms: [\"EMAIL\"],\n  aws_content_delivery_bucket: \"marketbox-20190726012602-hostingbucket-prodaa\",\n  aws_content_delivery_bucket_region: \"us-east-1\",\n  aws_content_delivery_url:\n    \"http://marketbox-20190726012602-hostingbucket-prodaa.s3-website-us-east-1.amazonaws.com\",\n  aws_user_files_s3_bucket: \"marketboxproviderpics-prodaa\",\n  aws_user_files_s3_bucket_region: \"us-east-1\",\n};\n\nexport default awsmobile;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { BrowserRouter as Router } from \"react-router-dom\";\nimport \"./index.css\";\nimport App from \"./App\";\nimport * as serviceWorker from \"./serviceWorker\";\nimport Amplify from \"@aws-amplify/core\";\nimport aws_exports from \"./aws-exports\";\nimport { StoreProvider } from \"./context/StoreContext\";\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\n\nconst queryClient = new QueryClient({\n  defaultOptions: {\n    queries: {\n      refetchOnWindowFocus: false,\n    },\n  },\n});\n// config for Amplify\nAmplify.configure(aws_exports);\n// set default logger level\nAmplify.Logger.LOG_LEVEL = \"DEBUG\";\n\nReactDOM.render(\n  <StoreProvider>\n    <QueryClientProvider client={queryClient}>\n      <Router>\n        <App />\n      </Router>\n    </QueryClientProvider>\n  </StoreProvider>,\n  document.getElementById(\"root\")\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n","import { loadData } from \"../Common/Template\";\nimport { logSystemError } from \"../../modules/SystemErrorService\";\nimport { createTimeDisplayInfoForTimeZone } from \"../../modules/TimeService\";\n\nexport const ProviderBookingConfirmation = async ({\n  provider,\n  client,\n  company,\n  serviceType,\n  bookings,\n  orderNo,\n  orderType,\n  orderNotes,\n  wdDisplay,\n}) => {\n  let canProviderSeeClientName = true;\n  let canProviderSeeClientPhone = true;\n\n  try {\n    const providerRestrictionConfig = JSON.parse(\n      company.ProviderRestrictionConfig || \"{}\"\n    );\n    canProviderSeeClientName =\n      providerRestrictionConfig.canProviderSeeClientName || true;\n    canProviderSeeClientPhone =\n      providerRestrictionConfig.canProviderSeeClientPhone || true;\n  } catch (error) {\n    console.log(\"Error parsing ProviderRestrictionConfig:\", error);\n  }\n\n  const adjustedBookings = bookings.map(\n    ({ TimeDisplayInfo, minutes, ...rest }) => ({\n      ...rest,\n      TimeDisplayInfo: provider.timezone\n        ? createTimeDisplayInfoForTimeZone(\n            TimeDisplayInfo.dtstamp_str,\n            provider.timezone,\n            minutes\n          )\n        : TimeDisplayInfo,\n    })\n  );\n  try {\n    let htmlTemplate = await loadData(\n      `https://do1e1nd2rp5b.cloudfront.net/public/email-templates/${company.id}/order-receipt-provider-tokenized.html`,\n      company.id\n    );\n\n    // check if we got a template, if not load a generic template\n    if (htmlTemplate === \"Error\") {\n      // load generic template\n      htmlTemplate = await loadData(\n        \"https://do1e1nd2rp5b.cloudfront.net/public/email-templates/modified-templates/order-receipt-provider-tokenized.html\",\n        company.id\n      );\n    }\n    // if still an error, we have a network problem\n    if (htmlTemplate === \"Error\") {\n      return \"\";\n    }\n    htmlTemplate = htmlTemplate.replace(\n      /\\[company-auth-site-url\\]/g,\n      process.env.REACT_APP_AUTH_SITE_URL\n    );\n    htmlTemplate = htmlTemplate.replace(\n      /\\[company-logo-url\\]/g,\n      company.logoUrl\n    );\n    htmlTemplate = htmlTemplate.replace(\n      /\\[company-color\\]/g,\n      company.primaryColor\n    );\n    // now substitute values into template\n    //  company values\n    htmlTemplate = htmlTemplate.replace(/\\[company_name\\]/g, company.name);\n    htmlTemplate = htmlTemplate.replace(\n      /\\[company_email\\]/g,\n      company.emailaddress\n    );\n    htmlTemplate = htmlTemplate.replace(\n      /\\[provider_firstname\\]/g,\n      provider.firstname\n    );\n    htmlTemplate = htmlTemplate.replace(\n      /\\[provider_lastname\\]/g,\n      provider.lastname\n    );\n    const clientName = canProviderSeeClientName\n      ? client.user.firstname + \" \" + client.user.lastname\n      : client.user.firstname + \" \" + client.user.lastname.charAt(0) + \".\";\n    htmlTemplate = htmlTemplate.replace(/\\[client_name\\]/g, clientName);\n    htmlTemplate = htmlTemplate.replace(\n      /\\[client_phone\\]/g,\n      getClientPhone(client.user, canProviderSeeClientPhone)\n    );\n    htmlTemplate = htmlTemplate.replace(\n      /\\[servicetype_name\\]/g,\n      serviceType.name\n    );\n    htmlTemplate = htmlTemplate.replace(/\\[order_no\\]/g, orderNo);\n    //Check here for virtual\n    htmlTemplate = htmlTemplate.replace(\n      /\\[booking_location\\]/g,\n      bookings[0].location\n    );\n    //Values past booking_location are repeatable and had to be updated below:\n\n    //Old Values - Maintained for compatibility\n    htmlTemplate = htmlTemplate.replace(\"[company-name]\", company.name);\n    htmlTemplate = htmlTemplate.replace(\n      \"[company-email]\",\n      company.emailaddress\n    );\n    // provider values\n    htmlTemplate = htmlTemplate.replace(\n      \"[provider-first-name]\",\n      provider.firstname\n    );\n    htmlTemplate = htmlTemplate.replace(\n      \"[provider-last-name]\",\n      provider.lastname\n    );\n    // client values\n    htmlTemplate = htmlTemplate.replace(\n      /\\[client-name\\]/g,\n      `${client.user.firstname ? client.user.firstname : \"\"} ${\n        client.user.lastname ? client.user.lastname : \"\"\n      }`\n    );\n    htmlTemplate = htmlTemplate.replace(\n      \"[client-phone]\",\n      getClientPhone(client.user, canProviderSeeClientPhone)\n    );\n    //service type\n    htmlTemplate = htmlTemplate.replace(\"[service-type]\", serviceType.name);\n    //order number\n    htmlTemplate = htmlTemplate.replace(\"[order-no]\", orderNo);\n\n    //booking(s)\n    htmlTemplate = htmlTemplate.replace(\n      \"[booking-location]\",\n      adjustedBookings[0].location\n    );\n    htmlTemplate = htmlTemplate.replace(\n      \"[booking_date]\",\n      adjustedBookings[0].TimeDisplayInfo.dt_long_disp\n    );\n    htmlTemplate = htmlTemplate.replace(\n      \"[booking_time]\",\n      adjustedBookings[0].TimeDisplayInfo.tm_st_disp\n    );\n    htmlTemplate = htmlTemplate.replace(\n      \"[end_time]\",\n      adjustedBookings[0].TimeDisplayInfo.tm_et_disp\n    );\n    htmlTemplate = htmlTemplate.replace(\n      \"[company-auth-site-url]\",\n      process.env.REACT_APP_AUTH_SITE_URL\n    );\n    let packageSection = \"\";\n    // pacakge section if more than one booking\n    if (adjustedBookings.length > 1) {\n      packageSection = `  <tr>\n                                  <td width=\"70%\">\n                                      <b>Additional bookings are confirmed for the following date(s) and time(s):</b>\n                                  </td>\n                              </tr>\n                              <tr>\n                                  <td width=\"70%\">\n                                      &nbsp; \n                                  </td>\n                              </tr>`;\n      for (let i = 1; i < adjustedBookings.length; i++) {\n        let bookingRow = `   <tr>\n                                  <td width=\"70%\">\n                                      <b>Date:</b> [booking_date]\n                                  </td>\n                              </tr>\n                              <tr>\n                                  <td width=\"70%\">\n                                      <b>Time:</b> [booking_time] to [end_time]\n                                  </td>\n                                  </tr>\n                              <tr>\n                                  <td width=\"70%\">\n                                      &nbsp; \n                                  </td>\n                              </tr>`;\n        bookingRow = bookingRow.replace(\n          \"[booking_date]\",\n          adjustedBookings[i].TimeDisplayInfo.dt_long_disp\n        );\n        bookingRow = bookingRow.replace(\n          \"[booking_time]\",\n          adjustedBookings[i].TimeDisplayInfo.tm_st_disp\n        );\n        bookingRow = bookingRow.replace(\n          \"[end_time]\",\n          adjustedBookings[i].TimeDisplayInfo.tm_et_disp\n        );\n        packageSection += bookingRow;\n      }\n    }\n\n    if (orderType === \"ONGOING\" && wdDisplay) {\n      packageSection += `  <tr>\n      <td width=\"70%\">\n          This booking will repeat every <b>${wdDisplay}.</b>\n      </td>\n  </tr>\n  <tr>\n      <td width=\"70%\">\n          &nbsp; \n      </td>\n  </tr>`;\n    }\n    htmlTemplate = htmlTemplate.replace(\n      \"[additional_bookings]\",\n      packageSection\n    );\n    htmlTemplate = htmlTemplate.replace(\n      \"[notes]\",\n      typeof orderNotes === \"string\" ? orderNotes : \"\"\n    );\n    return htmlTemplate;\n  } catch (err) {\n    await logSystemError(\n      company.id,\n      \"ERROR\",\n      \"Error populating provider order-booking receipt template\",\n      0,\n      err\n    );\n  }\n  return \"\";\n};\n\nfunction getClientPhone(user, canProviderSeeClientPhone) {\n  if (canProviderSeeClientPhone) {\n    if (user.phonepref === \"MOBILE\") {\n      if (user.mobilephone) return user.mobilephone;\n      else {\n        if (user.homephone) return user.homephone;\n        if (user.workphone) return user.workphone;\n      }\n    }\n    if (user.phonepref === \"HOME\") {\n      if (user.homephone) return user.homephone;\n      else {\n        if (user.mobilephone) return user.mobilephone;\n        if (user.workphone) return user.workphone;\n      }\n    }\n    if (user.phonepref === \"WORK\") {\n      if (user.workphone) return user.workphone;\n      else {\n        if (user.mobilephone) return user.mobilephone;\n        if (user.homephone) return user.homephone;\n      }\n    }\n    if (user.mobilephone) return user.mobilephone;\n    if (user.homephone) return user.homephone;\n    if (user.workphone) return user.workphone;\n\n    return \"\";\n  } else {\n    return \"(***) *** - ****\";\n  }\n}\n\nfunction getBookingDateTime(bookingDateTime, serviceDuration) {\n  const bdt = new Date(bookingDateTime);\n  let dtinfo = {};\n  dtinfo.date = bdt.toLocaleDateString(\"en-US\", {\n    weekday: \"long\",\n    year: \"numeric\",\n    month: \"long\",\n    day: \"numeric\",\n  });\n  dtinfo.startTime = bdt.toLocaleTimeString(\"en-US\", {\n    hour: \"numeric\",\n    minute: \"2-digit\",\n  });\n  bdt.setMinutes(bdt.getMinutes() + serviceDuration);\n  dtinfo.endTime = bdt.toLocaleTimeString(\"en-US\", {\n    hour: \"numeric\",\n    minute: \"2-digit\",\n  });\n  return dtinfo;\n}\n","import { loadData } from \"../Common/Template\";\nexport const guestCheckoutEmail = async (props) => {\n  console.log(props);\n  const {\n    client_firstname,\n    client_lastname,\n    client_email,\n    companyId,\n    company,\n  } = props;\n\n  let htmlTemplate = await loadData(\n    `https://do1e1nd2rp5b.cloudfront.net/public/email-templates/${company.id}/guest-checkout.html`,\n    companyId\n  );\n\n  // check if we got a template, if not load a generic template\n  if (htmlTemplate === \"Error\") {\n    // load generic template\n    htmlTemplate = await loadData(\n      \"https://do1e1nd2rp5b.cloudfront.net/public/email-templates/modified-templates/guest-checkout.html\",\n      companyId\n    );\n  }\n\n  // if still an error, we have a network problem\n  if (htmlTemplate === \"Error\") {\n    htmlTemplate =\n      \"We are unable to load your order receipt template. Please check your network connection.\";\n  }\n\n  htmlTemplate = htmlTemplate.replace(\n    /\\[company-auth-site-url\\]/g,\n    process.env.REACT_APP_AUTH_SITE_URL\n  );\n  htmlTemplate = htmlTemplate.replace(/\\[company-logo-url\\]/g, company.logoUrl);\n  htmlTemplate = htmlTemplate.replace(\n    /\\[company-color\\]/g,\n    company.primaryColor\n  );\n\n  //  company values\n  htmlTemplate = htmlTemplate.replace(/\\[company-name\\]/g, company.name);\n  htmlTemplate = htmlTemplate.replace(\n    /\\[company_email\\]/g,\n    company.emailaddress\n  );\n  htmlTemplate = htmlTemplate.replace(\n    /\\[client_firstname\\]/g,\n    client_firstname\n  );\n  htmlTemplate = htmlTemplate.replace(/\\[client_lastname\\]/g, client_lastname);\n\n  htmlTemplate = htmlTemplate.replace(/\\[client_email\\]/g, client_email);\n  if (company.subdomain) {\n    const signupUrl = `https://${company.subdomain}/signup`;\n    htmlTemplate = htmlTemplate.replace(/\\[company-booking-url\\]/g, signupUrl);\n  }\n\n  return htmlTemplate;\n};\n","import API, { graphqlOperation } from \"@aws-amplify/api\";\nimport {\n  clientPackageByUser,\n  getRefData,\n  getCompany,\n  getClientPackage,\n} from \"../graphql/queries\";\nimport {\n  createClient,\n  createBooking,\n  createOrder,\n  updateClientPackage,\n  createBillingProgress,\n  createClientPackage,\n  createBookingRequest,\n  createServiceType,\n  createUISession,\n} from \"../graphql/mutations\";\nimport { getCompanyLocation } from \"../graphql/queries\";\nimport {\n  updateProviderSchedule,\n  deleteProviderSchedule,\n} from \"../graphql/mutations\";\nimport {\n  bundledServicesByCompany,\n  regionalPricingByCompanyServiceType,\n  packageByCompany,\n} from \"../queries/ListBookingsQueries\";\nimport { execWrite, execReadBySortkey } from \"./DBService\";\nimport moment from \"moment\";\nimport { getServiceTaxRate } from \"./TaxService\";\nimport { createTimeblock, getAWSDate } from \"../modules/ScheduleService\";\nimport { handleSendEmail } from \"../user/UserCommon\";\nimport { ProviderBookingConfirmation } from \"../utils/Common/ProviderBookingConfirmation\";\nimport { trackOrderCompleted } from \"../modules/Tracking\";\nimport { guestCheckoutEmail } from \"../utils/Common/guestCheckoutEmail\";\nimport { TriggerManager } from \"../modules/TriggerManager\";\nimport * as Sentry from \"@sentry/react\";\nimport { VARIABLE_TAX_RATE } from \"../utils/Constants\";\n\nconst formatterCurr = (curr = \"USD\", cost) => {\n  try {\n    //returns in format $10.00 or £10.21\n    let formatter = new Intl.NumberFormat(\"en-US\", {\n      style: \"currency\",\n      currencyDisplay: \"narrowSymbol\",\n      minimumFractionDigits: 2,\n      maximumFractionDigits: 2,\n      currency: curr,\n    });\n    return formatter.format(Number(cost));\n  } catch (e) {\n    // ** older Safari/Mac does not support narrowSymbol **\n    // So,\n    // locale is undfined, currencyDisplay is 'default' i.e. 'symbol'\n    //  USD will be returned as US$10.00, CAD as CA$10.00\n    let formatter = new Intl.NumberFormat(undefined, {\n      style: \"currency\",\n      minimumFractionDigits: 2,\n      maximumFractionDigits: 2,\n      currency: curr,\n    });\n    return formatter.format(Number(cost));\n  }\n};\nconst handleOrderAndBookingCreation = async (bookingState, prps) => {\n  let usedPkgIdForCredit = null;\n  if (bookingState.boughtpackage)\n    usedPkgIdForCredit = bookingState.newclientpkg.id;\n  else if (bookingState.clientpackage) {\n    usedPkgIdForCredit = bookingState.clientpackage.id;\n  }\n\n  let input = {\n    ...{\n      heldPackageSlots: bookingState.heldPackageSlots,\n      packageBookedSlots: bookingState.packageBookedSlots,\n      bookedByAdmin: bookingState.bookingOnBehalf ? true : false,\n      uiSessionId: bookingState.uiSessionId,\n      bookingTz: bookingState.bookingTz,\n      clientNotes: bookingState.clientNotes,\n      bookingAddress: getBookingAddress(bookingState),\n      currency: bookingState.currency,\n      acknowledgementDateTime: bookingState.acknowledgementDateTime,\n      location: bookingState.location,\n      bookingType: bookingState.sdt,\n      chargeBreakup: bookingState.cbu,\n      orderSummary: bookingState.osd,\n      isVirtual: bookingState.isVirtual,\n      providerInfo: bookingState.provider,\n      heldSlots: bookingState.heldSlots,\n      //    taxJurisdiction,\n      userid: bookingState.bookingUser.username,\n      providerid: bookingState.provider.id,\n      company: prps.company,\n      servicetype: {\n        id: bookingState.serviceType.id,\n        desc: bookingState.serviceType.desc,\n        name: bookingState.serviceType.name,\n        price: bookingState.serviceType.price,\n        minutes: bookingState.serviceType.minutes,\n      },\n      booking: {\n        date: new Date(bookingState.selectedslot.date),\n        time: bookingState.selectedslot.label,\n        slot12: bookingState.selectedslot.slot12,\n        dateInfo: bookingState.selectedslot.dateInfo,\n      },\n      usedPkgIdForCredit: usedPkgIdForCredit,\n      ...(bookingState.repeatingAppointment && {\n        hasrepeatingappt: bookingState.repeatingAppointment,\n        repeatingapptinfo: {\n          apptlist: bookingState.repeatingApptList,\n        },\n      }),\n    },\n    bookingState: bookingState,\n  };\n\n  let localBookingDetails = null;\n  try {\n    localBookingDetails = await createOrderAndBookings(input);\n    if (\n      localBookingDetails &&\n      localBookingDetails.order &&\n      localBookingDetails.order.id\n    ) {\n      try {\n        if (bookingState.promoData)\n          await API.post(\"promoapi\", \"/redemption\", {\n            body: {\n              order: localBookingDetails.order,\n              promoData: bookingState.promoData,\n              bookingUser: {\n                ...localBookingDetails.client.user,\n                username: localBookingDetails.client?.user.id,\n              },\n              actionUser: { ...bookingState.user?.attributes },\n            },\n          });\n      } catch (e) {\n        console.log(\"calling redempation api failed\", e);\n      }\n      await updateOrderStats(\n        prps.company.id,\n        localBookingDetails.order.total,\n        bookingState.sdt\n      );\n    }\n  } catch (err) {\n    console.error(\"Confirm booking error => \", err);\n  }\n  return localBookingDetails;\n};\n\nasync function updateOrderStats(companyId, orderTotal, bookingType) {\n  if (bookingType !== \"forever\") {\n    try {\n      const company = await API.graphql(\n        graphqlOperation(getCompany, {\n          id: companyId,\n        })\n      );\n      if (company && company.data && company.data.getCompany) {\n        let dbinfo;\n        if (!company.data.getCompany.DashboardInfo) {\n          dbinfo = {\n            orders_today: 1,\n            orders_mtd: 1,\n            orders_ytd: 1,\n            sales_today: orderTotal,\n            sales_mtd: orderTotal,\n            sales_ytd: orderTotal,\n          };\n        } else {\n          dbinfo = JSON.parse(company.data.getCompany.DashboardInfo);\n          dbinfo.orders_today = dbinfo.orders_today\n            ? dbinfo.orders_today + 1\n            : 1;\n          dbinfo.orders_mtd = dbinfo.orders_mtd ? dbinfo.orders_mtd + 1 : 1;\n          dbinfo.orders_ytd = dbinfo.orders_ytd ? dbinfo.orders_ytd + 1 : 1;\n          dbinfo.sales_today = dbinfo.sales_today\n            ? dbinfo.sales_today + orderTotal\n            : orderTotal;\n          dbinfo.sales_mtd = dbinfo.sales_mtd\n            ? dbinfo.sales_mtd + orderTotal\n            : orderTotal;\n          dbinfo.sales_ytd = dbinfo.sales_ytd\n            ? dbinfo.sales_ytd + orderTotal\n            : orderTotal;\n        }\n\n        const updateCompany = /* GraphQL */ `\n          mutation UpdateCompany($input: UpdateCompanyInput!) {\n            updateCompany(input: $input) {\n              id\n              name\n              DashboardInfo\n            }\n          }\n        `;\n        const result = await execWrite({\n          opname: \"updateCompany\",\n          op: updateCompany,\n          input: {\n            id: companyId,\n            DashboardInfo: JSON.stringify(dbinfo),\n          },\n        });\n      }\n    } catch (e) {\n      console.log(\"error updating company stats\");\n    }\n  }\n}\n\nconst createOrderAndBookings = async ({\n  heldPackageSlots,\n  packageBookedSlots,\n  bookedByAdmin,\n  uiSessionId,\n  clientNotes,\n  bookingAddress,\n  currency,\n  acknowledgementDateTime,\n  bookingType,\n  chargeBreakup,\n  userid,\n  providerid,\n  company,\n  servicetype,\n  booking,\n  location,\n  heldSlots,\n  usedPkgIdForCredit,\n  isVirtual,\n  orderSummary,\n  bookingTz,\n  bookingState,\n}) => {\n  //Create client\n  let client = await getClientIfExists({\n    userid,\n    companyid: company.id,\n  });\n  if (client && client.error) {\n    return {\n      error: client.error,\n    };\n  }\n  if (!client) {\n    const clientData = {\n      userId: userid,\n      currency: currency, //company.currency ? company.currency : \"CAD\"\n      companyId: company.id,\n      clientUserId: userid,\n      clientCompanyId: company.id,\n      accountbalance: 0.0,\n    };\n    client = await execWrite({\n      opname: \"createClient\",\n      op: createClient,\n      input: clientData,\n    });\n    if (client && client.error) {\n      return {\n        error: client.error,\n      };\n    }\n  }\n  let orderType = \"SINGLE\";\n  if (bookingType === \"package\") orderType = \"PACKAGE\";\n  if (bookingType === \"forever\") orderType = \"ONGOING\";\n  //Create Order\n  const orderNo = await getNewOrderNo(company.id);\n  const orderData = {\n    bookedByAdmin,\n    clientnotes: clientNotes,\n    orderNo,\n    bookingAddress: JSON.stringify(bookingAddress), //is JSON\n    currency,\n    desc: prepareOrderDesc(servicetype, booking, bookingType), //servicetype.name,\n    type: orderType,\n    companyId: company.id,\n    providerId: providerid,\n    orderProviderId: providerid,\n    subtotal: chargeBreakup.subtotal,\n    servicechargeamt: chargeBreakup.servicechargeamt,\n    taxamt: chargeBreakup.taxamt,\n    total: chargeBreakup.total,\n    status: \"CONFIRMED\",\n    orderCompanyId: company.id,\n    taxrate: chargeBreakup.taxrate,\n    clientId: client.id,\n    legaltermsAcceptedAt: acknowledgementDateTime,\n    orderSummary: JSON.stringify(orderSummary),\n    orderClientId: client.id,\n    ...(usedPkgIdForCredit && {\n      orderClientpackageId: usedPkgIdForCredit,\n    }),\n  };\n\n  const order = await execWrite({\n    opname: \"createOrder\",\n    op: createOrder,\n    input: orderData,\n  });\n\n  if (order && order.error) {\n    return {\n      error: order.error,\n    };\n  }\n\n  if (packageBookedSlots && packageBookedSlots.length) {\n    // create package bookings here\n    const bookingsList = [];\n    let slotNum = 0;\n    for (const apptDT of packageBookedSlots) {\n      //Create Booking\n      const bookingData = {\n        desc: servicetype.name,\n        startdate: apptDT.dateInfo.dtstamp_str,\n        minutes: servicetype.minutes,\n        location: location,\n        companyId: company.id,\n        bookingOrderId: order.id,\n        orderId: order.id,\n        orderType: orderType,\n        isVirtual: isVirtual,\n        bookingServicetypeId: servicetype.id,\n        bookingProviderId: providerid,\n        bookingClientId: client.id,\n        bookingCompanyId: company.id,\n        timeblockid: `${heldPackageSlots[slotNum].id}`,\n        providerId: providerid,\n        clientId: client.id,\n        status: \"SCHEDULED\",\n        timezone: bookingTz,\n        TimeDisplayInfo: JSON.stringify(apptDT.dateInfo),\n        manualBooking: false,\n      };\n\n      try {\n        if (clientNotes) {\n          bookingData.Notes = JSON.stringify([\n            {\n              createdBy:\n                order.client.user.firstname + \" \" + order.client.user.lastname,\n              createdAt: order.createdAt,\n              notes: clientNotes,\n            },\n          ]);\n        }\n      } catch (e) {\n        console.log(\"ERROR with adding Notes to bookingData\", e);\n      }\n\n      const newbooking = await execWrite({\n        opname: \"createBooking\",\n        op: createBooking,\n        input: bookingData,\n      });\n\n      if (newbooking && newbooking.error) {\n        return {\n          error: newbooking.error,\n        };\n      }\n      bookingsList.push(newbooking);\n      slotNum = slotNum + 1;\n    }\n    prepareBookingDateTimeDisplayStrings(bookingsList);\n    //once the order is created and bookings are created,\n    //update uisession as completed\n    await createUISessionEntry({\n      uiSessionId: uiSessionId,\n      eventName: \"COMPLETE:SYNCORDER\",\n      companyId: company.id,\n    });\n\n    /* Zapier Trigger - New Order Created (new-order-zapier)*/\n    try {\n      let orderData = {\n        clientFirstName: order.client.user.firstname,\n        clientLastName: order.client.user.lastname,\n        clientEmail: order.client.user.emailaddress,\n        clientPhoneNumber: order.client.user.mobilephone,\n        providerFirstName: order.provider.firstname,\n        providerLastName: order.provider.lastname,\n        providerEmail: order.provider.emailaddress,\n        orderNumber: order.orderNo,\n        orderDescription: order.desc,\n        orderAmount: order.total,\n        orderCurrency: order.currency,\n        orderType: order.type,\n        numberOfBookings: bookingsList.length,\n        service: bookingsList[0].desc,\n        bookedBy: \"Client\",\n        createdAt: new Date(order.createdAt).toLocaleString(\"en-US\"),\n      };\n      if (order.type === \"ONGOING\") {\n        orderData.numberOfBookings = \"Recurring\";\n      }\n      if (bookedByAdmin) {\n        orderData.bookedBy = \"Admin\";\n      }\n      let hookName = \"new-order-zapier\";\n      await TriggerManager(orderData, company.id, hookName);\n    } catch (e) {\n      console.log(\"ERROR: unable to perform triggerManager\", e);\n    }\n\n    return {\n      order,\n      booking: bookingsList[0],\n      bookingsList,\n      client,\n    };\n  } else {\n    let firstBooking;\n    let bookingsList = [];\n    // everything else as before goes here\n    if (bookingType === \"forever\") {\n      //Create recurring booking using recurringBookingsAPI\n      const newBookingsResponse = await handleCreateRecurringBookings(\n        bookingState,\n        order\n      );\n      bookingsList = await generateBookingsList(\n        newBookingsResponse.newBookings,\n        bookingState.repeatingApptList\n      );\n      firstBooking = newBookingsResponse.newBookings;\n    } else {\n      //Create Booking\n      const bookingData = {\n        desc: servicetype.name,\n        startdate: booking.dateInfo.dtstamp_str,\n        minutes: servicetype.minutes,\n        location: location,\n        companyId: company.id,\n        bookingOrderId: order.id,\n        orderId: order.id,\n        orderType: orderType,\n        isVirtual: isVirtual,\n        bookingServicetypeId: servicetype.id,\n        bookingProviderId: providerid,\n        bookingClientId: client.id,\n        bookingCompanyId: company.id,\n        timeblockid: `${heldSlots[0].id}`,\n        providerId: providerid,\n        clientId: client.id,\n        status: \"SCHEDULED\",\n        timezone: bookingTz,\n        TimeDisplayInfo: JSON.stringify(booking.dateInfo),\n        manualBooking: false,\n      };\n\n      try {\n        if (clientNotes) {\n          bookingData.Notes = JSON.stringify([\n            {\n              createdBy:\n                order.client.user.firstname + \" \" + order.client.user.lastname,\n              createdAt: order.createdAt,\n              notes: clientNotes,\n            },\n          ]);\n        }\n      } catch (e) {\n        console.log(\"ERROR with adding Notes to bookingData\", e);\n      }\n\n      const newbooking = await execWrite({\n        opname: \"createBooking\",\n        op: createBooking,\n        input: bookingData,\n      });\n\n      if (newbooking && newbooking.error) {\n        return {\n          error: newbooking.error,\n        };\n      }\n      bookingsList = [];\n      bookingsList.push(newbooking);\n\n      firstBooking = newbooking;\n      prepareBookingDateTimeDisplayStrings(bookingsList);\n    }\n    //once the order is created and bookings are created,\n    //update uisession as completed\n    await createUISessionEntry({\n      uiSessionId: uiSessionId,\n      eventName: \"COMPLETE:SYNCORDER\",\n      companyId: company.id,\n    });\n\n    /* Zapier Trigger - New Order Created (new-order-zapier)*/\n    try {\n      let orderData = {\n        clientFirstName: order.client.user.firstname,\n        clientLastName: order.client.user.lastname,\n        clientEmail: order.client.user.emailaddress,\n        clientPhoneNumber: order.client.user.mobilephone,\n        providerFirstName: order.provider.firstname,\n        providerLastName: order.provider.lastname,\n        providerEmail: order.provider.emailaddress,\n        orderNumber: order.orderNo,\n        orderDescription: order.desc,\n        orderAmount: order.total,\n        orderCurrency: order.currency,\n        orderType: order.type,\n        numberOfBookings: bookingsList.length,\n        service: bookingsList[0].desc,\n        bookedBy: \"Client\",\n        createdAt: new Date(order.createdAt).toLocaleString(\"en-US\"),\n      };\n      if (order.type === \"ONGOING\") {\n        orderData.numberOfBookings = \"Recurring\";\n      }\n      if (bookedByAdmin) {\n        orderData.bookedBy = \"Admin\";\n      }\n      let hookName = \"new-order-zapier\";\n      await TriggerManager(orderData, company.id, hookName);\n    } catch (e) {\n      console.log(\"ERROR: unable to perform triggerManager\", e);\n    }\n\n    return {\n      order,\n      booking: firstBooking,\n      bookingsList,\n      client,\n    };\n  }\n};\n\nasync function handleCreateRecurringBookings(bookingState, order) {\n  try {\n    let recurBookingsResponse;\n    let body = {\n      companyId: bookingState.company.id,\n      orderId: order.id,\n\n      selectedSlot: bookingState.selectedslot,\n      bookingData: {\n        latitude: bookingState.isRemoteLocation\n          ? bookingState.remoteAddressCoordinates.lat\n          : bookingState.companyLocationCoordinates\n          ? bookingState.companyLocationCoordinates.lat\n          : null,\n        longitude: bookingState.isRemoteLocation\n          ? bookingState.remoteAddressCoordinates.lng\n          : bookingState.companyLocationCoordinates\n          ? bookingState.companyLocationCoordinates.lng\n          : null,\n        bookingBookedById: bookingState.bookingUser.username,\n        location: bookingState.location,\n        locationId:\n          bookingState.locationId !== undefined && bookingState.locationId\n            ? bookingState.locationId\n            : \"\",\n        serviceType: bookingState.serviceType,\n        client: {\n          firstName: bookingState.client.user.firstname,\n          lastName: bookingState.client.user.lastname,\n          id: bookingState.client.id,\n        },\n        provider: {\n          firstName: bookingState.provider.firstname,\n          lastName: bookingState.provider.lastname,\n          id: bookingState.provider.id,\n          timezone: bookingState.provider.timezone,\n        },\n        isVirtual:\n          bookingState.isVirtual !== undefined && bookingState.isVirtual\n            ? true\n            : false,\n        isRemoteLocation:\n          bookingState.isRemoteLocation !== undefined &&\n          bookingState.isRemoteLocation\n            ? true\n            : false,\n        remoteAddressCoordinates:\n          bookingState.isRemoteLocation !== undefined &&\n          bookingState.isRemoteLocation\n            ? {\n                lat: bookingState.remoteAddressCoordinates.lat,\n                lng: bookingState.remoteAddressCoordinates.lng,\n              }\n            : bookingState.companyLocationCoordinates\n            ? bookingState.companyLocationCoordinates\n            : null,\n        dayCount: bookingState.dayCount,\n        dayType: bookingState.dayType,\n        daysOfWeek: bookingState.daysOfWeek,\n        rrule: bookingState.rrule,\n      },\n    };\n    if (bookingState.clientNotes) {\n      body.bookingData.Notes = JSON.stringify([\n        {\n          createdBy:\n            bookingState.client.user.firstname +\n            \" \" +\n            bookingState.client.user.lastname,\n          createdAt: new Date(),\n          notes: bookingState.clientNotes,\n        },\n      ]);\n    }\n    if (bookingState.heldSlots) {\n      let heldSlots = getHeldSlotsForRecurringAPI(\n        bookingState.apptDates,\n        bookingState.heldSlots\n      );\n      body.bookingData.heldSlots = heldSlots;\n    }\n\n    recurBookingsResponse = await API.post(\n      \"recurringBookingsApi\",\n      \"/create-recurring-bookings\",\n      {\n        body,\n      }\n    );\n    return recurBookingsResponse.response;\n  } catch (e) {\n    console.log(\"error while creating recurring bookings\", e);\n  }\n}\n\nfunction getHeldSlotsForRecurringAPI(apptDates, heldSlots) {\n  let heldSlotsList = [];\n  let apptDatesList = apptDates;\n  apptDatesList.unshift(heldSlots[0]); //we add the first heldSlots object to apptDates becasuse apptDates originally does not include the first booking\n  for (let i = 0; i < apptDatesList.length; i++) {\n    let isValid = true;\n    let hasAlternate = false;\n    if (i > 0) {\n      const apptDate = apptDatesList[i];\n      isValid = apptDate ? apptDate.validity.isValid : isValid;\n      hasAlternate = apptDate ? apptDate.validity.hasAlternate : hasAlternate;\n    }\n\n    if (isValid || (hasAlternate && !isValid)) {\n      const currentHeldSlot =\n        i > 0\n          ? heldSlots.find(\n              (slot) => slot.startDate === apptDatesList[i].dateInfo.dt_disp\n            )\n          : heldSlots[0];\n      const bookingObject = {\n        dt_disp: moment(currentHeldSlot.sdtutc).format(\"YYYY-MM-DD\"),\n        dtstamp_str: currentHeldSlot.sdtutc,\n        dt_long_disp: moment(currentHeldSlot.sdtutc).format(\n          \"dddd, MMMM D, YYYY\"\n        ),\n        partial_dt_full_disp: moment(currentHeldSlot.sdtutc).format(\n          \"ddd, MMM D, YYYY\"\n        ),\n        partial_en_slot_disp: moment(currentHeldSlot.sdtutc).format(\n          \"ddd, MMM D\"\n        ),\n        timeblockid: currentHeldSlot.id,\n      };\n      heldSlotsList.push(bookingObject);\n    } else {\n      heldSlotsList.push(null);\n    }\n  }\n  return heldSlotsList;\n}\n\n/**\n * Generates a new array of booking objects based on the given bookingObject\n * and repeatApptList. The first object in the new array is the original\n * bookingObject, and subsequent objects are based on the repeatApptList with\n * specific attributes updated in the TimeDisplayInfo.\n *\n * @param {Object} bookingObject - The original booking object.\n * @param {Array} repeatApptList - An array of dateTimeObjects for different days.\n * @returns {Array} An array of booking objects with updated attributes.\n */\nasync function generateBookingsList(bookingObject, repeatApptList) {\n  // Initialize the new array\n  let bookingsList = [];\n\n  // Iterate over each dateTimeObject in repeatApptList\n  for (const dateTimeObject of repeatApptList) {\n    // Clone the bookingObject to avoid modifying the original object\n    let newBooking = {\n      provider: bookingObject.provider,\n      TimeDisplayInfo: JSON.parse(\n        JSON.stringify(bookingObject.TimeDisplayInfo)\n      ),\n      isVirtual: bookingObject.isVirtual,\n      location: bookingObject.location,\n    };\n\n    // Update attributes in TimeDisplayInfo\n    newBooking.TimeDisplayInfo.dt_disp = dateTimeObject.dateInfo.dt_disp;\n    newBooking.TimeDisplayInfo.dtstamp_str =\n      dateTimeObject.dateInfo.dtstamp_str;\n    newBooking.TimeDisplayInfo.dt_long_disp =\n      dateTimeObject.dateInfo.dt_long_disp;\n    newBooking.TimeDisplayInfo.dt_full_disp =\n      dateTimeObject.dateInfo.partial_dt_full_disp;\n    newBooking.TimeDisplayInfo.en_slot_disp =\n      dateTimeObject.dateInfo.partial_en_slot_disp;\n\n    // Push the modified object to the new array\n    bookingsList.push(newBooking);\n  }\n\n  // Add the bookingObject as the first booking in the List\n  bookingsList.unshift(bookingObject);\n\n  return bookingsList;\n}\n\nfunction prepareBookingDateTimeDisplayStrings(bookingsList) {\n  if (bookingsList && bookingsList.length) {\n    for (let bk of bookingsList) {\n      bk.TimeDisplayInfo = JSON.parse(bk.TimeDisplayInfo);\n    }\n  }\n}\n\nasync function getNewOrderNo(companyId) {\n  const ordNoResp = await API.get(\"bookingapi\", \"/id\", {\n    queryStringParameters: {\n      companyId,\n      idName: \"ORDERNO\",\n    },\n  });\n  if (ordNoResp && ordNoResp.success) return ordNoResp.id;\n  else {\n    return Number(new String(Date.now()).slice(-8));\n  }\n}\n\nfunction getBookingAddress(bookingState) {\n  let bookingAddress = {};\n  if (bookingState.appointmentLocation === \"remote\") {\n    bookingAddress.addrOneLine = bookingState.location;\n    bookingAddress.state = bookingState.remoteAddressState;\n    bookingAddress.countryCode = bookingState.remoteAddressCountryShort;\n    bookingAddress.postalCode = bookingState.remoteAddressPostalCode;\n    bookingAddress.country = bookingState.remoteAddressCountry;\n  } else {\n    bookingAddress.addrOneLine = bookingState.location;\n    bookingAddress.state = bookingState.province;\n    bookingAddress.countryCode = bookingState.countryShort;\n    bookingAddress.postalCode = bookingState.postalCode;\n    bookingAddress.country = bookingState.country;\n  }\n  return bookingAddress;\n}\n\nconst createClientRecord = async (user, company) => {\n  const clientData = {\n    userId: user.id,\n    currency: company.currency ? company.currency : \"CAD\",\n    companyId: company.id,\n    clientUserId: user.id,\n    clientCompanyId: company.id,\n    accountbalance: 0.0,\n  };\n\n  let client = await execWrite({\n    opname: \"createClient\",\n    op: createClient,\n    input: clientData,\n  });\n\n  if (client && client.error) {\n    return {\n      error: client.error,\n    };\n  } else return client;\n};\n\nconst holdSlotForPackageAppointments = async ({\n  uiSessionId,\n  company,\n  servicetype,\n  booking,\n  geoLoc,\n  locationId,\n  providerId,\n}) => {\n  if (booking) {\n    const tbendtime = getTimeblockEndTime(servicetype, booking);\n    let bookedtimeblockData = {\n      companyId: company.id,\n      startDate: getAWSDate(booking.date),\n      startTime: booking.time,\n      endTime: tbendtime,\n      type: \"BOOKED\",\n      locationId,\n      status: \"PENDING\",\n      geoLoc,\n      tz: booking.dateInfo.tz,\n      sdtutc: booking.dateInfo.dtstamp_str,\n      providerId,\n    };\n    const tb = await createTimeblock(bookedtimeblockData);\n    try {\n      await API.post(\"bookingapi\", \"/pendingslotstracking\", {\n        body: {\n          heldSlots: [\n            {\n              id: tb.id,\n              scheduleinfo: tb.scheduleinfo,\n              status: tb.status,\n            },\n          ],\n          uiSessionId: uiSessionId,\n          companyId: company.id,\n        },\n      });\n    } catch (e) {\n      console.log(\n        \"holdSlotForPackageAppointments queueing heldslots for tracking error\",\n        e\n      );\n    }\n    return tb;\n  }\n  return null;\n};\n\nconst holdSlotsForAppointments = async ({\n  uiSessionId,\n  scheduleId,\n  providerId,\n  company,\n  servicetype,\n  booking,\n  hasrepeatingappt,\n  repeatingapptinfo,\n  geoLoc,\n  locationId,\n}) => {\n  const returnTimeblockList = [];\n  // Create Timeblock\n  if (booking) {\n    const tbendtime = getTimeblockEndTime(servicetype, booking);\n    let bookedtimeblockData = {\n      companyId: company.id,\n      startDate: getAWSDate(booking.date),\n      startTime: booking.time,\n      endTime: tbendtime,\n      type: \"BOOKED\",\n      scheduleId,\n      providerId,\n      status: \"PENDING\",\n      locationId,\n      geoLoc,\n      tz: booking.dateInfo.tz,\n      sdtutc: booking.dateInfo.dtstamp_str,\n    };\n    const tb = await createTimeblock(bookedtimeblockData);\n    returnTimeblockList.push(tb);\n  }\n  //this part is only done for recurring bookings\n  if (hasrepeatingappt && repeatingapptinfo.apptlist) {\n    for (const apptDT of repeatingapptinfo.repeatingApptList) {\n      // Create Timeblock\n      const tbendtime = getTimeblockEndTimeOfAppt(servicetype, apptDT.date);\n      let bookedtimeblockData = {\n        companyId: company.id,\n        startDate: getAWSDate(apptDT.date),\n        startTime: getBookingTimeOfAppt(apptDT.date),\n        endTime: tbendtime,\n        type: \"BOOKED\",\n        scheduleId,\n        providerId,\n        status: \"PENDING\",\n        geoLoc,\n        locationId,\n        tz: apptDT.dateInfo.tz,\n        sdtutc: apptDT.dateInfo.dtstamp_str,\n      };\n      const tb = await createTimeblock(bookedtimeblockData);\n      returnTimeblockList.push({ ...tb, date: apptDT.date });\n    }\n  }\n  if (returnTimeblockList && returnTimeblockList.length)\n    try {\n      await API.post(\"bookingapi\", \"/pendingslotstracking\", {\n        body: {\n          heldSlots: returnTimeblockList.map((ps) => {\n            return {\n              id: ps.id,\n              scheduleinfo: ps.scheduleinfo,\n              status: ps.status,\n            };\n          }),\n          uiSessionId: uiSessionId,\n          companyId: company.id,\n        },\n      });\n    } catch (e) {\n      console.log(\" queueing heldslots for tracking error\", e);\n    }\n\n  return {\n    heldSlots: returnTimeblockList,\n  };\n};\n\nfunction priceAfterDiscount(bs, basePrice) {\n  if (bs.promoData) {\n    return basePrice - getDiscount(bs, basePrice);\n  }\n  return basePrice;\n}\n\nfunction getDiscount(bs, basePrice) {\n  if (bs.promoData) {\n    if (bs.promoData.discountType === \"DOLLAR\")\n      return Number(bs.promoData.discountValue);\n    //assume PERCENTAGE\n    else return basePrice * (Number(bs.promoData.discountValue) / 100);\n  }\n  return 0.0;\n}\n\nconst calculateChargeBreakup = (basePrice, company, isPkgCredit, bs) => {\n  const { countryCode, stateCode } = getTaxJurisdiction(bs, company);\n  const jurisdictionTaxRate = getServiceTaxRate(countryCode, stateCode);\n  let taxableAmount = 0;\n  let taxAmount = 0;\n  let taxRate;\n\n  if (bs.sdt === \"package\") {\n    if (bs.boughtpackage !== null) {\n      const {\n        regionalServicePrice,\n        boughtpackage: {\n          servicetype: { taxexempt, TaxOverride: taxOverrideJson },\n          packagetype,\n          price,\n          quantity,\n          discount,\n        },\n      } = bs;\n      let taxOverride;\n      try {\n        taxOverride = JSON.parse(taxOverrideJson);\n      } catch {\n        console.log(\"Unable to parse tax override\");\n      }\n      if (taxexempt === false) {\n        taxableAmount =\n          packagetype === \"DOLLAR\"\n            ? priceAfterDiscount(bs, price)\n            : quantity *\n              priceAfterDiscount(bs, regionalServicePrice) *\n              (1 - discount / 100);\n      }\n      taxRate =\n        !isNaN(parseFloat(taxOverride)) && isFinite(taxOverride)\n          ? parseFloat(taxOverride)\n          : jurisdictionTaxRate;\n      taxAmount = (taxableAmount * taxRate) / 100;\n    }\n  } else {\n    const {\n      regionalServicePrice1,\n      regionalServicePrice2,\n      regionalServicePrice3,\n      serviceQty1,\n      serviceQty2,\n      serviceQty3,\n      serviceType1,\n      serviceType2,\n      serviceType3,\n    } = bs;\n    const { taxexempt: taxexempt1, TaxOverride: taxOverride1Json1 } =\n      serviceType1 || {};\n    const { taxexempt: taxexempt2, TaxOverride: taxOverride1Json2 } =\n      serviceType2 || {};\n    const { taxexempt: taxexempt3, TaxOverride: taxOverride1Json3 } =\n      serviceType3 || {};\n    let taxOverride1, taxOverride2, taxOverride3;\n    let taxRate1, taxRate2, taxRate3;\n    let taxableAmount1, taxableAmount2, taxableAmount3;\n    try {\n      taxOverride1 = JSON.parse(taxOverride1Json1);\n    } catch {\n      console.log(\"Unable to parse tax override\");\n    }\n    try {\n      taxOverride2 = JSON.parse(taxOverride1Json2);\n    } catch {\n      console.log(\"Unable to parse tax override\");\n    }\n    try {\n      taxOverride3 = JSON.parse(taxOverride1Json3);\n    } catch {\n      console.log(\"Unable to parse tax override\");\n    }\n    if (taxexempt1 !== true && serviceType1) {\n      taxableAmount1 =\n        priceAfterDiscount(bs, regionalServicePrice1) * serviceQty1;\n      taxableAmount += taxableAmount1;\n      taxRate1 =\n        !isNaN(parseFloat(taxOverride1)) && isFinite(taxOverride1)\n          ? parseFloat(taxOverride1)\n          : jurisdictionTaxRate;\n      taxAmount += (taxableAmount1 * taxRate1) / 100;\n    }\n    if (taxexempt2 !== true && serviceType2) {\n      taxableAmount2 = regionalServicePrice2 * serviceQty2;\n      taxableAmount += taxableAmount2;\n      taxRate2 =\n        !isNaN(parseFloat(taxOverride2)) && isFinite(taxOverride2)\n          ? parseFloat(taxOverride2)\n          : jurisdictionTaxRate;\n      taxAmount += (taxableAmount2 * taxRate2) / 100;\n    }\n    if (taxexempt3 !== true && serviceType3) {\n      taxableAmount3 = regionalServicePrice3 * serviceQty3;\n      taxableAmount += taxableAmount2;\n      taxRate3 =\n        !isNaN(parseFloat(taxOverride3)) && isFinite(taxOverride3)\n          ? parseFloat(taxOverride3)\n          : jurisdictionTaxRate;\n      taxAmount += (taxableAmount3 * taxRate3) / 100;\n    }\n    // detects is there are any different non undefiend tax rate in which case the rate is variable\n    taxRate = [taxRate1, taxRate2, taxRate3].reduce(\n      (acc, rate) =>\n        rate !== undefined && rate !== acc ? VARIABLE_TAX_RATE : acc,\n      taxRate1\n    );\n  }\n\n  const charge = {\n    subtotal: priceAfterDiscount(bs, Number.parseFloat(basePrice)),\n    servicechargeamt: 0.0,\n    total: 0.0,\n    discount: getDiscount(bs, basePrice),\n  };\n\n  if (company.addServiceFee && !isPkgCredit) {\n    if (company.serviceFeeType === \"PERCENTAGE\") {\n      charge.servicechargeamt = Number.parseFloat(\n        (charge.subtotal * company.serviceFeeAmount) / 100\n      );\n    } else {\n      charge.servicechargeamt = Number.parseFloat(company.serviceFeeAmount);\n    }\n    // Service fees taxation jusrestiction based logic\n    // Assume no cross border orders\n    if (countryCode.toUpperCase() === \"CA\" && charge.servicechargeamt > 0) {\n      taxableAmount += charge.servicechargeamt;\n      taxAmount += charge.servicechargeamt * (jurisdictionTaxRate / 100);\n    }\n  }\n\n  charge.taxableamt = Number.parseFloat(taxableAmount);\n  charge.taxamt = taxAmount;\n  charge.taxrate = taxRate;\n\n  charge.total = charge.subtotal + charge.servicechargeamt + charge.taxamt;\n  return charge;\n};\n\nconst updateClientPackageToPaid = async (pkg, usedQuantity) => {\n  const updCliPkg = /* GraphQL */ `\n    mutation UpdateClientPackage($input: UpdateClientPackageInput!) {\n      updateClientPackage(input: $input) {\n        id\n      }\n    }\n  `;\n\n  return await execWrite({\n    opname: \"updateClientPackage\",\n    op: updCliPkg,\n    input: {\n      id: pkg.id,\n      status: \"paid\",\n      usedQuantity,\n      servicetypeId: pkg.servicetypeId,\n      packageId: pkg.packageId,\n      createdAt: pkg.createdAt,\n    },\n  });\n};\n\nfunction prepareOrderDesc(servicetype, booking, bookingType) {\n  //For single booking.\n  //TBD: For repeated booking.\n  if (bookingType === \"forever\") {\n    return `Repeating bookings for ${servicetype.name} starting from ${booking.dateInfo.dt_full_disp}`;\n  } else if (bookingType === \"package\") {\n    return `Package booking for ${servicetype.name}`;\n  } else\n    return `Booking for ${servicetype.name} on ${booking.dateInfo.dt_full_disp} `;\n}\n\nfunction getTimeblockEndTime(servicetype, booking) {\n  const endtime = new Date();\n  const parts = booking.time.split(\":\");\n  endtime.setHours(Number.parseInt(parts[0]));\n  endtime.setMinutes(servicetype.minutes + Number.parseInt(parts[1]));\n  return `${\n    endtime.getHours() < 10 ? \"0\" + endtime.getHours() : endtime.getHours()\n  }:${\n    endtime.getMinutes() < 10\n      ? \"0\" + endtime.getMinutes()\n      : endtime.getMinutes()\n  }`;\n}\n\nfunction getTimeblockEndTimeOfAppt(servicetype, apptDatetime) {\n  const endtime = new Date(apptDatetime.getTime());\n  endtime.setMinutes(servicetype.minutes + endtime.getMinutes());\n  return `${\n    endtime.getHours() < 10 ? \"0\" + endtime.getHours() : endtime.getHours()\n  }:${\n    endtime.getMinutes() < 10\n      ? \"0\" + endtime.getMinutes()\n      : endtime.getMinutes()\n  }`;\n}\n\nfunction getBookingTimeOfAppt(apptDatetime) {\n  return `${\n    apptDatetime.getHours() < 10\n      ? \"0\" + apptDatetime.getHours()\n      : apptDatetime.getHours()\n  }:${\n    apptDatetime.getMinutes() < 10\n      ? \"0\" + apptDatetime.getMinutes()\n      : apptDatetime.getMinutes()\n  }`;\n}\n\nasync function getClientIfExists(cd) {\n  const ClientByUserId = /* GraphQL */ `\n    query ClientByUserId(\n      $userId: String\n      $id: ModelIDKeyConditionInput\n      $sortDirection: ModelSortDirection\n      $filter: ModelClientFilterInput\n      $limit: Int\n      $nextToken: String\n    ) {\n      clientByUserId(\n        userId: $userId\n        id: $id\n        sortDirection: $sortDirection\n        filter: $filter\n        limit: $limit\n        nextToken: $nextToken\n      ) {\n        items {\n          id\n          userId\n          companyId\n          stripeCustomerId\n          defaultpartialcc\n          user {\n            id\n            username\n            emailaddress\n            registered\n            firstname\n            lastname\n            homephone\n            workphone\n            mobilephone\n            phonepref\n          }\n        }\n        nextToken\n      }\n    }\n  `;\n\n  const response = await API.graphql(\n    graphqlOperation(ClientByUserId, {\n      userId: cd.userid,\n      filter: { companyId: { eq: cd.companyid } },\n    })\n  );\n  let client =\n    response.data.clientByUserId.items && response.data.clientByUserId.items[0];\n\n  return client;\n}\n\nconst getPaidPackages = async ({ userid, servicetypeid }) => {\n  const filter = {\n    and: [{ active: { ne: false } }, { status: { eq: \"paid\" } }],\n  };\n\n  const listClientPackagesData = await execReadBySortkey({\n    op: clientPackageByUser,\n    opname: \"clientPackageByUser\",\n    id: { userId: userid },\n    skey: {\n      servicetypeIdPackageIdCreatedAt: {\n        beginsWith: { servicetypeId: servicetypeid },\n      },\n    },\n    filter,\n    limit: 10,\n  });\n  if (listClientPackagesData.error) {\n    return [];\n  }\n  return listClientPackagesData.items\n    ? listClientPackagesData.items.filter(\n        (cp) => cp.initialQuantity > cp.usedQuantity\n      )\n    : [];\n};\n\nconst updateUsedQuantityOfPackage = async ({ pkg, increaseby }) => {\n  //should we check if usedQuantity will be greater than initial quantity\n  const {\n    data: { getClientPackage: clientPackage },\n  } = await API.graphql(\n    graphqlOperation(getClientPackage, {\n      id: pkg.id,\n    })\n  );\n  const usedQuantity = clientPackage\n    ? clientPackage.usedQuantity + increaseby\n    : pkg.usedQuantity + increaseby;\n  const input = {\n    id: pkg.id,\n    servicetypeId: pkg.servicetypeId,\n    packageId: pkg.packageId,\n    createdAt: pkg.createdAt,\n    usedQuantity,\n  };\n  const response = await execWrite({\n    opname: \"updateClientPackage\",\n    op: updateClientPackage,\n    input,\n  });\n  return response;\n};\n\nconst updateOrderStatusToPaidByPkgCredit = async (orderid) => {\n  return await updateOrderStatus(\n    orderid,\n    \"PAIDBYPKGCRE\",\n    {\n      subtotal: 0.0,\n      servicechargeamt: 0.0,\n      total: 0.0,\n      taxamt: 0.0,\n    },\n    null\n  );\n};\nconst updateOrderStatusToConfirmed = async (\n  orderid,\n  chargeBreakup,\n  receipt\n) => {\n  return await updateOrderStatus(orderid, \"CONFIRMED\", chargeBreakup, receipt);\n};\nconst updateOrderStatusToPaid = async (orderid, chargeBreakup, receipt) => {\n  return await updateOrderStatus(orderid, \"PAID\", chargeBreakup, receipt);\n};\nconst updateOrderStatusToClosed = async (orderid) => {\n  return await updateOrderStatus(orderid, \"CLOSED\", null, null);\n};\nconst updateOrderStatus = async (orderid, status, chargeBreakup, receipt) => {\n  const updOrder = /* GraphQL */ `\n    mutation UpdateOrder($input: UpdateOrderInput!) {\n      updateOrder(input: $input) {\n        id\n      }\n    }\n  `;\n  return await execWrite({\n    opname: \"updateOrder\",\n    op: updOrder,\n    input: {\n      id: orderid,\n      status,\n      ...(receipt\n        ? {\n            orderReceipt: receipt,\n          }\n        : {}),\n      ...(chargeBreakup\n        ? {\n            subtotal: chargeBreakup.subtotal,\n            total: chargeBreakup.total,\n            servicechargeamt: chargeBreakup.servicechargeamt,\n            taxamt: chargeBreakup.taxamt,\n          }\n        : {}),\n    },\n  });\n};\n\nconst updateClientBalanceTo = async (clientId, balance) => {\n  const updateClient = `mutation UpdateClient($input: UpdateClientInput!) {\n    updateClient(input: $input) {\n      id\n    }\n  }`;\n  return await execWrite({\n    opname: \"updateClient\",\n    op: updateClient,\n    input: {\n      id: clientId,\n      accountbalance: balance,\n    },\n  });\n};\n\nconst cancelBooking = async (booking) => {\n  const updBooking = /* GraphQL */ `\n    mutation UpdateBooking($input: UpdateBookingInput!) {\n      updateBooking(input: $input) {\n        id\n        status\n        timeblockid\n        providerId\n        clientId\n        companyId\n      }\n    }\n  `;\n  const bkgresp = await execWrite({\n    opname: \"updateBooking\",\n    op: updBooking,\n    input: {\n      id: booking.id,\n      status: \"CANCELLED\",\n      cancelledAt: booking.cancelledAt,\n      bookingCancelledById: booking.cancelledBy,\n    },\n  });\n\n  if (bkgresp && bkgresp.timeblockid) {\n    const tbpksk = bkgresp.timeblockid.split(\"::\");\n    await execWrite({\n      opname: \"updateProviderSchedule\",\n      op: updateProviderSchedule,\n      input: {\n        id: tbpksk[0],\n        scheduleinfo: tbpksk[1],\n        status: \"CANCELLED\",\n      },\n    });\n  }\n  return bkgresp;\n};\n\nconst saveBillingProgress = async (input) => {\n  const {\n    currency,\n    company,\n    order,\n    booking,\n    client,\n    user,\n    serviceType,\n    chargeBreakup,\n  } = input;\n  const ts = getCurrentDate();\n  const jsonData = JSON.stringify({\n    companyId: company.id,\n    orderId: order.id,\n    bookingId: booking.id,\n    userId: user.id,\n    userEmailAddress: user.emailaddress,\n    currency: currency,\n    stripeCustomerId: client.stripeCustomerId,\n    clientId: client.id,\n    serviceTypeName: serviceType.name,\n    bookingTimeblockId: booking.timeblockid,\n    appointmentDate: booking.startdate,\n    timestamp: ts,\n    chargeBreakup,\n  });\n\n  const bpData = {\n    companyId: company.id,\n    dateTime: new Date(),\n    status: \"QUEUED\",\n    data: jsonData,\n  };\n\n  try {\n    const bp = await execWrite({\n      opname: \"createBillingProgress\",\n      op: createBillingProgress,\n      input: bpData,\n    });\n\n    if (bp && bp.error) {\n      return {\n        error: bp.error,\n        success: false,\n      };\n    } else {\n      return { success: true };\n    }\n  } catch (e) {\n    return { success: false, error: e };\n  }\n};\nconst getCurrentDate = () => {\n  return moment.utc().format(\"YYYY-MM-DDTHH-mm-ss.SSS\");\n};\n\nconst updateHeldSlotsToConfirmed = async (heldSlots) => {\n  for (let hs of heldSlots) {\n    const tbpksk = hs.id.split(\"::\");\n\n    await execWrite({\n      opname: \"updateProviderSchedule\",\n      op: updateProviderSchedule,\n      input: {\n        id: tbpksk[0],\n        scheduleinfo: tbpksk[1],\n        status: \"CONFIRMED\",\n      },\n    });\n  }\n};\n\nconst deleteHeldSlots = async (heldSlots) => {\n  for (let hs of heldSlots) {\n    const tbpksk = hs.id.split(\"::\");\n    await execWrite({\n      opname: \"deleteProviderSchedule\",\n      op: deleteProviderSchedule,\n      input: {\n        id: tbpksk[0],\n        scheduleinfo: tbpksk[1],\n      },\n    });\n  }\n};\n\nasync function sendProviderBookingConfirmation({\n  provider,\n  client,\n  company,\n  serviceType,\n  bookings,\n  orderNo,\n  orderType,\n  orderNotes,\n  wdDisplay,\n}) {\n  const providerConfirmation = await ProviderBookingConfirmation({\n    provider,\n    client,\n    company,\n    serviceType,\n    bookings,\n    orderNo,\n    orderType,\n    orderNotes,\n    wdDisplay,\n  });\n  if (providerConfirmation.length > 0)\n    await handleSendEmail(\n      `You have received a new booking from ${company.name}: Ref No. ${orderNo}`,\n      providerConfirmation,\n      [provider.emailaddress],\n      [],\n      [],\n      company.replyemailaddress,\n      company.name\n    );\n}\n\nasync function sendOrderReceipt(orderId) {\n  try {\n    await API.post(\"bookingapi\", \"/booking/receipt-email\", {\n      body: { orderId },\n    });\n  } catch (e) {\n    console.log(\"ERROR generating receipt email\", e);\n  }\n}\n\nasync function saveClientPackage(user, bookingState) {\n  try {\n    const pkg = bookingState.boughtpackage;\n\n    let input = {\n      companyId: bookingState.company.id,\n      userId: user.username,\n      clientPackageUserId: user.username,\n      clientPackageServicetypeId: bookingState.serviceType.id,\n      clientId: bookingState.client.id,\n      clientPackageClientId: bookingState.client.id,\n      servicetypeId: bookingState.serviceType.id,\n      clientPackagePackageId: pkg.id,\n      packageId: pkg.id,\n      initialQuantity: pkg.quantity,\n      usedQuantity: 0,\n      status: \"pending\",\n      active: true,\n      createdAt: new Date().toISOString(),\n    };\n    const result = await API.graphql(\n      graphqlOperation(createClientPackage, { input })\n    );\n\n    return {\n      success: true,\n      pkg: result.data.createClientPackage,\n    };\n  } catch (err) {\n    console.log(\"Create package error\");\n    return {\n      success: false,\n    };\n  }\n}\n\nasync function fetchPackages(companyId, serviceTypeId) {\n  // check for available active packages for this company and service type\n\n  let listPackagesData = await execReadBySortkey({\n    opname: \"packageByCompany\",\n    op: packageByCompany,\n    id: { companyId: companyId },\n    skey: {\n      servicetypeIdCreatedAt: {\n        beginsWith: {\n          servicetypeId: serviceTypeId,\n        },\n      },\n    },\n    filter: {\n      and: [{ active: { ne: false } }, { deleted: { ne: true } }],\n    },\n    sortDirection: \"DESC\",\n  });\n\n  if (listPackagesData.items && listPackagesData.items.length > 0) {\n    listPackagesData.items.sort((p1, p2) => p1.quantity - p2.quantity);\n  }\n  return listPackagesData.items;\n}\n\nasync function noPackages(companyId, serviceId) {\n  const pkgs = await fetchPackages(companyId, serviceId);\n  if (!pkgs || !pkgs.length) return true;\n  return false;\n}\n\nasync function fetchRegionalPricing(companyId, serviceTypeId) {\n  // check for available regional pricing for this company and service type\n\n  let listRegionalPricingData = await execReadBySortkey({\n    opname: \"regionalPricingByCompanyServiceType\",\n    op: regionalPricingByCompanyServiceType,\n    id: { companyId: companyId },\n    skey: { servicetypeId: { eq: serviceTypeId } },\n    filter: {\n      and: [{ active: { ne: false } }, { deleted: { ne: true } }],\n    },\n    sortDirection: \"DESC\",\n  });\n\n  return listRegionalPricingData.items;\n}\n\n// gets correct price based on regional pricing\nasync function getPrice(bookingState, serviceType) {\n  const price = serviceType.price;\n\n  // virtual appts have no regional pricing\n  if (bookingState.isVirtual) return price;\n\n  const regpri = await fetchRegionalPricing(\n    bookingState.company.id,\n    serviceType.id\n  );\n\n  let country = bookingState.isRemoteLocation\n    ? bookingState.remoteAddressCountryShort\n    : bookingState.countryShort;\n  let prov = bookingState.isRemoteLocation\n    ? bookingState.remoteAddressState\n    : bookingState.province;\n  let postalCode = bookingState.isRemoteLocation\n    ? bookingState.remoteAddressPostalCode\n    : bookingState.postalCode;\n\n  // filters regional pricing into separate arrays by type\n  let countryRegPri = regpri.filter((o) => o.pricingtype === \"COUNTRY\");\n  let provRegPri = regpri.filter((o) => o.pricingtype === \"PROVINCE\");\n  let postalRegPri = regpri.filter((o) => o.pricingtype === \"POSTALCODE\");\n  // further filters through postalcode regional pricing array to find matching postal code\n  if (postalCode)\n    postalRegPri = postalRegPri.filter((o) =>\n      o.postalcodes.find(\n        (p) =>\n          p.replace(/\\s+/g, \"\").toUpperCase() ===\n          postalCode.replace(/\\s+/g, \"\").toUpperCase()\n      )\n    );\n\n  // if there is postalcode regional pricing and it matches the booking postal code, choose that price\n  if (postalCode && postalRegPri.length) {\n    return postalRegPri[0].price;\n  }\n  // if there is province regional pricing and it matches the booking province, choose that price\n  else if (\n    provRegPri.length &&\n    provRegPri.find((o) => o.province.trim() === prov)\n  ) {\n    return provRegPri.find((o) => o.province.trim() === prov).price;\n  }\n  // if there is country regional pricing and it matches the booking country, choose that price\n  else if (\n    countryRegPri.length &&\n    countryRegPri.find((o) => o.country.trim() === country)\n  ) {\n    return countryRegPri.find((o) => o.country.trim() === country).price;\n  }\n  // if no regional pricing, stick with original service price\n  else {\n    return price;\n  }\n}\n\n// populates any description fields with the proper price per session values\nfunction getDescription(val, price, currency) {\n  // note that dollar packages use val.price, while percentage packages. use passed in price value\n  if (!val.desc.includes(\"$[price]\") && !val.desc.includes(\"[price]\"))\n    return val.desc;\n  else if (val.packagetype === \"DOLLAR\") {\n    return val.desc\n      .replace(/\\$/gi, \"\")\n      .replace(\n        \"[price]\",\n        `${getCurrencySymbol(currency)}${(val.price / val.quantity).toFixed(2)}`\n      );\n  } else if (val.packagetype === \"PERCENTAGE\") {\n    let pricePerSession =\n      (val.quantity * price * (1 - val.discount / 100)) / val.quantity;\n    return val.desc\n      .replace(/\\$/gi, \"\")\n      .replace(\n        \"[price]\",\n        `${getCurrencySymbol(currency)}${pricePerSession.toFixed(2)}`\n      );\n  } else {\n    return \"PACKAGE TYPE MISSING\";\n  }\n}\n\nasync function fetchCompanyLocation(locationId) {\n  const getCompanyLocationData = await API.graphql(\n    graphqlOperation(getCompanyLocation, { id: locationId })\n  );\n  return getCompanyLocationData.data.getCompanyLocation;\n}\n\nfunction getStripeAmount(num) {\n  let num_check = (parseFloat(num) * 100).toString();\n  const decimal_pos = num_check.indexOf(\".\");\n  if (decimal_pos === -1) {\n    return parseInt(num_check);\n  } else {\n    const rounded_num = num_check.charAt(decimal_pos + 1);\n    if (parseInt(rounded_num) >= 5) {\n      return parseInt(num_check) + 1;\n    } else if (parseInt(rounded_num) < 5) {\n      return parseInt(num_check);\n    }\n  }\n}\n\nconst saveBookingRequest = async (\n  bookingState,\n  client,\n  guestCheckoutInfoForBookingReq\n) => {\n  // Read client:\n  if (!client) {\n    let clientRecord = await getClientIfExists({\n      userid: bookingState.bookingUser.username,\n      companyid: bookingState.company.id,\n    });\n    client = clientRecord;\n  }\n  let savedNotDisplayedProviderData = [];\n  let savedDisplayedProviderData = [];\n  if (\n    bookingState.savedNotDisplayedProviderData &&\n    bookingState.savedNotDisplayedProviderData.length > 0\n  ) {\n    let usethese = [];\n    if (bookingState.savedNotDisplayedProviderData.length > 10) {\n      usethese = bookingState.savedNotDisplayedProviderData.slice(0, 10);\n    } else usethese = bookingState.savedNotDisplayedProviderData;\n    savedNotDisplayedProviderData = usethese.map((p) => {\n      return {\n        id: p.id,\n        firstname: p.firstname,\n        lastname: p.lastname,\n        active: p.active,\n        maxtraveltype: p.maxtraveltype,\n        emailaddress: p.emailaddress,\n        phone: p.phone,\n        pictures3key: p.pictures3key,\n        virtualMeetingUserId: p.virtualMeetingUserId,\n        vmlink: p.vmlink,\n        SBs: p.SBs?.length\n          ? p.SBs.map((sb) => {\n              return {\n                startDate: sb.startDate,\n                endDate: sb.endDate,\n                startTime: sb.startTime,\n                endTime: sb.endTime,\n                weekDays: sb.weekDays,\n              };\n            })\n          : [],\n        timezone: p.timezone,\n      };\n    });\n  }\n\n  if (\n    bookingState.savedDisplayedProviderData &&\n    bookingState.savedDisplayedProviderData.length > 0\n  ) {\n    let usethese = [];\n    if (bookingState.savedDisplayedProviderData.length > 10) {\n      usethese = bookingState.savedDisplayedProviderData.slice(0, 10);\n    } else usethese = bookingState.savedDisplayedProviderData;\n\n    savedDisplayedProviderData = usethese.map((p) => {\n      return {\n        id: p.id,\n        firstname: p.firstname,\n        lastname: p.lastname,\n        active: p.active,\n        maxtraveltype: p.maxtraveltype,\n        emailaddress: p.emailaddress,\n        phone: p.phone,\n        pictures3key: p.pictures3key,\n        virtualMeetingUserId: p.virtualMeetingUserId,\n        vmlink: p.vmlink,\n        SBs: p.SBs?.length\n          ? p.SBs.map((sb) => {\n              return {\n                startDate: sb.startDate,\n                endDate: sb.endDate,\n                startTime: sb.startTime,\n                endTime: sb.endTime,\n                weekDays: sb.weekDays,\n              };\n            })\n          : [],\n        timezone: p.timezone,\n      };\n    });\n  }\n  //const orderNo = await getNewOrderNo(bookingState.company.id);\n  let br = {\n    geoLoc: bookingState.isRemoteLocation\n      ? bookingState.remoteAddressCoordinates\n      : bookingState.companyLocationCoordinates\n      ? bookingState.companyLocationCoordinates\n      : null,\n    bookingTz: bookingState.bookingTz,\n    clientNotes: bookingState.clientNotes,\n    extraAvailabilityNotes: bookingState.extraAvailabilityNotes,\n    //orderNo,\n    bookingAddress: getBookingAddress(bookingState),\n    location: bookingState.location,\n    locationId: bookingState.locationId,\n    tryOtherProviders: bookingState.bookedSuggestedSlots\n      ? false\n      : bookingState.tryOtherProviders,\n    currency: bookingState.currency,\n    client,\n    dir: {\n      notdisplayed: savedNotDisplayedProviderData,\n      displayed: savedDisplayedProviderData,\n    },\n    companyId: bookingState.company.id,\n    serviceType: {\n      id: bookingState.serviceType.id,\n      name: bookingState.serviceType.name,\n      price: bookingState.serviceType.price,\n      minutes: bookingState.serviceType.minutes,\n    },\n    serviceQty1: bookingState.serviceQty1,\n    serviceQty2: bookingState.serviceQty2,\n    serviceQty3: bookingState.serviceQty3,\n    serviceType1: bookingState.serviceType1,\n    serviceType2: bookingState.serviceType2,\n    serviceType3: bookingState.serviceType3,\n    user: client.user,\n    address: bookingState.address,\n    isVirtual: bookingState.isVirtual,\n    isRemoteLocation: bookingState.isRemoteLocation,\n    appointmentLocation: bookingState.appointmentLocation,\n    datefilter: bookingState.datefilter,\n    provider: {\n      id: bookingState.provider.id,\n      emailaddress: bookingState.provider.emailaddress,\n      firstname: bookingState.provider.firstname,\n      lastname: bookingState.provider.lastname,\n      phone: bookingState.provider.phone,\n      pictures3key: bookingState.provider.pictures3key,\n      virtualMeetingUserId: bookingState.provider.virtualMeetingUserId,\n      vmlink: bookingState.provider.vmlink,\n      permalink: bookingState.provider.permalink\n        ? bookingState.provider.permalink\n        : \"\",\n      SBs: bookingState.provider.SBs.map((sb) => {\n        return {\n          startDate: sb.startDate,\n          endDate: sb.endDate,\n          startTime: sb.startTime,\n          endTime: sb.endTime,\n          weekDays: sb.weekDays,\n        };\n      }),\n      timezone: bookingState.provider.timezone,\n    },\n    origProvider: {\n      id: bookingState.provider.id,\n      emailaddress: bookingState.provider.emailaddress,\n      firstname: bookingState.provider.firstname,\n      lastname: bookingState.provider.lastname,\n      phone: bookingState.provider.phone,\n      virtualMeetingUserId: bookingState.provider.virtualMeetingUserId,\n      vmlink: bookingState.provider.vmlink,\n      timezone: bookingState.provider.timezone,\n    },\n    selectedslot: {\n      ...bookingState.selectedslot,\n      day: bookingState.selectedslot.date.getDay(),\n      tz: bookingState.bookingTz,\n    },\n    dayCount: bookingState.dayCount,\n    dayType: bookingState.dayType,\n    daysOfWeek: bookingState.daysOfWeek,\n    repeatingAppointment: bookingState.packageBookedSlots?.length\n      ? true\n      : bookingState.repeatingAppointment,\n    repeatingApptList: bookingState.packageBookedSlots?.length\n      ? bookingState.packageBookedSlots.slice(1)\n      : bookingState.repeatingApptList,\n    rrule: bookingState.rrule ? bookingState.rrule : \"\",\n    newclientpkgid: bookingState.boughtpackage\n      ? bookingState.newclientpkg.id\n      : \"\",\n    boughtpackage: bookingState.boughtpackage,\n    clientpackage: bookingState.clientpackage,\n    sdt: bookingState.sdt,\n\n    osd: bookingState.osd,\n    cbu: bookingState.cbu,\n    heldSlots:\n      bookingState.heldSlots && bookingState.heldSlots.length\n        ? bookingState.heldSlots.map((hs) => {\n            return {\n              id: hs.id,\n              scheduleinfo: hs.scheduleinfo,\n              startDate: hs.startDate,\n              endDate: hs.endDate,\n              startTime: hs.startTime,\n              endTime: hs.endTime,\n              createdAt: hs.createdAt,\n              sdtutc: hs.sdtutc,\n              tz: hs.tz,\n            };\n          })\n        : bookingState.heldPackageSlots?.length\n        ? bookingState.heldPackageSlots.map((hs) => {\n            return {\n              id: hs.id,\n              scheduleinfo: hs.scheduleinfo,\n              startDate: hs.startDate,\n              endDate: hs.endDate,\n              startTime: hs.startTime,\n              endTime: hs.endTime,\n              createdAt: hs.createdAt,\n              sdtutc: hs.sdtutc,\n              tz: hs.tz,\n              en_slot_disp: hs.en_slot_disp,\n            };\n          })\n        : [],\n    serviceLocation: bookingState.serviceLocation,\n    company: getOnlyNeededFields(bookingState.company),\n    lastForeverApptDate: bookingState.lastForeverApptDate\n      ? getAWSDate(new Date(bookingState.lastForeverApptDate))\n      : \"\", //in YYYY-MM-DD so that lambda does not have to do this conversion\n    wdDisplay: bookingState.wdDisplay,\n    bookedByAdmin: bookingState.bookingOnBehalf ? true : false,\n    promoData: bookingState.promoData,\n    validPromocodeApplied: bookingState.validPromocodeApplied,\n    actionUser: bookingState.guestCheckout\n      ? client.user\n      : { ...bookingState.user?.attributes },\n    isRepeatingAppointment:\n      bookingState.repeatingAppointment ||\n      bookingState.packageRecurringSelected,\n  };\n\n  if (guestCheckoutInfoForBookingReq) {\n    br.guestCheckoutInfo = guestCheckoutInfoForBookingReq;\n  }\n\n  const id = `CL-${client.id}`;\n\n  const data = JSON.stringify(br);\n\n  const brData = {\n    id,\n    recordType: `REQ|${Date.now()}`,\n    providerId: bookingState.provider.id,\n    accepted: false,\n    status: \"REQUESTED\",\n    data,\n  };\n\n  try {\n    const br = await execWrite({\n      opname: \"createBookingRequest\",\n      op: createBookingRequest,\n      input: brData,\n    });\n\n    if (br && br.error) {\n      return {\n        error: br.error,\n        success: false,\n      };\n    } else {\n      await createUISessionEntry({\n        uiSessionId: bookingState.uiSessionId,\n        eventName: \"COMPLETE:BR\",\n        companyId: bookingState.company.id,\n      });\n      trackOrderCompleted(bookingState, {});\n      return { success: true };\n    }\n  } catch (e) {\n    return { success: false, error: e };\n  }\n};\n\nfunction getOnlyNeededFields(company) {\n  return {\n    id: company.id,\n    name: company.name,\n    contactname: company.contactname,\n    emailaddress: company.emailaddress,\n    replyemailaddress: company.replyemailaddress,\n    currency: company.currency,\n    currencyBasedOnLocation: company.currencyBasedOnLocation,\n    addressoneline: company.addressoneline,\n    street: company.street,\n    city: company.city,\n    state: company.state,\n    country: company.country,\n    postalcode: company.postalcode,\n    longitude: company.longitude,\n    latitude: company.latitude,\n    ApptAcceptanceFlowConfig: company.ApptAcceptanceFlowConfig,\n    subdomain: company.subdomain,\n    tagline: company.tagline,\n    logoUrl: company.logoUrl,\n    billingMode: company.billingMode,\n    iframeURL: company.iframeURL,\n    primaryColor: company.primaryColor,\n    addServiceFee: company.addServiceFee,\n    serviceFeeType: company.serviceFeeType,\n    serviceFeeAmount: company.serviceFeeAmount,\n    taxrate: company.taxrate,\n    travelTime: company.travelTime,\n    countrycode3166alpha2: company.countrycode3166alpha2,\n    publishableStripeKey: company.publishableStripeKey,\n    offersForeverAppt: company.offersForeverAppt,\n    virtualMeetingConfig: company.virtualMeetingConfig,\n    BccLists: getConfigurgedEmailAddresses(company.BccLists),\n    collectpayment: company.collectpayment,\n    bookingIncrement: company.bookingIncrement ? company.bookingIncrement : 15,\n    stripeAccount: company.stripeAccount,\n    stripeConnectEnabled: company.stripeConnectEnabled,\n  };\n}\n\nfunction getConfigurgedEmailAddresses(bccListsJson) {\n  let BccLists = { forOrdSum: [] };\n  if (bccListsJson && bccListsJson.length) {\n    let bccListsObj = JSON.parse(bccListsJson);\n    if (bccListsObj && bccListsObj.forOrdSum)\n      BccLists.forOrdSum = bccListsObj.forOrdSum;\n    if (bccListsObj && bccListsObj.forBookingReqCreated)\n      BccLists.forBookingReqCreated = bccListsObj.forBookingReqCreated;\n    if (bccListsObj && bccListsObj.forBookingReqExpired)\n      BccLists.forBookingReqExpired = bccListsObj.forBookingReqExpired;\n  }\n  return BccLists;\n}\n\nasync function readCurrency(countryCode) {\n  const result = await API.graphql(\n    graphqlOperation(getRefData, {\n      refType: \"CURRENCY\",\n      refName: countryCode,\n    })\n  );\n  let val = result.data.getRefData ? result.data.getRefData.refValue : null;\n\n  return val;\n}\nasync function getCurrency(bookingState) {\n  if (bookingState.company.currencyBasedOnLocation) {\n    let countryCode;\n    if (bookingState.appointmentLocation === \"remote\") {\n      countryCode = bookingState.remoteAddressCountryShort;\n    } else {\n      countryCode = bookingState.countryShort;\n    }\n\n    let currency = await readCurrency(countryCode);\n    if (currency) return currency;\n    else return bookingState.company.currency;\n  } else return bookingState.company.currency;\n}\n\nconst getCurrencySymbol = (companyCurrency) => {\n  switch (companyCurrency) {\n    case \"GBP\":\n      return \"£\";\n    case \"CAD\":\n      return \"$\";\n    case \"USD\":\n      return \"$\";\n    case \"AUD\":\n      return \"$\";\n    default:\n      return \"$\";\n  }\n};\n\nconst getOrderTrackingData = (order, bookingState, company) => {\n  let {\n    providerId,\n    firstname,\n    lastname,\n    emailaddress,\n    maxtraveltype,\n    offersVirtualServices,\n  } = bookingState.provider;\n  let { id, name, categoryId, categoryName, price, minutes } =\n    bookingState.serviceType;\n  return {\n    companyId: company.id,\n    companyName: company.name,\n    provider: {\n      providerId,\n      firstname,\n      lastname,\n      emailaddress,\n      maxtraveltype,\n      offersVirtualServices,\n    },\n    serviceType: { id, name, categoryId, categoryName, price, minutes },\n    location: bookingState.location,\n    bookingAddress: order.bookingAddress,\n    orderSummary: bookingState.osd,\n    orderId: order.id,\n    orderType: order.type,\n  };\n};\n\nfunction totalRegionalPrice(bs) {\n  if (bs.numServices === 1) {\n    return bs.regionalServicePrice1 * bs.serviceQty1;\n  }\n  if (bs.numServices === 2) {\n    return (\n      bs.regionalServicePrice1 * bs.serviceQty1 +\n      bs.regionalServicePrice2 * bs.serviceQty2\n    );\n  }\n  if (bs.numServices === 3) {\n    return (\n      bs.regionalServicePrice1 * bs.serviceQty1 +\n      bs.regionalServicePrice2 * bs.serviceQty2 +\n      bs.regionalServicePrice3 * bs.serviceQty3\n    );\n  }\n}\n\nfunction getTaxJurisdiction(bs, company) {\n  const taxJurisdiction = { countryCode: \"\", stateCode: \"\" };\n  if (bs.appointmentLocation === \"remote\") {\n    taxJurisdiction.countryCode = bs.remoteAddressCountryShort;\n    taxJurisdiction.stateCode = bs.remoteAddressState;\n  }\n  if (bs.appointmentLocation === \"local\") {\n    taxJurisdiction.countryCode = company.countrycode3166alpha2;\n    taxJurisdiction.stateCode = company.state;\n  }\n  return taxJurisdiction;\n}\n\nfunction createOsd(bs, company) {\n  const osd = { rows: [] };\n  let creditsRemaining = 0;\n  let cbu = {};\n  let boughtPackage = bs.boughtpackage;\n  //  existing pkg\n  if (bs.sdt === \"package\") {\n    const numofappts = bs.packageBookedSlots?.length\n      ? bs.packageBookedSlots.length\n      : 0;\n    const unusedSessions = bs.maxSlotsToBeBooked;\n    if (bs.clientpackage) {\n      osd.rows.push({\n        service: `Existing package of ${bs.clientpackage.initialQuantity} sessions`,\n        qty: `${numofappts} of ${\n          bs.clientpackage.initialQuantity - bs.clientpackage.usedQuantity\n        } credits used`,\n        price: `${getCurrencySymbol(bs) + Number.parseFloat(0).toFixed(2)}`,\n        newService: `${bs.clientpackage.usedQuantity}/${bs.clientpackage.initialQuantity} credits remaining from a previously purchased package`,\n        createdAt: bs.clientpackage.createdAt,\n      });\n      cbu = calculateChargeBreakup(0, company, true, bs);\n      creditsRemaining =\n        bs.clientpackage.initialQuantity -\n        bs.clientpackage.usedQuantity -\n        numofappts;\n    }\n    if (boughtPackage) {\n      // calculate subtotal based on package type\n      // discount for the taxableAmount is calculated in the calculateChargeBreakup function\n      // dollar packages use the original price value (unchanged by regional pricing) in the boughtpackage object\n      // percentage packages use the regionalServicePrice value\n      const subtotal =\n        boughtPackage.packagetype === \"DOLLAR\"\n          ? boughtPackage.price\n          : boughtPackage.quantity *\n            bs.regionalServicePrice *\n            (1 - boughtPackage.discount / 100);\n      const description = getDescription(\n        boughtPackage,\n        bs.regionalServicePrice,\n        bs.currency\n      );\n\n      osd.rows.push({\n        service: description,\n        qty: `${unusedSessions} / ${boughtPackage.quantity} sessions remaining`,\n        price: `${\n          getCurrencySymbol(bs) + Number.parseFloat(subtotal).toFixed(2)\n        }`,\n      });\n      cbu = calculateChargeBreakup(subtotal, company, false, bs);\n    }\n  } else {\n    // no pkg\n    const service = bs.serviceType.name;\n    const qty = 1; //single or forever\n    let price = `${\n      getCurrencySymbol(bs) +\n      Number.parseFloat(bs.regionalServicePrice * qty).toFixed(2)\n    }`;\n    price = formatterCurr(bs.currency, bs.regionalServicePrice);\n    osd.rows.push({ service, qty, price });\n    // }\n    cbu = calculateChargeBreakup(\n      bs.regionalServicePrice * qty,\n      company,\n      false,\n      bs\n    );\n  }\n\n  osd[\"subtotal\"] = formatterCurr(bs.currency, cbu.subtotal);\n  osd[\"servicefee\"] = formatterCurr(bs.currency, cbu.servicechargeamt);\n  osd[\"taxrate\"] = cbu.taxrate;\n  osd[\"taxamount\"] = formatterCurr(bs.currency, cbu.taxamt);\n  osd[\"total\"] = formatterCurr(bs.currency, cbu.total);\n  osd[\"taxable\"] = formatterCurr(bs.currency, cbu.taxableamt);\n  if (cbu.discount) {\n    osd[\"discount\"] = formatterCurr(bs.currency, cbu.discount);\n    osd[\"promoData\"] = {\n      name: bs.promoData?.name,\n      promocode: bs.promoData?.promocode,\n    };\n  }\n  bs.osd = osd;\n  bs.cbu = cbu;\n\n  return {\n    od: osd,\n    creditsRemaining,\n    taxExemption: cbu.taxableamt !== cbu.subtotal,\n  };\n}\n\nasync function findOrCreateService(bs) {\n  if (bs.numServices === 1 && bs.serviceQty1 === 1) {\n    return {\n      ...bs.serviceType1,\n      units: bs.serviceQty1,\n    };\n  }\n\n  if (\n    (bs.company.multipleServices && bs.numServices > 1) ||\n    (bs.company.multipleQty && bs.serviceQty1 > 1)\n  ) {\n    const tempArr = [];\n    if (bs.serviceType1)\n      tempArr.push({ ...bs.serviceType1, units: bs.serviceQty1 });\n    if (bs.serviceType2)\n      tempArr.push({ ...bs.serviceType2, units: bs.serviceQty2 });\n    if (bs.serviceType3)\n      tempArr.push({ ...bs.serviceType3, units: bs.serviceQty3 });\n\n    let includedServices = \"\";\n    let bundledName;\n    let categoryId;\n    let categoryName;\n    let bundledMinutes;\n    if (tempArr.length > 1)\n      tempArr.sort((s1, s2) => {\n        const t1 = new Date(s1.createdAt).getTime();\n        const t2 = new Date(s2.createdAt).getTime();\n        if (t1 < t2) return -1;\n        if (t1 > t2) return 1;\n        return 0;\n      });\n\n    if (bs.numServices === 1)\n      includedServices = `${tempArr[0].id}#${tempArr[0].units}`;\n    if (bs.numServices === 2)\n      includedServices = `${tempArr[0].id}#${tempArr[0].units}|${tempArr[1].id}#${tempArr[1].units}`;\n    if (bs.numServices === 3)\n      includedServices = `${tempArr[0].id}#${tempArr[0].units}|${tempArr[1].id}#${tempArr[1].units}|${tempArr[2].id}#${tempArr[2].units}`;\n\n    categoryId = tempArr[0].category\n      ? tempArr[0].category.id\n      : tempArr[0].categoryId;\n    categoryName = tempArr[0].category\n      ? tempArr[0].category.name\n      : tempArr[0].categoryName;\n    if (tempArr.length === 1) {\n      bundledName = `${tempArr[0].units} x ${tempArr[0].name}`;\n\n      bundledMinutes = tempArr[0].minutes * tempArr[0].units;\n    }\n    if (tempArr.length === 2) {\n      bundledName = `${tempArr[0].units} x ${tempArr[0].name} and ${tempArr[1].units} x ${tempArr[1].name}`;\n\n      bundledMinutes =\n        tempArr[0].minutes * tempArr[0].units +\n        tempArr[1].minutes * tempArr[1].units;\n    }\n    if (tempArr.length === 3) {\n      bundledName = `${tempArr[0].units} x ${tempArr[0].name}, ${tempArr[1].units} x ${tempArr[1].name} and  ${tempArr[2].units} x ${tempArr[2].name}`;\n      bundledMinutes =\n        tempArr[0].minutes * tempArr[0].units +\n        tempArr[1].minutes * tempArr[1].units +\n        tempArr[2].minutes * tempArr[2].units;\n    }\n\n    //now we have bundled services - included services id\n    //first check if the bundled service exists\n    const result = await API.graphql(\n      graphqlOperation(bundledServicesByCompany, {\n        companyId: bs.company.id,\n        includedServices: { eq: includedServices },\n      })\n    );\n    if (\n      result &&\n      result.data.bundledServicesByCompany.items.length &&\n      result.data.bundledServicesByCompany.items[0]\n    ) {\n      return {\n        ...result.data.bundledServicesByCompany.items[0],\n        units: 1,\n        componentServices: tempArr,\n      }; //units=1 for consistency only for bundledservice\n    }\n    if (result && !result.data.bundledServicesByCompany.items.length) {\n      //if bundled service does not exist, create it\n      let input = {\n        name: bundledName,\n        minutes: bundledMinutes,\n        price: bs.regionalServicePrice,\n        desc: \"Bundled service\",\n        active: true,\n        serviceTypeCompanyId: bs.company.id,\n        companyId: bs.company.id,\n        serviceTypeCategoryId: categoryId,\n        categoryId: categoryId,\n        categoryName: categoryName,\n        deleted: false,\n        includedServices: includedServices,\n        isVisible: false,\n        isBundledService: true,\n      };\n\n      const newBundledService = await API.graphql(\n        graphqlOperation(createServiceType, { input })\n      );\n      if (newBundledService && newBundledService.data.createServiceType)\n        return {\n          ...newBundledService.data.createServiceType,\n          units: 1,\n          componentServices: tempArr,\n        };\n      else return null;\n    }\n  }\n  return bs.serviceType1; //serviceType1 is the main service when multipleServices is off.\n}\n\nfunction heldSlotsTimeoutExpired(bookingState) {\n  let heldSlotTime = bookingState.heldSlotsOnDateTime;\n  //900000 = 15 mins\n  if (Date.now() - heldSlotTime.getTime() > 900000) return true;\n  return false;\n}\n\nasync function createNewUiSession(newSessionDetails) {\n  return await createUISessionEntry(newSessionDetails);\n}\n\nasync function createUISessionEntry({ eventName, companyId, uiSessionId }) {\n  try {\n    let input = {\n      sessionItem: eventName,\n      companyId: companyId,\n    };\n\n    if (uiSessionId) input = { ...input, id: uiSessionId };\n\n    const newUiSessionEntry = await API.graphql(\n      graphqlOperation(createUISession, { input })\n    );\n    if (newUiSessionEntry && newUiSessionEntry.data.createUISession)\n      return newUiSessionEntry.data.createUISession.id;\n    else return null;\n  } catch (e) {\n    console.log(\"error while creating UI session\", eventName);\n  }\n}\n\nasync function updateClientPackageIfValid(bookingState) {\n  if (bookingState.packageBookedSlots?.length) {\n    try {\n      const num_of_credits_being_booked =\n        bookingState.packageBookedSlots.length;\n      //Do strong read query from here but for now read using appsync\n      const result = await API.graphql(\n        graphqlOperation(getClientPackage, {\n          id: bookingState.clientpackage.id,\n        })\n      );\n      if (result && result.data && result.data.getClientPackage) {\n        if (\n          result.data.getClientPackage.initialQuantity -\n            result.data.getClientPackage.usedQuantity >=\n          num_of_credits_being_booked\n        ) {\n          await updateUsedQuantityOfPackage({\n            pkg: bookingState.clientpackage,\n            increaseby: num_of_credits_being_booked,\n          });\n          return true;\n        } else return false; //not enough credits\n      } else {\n        return false;\n      }\n    } catch (e) {\n      return false;\n    }\n  } else return false;\n}\n\nfunction getResponseRate(provider) {\n  if (provider.AcceptanceRatios) {\n    try {\n      if (typeof provider.AcceptanceRatios === \"string\")\n        provider.AcceptanceRatios = JSON.parse(provider.AcceptanceRatios);\n    } catch (e) {\n      return 0;\n    }\n    if (\n      provider.AcceptanceRatios.recent &&\n      provider.AcceptanceRatios.recent.avg\n    ) {\n      return provider.AcceptanceRatios.recent.avg.pri_rep_acceptance_ratio ===\n        -1\n        ? 0\n        : provider.AcceptanceRatios.recent.avg.pri_rep_acceptance_ratio;\n    } else if (provider.AcceptanceRatios.avg) {\n      return provider.AcceptanceRatios.avg.pri_rep_acceptance_ratio === -1\n        ? 0\n        : provider.AcceptanceRatios.avg.pri_rep_acceptance_ratio;\n    } else return 0;\n  } else return 0;\n}\n\nfunction getResponseTime(provider) {\n  if (provider.AcceptanceRatios) {\n    try {\n      if (typeof provider.AcceptanceRatios === \"string\")\n        provider.AcceptanceRatios = JSON.parse(provider.AcceptanceRatios);\n    } catch (e) {\n      return 0;\n    }\n    let avg = provider.AcceptanceRatios.recent\n      ? provider.AcceptanceRatios.recent.avg\n      : provider.AcceptanceRatios.avg;\n    if (!avg) return \"\";\n    let rep_mins = avg.pri_rep_mins;\n    if (rep_mins !== -1) {\n      if (rep_mins <= 30) return \"a few minutes\";\n      if (rep_mins > 30 && rep_mins <= 60) return \"within an hour\";\n      let hours = Math.floor(rep_mins / 60);\n      if (hours < 3) return \"a couple of hours\";\n      if (hours >= 3) return `${hours} hours`;\n      if (hours > 24) {\n        let days = Math.floor(hours / 24);\n        return `${days} days`;\n      }\n    } else {\n      return \"a few minutes\";\n    }\n  }\n  return \"\";\n}\n\nasync function sendGuestCheckoutEmail({\n  bookingUser, //bookingUser is the guest\n  company,\n}) {\n  try {\n    const guestCheckoutEmailBody = await guestCheckoutEmail({\n      client_firstname: bookingUser.firstname,\n      client_lastname: bookingUser.lastname,\n      client_email: bookingUser.emailaddress,\n      companyId: company.id,\n      company,\n    });\n    const body = `\n      ${guestCheckoutEmailBody}\n    `;\n    await handleSendEmail(\n      `Access your appointment and order details`,\n      body,\n      [bookingUser.emailaddress],\n      [],\n      [],\n      company.replyemailaddress,\n      company.name\n    );\n    return guestCheckoutEmailBody;\n  } catch (err) {\n    console.error(\"error while sending sendGuestCheckoutEmail\");\n    console.error(err);\n  }\n}\n\nexport {\n  getPaidPackages,\n  updateUsedQuantityOfPackage,\n  updateClientPackageToPaid,\n  updateOrderStatusToPaidByPkgCredit,\n  updateOrderStatusToPaid,\n  updateOrderStatusToClosed,\n  cancelBooking,\n  saveBillingProgress,\n  calculateChargeBreakup,\n  updateClientBalanceTo,\n  holdSlotsForAppointments,\n  getClientIfExists,\n  createClientRecord,\n  updateHeldSlotsToConfirmed,\n  deleteHeldSlots,\n  sendOrderReceipt,\n  handleOrderAndBookingCreation,\n  saveClientPackage,\n  fetchPackages,\n  fetchRegionalPricing,\n  fetchCompanyLocation,\n  getPrice,\n  getDescription,\n  getStripeAmount,\n  saveBookingRequest,\n  getCurrency,\n  getCurrencySymbol,\n  sendProviderBookingConfirmation,\n  getOrderTrackingData,\n  totalRegionalPrice,\n  findOrCreateService,\n  heldSlotsTimeoutExpired,\n  createNewUiSession,\n  updateClientPackageIfValid,\n  getResponseRate,\n  getResponseTime,\n  getTaxJurisdiction,\n  createOsd,\n  updateOrderStatusToConfirmed,\n  holdSlotForPackageAppointments,\n  sendGuestCheckoutEmail,\n  formatterCurr,\n  noPackages,\n};\n","// this module contains tax related functions\n\n// function to determine tax rate\n// hardcoded for now\nconst getServiceTaxRate = (countryCode, provstateCode) => {\n  const countryCodeUpper = countryCode.toUpperCase();\n  const provstateCodeUpper = provstateCode.toUpperCase();\n\n  // zero for Austrailia and New Zealand\n  if (countryCodeUpper === \"AU\" || countryCodeUpper === \"NZ\") {\n    return 0;\n  }\n\n  if (countryCodeUpper === \"GB\") {\n    return 0;\n  }\n  //Don't know what it is\n  if (countryCodeUpper === \"JM\") {\n    return 0;\n  }\n  //Don't know what it is\n  if (countryCodeUpper === \"BB\") {\n    return 0;\n  }\n\n  // zero for USA\n  if (countryCodeUpper === \"US\") {\n    return 0;\n  }\n\n  // Canada, determine HST based on province\n  if (countryCodeUpper === \"CA\") {\n    if (provstateCodeUpper === \"AB\" || provstateCodeUpper === \"NU\") {\n      return 5;\n    }\n    if (provstateCodeUpper === \"BC\" || provstateCodeUpper === \"MB\") {\n      return 12;\n    }\n    if (\n      provstateCodeUpper === \"NB\" ||\n      provstateCodeUpper === \"NL\" ||\n      provstateCodeUpper === \"NS\" ||\n      provstateCodeUpper === \"NT\" ||\n      provstateCodeUpper === \"PE\"\n    ) {\n      return 15;\n    }\n    if (provstateCodeUpper === \"ON\") {\n      return 13;\n    }\n    if (provstateCodeUpper === \"QC\") {\n      return 14.975;\n    }\n    if (provstateCodeUpper === \"SK\") {\n      return 11;\n    }\n  }\n\n  // if not found, return 0 by default\n  return 0;\n};\n\nconst getCountryCode = (countryName) => {\n  countryName = countryName.toUpperCase();\n  if (countryName === \"UNITED STATES\") return \"US\";\n  if (countryName === \"CANADA\") return \"CA\";\n\n  if (countryName === \"JAMAICA\") return \"JM\";\n  if (countryName === \"BARBADOS\") return \"BB\";\n\n  if (countryName === \"AUSTRALIA\") return \"AU\";\n\n  if (countryName === \"NEW ZEALAND\") return \"NZ\";\n\n  return \"CA\";\n};\n\nexport { getCountryCode, getServiceTaxRate };\n","import mixpanel from \"mixpanel-browser\";\nimport { getUserFromCache } from \"../../user/UserCommon\";\n\nmixpanel.init(process.env.REACT_APP_MIXPANEL_TOKEN, {\n  debug: true,\n  ignore_dnt: true,\n}); // dev\n// mixpanel.track(\"Tracking after mixpanel init\", {\n//   debug: true,\n//   ignore_dnt: true,\n// });\n\nasync function trackUser() {\n  const loggedInUser = await getUserFromCache();\n  if (loggedInUser) {\n    mixpanel.people.set({\n      emailaddress: loggedInUser.emailaddress,\n      name: loggedInUser.firstname + \" \" + loggedInUser.lastname,\n    });\n    if (loggedInUser.emailaddress) {\n      mixpanel.identify(loggedInUser.emailaddress);\n    } else {\n      mixpanel.identify(\"guest@gomarketbox.com\"); // guest\n    }\n  } else {\n    mixpanel.people.set({ emailaddress: \"\", name: \"Guest User\" });\n    mixpanel.identify(\"guest@gomarketbox.com\"); // guest\n  }\n}\n\n// tracks a user selection\nfunction trackServiceSelection(eventProps) {\n  mixpanel.track(\"Service Selection\", eventProps);\n  trackUser();\n}\n\n// tracks a provider searcg\nfunction trackProviderSearch(eventProps) {\n  mixpanel.track(\"Provider Search\", eventProps);\n  trackUser();\n}\n\n// tracks a provider selection\nfunction trackProviderSelection(eventProps) {\n  mixpanel.track(\"Provider Selection\", eventProps);\n  trackUser();\n}\n\n// tracks a package selection\nfunction trackPackageSelection(eventProps) {\n  mixpanel.track(\"Package Selection\", eventProps);\n  trackUser();\n}\n\n// tracks a timeslot selection\nfunction trackTimeslotSelection(eventProps) {\n  mixpanel.track(\"Timeslot Selection\", eventProps);\n  trackUser();\n}\n\n// tracks a booking confirmation\nfunction trackBookingConfirmation(eventProps) {\n  mixpanel.track(\"Booking Confirmed\", eventProps);\n  trackUser();\n}\n\n// tracks order summary viewed\nfunction trackOrderSummaryViewed(eventProps) {\n  mixpanel.track(\"Order Summary Viewed\", eventProps);\n  trackUser();\n}\n\n// tracks Login\nfunction trackLogin(eventProps) {\n  mixpanel.track(\"Login on Public Site\", eventProps);\n  trackUser();\n}\n\n// tracks registration\nfunction trackRegistration(eventProps) {\n  mixpanel.track(\"Registration on Public Site\", eventProps);\n  trackUser();\n}\n\n// tracks payment processed\nfunction trackPaymentProcessed(eventProps) {\n  mixpanel.track(\"Payment Processed\", eventProps);\n  trackUser();\n}\n\n// tracks order completed\nfunction trackOrderCompleted(eventProps) {\n  mixpanel.track(\"Order Completed\", eventProps);\n  trackUser();\n}\n\nexport {\n  trackServiceSelection,\n  trackProviderSearch,\n  trackProviderSelection,\n  trackPackageSelection,\n  trackTimeslotSelection,\n  trackBookingConfirmation,\n  trackOrderSummaryViewed,\n  trackLogin,\n  trackRegistration,\n  trackPaymentProcessed,\n  trackOrderCompleted,\n};\n","import React, { useEffect, useState } from \"react\";\nimport AppBar from \"@mui/material/AppBar\";\nimport Toolbar from \"@mui/material/Toolbar\";\nimport Typography from \"@mui/material/Typography\";\n\nimport {\n  Box,\n  Button,\n  Divider,\n  Grid,\n  List,\n  ListItemText,\n  useMediaQuery,\n} from \"@mui/material\";\nimport { Logger } from \"@aws-amplify/core\";\nimport KeyboardArrowDownIcon from \"@mui/icons-material/KeyboardArrowDown\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Popover from \"@mui/material/Popover\";\nimport { Link, useHistory } from \"react-router-dom\";\nimport Cache from \"@aws-amplify/cache\";\nimport API, { graphqlOperation } from \"@aws-amplify/api\";\nimport { getUser } from \"../graphql/queries\";\nimport MenuIcon from \"@mui/icons-material/Menu\";\nimport { USERROLE } from \"../user/UserCommon\";\nimport { GUEST_ONLY } from \"../user/checkoutOption\";\n\nexport default function MainNavBar(props) {\n  const [userName, setUserName] = useState(\"\");\n  const [anchorEl, setAnchorEl] = React.useState(null);\n  const [bookingFlowSettings, setBookingFlowSettings] = useState(null);\n  let history = useHistory();\n\n  const logger = new Logger(\"MainNavBar\");\n  const phoneWidthPadding =\n    window.innerHeight <= \"600\" || window.innerWidth <= \"600\"\n      ? \"16px\" //\"40px 24px 50px 40px\"\n      : \"40px 24px 50px 100px\";\n\n  useEffect(() => {\n    async function getUserName() {\n      if (props && props.user) {\n        const data = await API.graphql(\n          graphqlOperation(getUser, {\n            id: props.user.username,\n          })\n        );\n\n        if (data && data.data && data.data.getUser) {\n          if (data.data.getUser.firstname && data.data.getUser.lastname)\n            setUserName(\n              `${data.data.getUser.firstname} ${data.data.getUser.lastname}`\n            );\n          else setUserName(data.data.getUser.emailaddress);\n        }\n      }\n    }\n    if (props) {\n      if (props.guestUser) setUserName(\"Guest\");\n      else getUserName();\n    }\n  }, []);\n\n  useEffect(() => {\n    if (!bookingFlowSettings && props?.publicsitesettings?.StyleCustomization) {\n      setBookingFlowSettings({\n        ...props.publicsitesettings.StyleCustomization\n          .bookingFlowCustomizations,\n        showHeadings: true,\n      });\n    }\n  }, [props, bookingFlowSettings]);\n  function getCompanyName() {\n    let companyname;\n    if (props && props.company) {\n      companyname = props.company.name;\n    } else {\n      logger.debug(\n        \"WARNING: No company name passed in props. Using MarketBox.\"\n      );\n      companyname = \"MarketBox\";\n    }\n    return companyname;\n  }\n\n  function getCompanyLogoUrl() {\n    let logoUrl;\n    if (props && props.company) {\n      logoUrl = props.company.logoUrl;\n    } else {\n      logger.debug(\"WARNING: No company logo passed in props.\");\n      logoUrl = \"\";\n    }\n    return logoUrl;\n  }\n\n  function isAdmin() {\n    const user = Cache.getItem(\"user\");\n    if (user && user.role)\n      return (\n        USERROLE.MARKETBOX_ADMIN === user.role ||\n        USERROLE.COMPANY_ADMIN === user.role ||\n        USERROLE.COMPANY_ADMIN_PROVIDER === user.role\n      );\n    else return false;\n  }\n  const txtColor = localStorage.getItem(\"textColor\")\n    ? localStorage.getItem(\"textColor\")\n    : \"000000\";\n\n  const logoClickHandler = () => {\n    if (props.company.homepage) {\n      window.open(props.company.homepage, \"_blank\").focus();\n    } else {\n      window.open(process.env.REACT_APP_AUTH_SITE_URL, \"_blank\").focus();\n    }\n  };\n  // display company logo\n  function DisplayCompanyLogo() {\n    const logo = getCompanyLogoUrl();\n    if (bookingFlowSettings?.showLogo) {\n      return (\n        <div>\n          {logo && (\n            <img\n              height={avatarSize}\n              src={logo}\n              alt={getCompanyName()}\n              onClick={logoClickHandler}\n            />\n          )}\n        </div>\n      );\n    }\n  }\n\n  // display company name if configured\n  function DisplayCompanyName() {\n    if (props && props.company && !props.company.displayOnlyLogo) {\n      return (\n        <Typography\n          sx={{\n            color: txtColor,\n            marginLeft: bookingFlowSettings?.showLogo ? \"12px\" : \"0\",\n            fontWeight: 400,\n            fontSize: \"24px\",\n            lineHeight: \"24px\",\n            zIndex: 10,\n          }}\n        >\n          {getCompanyName()}\n        </Typography>\n      );\n    } else {\n      return \"\";\n    }\n  }\n\n  async function handleClick() {\n    setAnchorEl(null);\n    if (props && props.guestUser) {\n      //Login\n      history.push(\"/login\", { fromPath: props.currentPath });\n    } else {\n      //Logout\n      try {\n        // await Auth.signOut();\n        Cache.removeItem(\"user\");\n        props.signOutOp();\n      } catch (err) {\n        logger.error(\"Error signing out user\", err);\n      }\n    }\n  }\n\n  const handleClose = () => {\n    setAnchorEl(null);\n  };\n  const open = Boolean(anchorEl);\n  const id = open ? \"logout-menu\" : undefined;\n\n  function dropDownItemsHandler(str) {\n    if (str.toLowerCase() === \"dashboard\") {\n      window.open(\"https://pro.gomarketbox.com\", \"_blank\");\n    }\n\n    if (str.toLowerCase() === \"help\") {\n      window.open(\"https://www.gomarketbox.com/help\", \"_blank\");\n    }\n\n    if (str.toLowerCase() === \"contact\") {\n      window.open(\"https://www.gomarketbox.com/contact-us\", \"_blank\");\n    }\n  }\n\n  //const textColor = props.publicsitesettings.textColor;\n  const heading1Text = localStorage.getItem(\"heading1Text\");\n  const heading2Text = localStorage.getItem(\"heading2Text\");\n  const deviceWidth = useMediaQuery(\"(min-width:768px)\") ? \"h1\" : \"h2\";\n  const avatarSize = useMediaQuery(\"(min-width:600px)\") ? 80 : 60;\n  const phoneWidthSmaller = useMediaQuery(\"(min-width:600px)\");\n\n  function DisplayLoginInfo() {\n    if (\n      GUEST_ONLY === bookingFlowSettings?.checkoutOption &&\n      !props.guestCheckout\n    )\n      return <div style={{ marginLeft: \"auto\" }}></div>;\n    if (!props.user) return <div style={{ marginLeft: \"auto\" }}></div>;\n    return (\n      <div style={{ marginLeft: \"auto\" }}>\n        {props && props.guestCheckout ? (\n          <Button variant=\"contained\" color=\"secondary\">\n            Guest\n          </Button>\n        ) : props.guestUser ? (\n          <Button\n            id=\"login-button\"\n            variant=\"contained\"\n            color=\"secondary\"\n            onClick={handleClick}\n          >\n            Log In\n          </Button>\n        ) : (\n          <>\n            <Button\n              id=\"login-button\"\n              sx={{\n                backgroundColor: \"primary.main\",\n                borderWidth: \"1px\",\n                borderStyle: \"solid\",\n                borderColor: \"primary.main\",\n                \"&:hover\": {\n                  backgroundColor: \"primary.main\",\n                  border: \"1px white solid\",\n                  boxShadow: \"none\",\n                },\n              }}\n              aria-describedby={id}\n              variant=\"contained\"\n              color=\"secondary\"\n              onClick={(e) => setAnchorEl(e.currentTarget)}\n              endIcon={<KeyboardArrowDownIcon />}\n            >\n              <Typography\n                variant=\"body1\"\n                sx={{ textTransform: \"capitalize\", fontWeight: 700 }}\n              >\n                Hello,{\" \"}\n                <span\n                  style={{\n                    fontWeight: 700,\n                    fontFamily: \"Roboto\",\n                    textTransform: \"capitalize\",\n                  }}\n                >\n                  {userName}\n                </span>\n              </Typography>\n            </Button>\n            <Popover\n              PaperProps={{\n                style: { width: \"257px\", padding: \"1rem\" },\n              }}\n              id={id}\n              open={open}\n              anchorEl={anchorEl}\n              onClose={handleClose}\n              anchorOrigin={{\n                vertical: \"bottom\",\n                horizontal: \"right\",\n              }}\n              transformOrigin={{\n                vertical: \"top\",\n                horizontal: \"right\",\n              }}\n            >\n              <List>\n                <ListItemText\n                  style={{\n                    marginBottom: \"1rem\",\n                    cursor: \"pointer\",\n                  }}\n                  onClick={() => dropDownItemsHandler(\"dashboard\")}\n                >\n                  Dashboard\n                </ListItemText>\n                {isAdmin() && (\n                  <ListItemText\n                    style={{ marginBottom: \"1rem\", cursor: \"pointer\" }}\n                    onClick={() => dropDownItemsHandler(\"help\")}\n                  >\n                    Help center\n                  </ListItemText>\n                )}\n\n                <Divider style={{ marginBottom: \"1rem\", width: \"100%\" }} />\n\n                <ListItemText\n                  id=\"logout-button\"\n                  component={Link}\n                  style={{ marginBottom: \"1rem\", cursor: \"pointer\" }}\n                  onClick={handleClick}\n                >\n                  Logout\n                </ListItemText>\n\n                <ListItemText\n                  style={{\n                    marginBottom: \"1rem\",\n                    color: \"rgba(0,0,0,0.5)\",\n                  }}\n                >\n                  <span style={{ fontSize: \"12px\", fontFamily: \"Roboto\" }}>\n                    MarketBox v2.0.0.\n                  </span>\n                </ListItemText>\n              </List>\n            </Popover>\n          </>\n        )}\n      </div>\n    );\n  }\n\n  function smallerDisplayLoginInfo() {\n    if (\n      GUEST_ONLY === bookingFlowSettings?.checkoutOption &&\n      !props.guestCheckout\n    )\n      return <div style={{ marginLeft: \"auto\" }}></div>;\n    if (!props.user) return <div style={{ marginLeft: \"auto\" }}></div>;\n\n    return (\n      <div style={{ marginLeft: \"auto\" }}>\n        {props && props.guestCheckout ? (\n          <>\n            {\" \"}\n            <IconButton\n              size=\"medium\"\n              style={{\n                background: \"rgba(0,0,0,0.5)\",\n                width: \"40px\",\n                height: \"40px\",\n                borderRadius: \"8px\",\n              }}\n              variant=\"contained\"\n              color=\"secondary\"\n              onClick={(e) => setAnchorEl(e.currentTarget)}\n            >\n              <MenuIcon style={{ padding: 0, color: \"#fff\" }} />\n            </IconButton>\n            <Popover\n              PaperProps={{\n                style: { width: \"250px\", padding: \"0.75rem\" },\n              }}\n              id={id}\n              open={open}\n              anchorEl={anchorEl}\n              onClose={handleClose}\n              anchorOrigin={{\n                vertical: \"bottom\",\n                horizontal: \"right\",\n              }}\n              transformOrigin={{\n                vertical: \"top\",\n                horizontal: \"right\",\n              }}\n            >\n              <List>\n                <ListItemText\n                  style={{\n                    marginBottom: \"0.5rem\",\n                    cursor: \"pointer\",\n                  }}\n                >\n                  Guest checkout\n                </ListItemText>\n              </List>\n            </Popover>\n          </>\n        ) : props.guestUser ? (\n          <>\n            <IconButton\n              size=\"medium\"\n              style={{\n                background: \"rgba(0,0,0,0.5)\",\n                width: \"40px\",\n                height: \"40px\",\n                borderRadius: \"8px\",\n              }}\n              variant=\"contained\"\n              color=\"secondary\"\n              onClick={(e) => setAnchorEl(e.currentTarget)}\n            >\n              <MenuIcon style={{ padding: 0, color: \"#fff\" }} />\n            </IconButton>\n            <Popover\n              PaperProps={{\n                style: { width: \"250px\", padding: \"0.75rem\" },\n              }}\n              id={id}\n              open={open}\n              anchorEl={anchorEl}\n              onClose={handleClose}\n              anchorOrigin={{\n                vertical: \"bottom\",\n                horizontal: \"right\",\n              }}\n              transformOrigin={{\n                vertical: \"top\",\n                horizontal: \"right\",\n              }}\n            >\n              <List>\n                <ListItemText\n                  style={{\n                    marginBottom: \"0.5rem\",\n                    cursor: \"pointer\",\n                  }}\n                  onClick={handleClick}\n                >\n                  Login\n                </ListItemText>\n              </List>\n            </Popover>\n          </>\n        ) : (\n          <>\n            <IconButton\n              size=\"medium\"\n              style={{ width: \"40px\", height: \"40px\", borderRadius: \"8px\" }}\n              aria-describedby={id}\n              onClick={(e) => setAnchorEl(e.currentTarget)}\n            >\n              <MenuIcon style={{ padding: 0, color: txtColor }} />\n            </IconButton>\n            <Popover\n              PaperProps={{\n                style: { width: \"250px\", padding: \"0.75rem\" },\n              }}\n              id={id}\n              open={open}\n              anchorEl={anchorEl}\n              onClose={handleClose}\n              anchorOrigin={{\n                vertical: \"bottom\",\n                horizontal: \"right\",\n              }}\n              transformOrigin={{\n                vertical: \"top\",\n                horizontal: \"right\",\n              }}\n            >\n              <List>\n                <ListItemText>\n                  <Typography\n                    style={{\n                      marginBottom: \"0.5rem\",\n                      fontWeight: 700,\n                    }}\n                    variant=\"body1\"\n                  >\n                    Hello,{\" \"}\n                    <span style={{ fontWeight: 700, fontFamily: \"Roboto\" }}>\n                      {userName}\n                    </span>\n                  </Typography>\n                </ListItemText>\n                <Divider style={{ marginBottom: \"1rem\", width: \"100%\" }} />\n                <ListItemText\n                  style={{\n                    marginBottom: \"1rem\",\n                    cursor: \"pointer\",\n                  }}\n                  onClick={() => dropDownItemsHandler(\"dashboard\")}\n                >\n                  Dashboard\n                </ListItemText>\n                {isAdmin() && (\n                  <ListItemText\n                    style={{ marginBottom: \"1rem\", cursor: \"pointer\" }}\n                    onClick={() => dropDownItemsHandler(\"help\")}\n                  >\n                    Help center\n                  </ListItemText>\n                )}\n                <Divider style={{ marginBottom: \"1rem\", width: \"100%\" }} />\n\n                <ListItemText\n                  component={Link}\n                  style={{ marginBottom: \"1rem\", cursor: \"pointer\" }}\n                  onClick={handleClick}\n                >\n                  Logout\n                </ListItemText>\n\n                <ListItemText\n                  style={{\n                    marginBottom: \"1rem\",\n                    color: \"rgba(0,0,0,0.5)\",\n                  }}\n                >\n                  <span style={{ fontSize: \"12px\", fontFamily: \"Roboto\" }}>\n                    MarketBox v2.0.0.\n                  </span>\n                </ListItemText>\n              </List>\n            </Popover>\n          </>\n        )}\n      </div>\n    );\n  }\n\n  if (\n    !props.banner ||\n    !(bookingFlowSettings && bookingFlowSettings?.showHeader)\n  ) {\n    return (\n      <AppBar\n        style={{\n          height: \"88px\",\n          padding: !phoneWidthSmaller ? \"12px 10px\" : \"0px 20px\",\n          display: \"flex\",\n          justifyContent: !phoneWidthSmaller ? \"center\" : \"space-evenly\",\n        }}\n        elevation={0}\n      >\n        <Toolbar>\n          {DisplayCompanyLogo()}\n          {DisplayCompanyName()}\n          {!phoneWidthSmaller ? smallerDisplayLoginInfo() : DisplayLoginInfo()}\n        </Toolbar>\n      </AppBar>\n    );\n  } else {\n    return (\n      <Box\n        sx={{\n          background: props?.publicsitesettings?.StyleCustomization\n            ?.bookingFlowCustomizations\n            ? props?.publicsitesettings?.StyleCustomization\n                ?.bookingFlowCustomizations?.backgroundColor\n            : \"#ffffff\",\n          overflow: \"auto\",\n          color: localStorage.getItem(\"textColor\")\n            ? localStorage.getItem(\"textColor\")\n            : props.textColor,\n          minHeight: \"350px\",\n          height: \"370px\",\n          overflowY: \"hidden\",\n          top: 0,\n          position: \"relative\",\n          display: \"flex\",\n          flexDirection: \"column\",\n          alignItems: \"flex-start\",\n          justifyContent: \"flex-start\",\n          padding: phoneWidthPadding,\n\n          \"&::before\": {\n            content: '\"\"',\n            position: \"absolute\",\n            top: 0,\n            right: 0,\n            bottom: 0,\n            left: 0,\n            opacity: bookingFlowSettings ? bookingFlowSettings.opacity : 0.2,\n            //zindex: -1,\n            backgroundImage: `url(\"${\n              localStorage.getItem(\"backgroundImgUrl\")\n                ? localStorage.getItem(\"backgroundImgUrl\")\n                : props.publicsitesettings.backgroundImageUrl\n            }\")`,\n            backgroundSize: \"cover\",\n            backgroundPosition: \"center\",\n            backgroundRepeat: \"no-repeat\",\n            color: localStorage.getItem(\"textColor\")\n              ? localStorage.getItem(\"textColor\")\n              : props.textColor,\n          },\n        }}\n      >\n        {DisplayLoginInfo()}\n\n        <Grid\n          container\n          sx={{ alignItems: \"center\" }}\n          display={!bookingFlowSettings?.showLogo ? \"none\" : \"flex\"}\n        >\n          <img\n            style={{\n              zIndex: 10,\n              cursor: \"pointer\",\n              borderRadius: bookingFlowSettings.circularLogo && \"50%\",\n              objectFit: bookingFlowSettings.circularLogo && \"cover\",\n              height: bookingFlowSettings.circularLogo ? \"80px\" : avatarSize,\n            }}\n            alt={getCompanyName()}\n            src={getCompanyLogoUrl()}\n            onClick={logoClickHandler}\n          />\n          {DisplayCompanyName()}\n        </Grid>\n\n        {bookingFlowSettings &&\n          bookingFlowSettings.showHeadings &&\n          (bookingFlowSettings.hasOwnProperty(\"showHeadingOne\")\n            ? bookingFlowSettings.showHeadingOne\n            : true) && (\n            <Typography\n              style={{\n                marginTop: \"1.5rem\",\n                marginBottom: \"0.5rem\",\n                color: props.publicsitesettings.textColor\n                  ? props.publicsitesettings.textColor\n                  : \"#d4d4d4\",\n                cursor: \"pointer\",\n                zIndex: \"10\",\n                fontFamily: `${\n                  bookingFlowSettings\n                    ? bookingFlowSettings.fontTypeForAllHeading\n                    : \"Raleway\"\n                }, Roboto`,\n                fontSize: bookingFlowSettings\n                  ? !phoneWidthSmaller\n                    ? \"2.15rem\"\n                    : bookingFlowSettings.fontSizeHeader1\n                  : phoneWidthSmaller\n                  ? \"2.15rem\"\n                  : \"3.75rem\",\n              }}\n              variant={deviceWidth}\n              onClick={logoClickHandler}\n            >\n              {/* {props.company.name} */}\n              {bookingFlowSettings\n                ? bookingFlowSettings.mainHeading\n                : \"Please set Heading 1 in company public settings\"}\n            </Typography>\n          )}\n\n        {bookingFlowSettings &&\n          bookingFlowSettings.showHeadings &&\n          (bookingFlowSettings.hasOwnProperty(\"showHeadingTwo\")\n            ? bookingFlowSettings.showHeadingTwo\n            : true) && (\n            <Typography\n              style={{\n                color: props.publicsitesettings.textColor\n                  ? props.publicsitesettings.textColor\n                  : \"#d4d4d4\",\n                marginBottom: \"0.5rem\",\n\n                fontFamily: `${\n                  bookingFlowSettings\n                    ? bookingFlowSettings.fontTypeForAllHeading\n                    : \"Raleway\"\n                }, Roboto`,\n                fontSize: bookingFlowSettings\n                  ? !phoneWidthSmaller\n                    ? \"1rem\"\n                    : bookingFlowSettings.fontSizeHeader2\n                  : !phoneWidthSmaller\n                  ? \"1rem\"\n                  : \"1.5rem\",\n                zIndex: 11,\n              }}\n            >\n              {heading1Text\n                ? heading1Text\n                : \"Please set Heading 2 in company public settings\"}\n            </Typography>\n          )}\n        {bookingFlowSettings &&\n          bookingFlowSettings.showHeadings &&\n          (bookingFlowSettings.hasOwnProperty(\"showHeadingThree\")\n            ? bookingFlowSettings.showHeadingThree\n            : true) && (\n            <Typography\n              sx={{\n                color: props.publicsitesettings.textColor\n                  ? props.publicsitesettings.textColor\n                  : \"#d4d4d4\",\n                fontFamily: `${\n                  bookingFlowSettings\n                    ? bookingFlowSettings.fontTypeForAllHeading\n                    : \"Raleway\"\n                }, Roboto`,\n                fontSize: bookingFlowSettings\n                  ? !phoneWidthSmaller\n                    ? \"0.9rem\"\n                    : bookingFlowSettings.fontSizeHeader3\n                  : !phoneWidthSmaller\n                  ? \"0.9rem\"\n                  : \"1rem\",\n                zIndex: 12,\n              }}\n            >\n              {heading2Text\n                ? heading2Text\n                : \"Please set Heading 3 in company public settings\"}\n            </Typography>\n          )}\n      </Box>\n    );\n  }\n}\n","export const dayAbbreviations = [\n  \"Mon\",\n  \"Tue\",\n  \"Wed\",\n  \"Thu\",\n  \"Fri\",\n  \"Sat\",\n  \"Sun\",\n];\n\nexport const fullDayNameMap = {\n  Mon: \"Monday\",\n  Tue: \"Tuesday\",\n  Wed: \"Wednesday\",\n  Thu: \"Thursday\",\n  Fri: \"Friday\",\n  Sat: \"Saturday\",\n  Sun: \"Sunday\",\n};\n\nexport const weekDayMap = {\n  Mon: 1,\n  Tue: 2,\n  Wed: 3,\n  Thu: 4,\n  Fri: 5,\n  Sat: 6,\n  Sun: 0, // Sunday is represented by 0 in Js\n};\n\nexport const VARIABLE_TAX_RATE = \"variable\";\n\nexport const MAX_FIRST_NAME_LENGTH = 15;\nexport const LOCATION_PREFIXES = [\"PL\", \"CL\", \"GL\"];\nexport const LOCATION_PREFIXES_REGEX = new RegExp(\n  LOCATION_PREFIXES.join(\"-|^\")\n);\nexport const AGNOSTIC_PROVIDER_NAME_TRUNCATE_LENGTH = 9;\nexport const SERVICE_BEHAVIOR_INTERNAL = \"INTERNAL\";\nexport const SERVICE_BEHAVIOR_EXTERNAL = \"EXTERNAL\";\n\nexport const SENTRY_POPUP_ENV = \"development\";\nexport const TIME_OF_DAY = [\n  \"12:00 AM – 2:00 AM\",\n  \"2:00 AM – 4:00 AM\",\n  \"4:00 AM – 6:00 AM\",\n  \"6:00 AM – 8:00 AM\",\n  \"8:00 AM – 10:00 AM\",\n  \"10:00 AM – 12:00 PM\",\n  \"12:00 PM – 2:00 PM\",\n  \"2:00 PM – 4:00 PM\",\n  \"4:00 PM – 6:00 PM\",\n  \"6:00 PM – 8:00 PM\",\n  \"8:00 PM – 10:00 PM\",\n  \"10:00 PM – 12:00 AM\",\n];\nexport const DEFAULT_TIME_OF_DAY_INDICES = [4, 5, 6, 7, 8];\n\nexport const COLOR_LIGHT_GREY = \"#A7A7A7\";\n","export const ACCOUNT_OR_GUEST = \"ACCOUNT_OR_GUEST\";\nexport const MUST_CREATE_ACCOUNT = \"MUST_CREATE_ACCOUNT\";\nexport const GUEST_ONLY = \"GUEST_ONLY\";\n\nexport function getCheckoutOption(publicsitesettings) {\n  if (publicsitesettings) {\n    const co =\n      publicsitesettings?.StyleCustomization?.bookingFlowCustomizations\n        ?.checkoutOption;\n    if (co && co !== null) return co;\n  }\n\n  return ACCOUNT_OR_GUEST; //default\n}\n\nexport function isGuestCheckoutAllowed(publicsitesettings) {\n  console.log(\n    \"isGuestCheckoutAlloweds\",\n    publicsitesettings?.StyleCustomization?.bookingFlowCustomizations\n      ?.checkoutOption\n  );\n  if (publicsitesettings) {\n    const co =\n      publicsitesettings?.StyleCustomization?.bookingFlowCustomizations\n        ?.checkoutOption;\n    if (!co) return true; // when the checkout setting is not defined, allow guest checkout like ACCOUNT_OR_GUEST\n    if (ACCOUNT_OR_GUEST === co || GUEST_ONLY === co) return true;\n  }\n  return false;\n}\n\nexport function isGuestOnlyCheckout(publicsitesettings) {\n  if (publicsitesettings) {\n    const co =\n      publicsitesettings?.StyleCustomization?.bookingFlowCustomizations\n        ?.checkoutOption;\n    if (GUEST_ONLY === co) return true;\n  }\n  return false;\n}\n","import format from \"date-fns/format\";\nimport moment from \"moment\";\nimport { LOCATION_PREFIXES_REGEX } from \"./Constants\";\nimport { USERROLE } from \"../user/UserCommon\";\nimport Cache from \"@aws-amplify/cache\";\nexport const convertDollarsToCents = (price) => (price * 100).toFixed(0);\n\nexport const convertCentsToDollars = (price) => (price / 100).toFixed(2);\n\nexport const formatProductDate = (date) => format(date, \"MMM Do, YYYY\");\n\nexport const formatOrderDate = (date) =>\n  format(date, \"ddd h:mm A, MMM Do, YYYY\");\n\nexport const _findPromotions = (data, tab) => {\n  let rows = data;\n  if (data && data.length) {\n    if (tab === 0) {\n      rows = data.filter((item) => {\n        return (\n          _getStartOf().diff(_getStartOf(item.startdate), \"days\") >= 0 &&\n          _getStartOf().diff(_getStartOf(item.enddate), \"days\") < 0\n        );\n      });\n    } else if (tab === 1) {\n      rows = data.filter((item) => {\n        return _getStartOf(item.startdate).diff(_getStartOf(), \"days\") > 0;\n      });\n    } else {\n      rows = data.filter((item) => {\n        return _getStartOf(item.enddate).diff(_getStartOf(), \"days\") <= 0;\n      });\n    }\n  }\n  return rows;\n};\n\nexport const _findBooking = (data, tab) => {\n  let rows = data;\n  if (data && data.length) {\n    if (tab === 0) {\n      rows = data.filter((item) => {\n        return _getStartOf(item.startdate).diff(_getStartOf(), \"days\") > 0;\n      });\n    } else {\n      rows = data.filter((item) => {\n        return _getStartOf(item.enddate).diff(_getStartOf(), \"days\") <= 0;\n      });\n    }\n  }\n  return rows;\n};\n\nexport const _formatDate = (\n  date,\n  format = \"MMM DD, YYYY\",\n  showTime = false\n) => {\n  let formattedDate = moment(date).format(format);\n  return formattedDate;\n};\n\nexport const _getStartOf = (date = moment()) => moment(date).startOf(\"day\");\n\nexport const getCurrencySymbolByCompany = (company) => {\n  const companyCurrency = company.currency;\n  switch (companyCurrency) {\n    case \"GBP\":\n      return \"£\";\n    case \"CAD\":\n      return \"$\";\n    case \"USD\":\n      return \"$\";\n    case \"AUD\":\n      return \"$\";\n    default:\n      return \"$\";\n  }\n};\n\nexport const stripLocationPrefix = (locationId = \"\") =>\n  locationId?.replace(LOCATION_PREFIXES_REGEX, \"\");\n\nexport const getLocationIdParts = (locationId = \"\") => [\n  locationId.substring(2),\n  stripLocationPrefix(locationId),\n];\nexport const mod = (n, m) => ((n % m) + m) % m;\nexport const isNumeric = (n) => !isNaN(parseFloat(n)) && isFinite(n);\nexport function isAdmin() {\n  const user = Cache.getItem(\"user\");\n  if (user && user.role)\n    return (\n      USERROLE.MARKETBOX_ADMIN === user.role ||\n      USERROLE.COMPANY_ADMIN === user.role ||\n      USERROLE.COMPANY_ADMIN_PROVIDER === user.role\n    );\n  else return false;\n}\nexport const jsonParse = (\n  jsonString,\n  defaultValue = undefined,\n  loggingMessage = \"Error parsing json\"\n) => {\n  try {\n    return JSON.parse(jsonString);\n  } catch {\n    console.log(loggingMessage);\n    return defaultValue;\n  }\n};\n"],"sourceRoot":""}