{"version":3,"sources":["modules/Tracking.js","utils/index.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"],"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","getCurrencySymbolByCompany","company","stripLocationPrefix","locationId","arguments","length","undefined","replace","LOCATION_PREFIXES_REGEX","mod","n","m","isNumeric","isNaN","parseFloat","isFinite","isAdmin","Cache","getItem","USERROLE","MARKETBOX_ADMIN","COMPANY_ADMIN","COMPANY_ADMIN_PROVIDER","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","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","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","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","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","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","includeFullDayAnyTimeSlots","forceBookingTimeWithPackageBookingTime","_bookingState$company","firstBookingAnchorTime","maxTravelTimeMinutes","timeSuggestionsEnabled","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","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","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","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","TextField","alignSelf","backgroundColor","InputProps","disableUnderline","endAdornment","InputAdornment","position","IconButton","handleClickShowNewPassword","show","onMouseDown","edge","VisibilityOff","Visibility","onChange","target","userWithNewPassword","completeNewPassword","disabled","CircularProgress","isGuestOnlyCheckout","fontWeight","_props$location$state6","_props$location$state7","ev","trim","toLowerCase","onKeyDown","handleClickShowPassword","fontFamily","_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","fontSize","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","flexWrap","Chip","background","borderWidth","borderStyle","borderColor","startAdornment","billingDesc","dateNow","dateNowString","dateStyle","desc","note","orderId","additionalChargeOrderId","additionalChargeUserId","additionalChargeCompanyId","additionalChargeClientId","additionalChargeCreatorId","creatorId","createAddCharge","totalAddChg","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","canProviderSeeClientName","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","MuiAccordion","styleOverrides","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","letterSpacing","subtitle1","overline","helperText","cardHeader","stripecustomerid","customerCurrency","receiptemailaddress","prevChargeId","prevcharge","warn","checkCardExpiration","clientEmailAddress","CLIENT","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","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","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","getUserName","_props$publicsitesett","txtColor","logoClickHandler","homepage","focus","DisplayCompanyName","displayOnlyLogo","lineHeight","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","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"],"mappings":"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","file":"static/js/main.eb1557fe.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","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}\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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 \n {children}\n \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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
\n \n \n \n {smallerScreen && }\n \n {/* component={Link} */}\n \n }\n color=\"primary\"\n onClick={backButtonHandler}\n >\n Back\n \n \n {smallerScreen && }\n \n\n \n {`Welcome to ${props.company.name}`}\n \n {newPaswRequired && (\n <>\n {errorMsg && (\n \n \n {errorMsg}\n \n \n )}\n \n \n \n {showNewPassword ? : }\n \n \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 \n \n Change password\n {loginClicked && (\n \n )}\n \n \n )}\n {!newPaswRequired && !isGuestOnlyCheckout(props.publicsitesettings) && (\n <>\n \n Log in to your account\n \n Don't have an account?{\" \"}\n \n props.history.push(\"/signup\", {\n fromPath: props.location.state?.fromPath\n ? props.location.state?.fromPath\n : \"/\",\n })\n }\n >\n Sign up\n {\" \"}\n instead\n \n \n {errorMsg && (\n \n \n {errorMsg}\n \n \n )}\n {\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 \n \n \n {showPassword ? : }\n \n \n ),\n }}\n variant=\"outlined\"\n size=\"small\"\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 \n props.history.push(\"/forgot\", {\n fromPath: props.location.state?.fromPath\n ? props.location.state?.fromPath\n : \"/\",\n })\n }\n >\n Forgot password?\n \n \n\n \n {loginClicked ? (\n \n ) : (\n \"Log In\"\n )}\n \n \n )}\n {isGuestCheckoutAllowed(props.publicsitesettings) && (\n \n {!isGuestOnlyCheckout(props.publicsitesettings) && (\n \n OR\n \n )}\n \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 \n \n )}\n
\n \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\";\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};\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
\n \n \n \n {`Welcome to ${props.company.name}`}\n \n {showConfirmationSection ? (\n <>\n \n \n {`We have sent a confirmation code to your email address`}\n \n \n\n {\n if (error && errorMsg) {\n setError(false);\n setErrorMsg(\"\");\n }\n setConfirmationCode(e.target.value);\n }}\n onKeyDown={confirmSignupOnKeyDown}\n />\n\n {errorMsg && (\n \n \n {errorMsg}\n \n \n )}\n \n {signupClicked ? (\n \n ) : (\n \"Confirm code\"\n )}\n \n \n \n Lost your code?{\" \"}\n \n Resend code\n \n \n \n {codeIsResent && (\n \n \n We have sent you an email with the new code.\n \n \n )}\n \n ) : (\n <>\n \n \n {guestMode\n ? `Please provide contact information to continue as a guest`\n : `Create a new account`}\n \n \n {errorMsg && (\n \n \n {errorMsg}\n \n \n )}\n {\n if (error) {\n setError(false);\n setErrorMsg(\"\");\n }\n setFirstName(e.target.value);\n\n //createAccountOnKeyDown(e);\n }}\n onKeyDown={createAccountOnKeyDown}\n />\n {\n if (error) {\n setError(false);\n setErrorMsg(\"\");\n }\n setLastName(e.target.value);\n }}\n onKeyDown={createAccountOnKeyDown}\n />\n {\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 {\n if (error) {\n setError(false);\n setErrorMsg(\"\");\n }\n setPhoneNumber(val);\n }}\n onKeyDown={createAccountOnKeyDown}\n />\n {!guestMode && (\n \n \n \n {showPassword ? : }\n \n \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 \n )}\n {guestMode && (\n \n Continue As Guest\n \n )}{\" \"}\n {!guestMode && (\n \n {signupClicked ? (\n \n ) : (\n \"Create account\"\n )}\n \n )}\n {!isGuestOnlyCheckout(props.publicsitesettings) && (\n \n \n Have an account?{\" \"}\n \n props.history.push(\"/login\", {\n fromPath: props.location.state?.fromPath\n ? props.location.state?.fromPath\n : \"/\",\n })\n }\n >\n Sign in\n \n \n \n )}\n \n )}\n
\n \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 \n \n
\n
\n
\n Signed out\n
\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 } 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 = JSON.parse(\n booking.company.ProviderRestrictionConfig\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 setMsgOpen(false)}\n ContentProps={{\n \"aria-describedby\": \"message-id\",\n }}\n message={{snackMsg}}\n />\n \n {booking && (\n \n {\n //if provider exists\n provider && (\n /* Image, Name and Bio */\n \n )\n }\n\n {/* Left Right Layout */}\n \n {/* Left Side */}\n \n \n \n {`Leave a review for ${\n booking.provider.firstname\n } ${booking.provider.lastname.substring(0, 1)}. for ${\n serviceName ? serviceName : \"\"\n }`}\n \n {/* \n How satisfied were you with the service?\n */}\n \n\n {/* Stars */}\n \n {\n setHover(newHover);\n }}\n onChange={(event, newValue) => {\n setRating(newValue);\n }}\n size=\"large\"\n />\n \n {labels[hover !== -1 ? hover : rating]}\n \n \n\n {/* Textbox */}\n \n setReview(event.target.value)}\n InputProps={{ disableUnderline: true }}\n multiline\n rows=\"4\"\n />\n \n\n {localStorage.getItem(\"showTipOption\") !== \"false\" && (\n /*Tip amount */\n \n {provider && (\n \n Add a tip for{\" \"}\n {`${provider.firstname} ${provider.lastname.substring(\n 0,\n 1\n )}.`}\n \n )}\n\n \n \n \n\n \n\n \n \n \n \n\n {tipText && tipText === \"custom\" && (\n \n \n {getCurrencySymbolByCompany(booking.company)}\n \n \n ),\n }}\n value={tipAmt}\n onChange={(event) => {\n setTipAmt(event.target.value);\n //saveCustomTip();\n }}\n />\n )}\n \n )}\n\n \n {provider && (\n \n {/* `Rate ${\" \"}${\n provider.firstname\n } ${provider.lastname.substring(0, 1)}.` */}\n {loading ? (\n \n ) : (\n `Submit Review`\n )}\n \n )}\n \n \n \n \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
\n \n \n \n {`Reset your password`}\n \n {stage === 1 && (\n \n {`Please enter your email address to receive the confirmation code.`}\n \n )}\n {stage === 2 && (\n \n {`Please enter your confirmation code and new password.`}\n \n )}\n {errorMsg && (\n \n \n {errorMsg}\n \n \n )}\n {stage === 2 ? (\n <>\n setConfirmationCode(e.target.value)}\n />\n \n setPasw(e.target.value)}\n />\n \n\n \n Reset password\n \n \n ) : (\n <>\n {\n let ev = e.target.value;\n ev = ev.trim().toLowerCase();\n setEmail(ev);\n if (errorMsg) setErrorMsg();\n }}\n />\n \n Send code\n \n \n )}\n
\n \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 \n \n \n Ongoing maintenance\n \n \n SCHEDULED MAINTENANCE IN PROGRESS\n \n Our system will be temporarily unavailable on Tuesday, September 24,\n while we perform planned system maintenance\n \n \n \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
\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
\n );\n }\n\n const myFallbackComponent = ;\n\n return (\n <>\n \n \n \n \n
\n \n \n {company && company.active !== false\n ? getCompanyTagline()\n : \"Company Not Found\"}\n \n \n \n {\n return loading ? (\n
\n
}>\n {process.env.REACT_APP_FF_ONGOING_MAINTENANCE ===\n \"true\" ? (\n \n ) : (\n \n )}\n \n
\n ) : (\n \"\"\n );\n }}\n />\n {\n return loading ? (\n }>\n \n \n ) : (\n \"\"\n );\n }}\n />\n {\n return loading ? (\n }>\n \n \n ) : (\n \"\"\n );\n }}\n />\n {\n return loading ? (\n }>\n \n \n ) : (\n \"\"\n );\n }}\n />\n {\n return loading ? (\n }>\n \n \n ) : (\n \"\"\n );\n }}\n />\n {\n return loading ? (\n }>\n \n \n ) : (\n \"\"\n );\n }}\n />\n {\n return loading ? (\n
\n
}>\n \n \n \n ) : (\n \"\"\n );\n }}\n />\n (\n \n )}\n />\n {\n return loading ? (\n }>\n \n \n ) : (\n \"\"\n );\n }}\n />\n {\n return loading ? (\n }>\n \n \n ) : (\n \"\"\n );\n }}\n />\n {\n return loading ? (\n }>\n \n \n ) : (\n \"\"\n );\n }}\n />\n {\n return loading ? (\n }>\n \n \n ) : (\n \"\"\n );\n }}\n />\n {\n return loading ? (\n }>\n \n \n ) : (\n \"\"\n );\n }}\n />\n {\n return loading ? (\n }>\n \n \n ) : (\n \"\"\n );\n }}\n />\n {\n return loading ? (\n }>\n \n \n ) : (\n \"\"\n );\n }}\n />\n {\n return loading ? (\n }>\n {\" \"}\n \n ) : (\n \"\"\n );\n }}\n />\n {\n return loading ? (\n
\n \n
\n ) : (\n \"\"\n );\n }}\n />\n {\n return loading && defaultCountry ? (\n
\n \n
\n ) : (\n \"\"\n );\n }}\n />\n {\n return loading ? (\n
\n \n
\n ) : (\n \"\"\n );\n }}\n />\n {\n return loading ? (\n
\n
}>\n \n \n \n ) : (\n \"\"\n );\n }}\n />\n {\n if (params && params.p && params.p === \"tippage\") {\n return loading ? (\n \n ) : (\n \"\"\n );\n } else {\n return loading ? (\n }>\n \n \n ) : (\n \"\"\n );\n }\n }}\n />\n \n \n
\n Powered by\n \n
\n \n
\n
\n
\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 //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 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.75rem\",\n fontWeight: \"400\",\n color: \"rgba(0, 0, 0, 0.35)\",\n fontStyle: \"italic\",\n fontFamily: [\"Roboto\"],\n },\n cardHeader: {\n fontSize: \"1rem\",\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 \n \n \n \n \n \n ,\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 = ` \n \n Additional bookings are confirmed for the following date(s) and time(s):\n \n \n \n \n   \n \n `;\n for (let i = 1; i < adjustedBookings.length; i++) {\n let bookingRow = ` \n \n Date: [booking_date]\n \n \n \n \n Time: [booking_time] to [end_time]\n \n \n \n \n   \n \n `;\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 += ` \n \n This booking will repeat every ${wdDisplay}.\n \n \n \n \n   \n \n `;\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
\n {logo && (\n \n )}\n
\n );\n }\n }\n\n // display company name if configured\n function DisplayCompanyName() {\n if (props && props.company && !props.company.displayOnlyLogo) {\n return (\n \n {getCompanyName()}\n \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
;\n if (!props.user) return
;\n return (\n
\n {props && props.guestCheckout ? (\n \n ) : props.guestUser ? (\n \n Log In\n \n ) : (\n <>\n setAnchorEl(e.currentTarget)}\n endIcon={}\n >\n \n Hello,{\" \"}\n \n {userName}\n \n \n \n \n \n dropDownItemsHandler(\"dashboard\")}\n >\n Dashboard\n \n {isAdmin() && (\n dropDownItemsHandler(\"help\")}\n >\n Help center\n \n )}\n\n \n\n \n Logout\n \n\n \n \n MarketBox v2.0.0.\n \n \n \n \n \n )}\n
\n );\n }\n\n function smallerDisplayLoginInfo() {\n if (\n GUEST_ONLY === bookingFlowSettings?.checkoutOption &&\n !props.guestCheckout\n )\n return
;\n if (!props.user) return
;\n\n return (\n
\n {props && props.guestCheckout ? (\n <>\n {\" \"}\n setAnchorEl(e.currentTarget)}\n >\n \n \n \n \n \n Guest checkout\n \n \n \n \n ) : props.guestUser ? (\n <>\n setAnchorEl(e.currentTarget)}\n >\n \n \n \n \n \n Login\n \n \n \n \n ) : (\n <>\n setAnchorEl(e.currentTarget)}\n >\n \n \n \n \n \n \n Hello,{\" \"}\n \n {userName}\n \n \n \n \n dropDownItemsHandler(\"dashboard\")}\n >\n Dashboard\n \n {isAdmin() && (\n dropDownItemsHandler(\"help\")}\n >\n Help center\n \n )}\n \n\n \n Logout\n \n\n \n \n MarketBox v2.0.0.\n \n \n \n \n \n )}\n
\n );\n }\n\n if (\n !props.banner ||\n !(bookingFlowSettings && bookingFlowSettings?.showHeader)\n ) {\n return (\n \n \n {DisplayCompanyLogo()}\n {DisplayCompanyName()}\n {!phoneWidthSmaller ? smallerDisplayLoginInfo() : DisplayLoginInfo()}\n \n \n );\n } else {\n return (\n \n {DisplayLoginInfo()}\n\n \n \n {DisplayCompanyName()}\n \n\n {bookingFlowSettings &&\n bookingFlowSettings.showHeadings &&\n (bookingFlowSettings.hasOwnProperty(\"showHeadingOne\")\n ? bookingFlowSettings.showHeadingOne\n : true) && (\n \n {/* {props.company.name} */}\n {bookingFlowSettings\n ? bookingFlowSettings.mainHeading\n : \"Please set Heading 1 in company public settings\"}\n \n )}\n\n {bookingFlowSettings &&\n bookingFlowSettings.showHeadings &&\n (bookingFlowSettings.hasOwnProperty(\"showHeadingTwo\")\n ? bookingFlowSettings.showHeadingTwo\n : true) && (\n \n {heading1Text\n ? heading1Text\n : \"Please set Heading 2 in company public settings\"}\n \n )}\n {bookingFlowSettings &&\n bookingFlowSettings.showHeadings &&\n (bookingFlowSettings.hasOwnProperty(\"showHeadingThree\")\n ? bookingFlowSettings.showHeadingThree\n : true) && (\n \n {heading2Text\n ? heading2Text\n : \"Please set Heading 3 in company public settings\"}\n \n )}\n \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"],"sourceRoot":""}