@happyvertical/smrt-planner 0.57.4 → 0.57.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/404.html +19 -19
- package/app/_app/immutable/chunks/{BhsxCKaI.js → 5ukUzDcw.js} +1 -1
- package/app/_app/immutable/chunks/{CztFAhpp.js → BDbFl7UA.js} +1 -1
- package/app/_app/immutable/chunks/{gnVUq1Tr.js → BG9Gz_25.js} +21 -21
- package/app/_app/immutable/chunks/{Ckc_1feF.js → Bal1oPZu.js} +1 -1
- package/app/_app/immutable/chunks/BhU_yBI_.js +1 -0
- package/app/_app/immutable/chunks/{CdPJK-gf.js → BiEOJeYb.js} +1 -1
- package/app/_app/immutable/chunks/{BMRtN-eN.js → Bsn3IIve.js} +3 -3
- package/app/_app/immutable/chunks/{ukqw0V0Z.js → BybfWt-B.js} +1 -1
- package/app/_app/immutable/chunks/{VCg3x54j.js → C1VofLtR.js} +1 -1
- package/app/_app/immutable/chunks/{8vF2REci.js → C3sRGrYK.js} +1 -1
- package/app/_app/immutable/chunks/{D8D_RStZ.js → CTlMHIE6.js} +1 -1
- package/app/_app/immutable/chunks/C_3CJO_1.js +1 -0
- package/app/_app/immutable/chunks/{DEwvWTFM.js → Cga8zF3r.js} +1 -1
- package/app/_app/immutable/chunks/{D76yH9OO.js → Cr4byQts.js} +1 -1
- package/app/_app/immutable/chunks/{B6GaAylQ.js → CtjBwCj8.js} +1 -1
- package/app/_app/immutable/chunks/{D7t4xFw6.js → CyUSxz1P.js} +1 -1
- package/app/_app/immutable/chunks/{h1rof478.js → DjJovMrk.js} +1 -1
- package/app/_app/immutable/chunks/{XlsfHlOd.js → DuZeZzOA.js} +1 -1
- package/app/_app/immutable/chunks/{A_IpJrNN.js → J9kOiFLO.js} +1 -1
- package/app/_app/immutable/chunks/{DCr75fDJ.js → NppCG--v.js} +1 -1
- package/app/_app/immutable/chunks/{CVcfTI5P.js → O8DAZ_le.js} +1 -1
- package/app/_app/immutable/chunks/{CUAfmRua.js → YGONf0jr.js} +1 -1
- package/app/_app/immutable/chunks/d_dqmeIr.js +1 -0
- package/app/_app/immutable/chunks/{BvRNePGN.js → gCpxN2IC.js} +1 -1
- package/app/_app/immutable/chunks/{CQ13lq7J.js → nphy1MQF.js} +1 -1
- package/app/_app/immutable/entry/{app.C-mGsUDb.js → app.B4gMiHwR.js} +2 -2
- package/app/_app/immutable/entry/start.BXkBl20Z.js +1 -0
- package/app/_app/immutable/nodes/{0.CG8nFTeW.js → 0.2MYMg80l.js} +1 -1
- package/app/_app/immutable/nodes/{1.BY2zPWBD.js → 1.DKP901Gn.js} +1 -1
- package/app/_app/immutable/nodes/{10.y59vLZOY.js → 10.DNN0cVai.js} +1 -1
- package/app/_app/immutable/nodes/{11.HBRO8fTE.js → 11.DgbmegX3.js} +1 -1
- package/app/_app/immutable/nodes/{12.DiV3I_fX.js → 12.D5MtnJoE.js} +1 -1
- package/app/_app/immutable/nodes/{13.f4cxyt4f.js → 13._rY66Xa_.js} +1 -1
- package/app/_app/immutable/nodes/{14.DnBBJxxq.js → 14.B6TD25VU.js} +1 -1
- package/app/_app/immutable/nodes/{2.DR5lKFBV.js → 2.x9WyxQ1S.js} +3 -3
- package/app/_app/immutable/nodes/{3.gu2TJwhp.js → 3.V5uGCpGb.js} +1 -1
- package/app/_app/immutable/nodes/{4.CU9BPw5o.js → 4.CCwzLrgu.js} +1 -1
- package/app/_app/immutable/nodes/{5.CD78hESs.js → 5.CgHzwpns.js} +1 -1
- package/app/_app/immutable/nodes/{6.B5LspHdV.js → 6.CvQHLh_u.js} +1 -1
- package/app/_app/immutable/nodes/{7.lSo_04_4.js → 7.7EIrly34.js} +1 -1
- package/app/_app/immutable/nodes/{8.OVIZi4uJ.js → 8.DyyRBuTw.js} +1 -1
- package/app/_app/immutable/nodes/{9.BLNgntah.js → 9.DcURs0gN.js} +1 -1
- package/app/_app/version.json +1 -1
- package/app/advanced-styles/index.html +22 -22
- package/app/ai/index.html +26 -26
- package/app/blueprint/index.html +20 -20
- package/app/cookbook/index.html +20 -20
- package/app/index.html +28 -28
- package/app/m/ads/AdDeliveryTier/index.html +23 -23
- package/app/m/ads/AdEvent/index.html +23 -23
- package/app/m/ads/AdFormat/index.html +23 -23
- package/app/m/ads/AdGroup/index.html +23 -23
- package/app/m/ads/AdVariation/index.html +23 -23
- package/app/m/analytics/AnalyticsDataStream/index.html +23 -23
- package/app/m/analytics/AnalyticsEvent/index.html +23 -23
- package/app/m/analytics/AnalyticsProperty/index.html +23 -23
- package/app/m/analytics/AnalyticsReport/index.html +23 -23
- package/app/m/approvals/ApprovalEvent/index.html +23 -23
- package/app/m/approvals/ApprovalPolicy/index.html +23 -23
- package/app/m/approvals/ApprovalRequest/index.html +23 -23
- package/app/m/assets/Asset/attachments/index.html +24 -24
- package/app/m/assets/Asset/index.html +23 -23
- package/app/m/assets/AssetAssociation/index.html +23 -23
- package/app/m/assets/AssetMetafield/index.html +23 -23
- package/app/m/assets/AssetStatus/index.html +23 -23
- package/app/m/assets/AssetType/index.html +23 -23
- package/app/m/assets/Folder/index.html +23 -23
- package/app/m/chat/AgentSession/index.html +23 -23
- package/app/m/chat/ChatMessage/index.html +23 -23
- package/app/m/chat/ChatParticipant/index.html +23 -23
- package/app/m/chat/ChatReaction/index.html +23 -23
- package/app/m/chat/ChatRoom/index.html +23 -23
- package/app/m/chat/ChatThread/index.html +23 -23
- package/app/m/chat/VoiceGatewayTurn/index.html +23 -23
- package/app/m/chat/VoiceSession/index.html +23 -23
- package/app/m/commerce/Agreement/index.html +23 -23
- package/app/m/commerce/Cart/index.html +23 -23
- package/app/m/commerce/Contract/index.html +23 -23
- package/app/m/commerce/ContractLineItem/index.html +23 -23
- package/app/m/commerce/Customer/index.html +23 -23
- package/app/m/commerce/DocumentTax/index.html +23 -23
- package/app/m/commerce/Estimate/index.html +23 -23
- package/app/m/commerce/Fulfillment/index.html +23 -23
- package/app/m/commerce/FulfillmentLineItem/index.html +23 -23
- package/app/m/commerce/HistoricalCustomerFunds/index.html +23 -23
- package/app/m/commerce/HistoricalCustomerFundsAllocation/index.html +23 -23
- package/app/m/commerce/HistoricalSalesLine/index.html +23 -23
- package/app/m/commerce/Invoice/index.html +23 -23
- package/app/m/commerce/InvoiceLineItem/index.html +23 -23
- package/app/m/commerce/Lease/index.html +23 -23
- package/app/m/commerce/LicenseSale/index.html +23 -23
- package/app/m/commerce/Order/index.html +23 -23
- package/app/m/commerce/Payment/index.html +23 -23
- package/app/m/commerce/PaymentAllocation/index.html +23 -23
- package/app/m/commerce/PaymentInstrument/index.html +23 -23
- package/app/m/commerce/PaymentIntent/index.html +23 -23
- package/app/m/commerce/Payout/index.html +23 -23
- package/app/m/commerce/ProductionOrder/index.html +23 -23
- package/app/m/commerce/PurchaseContract/index.html +23 -23
- package/app/m/commerce/PurchaseOrder/index.html +23 -23
- package/app/m/commerce/SalesContract/index.html +23 -23
- package/app/m/commerce/SupplierQuote/index.html +23 -23
- package/app/m/commerce/TaxCode/index.html +23 -23
- package/app/m/commerce/TaxComponent/index.html +23 -23
- package/app/m/commerce/TaxSettings/index.html +23 -23
- package/app/m/commerce/TaxSummaryReport/index.html +23 -23
- package/app/m/commerce/Vendor/index.html +23 -23
- package/app/m/commerce/WholesaleOrder/index.html +23 -23
- package/app/m/content/Content/index.html +23 -23
- package/app/m/content/ContentContribution/index.html +23 -23
- package/app/m/content/ContentContributionAttachment/index.html +23 -23
- package/app/m/content/ContentContributionRevision/index.html +23 -23
- package/app/m/content/ContentContributionType/index.html +23 -23
- package/app/m/content/ContentContributor/index.html +23 -23
- package/app/m/content/ContentCorrection/index.html +23 -23
- package/app/m/content/ContentFeedSource/index.html +23 -23
- package/app/m/content/ContentGovernanceAssignment/index.html +23 -23
- package/app/m/content/ContentGovernancePolicy/index.html +23 -23
- package/app/m/content/ContentGovernanceProfile/index.html +23 -23
- package/app/m/content/ContentReference/index.html +23 -23
- package/app/m/content/ContentReview/index.html +23 -23
- package/app/m/content/ContentVersion/index.html +23 -23
- package/app/m/events/Event/index.html +23 -23
- package/app/m/events/EventParticipant/index.html +23 -23
- package/app/m/events/EventSeries/index.html +23 -23
- package/app/m/events/EventType/index.html +23 -23
- package/app/m/expenses/Expense/index.html +23 -23
- package/app/m/facts/Fact/index.html +23 -23
- package/app/m/facts/FactContent/index.html +23 -23
- package/app/m/facts/FactEvidence/index.html +23 -23
- package/app/m/facts/FactSource/index.html +23 -23
- package/app/m/facts/FactSubject/index.html +23 -23
- package/app/m/facts/FactTag/index.html +23 -23
- package/app/m/fields/FieldPolicy/index.html +23 -23
- package/app/m/fields/FieldPolicySuggestion/index.html +23 -23
- package/app/m/fields/FieldUsageCounter/index.html +23 -23
- package/app/m/images/Image/index.html +23 -23
- package/app/m/inventory/InventoryLocation/index.html +23 -23
- package/app/m/inventory/StockLevel/index.html +23 -23
- package/app/m/inventory/StockMovement/index.html +23 -23
- package/app/m/ledgers/Account/index.html +23 -23
- package/app/m/ledgers/Journal/index.html +23 -23
- package/app/m/ledgers/JournalEntry/index.html +23 -23
- package/app/m/ledgers/Ledger/index.html +23 -23
- package/app/m/manufacturing/Assembly/index.html +23 -23
- package/app/m/manufacturing/BillOfMaterials/index.html +23 -23
- package/app/m/manufacturing/BomLine/index.html +23 -23
- package/app/m/manufacturing/Operation/index.html +23 -23
- package/app/m/manufacturing/ProductionRun/index.html +23 -23
- package/app/m/manufacturing/ProductionRunCompletion/index.html +23 -23
- package/app/m/manufacturing/RoutingStep/index.html +23 -23
- package/app/m/marketing/Campaign/index.html +23 -23
- package/app/m/marketing/CampaignChannel/index.html +23 -23
- package/app/m/marketing/CampaignMetricSnapshot/index.html +23 -23
- package/app/m/messages/Account/index.html +23 -23
- package/app/m/messages/Attachment/index.html +23 -23
- package/app/m/messages/Blacklist/index.html +23 -23
- package/app/m/messages/Email/failed-sends/index.html +24 -24
- package/app/m/messages/Email/index.html +23 -23
- package/app/m/messages/Email/mailbox/index.html +24 -24
- package/app/m/messages/EmailAccount/index.html +23 -23
- package/app/m/messages/EmailAttachment/index.html +23 -23
- package/app/m/messages/EmailFolder/index.html +23 -23
- package/app/m/messages/Message/index.html +23 -23
- package/app/m/messages/MessagingEndpoint/index.html +23 -23
- package/app/m/messages/PersonaMessageRoute/index.html +23 -23
- package/app/m/messages/SlackAccount/index.html +23 -23
- package/app/m/messages/SlackMessage/index.html +23 -23
- package/app/m/messages/TelegramAccount/index.html +23 -23
- package/app/m/messages/Tweet/index.html +23 -23
- package/app/m/messages/TwitterAccount/index.html +23 -23
- package/app/m/messages/Whitelist/index.html +23 -23
- package/app/m/messages/ZulipAccount/index.html +23 -23
- package/app/m/places/Place/index.html +23 -23
- package/app/m/places/PlaceType/index.html +23 -23
- package/app/m/products/Category/index.html +23 -23
- package/app/m/products/Material/index.html +23 -23
- package/app/m/products/Product/index.html +23 -23
- package/app/m/products/Product/ingredients/index.html +24 -24
- package/app/m/products/ProductVariant/index.html +23 -23
- package/app/m/products/Sku/index.html +23 -23
- package/app/m/profiles/ApiKey/index.html +23 -23
- package/app/m/profiles/Bot/index.html +23 -23
- package/app/m/profiles/MagicLinkToken/index.html +23 -23
- package/app/m/profiles/NostrIdentity/index.html +23 -23
- package/app/m/profiles/OidcIdentity/index.html +23 -23
- package/app/m/profiles/Organization/index.html +23 -23
- package/app/m/profiles/Person/index.html +23 -23
- package/app/m/profiles/Profile/index.html +23 -23
- package/app/m/profiles/ProfileMetadata/index.html +23 -23
- package/app/m/profiles/ProfileMetafield/index.html +23 -23
- package/app/m/profiles/ProfileRelationship/index.html +23 -23
- package/app/m/profiles/ProfileRelationshipTerm/index.html +23 -23
- package/app/m/profiles/ProfileRelationshipType/index.html +23 -23
- package/app/m/profiles/ProfileType/index.html +23 -23
- package/app/m/projects/Comment/index.html +23 -23
- package/app/m/projects/Issue/index.html +23 -23
- package/app/m/projects/Label/index.html +23 -23
- package/app/m/projects/Project/index.html +23 -23
- package/app/m/projects/ProjectIntegration/index.html +23 -23
- package/app/m/projects/PullRequest/index.html +23 -23
- package/app/m/projects/Repository/index.html +23 -23
- package/app/m/properties/Property/index.html +23 -23
- package/app/m/properties/Zone/index.html +23 -23
- package/app/m/reports/RuntimeReport/index.html +23 -23
- package/app/m/reports/SmrtPrincipalReportRefreshTask/index.html +23 -23
- package/app/m/reports/SmrtReportLock/index.html +23 -23
- package/app/m/reports/SmrtReportRefreshTask/index.html +23 -23
- package/app/m/reports/SmrtReportRun/index.html +23 -23
- package/app/m/reports/SmrtReportSchedule/index.html +23 -23
- package/app/m/reports/SmrtReportWatermark/index.html +23 -23
- package/app/m/sales/Agreement/index.html +23 -23
- package/app/m/sales/AttributionException/index.html +23 -23
- package/app/m/sales/AttributionPolicy/index.html +23 -23
- package/app/m/sales/Commission/index.html +23 -23
- package/app/m/sales/CommissionAdjustment/index.html +23 -23
- package/app/m/sales/CommissionPayout/index.html +23 -23
- package/app/m/sales/CommissionPlan/index.html +23 -23
- package/app/m/sales/Earner/index.html +23 -23
- package/app/m/sales/EarnerSourceAttribution/index.html +23 -23
- package/app/m/sales/EarningEvent/index.html +23 -23
- package/app/m/sales/ExecutedAgreement/index.html +23 -23
- package/app/m/sales/Lead/index.html +23 -23
- package/app/m/sales/Opportunity/index.html +23 -23
- package/app/m/sales/OpportunityConversion/index.html +23 -23
- package/app/m/sales/PipelineDefinition/index.html +23 -23
- package/app/m/sales/PipelineStage/index.html +23 -23
- package/app/m/sales/Referral/index.html +23 -23
- package/app/m/sales/ReferralAgreement/index.html +23 -23
- package/app/m/sales/ReferralLink/index.html +23 -23
- package/app/m/sales/ReferralProgram/index.html +23 -23
- package/app/m/sales/ReferralTermSnapshot/index.html +23 -23
- package/app/m/sales/ReferralTouch/index.html +23 -23
- package/app/m/sales/Referrer/index.html +23 -23
- package/app/m/sales/SalesActivity/index.html +23 -23
- package/app/m/sales/SalesRepresentative/index.html +23 -23
- package/app/m/sites/Site/index.html +23 -23
- package/app/m/sites/SiteAgentBinding/index.html +23 -23
- package/app/m/social/OAuthState/index.html +23 -23
- package/app/m/social/SocialAccount/index.html +23 -23
- package/app/m/social/SocialPost/index.html +23 -23
- package/app/m/social/SocialPostAnalyticsSnapshot/index.html +23 -23
- package/app/m/subscriptions/BillingAdjustment/index.html +23 -23
- package/app/m/subscriptions/ClientCharge/index.html +23 -23
- package/app/m/subscriptions/CreditGrant/index.html +23 -23
- package/app/m/subscriptions/PricingRule/index.html +23 -23
- package/app/m/subscriptions/RetailCharge/index.html +23 -23
- package/app/m/subscriptions/SpendingPolicy/index.html +23 -23
- package/app/m/subscriptions/SubscriptionPlan/index.html +23 -23
- package/app/m/subscriptions/TenantSubscription/index.html +23 -23
- package/app/m/subscriptions/TenantUsageMetric/index.html +23 -23
- package/app/m/support/ServiceTimeEntry/index.html +23 -23
- package/app/m/support/SupportAiRun/index.html +23 -23
- package/app/m/support/SupportAvailability/index.html +23 -23
- package/app/m/support/SupportCase/index.html +23 -23
- package/app/m/support/SupportCaseEvent/index.html +23 -23
- package/app/m/support/SupportChannelBinding/index.html +23 -23
- package/app/m/support/SupportCharge/index.html +23 -23
- package/app/m/support/SupportCompensation/index.html +23 -23
- package/app/m/support/SupportCompensationPlan/index.html +23 -23
- package/app/m/support/SupportEscalation/index.html +23 -23
- package/app/m/support/SupportInteraction/index.html +23 -23
- package/app/m/support/SupportPlan/index.html +23 -23
- package/app/m/support/SupportPolicy/index.html +23 -23
- package/app/m/support/SupportQualification/index.html +23 -23
- package/app/m/support/SupportServiceTarget/index.html +23 -23
- package/app/m/support/SupportSpecialist/index.html +23 -23
- package/app/m/support/SupportWorkLink/index.html +23 -23
- package/app/m/tags/Tag/index.html +23 -23
- package/app/m/tags/TagAlias/index.html +23 -23
- package/app/m/timesheets/AttendanceBreak/index.html +23 -23
- package/app/m/timesheets/AttendancePunch/index.html +23 -23
- package/app/m/timesheets/AttendanceSegment/index.html +23 -23
- package/app/m/timesheets/ServiceChargeSnapshot/index.html +23 -23
- package/app/m/timesheets/ServiceCompensationSnapshot/index.html +23 -23
- package/app/m/timesheets/ServiceTimeEntry/index.html +23 -23
- package/app/m/users/Group/index.html +23 -23
- package/app/m/users/GroupMember/index.html +23 -23
- package/app/m/users/GroupRole/index.html +23 -23
- package/app/m/users/Membership/index.html +23 -23
- package/app/m/users/MembershipOverride/index.html +23 -23
- package/app/m/users/Permission/index.html +23 -23
- package/app/m/users/Role/index.html +23 -23
- package/app/m/users/RolePermission/index.html +23 -23
- package/app/m/users/Session/index.html +23 -23
- package/app/m/users/Tenant/index.html +23 -23
- package/app/m/users/TenantIntegration/index.html +23 -23
- package/app/m/users/TenantPermissionOverride/index.html +23 -23
- package/app/m/users/User/index.html +23 -23
- package/app/m/video/Character/index.html +23 -23
- package/app/m/video/CharacterAsset/index.html +23 -23
- package/app/m/video/CompositeJob/index.html +23 -23
- package/app/m/video/Performer/index.html +23 -23
- package/app/m/video/PerformerAsset/index.html +23 -23
- package/app/m/video/Scene/index.html +23 -23
- package/app/m/video/SceneAsset/index.html +23 -23
- package/app/m/video/VideoComposition/index.html +23 -23
- package/app/m/video/VideoCompositionAsset/index.html +23 -23
- package/app/m/video/VideoSequence/index.html +23 -23
- package/app/m/video/VideoSequenceAsset/index.html +23 -23
- package/app/m/video/VideoShot/index.html +23 -23
- package/app/m/video/VideoShotAsset/index.html +23 -23
- package/app/m/video/VideoShotCharacter/index.html +23 -23
- package/app/m/video/VideoWorkflow/index.html +23 -23
- package/app/m/voice/VoiceOutput/index.html +23 -23
- package/app/m/voice/VoiceProfile/index.html +23 -23
- package/app/m/voice/VoiceSample/index.html +23 -23
- package/app/mcp.html +2 -2
- package/app/packages/ads/index.html +22 -22
- package/app/packages/analytics/index.html +22 -22
- package/app/packages/approvals/index.html +22 -22
- package/app/packages/assets/index.html +22 -22
- package/app/packages/chat/index.html +22 -22
- package/app/packages/comments/index.html +22 -22
- package/app/packages/commerce/index.html +22 -22
- package/app/packages/content/index.html +22 -22
- package/app/packages/events/index.html +22 -22
- package/app/packages/expenses/index.html +22 -22
- package/app/packages/facts/index.html +22 -22
- package/app/packages/fields/index.html +22 -22
- package/app/packages/human-resources/index.html +22 -22
- package/app/packages/images/index.html +22 -22
- package/app/packages/index.html +21 -21
- package/app/packages/ingestion/index.html +22 -22
- package/app/packages/inventory/index.html +22 -22
- package/app/packages/ledgers/index.html +22 -22
- package/app/packages/manufacturing/index.html +22 -22
- package/app/packages/marketing/index.html +22 -22
- package/app/packages/messages/index.html +22 -22
- package/app/packages/places/index.html +22 -22
- package/app/packages/preferences/index.html +22 -22
- package/app/packages/products/index.html +22 -22
- package/app/packages/profiles/index.html +22 -22
- package/app/packages/projects/index.html +22 -22
- package/app/packages/properties/index.html +22 -22
- package/app/packages/reports/index.html +22 -22
- package/app/packages/sales/index.html +22 -22
- package/app/packages/sites/index.html +22 -22
- package/app/packages/social/index.html +22 -22
- package/app/packages/subscriptions/index.html +22 -22
- package/app/packages/support/index.html +22 -22
- package/app/packages/tags/index.html +22 -22
- package/app/packages/timesheets/index.html +22 -22
- package/app/packages/users/index.html +22 -22
- package/app/packages/video/index.html +22 -22
- package/app/packages/voice/index.html +22 -22
- package/app/packages/webhooks/index.html +22 -22
- package/app/recipes/account-access/help/index.html +22 -22
- package/app/recipes/account-access/index.html +24 -24
- package/app/recipes/activity/help/index.html +22 -22
- package/app/recipes/activity/index.html +24 -24
- package/app/recipes/agreements/help/index.html +22 -22
- package/app/recipes/agreements/index.html +24 -24
- package/app/recipes/analytics.reports/help/index.html +22 -22
- package/app/recipes/analytics.reports/index.html +24 -24
- package/app/recipes/assets/help/index.html +22 -22
- package/app/recipes/assets/index.html +24 -24
- package/app/recipes/billing/help/index.html +22 -22
- package/app/recipes/billing/index.html +24 -24
- package/app/recipes/chat.assistant/help/index.html +22 -22
- package/app/recipes/chat.assistant/index.html +24 -24
- package/app/recipes/comments/help/index.html +22 -22
- package/app/recipes/comments/index.html +24 -24
- package/app/recipes/commerce.customers/help/index.html +22 -22
- package/app/recipes/commerce.customers/index.html +24 -24
- package/app/recipes/commerce.estimates/help/index.html +22 -22
- package/app/recipes/commerce.estimates/index.html +24 -24
- package/app/recipes/commerce.purchases/help/index.html +22 -22
- package/app/recipes/commerce.purchases/index.html +24 -24
- package/app/recipes/commerce.sales/help/index.html +22 -22
- package/app/recipes/commerce.sales/index.html +24 -24
- package/app/recipes/commerce.vendors/help/index.html +22 -22
- package/app/recipes/commerce.vendors/index.html +24 -24
- package/app/recipes/commerce.wholesale/help/index.html +22 -22
- package/app/recipes/commerce.wholesale/index.html +24 -24
- package/app/recipes/events.calendar/help/index.html +22 -22
- package/app/recipes/events.calendar/index.html +24 -24
- package/app/recipes/expenses.tracking/help/index.html +22 -22
- package/app/recipes/expenses.tracking/index.html +24 -24
- package/app/recipes/fields.form-customization/help/index.html +22 -22
- package/app/recipes/fields.form-customization/index.html +24 -24
- package/app/recipes/ingestion/help/index.html +22 -22
- package/app/recipes/ingestion/index.html +24 -24
- package/app/recipes/integrations/help/index.html +22 -22
- package/app/recipes/integrations/index.html +24 -24
- package/app/recipes/inventory.stock/help/index.html +22 -22
- package/app/recipes/inventory.stock/index.html +24 -24
- package/app/recipes/ledgers.bookkeeping/help/index.html +22 -22
- package/app/recipes/ledgers.bookkeeping/index.html +24 -24
- package/app/recipes/messages/help/index.html +22 -22
- package/app/recipes/messages/index.html +24 -24
- package/app/recipes/products/help/index.html +22 -22
- package/app/recipes/products/index.html +24 -24
- package/app/recipes/projects.tracker/help/index.html +22 -22
- package/app/recipes/projects.tracker/index.html +24 -24
- package/app/recipes/reports.materialized/help/index.html +22 -22
- package/app/recipes/reports.materialized/index.html +24 -24
- package/app/recipes/reports.runtime/help/index.html +22 -22
- package/app/recipes/reports.runtime/index.html +24 -24
- package/app/recipes/sales.pipeline/help/index.html +22 -22
- package/app/recipes/sales.pipeline/index.html +24 -24
- package/app/recipes/tags.taxonomy/help/index.html +22 -22
- package/app/recipes/tags.taxonomy/index.html +24 -24
- package/app/recipes/team-collaboration/help/index.html +22 -22
- package/app/recipes/team-collaboration/index.html +24 -24
- package/app/recipes/timesheets.time-entries/help/index.html +22 -22
- package/app/recipes/timesheets.time-entries/index.html +24 -24
- package/app/s/custom-accounts/index.html +20 -20
- package/app/s/custom-appointments/index.html +20 -20
- package/app/s/custom-billing/index.html +20 -20
- package/app/s/custom-buying/index.html +20 -20
- package/app/s/custom-checkout/index.html +20 -20
- package/app/s/custom-classes/index.html +20 -20
- package/app/s/custom-clients/index.html +20 -20
- package/app/s/custom-events/index.html +20 -20
- package/app/s/custom-fleet/index.html +20 -20
- package/app/s/custom-giving/index.html +20 -20
- package/app/s/custom-jobs/index.html +20 -20
- package/app/s/custom-kitchen/index.html +20 -20
- package/app/s/custom-material/index.html +20 -20
- package/app/s/custom-meetings/index.html +20 -20
- package/app/s/custom-members/index.html +20 -20
- package/app/s/custom-paint/index.html +20 -20
- package/app/s/custom-parts/index.html +20 -20
- package/app/s/custom-rentals/index.html +20 -20
- package/app/s/custom-roastery/index.html +20 -20
- package/app/s/custom-schedule/index.html +20 -20
- package/app/s/custom-shelf/index.html +20 -20
- package/app/s/custom-shop/index.html +20 -20
- package/app/s/custom-wholesale/index.html +20 -20
- package/app/s/custom-work/index.html +20 -20
- package/app/s/custom-yard/index.html +20 -20
- package/app/s/section-access-control/index.html +20 -20
- package/app/s/section-account-security/index.html +20 -20
- package/app/s/section-accounting/index.html +20 -20
- package/app/s/section-activity/index.html +20 -20
- package/app/s/section-agreements/index.html +20 -20
- package/app/s/section-analytics/index.html +20 -20
- package/app/s/section-assets/index.html +20 -20
- package/app/s/section-billing/index.html +20 -20
- package/app/s/section-calendar/index.html +20 -20
- package/app/s/section-catalog/index.html +20 -20
- package/app/s/section-chat.assistant/index.html +20 -20
- package/app/s/section-comments/index.html +20 -20
- package/app/s/section-fields.form-customization/index.html +20 -20
- package/app/s/section-ingestion/index.html +20 -20
- package/app/s/section-integrations/index.html +20 -20
- package/app/s/section-messages/index.html +20 -20
- package/app/s/section-more/index.html +20 -20
- package/app/s/section-operations/index.html +20 -20
- package/app/s/section-projects/index.html +20 -20
- package/app/s/section-purchasing/index.html +20 -20
- package/app/s/section-reports.materialized/index.html +20 -20
- package/app/s/section-reports.runtime/index.html +20 -20
- package/app/s/section-sales/index.html +20 -20
- package/app/s/section-taxonomy/index.html +20 -20
- package/app/s/section-team/index.html +20 -20
- package/app/s/section-work/index.html +20 -20
- package/dist/catalog/catalog.json +50 -38
- package/dist/smrt-version.d.ts +1 -1
- package/dist/smrt-version.js +1 -1
- package/package.json +56 -56
- package/app/_app/immutable/chunks/Bc_SIIIS.js +0 -1
- package/app/_app/immutable/chunks/Burj9UYU.js +0 -1
- package/app/_app/immutable/chunks/C7z2g6fG.js +0 -1
- package/app/_app/immutable/entry/start.DnB4rZdO.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{x as e}from"./B6GaAylQ.js";var t={cookbooks:[{id:`bakery`,name:`Bakery`,icon:`bread`,summary:`Retail and cafe wholesale orders, ingredient stock, batches and suppliers.`,keywords:[`bake`,`baker`,`bakery`,`baking`,`bread`,`pastry`,`cake`,`cookies`,`cafe wholesale`,`coffee shop`,`patisserie`,`sourdough`],settings:{currency:`USD`,paymentTerms:`Net 15`,taxRate:0},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#b45309`,fontFamily:`Georgia`}},recipes:[`commerce.customers`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`commerce.wholesale`,`inventory.stock`,`ledgers.bookkeeping`,`products.ingredients`,`products.simple`],features:[`@happyvertical/smrt-commerce:ProductionOrder`],policies:[{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:ProductionOrder`,fieldName:`channelId`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:ProductionOrder`,fieldName:`expiryDate`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:ProductionOrder`,fieldName:`vendorId`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:WholesaleOrder`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`}],layout:{version:1,sectionOrder:[`custom:shop`,`custom:wholesale`,`custom:kitchen`,`custom:buying`,`section:accounting`],itemOrder:{"custom:shop":[`item:commerce:Order`,`item:commerce:Customer`],"custom:wholesale":[`item:commerce:WholesaleOrder`,`item:commerce:Invoice`,`item:commerce:Payment`],"custom:kitchen":[`item:products:Product`,`item:products:Product:ingredients`,`item:inventory:StockLevel`,`item:commerce:ProductionOrder`],"custom:buying":[`item:commerce:Vendor`,`item:commerce:PurchaseOrder`]},hidden:[`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Order":`custom:shop`,"item:commerce:Customer":`custom:shop`,"item:commerce:WholesaleOrder":`custom:wholesale`,"item:commerce:Invoice":`custom:wholesale`,"item:commerce:Payment":`custom:wholesale`,"item:products:Product":`custom:kitchen`,"item:inventory:StockLevel":`custom:kitchen`,"item:commerce:ProductionOrder":`custom:kitchen`,"item:commerce:Vendor":`custom:buying`,"item:commerce:PurchaseOrder":`custom:buying`,"item:products:Product:ingredients":`custom:kitchen`},customSections:[{id:`custom:shop`,label:`Shop`},{id:`custom:wholesale`,label:`Wholesale`},{id:`custom:kitchen`,label:`Kitchen`},{id:`custom:buying`,label:`Buying`}],items:{"item:commerce:Order":{label:`Orders`,description:`Orders from your shop and website customers.`},"item:commerce:WholesaleOrder":{label:`Cafe orders`,description:`Standing and one-off orders from cafes and shops.`},"item:inventory:StockLevel":{label:`Stock`,description:`Baked goods and supplies on hand today.`},"item:commerce:ProductionOrder":{label:`Batches`,description:`What you plan to bake, with the amounts and the day.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The mills, dairies and suppliers you buy from.`},"item:products:Product:ingredients":{label:`Ingredients`,description:`Flour, butter, sugar and the rest, with costs and units.`}},sections:{"custom:shop":{icon:`shoppingBag`},"custom:wholesale":{icon:`briefcase`},"custom:kitchen":{icon:`package`},"custom:buying":{icon:`truck`}}}},sectionDescriptions:{"custom:shop":`Sell to customers and keep their details.`,"custom:wholesale":`Orders, invoices and payments from trade customers.`,"custom:kitchen":`Products, ingredients, stock and what you are making.`,"custom:buying":`Suppliers and what you order from them.`}},{id:`mechanic`,name:`Mechanic`,icon:`car`,summary:`Quotes, work orders, parts, appointments and billing for a repair shop.`,keywords:[`mechanic`,`garage`,`auto repair`,`car repair`,`fix cars`,`car`,`vehicle`,`brakes`,`oil change`,`tyres`,`tires`,`servicing`,`repair shop`],settings:{currency:`USD`,paymentTerms:`Due on receipt`,taxRate:.0825,taxRounding:`document`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{preset:`smrt`},recipes:[`commerce.customers`,`commerce.estimates`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Contract`,fieldName:`taxRoundingScope`,scopeType:`app`,defaultValue:`"document"`},{objectRef:`@happyvertical/smrt-commerce:ContractLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.0825`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`creditLimit`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`customerType`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`taxRoundingScope`,scopeType:`app`,defaultValue:`"document"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:InvoiceLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.0825`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`}],layout:{version:1,sectionOrder:[`custom:jobs`,`custom:parts`,`custom:billing`,`custom:schedule`,`section:accounting`],itemOrder:{"custom:jobs":[`item:commerce:Estimate`,`item:commerce:Order`,`item:commerce:Customer`],"custom:parts":[`item:products:Product`,`item:inventory:StockLevel`,`item:commerce:Vendor`,`item:commerce:PurchaseOrder`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`],"custom:schedule":[`item:events:Event`,`item:events:EventType`]},hidden:[`item:events:EventSeries`,`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Estimate":`custom:jobs`,"item:commerce:Order":`custom:jobs`,"item:commerce:Customer":`custom:jobs`,"item:products:Product":`custom:parts`,"item:inventory:StockLevel":`custom:parts`,"item:commerce:Vendor":`custom:parts`,"item:commerce:PurchaseOrder":`custom:parts`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`,"item:events:Event":`custom:schedule`,"item:events:EventType":`custom:schedule`},customSections:[{id:`custom:jobs`,label:`Jobs`},{id:`custom:parts`,label:`Parts`},{id:`custom:billing`,label:`Billing`},{id:`custom:schedule`,label:`Schedule`}],items:{"item:commerce:Estimate":{label:`Quotes`,description:`Quotes for repairs, ready to become work orders once approved.`},"item:commerce:Order":{label:`Work orders`,description:`Every job in the shop, from drop-off to pick-up.`},"item:products:Product":{label:`Parts catalog`,description:`The parts you sell and fit, with prices.`},"item:inventory:StockLevel":{label:`Parts on hand`,description:`Parts on the shelf, so you know what to reorder.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The parts suppliers you buy from, with terms and contacts.`},"item:commerce:PurchaseOrder":{label:`Parts orders`,description:`Parts you have ordered and when they arrive.`},"item:events:Event":{label:`Appointments`,description:`Bookings on the shop calendar, by day and bay.`},"item:events:EventType":{label:`Appointment types`,description:`The kinds of service you book, like an oil change or inspection.`}},sections:{"custom:jobs":{icon:`wrench`},"custom:parts":{icon:`package`},"custom:billing":{icon:`receipt`},"custom:schedule":{icon:`calendar`}}}},sectionDescriptions:{"custom:jobs":`Work orders and the customers they belong to.`,"custom:parts":`Parts, materials and the stock on your shelves.`,"custom:billing":`Invoices and the payments against them.`,"custom:schedule":`Appointments and what is on the calendar.`}},{id:`welder`,name:`Welder`,icon:`flame`,summary:`Quotes, jobs, agreements, material and site visits for a welding business.`,keywords:[`weld`,`welder`,`welding`,`fabrication`,`fabricate`,`metal`,`steel`,`gates`,`railings`,`metalwork`,`boilermaker`],settings:{currency:`USD`,paymentTerms:`50% deposit, balance on completion`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{preset:`studio`},recipes:[`commerce.agreements`,`commerce.customers`,`commerce.estimates`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"50% deposit, balance on completion"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"50% deposit, balance on completion"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"50% deposit, balance on completion"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"50% deposit, balance on completion"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"50% deposit, balance on completion"`}],layout:{version:1,sectionOrder:[`custom:jobs`,`custom:material`,`custom:billing`,`custom:schedule`,`section:accounting`],itemOrder:{"custom:jobs":[`item:commerce:Order`,`item:commerce:Customer`,`item:commerce:Estimate`,`item:commerce:Agreement`],"custom:material":[`item:products:Product`,`item:inventory:StockLevel`,`item:commerce:Vendor`,`item:commerce:PurchaseOrder`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`],"custom:schedule":[`item:events:Event`,`item:events:EventType`]},hidden:[`item:commerce:Contract`,`item:events:EventSeries`,`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Customer":`custom:jobs`,"item:commerce:Estimate":`custom:jobs`,"item:commerce:Agreement":`custom:jobs`,"item:products:Product":`custom:material`,"item:inventory:StockLevel":`custom:material`,"item:commerce:Vendor":`custom:material`,"item:commerce:PurchaseOrder":`custom:material`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`,"item:events:Event":`custom:schedule`,"item:events:EventType":`custom:schedule`,"item:commerce:Order":`custom:jobs`},customSections:[{id:`custom:jobs`,label:`Jobs`},{id:`custom:material`,label:`Material`},{id:`custom:billing`,label:`Billing`},{id:`custom:schedule`,label:`Schedule`}],items:{"item:commerce:Estimate":{label:`Quotes`,description:`Quotes for jobs, ready to turn into orders when accepted.`},"item:products:Product":{label:`Steel & supplies`,description:`Steel, rod, gas and other materials you stock and charge for.`},"item:inventory:StockLevel":{label:`Material on hand`,description:`Material on hand, so you know what to buy before the next job.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The suppliers you buy metal and gas from.`},"item:commerce:PurchaseOrder":{label:`Material orders`,description:`Material you have ordered and when it lands.`},"item:events:Event":{label:`Site visits`,description:`Visits to measure, quote or install on site, by day.`},"item:events:EventType":{label:`Visit types`,description:`The kinds of visit you make, like a quote visit or install.`},"item:commerce:Order":{label:`Work orders`,description:`Every job you have won, from start to final invoice.`}},sections:{"custom:jobs":{icon:`wrench`},"custom:material":{icon:`layers`},"custom:billing":{icon:`receipt`},"custom:schedule":{icon:`calendar`}}}},sectionDescriptions:{"custom:jobs":`Work orders and the customers they belong to.`,"custom:material":`Material, stock and what you have ordered.`,"custom:billing":`Invoices and the payments against them.`,"custom:schedule":`Appointments and what is on the calendar.`}},{id:`yoga-studio`,name:`Yoga studio`,icon:`yoga`,summary:`Classes, class series, members, memberships and a small retail shop.`,keywords:[`yoga`,`yoga studio`,`pilates`,`studio`,`classes`,`class series`,`meditation`,`members`,`memberships`,`instructor`],settings:{currency:`USD`,paymentTerms:`Due on receipt`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#0f766e`,fontFamily:`ui-rounded`}},recipes:[`commerce.agreements`,`commerce.customers`,`commerce.invoicing`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`creditLimit`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`customerType`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`taxExempt`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`taxId`,scopeType:`app`,visibility:`hidden`}],layout:{version:1,sectionOrder:[`custom:classes`,`custom:members`,`custom:shop`,`custom:billing`,`section:accounting`],itemOrder:{"custom:classes":[`item:events:Event`,`item:events:EventSeries`,`item:events:EventType`],"custom:members":[`item:commerce:Customer`,`item:commerce:Agreement`],"custom:shop":[`item:products:Product`,`item:inventory:StockLevel`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`]},hidden:[`item:commerce:Contract`,`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:events:Event":`custom:classes`,"item:events:EventSeries":`custom:classes`,"item:events:EventType":`custom:classes`,"item:commerce:Customer":`custom:members`,"item:commerce:Agreement":`custom:members`,"item:products:Product":`custom:shop`,"item:inventory:StockLevel":`custom:shop`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`},customSections:[{id:`custom:classes`,label:`Classes`},{id:`custom:members`,label:`Members`},{id:`custom:shop`,label:`Shop`},{id:`custom:billing`,label:`Billing`}],items:{"item:events:Event":{label:`Class schedule`,description:`Every class on your timetable, with who's teaching and where.`},"item:events:EventSeries":{label:`Class series`,description:`Weekly classes that repeat, so you set them up once.`},"item:events:EventType":{label:`Class types`,description:`Your styles, like Vinyasa or Yin, with length and price.`},"item:commerce:Customer":{label:`Students`,description:`Your students, with how to reach them and what they have booked.`},"item:commerce:Agreement":{label:`Memberships`,description:`Memberships and class packs, with who holds them and when they renew.`},"item:inventory:StockLevel":{label:`Stock`,description:`Mats, props and retail items on hand.`}},sections:{"custom:classes":{icon:`school`},"custom:members":{icon:`users`},"custom:shop":{icon:`shoppingBag`},"custom:billing":{icon:`receipt`}}}},sectionDescriptions:{"custom:classes":`Classes, sessions and bookings.`,"custom:members":`Members and their memberships.`,"custom:shop":`Sell to customers and keep their details.`,"custom:billing":`Invoices and the payments against them.`}},{id:`landscaping`,name:`Landscaping`,icon:`leaf`,summary:`Quotes, jobs, maintenance contracts, materials and the crew schedule for a lawn and landscape business.`,keywords:[`landscaping`,`landscaper`,`lawn care`,`lawn`,`mowing`,`garden`,`gardener`,`yard work`,`hardscape`,`irrigation`,`tree service`,`snow removal`,`grounds`],settings:{currency:`USD`,paymentTerms:`Net 15`,taxRate:.06},sectionDescriptions:{"custom:jobs":`Work orders and the customers they belong to.`,"custom:schedule":`Appointments and what is on the calendar.`,"custom:yard":`Materials, stock and the suppliers you buy from.`,"custom:billing":`Invoices and the payments against them.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#15803d`}},recipes:[`commerce.agreements`,`commerce.customers`,`commerce.estimates`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:ContractLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.06`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:InvoiceLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.06`},{objectRef:`@happyvertical/smrt-commerce:Lease`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:WholesaleOrder`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`}],layout:{version:1,sectionOrder:[`custom:jobs`,`custom:schedule`,`custom:yard`,`custom:billing`,`section:accounting`],itemOrder:{"custom:jobs":[`item:commerce:Estimate`,`item:commerce:Order`,`item:commerce:Customer`,`item:commerce:Agreement`],"custom:schedule":[`item:events:Event`,`item:events:EventSeries`,`item:events:EventType`],"custom:yard":[`item:products:Product`,`item:inventory:StockLevel`,`item:commerce:Vendor`,`item:commerce:PurchaseOrder`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`]},hidden:[`item:commerce:Contract`,`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Estimate":`custom:jobs`,"item:commerce:Order":`custom:jobs`,"item:commerce:Customer":`custom:jobs`,"item:commerce:Agreement":`custom:jobs`,"item:events:Event":`custom:schedule`,"item:events:EventSeries":`custom:schedule`,"item:events:EventType":`custom:schedule`,"item:products:Product":`custom:yard`,"item:inventory:StockLevel":`custom:yard`,"item:commerce:Vendor":`custom:yard`,"item:commerce:PurchaseOrder":`custom:yard`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`},customSections:[{id:`custom:jobs`,label:`Jobs`},{id:`custom:schedule`,label:`Schedule`},{id:`custom:yard`,label:`Yard`},{id:`custom:billing`,label:`Billing`}],items:{"item:commerce:Estimate":{label:`Quotes`,description:`Quotes for new work, ready to become jobs once approved.`},"item:commerce:Order":{label:`Work orders`,description:`Every job you have won, from the first visit to the final invoice.`},"item:commerce:Agreement":{label:`Maintenance contracts`,description:`Weekly mowing and seasonal programs, with who holds them and when they renew.`},"item:events:Event":{label:`Crew schedule`,description:`Visits on the calendar, by day and crew.`},"item:events:EventSeries":{label:`Recurring visits`,description:`Routes that repeat, like a Tuesday mowing round, set up once.`},"item:events:EventType":{label:`Visit types`,description:`The kinds of visit you make, like a mow, a clean-up or an install.`},"item:products:Product":{label:`Materials`,description:`Mulch, soil, sod, plants and the other things you sell and install.`},"item:inventory:StockLevel":{label:`Materials on hand`,description:`What is in the yard and on the trucks.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The nurseries and stone yards you buy from.`},"item:commerce:PurchaseOrder":{label:`Material orders`,description:`Material you have ordered and when it lands.`}},sections:{"custom:jobs":{icon:`wrench`},"custom:schedule":{icon:`calendar`},"custom:yard":{icon:`package`},"custom:billing":{icon:`receipt`}}}}},{id:`salon`,name:`Hair salon`,icon:`scissors`,summary:`Appointments, clients, services, retail stock and payments at the desk for a salon or barbershop.`,keywords:[`salon`,`hair salon`,`barber`,`barbershop`,`hairdresser`,`stylist`,`haircut`,`hair colour`,`hair color`,`highlights`,`blow-dry`,`nails`,`beauty`,`spa`],settings:{currency:`USD`,paymentTerms:`Due on receipt`,taxRate:.07,pricesIncludeTax:!0},sectionDescriptions:{"custom:appointments":`Bookings and the services behind them.`,"custom:clients":`Clients and what they usually have.`,"custom:checkout":`Sales at the desk and the payments against them.`,"custom:shelf":`Retail, backbar stock and who you buy from.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#9d174d`}},recipes:[`commerce.customers`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Contract`,fieldName:`lineAmountType`,scopeType:`app`,defaultValue:`"inclusive"`},{objectRef:`@happyvertical/smrt-commerce:ContractLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.07`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`creditLimit`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`customerType`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`taxExempt`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`taxId`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`lineAmountType`,scopeType:`app`,defaultValue:`"inclusive"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:InvoiceLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.07`},{objectRef:`@happyvertical/smrt-commerce:Lease`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:WholesaleOrder`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`}],layout:{version:1,sectionOrder:[`custom:appointments`,`custom:clients`,`custom:checkout`,`custom:shelf`,`section:accounting`],itemOrder:{"custom:appointments":[`item:events:Event`,`item:events:EventType`,`item:events:EventSeries`],"custom:clients":[`item:commerce:Customer`],"custom:checkout":[`item:commerce:Order`,`item:commerce:Payment`,`item:commerce:Invoice`],"custom:shelf":[`item:products:Product`,`item:inventory:StockLevel`,`item:commerce:Vendor`,`item:commerce:PurchaseOrder`]},hidden:[`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:events:Event":`custom:appointments`,"item:events:EventType":`custom:appointments`,"item:events:EventSeries":`custom:appointments`,"item:commerce:Customer":`custom:clients`,"item:commerce:Order":`custom:checkout`,"item:commerce:Payment":`custom:checkout`,"item:commerce:Invoice":`custom:checkout`,"item:products:Product":`custom:shelf`,"item:inventory:StockLevel":`custom:shelf`,"item:commerce:Vendor":`custom:shelf`,"item:commerce:PurchaseOrder":`custom:shelf`},customSections:[{id:`custom:appointments`,label:`Appointments`},{id:`custom:clients`,label:`Clients`},{id:`custom:checkout`,label:`Checkout`},{id:`custom:shelf`,label:`Shelf`}],items:{"item:events:Event":{label:`Bookings`,description:`Every booking in the book, by stylist and chair.`},"item:events:EventType":{label:`Appointment types`,description:`The services you book, like a cut, a colour or a beard trim, with their length.`},"item:events:EventSeries":{label:`Standing appointments`,description:`Regulars who come back every few weeks, set up once.`},"item:commerce:Customer":{label:`Client cards`,description:`Your clients, with how to reach them and what they usually have.`},"item:commerce:Order":{label:`Sales`,description:`Each visit’s ticket: the services done and anything bought at the desk.`},"item:commerce:Payment":{label:`Payments`,description:`Money taken at the desk, by card or cash.`},"item:commerce:Invoice":{label:`Invoices`,description:`Bills for bridal parties, packages and accounts that pay later.`},"item:products:Product":{label:`Services & products`,description:`Your services and the retail you sell, with prices.`},"item:inventory:StockLevel":{label:`Retail stock`,description:`Product on the shelf and at the backbar.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The distributors you buy colour, product and towels from.`},"item:commerce:PurchaseOrder":{label:`Supply orders`,description:`Product you have ordered and when it arrives.`}},sections:{"custom:appointments":{icon:`calendar`},"custom:clients":{icon:`users`},"custom:checkout":{icon:`creditCard`},"custom:shelf":{icon:`shoppingBag`}}}}},{id:`roaster`,name:`Coffee roaster`,icon:`coffee`,summary:`Cafe accounts, online orders, green coffee, roast batches and importers for a small roastery or brewery.`,keywords:[`coffee roaster`,`roaster`,`roastery`,`coffee`,`beans`,`green coffee`,`espresso`,`cafe accounts`,`brewery`,`microbrewery`,`taproom`,`kegs`,`small batch`],settings:{currency:`USD`,paymentTerms:`Net 30`,taxRate:.0725},sectionDescriptions:{"custom:shop":`Sell to customers and keep their details.`,"custom:wholesale":`Orders, invoices and payments from trade customers.`,"custom:roastery":`Coffees, green coffee, stock and what you are roasting.`,"custom:buying":`Suppliers and what you order from them.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#7c2d12`,fontFamily:`Georgia`}},recipes:[`commerce.customers`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`commerce.wholesale`,`inventory.stock`,`ledgers.bookkeeping`,`products.ingredients`,`products.simple`],features:[`@happyvertical/smrt-commerce:ProductionOrder`],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:ContractLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.0725`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:InvoiceLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.0725`},{objectRef:`@happyvertical/smrt-commerce:Lease`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:ProductionOrder`,fieldName:`channelId`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:ProductionOrder`,fieldName:`expiryDate`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:ProductionOrder`,fieldName:`vendorId`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:WholesaleOrder`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`}],layout:{version:1,sectionOrder:[`custom:shop`,`custom:wholesale`,`custom:roastery`,`custom:buying`,`section:accounting`],itemOrder:{"custom:shop":[`item:commerce:Order`,`item:commerce:Customer`],"custom:wholesale":[`item:commerce:WholesaleOrder`,`item:commerce:Invoice`,`item:commerce:Payment`],"custom:roastery":[`item:products:Product`,`item:products:Product:ingredients`,`item:inventory:StockLevel`,`item:commerce:ProductionOrder`],"custom:buying":[`item:commerce:Vendor`,`item:commerce:PurchaseOrder`]},hidden:[`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Order":`custom:shop`,"item:commerce:Customer":`custom:shop`,"item:commerce:WholesaleOrder":`custom:wholesale`,"item:commerce:Invoice":`custom:wholesale`,"item:commerce:Payment":`custom:wholesale`,"item:products:Product":`custom:roastery`,"item:products:Product:ingredients":`custom:roastery`,"item:inventory:StockLevel":`custom:roastery`,"item:commerce:ProductionOrder":`custom:roastery`,"item:commerce:Vendor":`custom:buying`,"item:commerce:PurchaseOrder":`custom:buying`},customSections:[{id:`custom:shop`,label:`Shop`},{id:`custom:wholesale`,label:`Wholesale`},{id:`custom:roastery`,label:`Roastery`},{id:`custom:buying`,label:`Buying`}],items:{"item:commerce:Order":{label:`Online & retail orders`,description:`Orders from the website and the roastery door.`},"item:commerce:WholesaleOrder":{label:`Cafe orders`,description:`Standing and one-off orders from cafes, bars and grocers.`},"item:products:Product":{label:`Coffees`,description:`Roasted coffees and shop items, with prices.`},"item:products:Product:ingredients":{label:`Green coffee`,description:`Green coffee and packaging, by the bag, with costs.`},"item:inventory:StockLevel":{label:`Stock`,description:`Roasted and green coffee on hand today.`},"item:commerce:ProductionOrder":{label:`Roast batches`,description:`What you plan to roast, with the amounts and the day.`},"item:commerce:Vendor":{label:`Importers & suppliers`,description:`The importers and packaging suppliers you buy from.`},"item:commerce:PurchaseOrder":{label:`Green coffee orders`,description:`Green coffee you have bought and when the container lands.`}},sections:{"custom:shop":{icon:`shoppingBag`},"custom:wholesale":{icon:`briefcase`},"custom:roastery":{icon:`package`},"custom:buying":{icon:`truck`}}}}},{id:`equipment-rental`,name:`Equipment rental`,icon:`forklift`,summary:`Rentals, quotes, the fleet and its availability, pickups and returns, and billing for a hire yard.`,keywords:[`equipment rental`,`rental`,`rentals`,`hire`,`tool hire`,`plant hire`,`party rental`,`excavator`,`scaffolding`,`generators`,`bike rental`,`kayak rental`,`fleet`],settings:{currency:`USD`,paymentTerms:`Deposit on pickup, balance on return`,taxRate:.08,taxRounding:`document`},sectionDescriptions:{"custom:rentals":`Rentals, quotes and the customers they belong to.`,"custom:fleet":`Equipment, availability and who you buy from.`,"custom:schedule":`Appointments and what is on the calendar.`,"custom:billing":`Invoices and the payments against them.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#a16207`}},recipes:[`commerce.customers`,`commerce.estimates`,`commerce.invoicing`,`commerce.leases`,`commerce.purchases`,`commerce.vendors`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Deposit on pickup, balance on return"`},{objectRef:`@happyvertical/smrt-commerce:Contract`,fieldName:`taxRoundingScope`,scopeType:`app`,defaultValue:`"document"`},{objectRef:`@happyvertical/smrt-commerce:ContractLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.08`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Deposit on pickup, balance on return"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Deposit on pickup, balance on return"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`taxRoundingScope`,scopeType:`app`,defaultValue:`"document"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Deposit on pickup, balance on return"`},{objectRef:`@happyvertical/smrt-commerce:InvoiceLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.08`},{objectRef:`@happyvertical/smrt-commerce:Lease`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Deposit on pickup, balance on return"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Deposit on pickup, balance on return"`},{objectRef:`@happyvertical/smrt-commerce:WholesaleOrder`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Deposit on pickup, balance on return"`}],layout:{version:1,sectionOrder:[`custom:rentals`,`custom:fleet`,`custom:schedule`,`custom:billing`,`section:accounting`],itemOrder:{"custom:rentals":[`item:commerce:Lease`,`item:commerce:Estimate`,`item:commerce:Customer`],"custom:fleet":[`item:products:Product`,`item:inventory:StockLevel`,`item:commerce:Vendor`,`item:commerce:PurchaseOrder`],"custom:schedule":[`item:events:Event`,`item:events:EventType`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`]},hidden:[`item:events:EventSeries`,`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Lease":`custom:rentals`,"item:commerce:Estimate":`custom:rentals`,"item:commerce:Customer":`custom:rentals`,"item:products:Product":`custom:fleet`,"item:inventory:StockLevel":`custom:fleet`,"item:commerce:Vendor":`custom:fleet`,"item:commerce:PurchaseOrder":`custom:fleet`,"item:events:Event":`custom:schedule`,"item:events:EventType":`custom:schedule`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`},customSections:[{id:`custom:rentals`,label:`Rentals`},{id:`custom:fleet`,label:`Fleet`},{id:`custom:schedule`,label:`Schedule`},{id:`custom:billing`,label:`Billing`}],items:{"item:commerce:Lease":{label:`Rental contracts`,description:`Every rental out the gate, with the dates and what is due.`},"item:commerce:Estimate":{label:`Quotes`,description:`Quotes for a hire, ready to become a rental when accepted.`},"item:products:Product":{label:`Equipment`,description:`The machines and tools you hire out, with the daily rate.`},"item:inventory:StockLevel":{label:`Availability`,description:`What is in the yard, out on hire or in for service.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The dealers and parts suppliers you buy from.`},"item:commerce:PurchaseOrder":{label:`Equipment & parts orders`,description:`Machines and parts you have ordered and when they arrive.`},"item:events:Event":{label:`Pickups & returns`,description:`Pickups, returns and deliveries on the calendar, by day.`},"item:events:EventType":{label:`Booking types`,description:`The kinds of booking you make, like a pickup, a return or a delivery.`}},sections:{"custom:rentals":{icon:`fileText`},"custom:fleet":{icon:`truck`},"custom:schedule":{icon:`calendar`},"custom:billing":{icon:`receipt`}}}}},{id:`nonprofit`,name:`Non-profit`,icon:`heart`,summary:`Members, memberships, dues and donations, events and the books for a club, society or charity.`,keywords:[`non-profit`,`nonprofit`,`charity`,`club`,`society`,`association`,`members`,`membership dues`,`donations`,`donors`,`fundraiser`,`volunteers`,`community group`],settings:{currency:`USD`,paymentTerms:`Due on receipt`,taxRate:0},sectionDescriptions:{"custom:members":`Members and their memberships.`,"custom:events":`Meetings, fundraisers and volunteer days.`,"custom:giving":`Dues, pledges and the money that comes in.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#1d4ed8`}},recipes:[`commerce.agreements`,`commerce.customers`,`commerce.invoicing`,`events.calendar`,`ledgers.bookkeeping`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`creditLimit`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`customerType`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`taxExempt`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`taxId`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Lease`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:WholesaleOrder`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`}],layout:{version:1,sectionOrder:[`custom:members`,`custom:events`,`custom:giving`,`section:accounting`],itemOrder:{"custom:members":[`item:commerce:Customer`,`item:commerce:Agreement`],"custom:events":[`item:events:Event`,`item:events:EventSeries`,`item:events:EventType`],"custom:giving":[`item:commerce:Invoice`,`item:commerce:Payment`]},hidden:[`item:commerce:Contract`],moved:{"item:commerce:Customer":`custom:members`,"item:commerce:Agreement":`custom:members`,"item:events:Event":`custom:events`,"item:events:EventSeries":`custom:events`,"item:events:EventType":`custom:events`,"item:commerce:Invoice":`custom:giving`,"item:commerce:Payment":`custom:giving`},customSections:[{id:`custom:members`,label:`Members`},{id:`custom:events`,label:`Events`},{id:`custom:giving`,label:`Giving`}],items:{"item:commerce:Customer":{label:`Members & donors`,description:`Your members and donors, with how to reach them.`},"item:commerce:Agreement":{label:`Memberships`,description:`Annual, family and student memberships, with who holds them and when they renew.`},"item:events:Event":{label:`Event calendar`,description:`Meetings, fundraisers and volunteer days, with who is coming.`},"item:events:EventSeries":{label:`Regular meetings`,description:`Meetings that repeat, like the monthly meetup, set up once.`},"item:events:EventType":{label:`Event types`,description:`The kinds of event you run, like a fundraiser or a clean-up.`},"item:commerce:Invoice":{label:`Dues & pledges`,description:`Dues and pledges you have asked for and which are still owed.`},"item:commerce:Payment":{label:`Donations & payments`,description:`Money that has come in, from dues, gifts and tickets.`}},sections:{"custom:members":{icon:`users`},"custom:events":{icon:`calendar`},"custom:giving":{icon:`creditCard`}}}}},{id:`agency`,name:`Agency`,icon:`pencil`,summary:`Clients, proposals, retainers, projects, time, expenses and invoices for a consulting or design studio.`,keywords:[`agency`,`design agency`,`consulting`,`consultant`,`consultancy`,`studio`,`design studio`,`freelance`,`retainer`,`proposals`,`billable hours`,`timesheets`,`creative`],settings:{currency:`USD`,paymentTerms:`Net 30`,taxRate:0},sectionDescriptions:{"custom:accounts":`Clients, proposals and the contracts you hold with them.`,"custom:work":`Projects, tasks, time and costs.`,"custom:meetings":`Meetings with clients and the studio.`,"custom:billing":`Invoices and the payments against them.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#4338ca`}},recipes:[`commerce.agreements`,`commerce.customers`,`commerce.estimates`,`commerce.invoicing`,`commerce.vendors`,`events.calendar`,`expenses.tracking`,`ledgers.bookkeeping`,`projects.tracker`,`timesheets.time-entries`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`creditLimit`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`customerType`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Lease`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:WholesaleOrder`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`}],layout:{version:1,sectionOrder:[`custom:accounts`,`custom:work`,`custom:meetings`,`custom:billing`,`section:accounting`],itemOrder:{"custom:accounts":[`item:commerce:Customer`,`item:commerce:Estimate`,`item:commerce:Agreement`],"custom:work":[`item:projects:Project`,`item:projects:Issue`,`item:timesheets:ServiceTimeEntry`,`item:expenses:Expense`],"custom:meetings":[`item:events:Event`,`item:events:EventType`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`,`item:commerce:Vendor`]},hidden:[`item:commerce:Contract`,`item:projects:Label`,`item:events:EventSeries`],moved:{"item:commerce:Customer":`custom:accounts`,"item:commerce:Estimate":`custom:accounts`,"item:commerce:Agreement":`custom:accounts`,"item:projects:Project":`custom:work`,"item:projects:Issue":`custom:work`,"item:timesheets:ServiceTimeEntry":`custom:work`,"item:expenses:Expense":`custom:work`,"item:events:Event":`custom:meetings`,"item:events:EventType":`custom:meetings`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`,"item:commerce:Vendor":`custom:billing`},customSections:[{id:`custom:accounts`,label:`Clients`},{id:`custom:work`,label:`Work`},{id:`custom:meetings`,label:`Meetings`},{id:`custom:billing`,label:`Billing`}],items:{"item:commerce:Customer":{label:`Client companies`,description:`The companies you work for, with how to reach them.`},"item:commerce:Estimate":{label:`Proposals`,description:`Proposals you have sent, ready to become a contract when accepted.`},"item:commerce:Agreement":{label:`Contracts`,description:`Retainers and statements of work, with the terms and the dates.`},"item:projects:Project":{label:`Projects`,description:`Each engagement, with what it covers and where it stands.`},"item:projects:Issue":{label:`Tasks`,description:`The work inside each project, from to-do to done.`},"item:timesheets:ServiceTimeEntry":{label:`Time entries`,description:`Hours logged by person and project, from draft to approved.`},"item:expenses:Expense":{label:`Expenses`,description:`Costs on a project, with the receipt and whether to bill them on.`},"item:events:Event":{label:`Client meetings`,description:`Kickoffs, reviews and check-ins with clients, by day.`},"item:events:EventType":{label:`Meeting types`,description:`The kinds of meeting you hold, like a kickoff or a review.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The printers, photographers and freelancers you buy from.`}},sections:{"custom:accounts":{icon:`users`},"custom:work":{icon:`briefcase`},"custom:meetings":{icon:`calendar`},"custom:billing":{icon:`receipt`}}}}},{id:`plumber`,name:`Plumber`,icon:`tool`,summary:`Quotes, service calls, parts, appointments and billing for a plumbing business.`,keywords:[`plumber`,`plumbing`,`pipes`,`leak`,`drain`,`blocked drain`,`water heater`,`boiler`,`bathroom`,`faucet`,`toilet`,`sewer`,`emergency call-out`,`gas fitter`],settings:{currency:`USD`,paymentTerms:`Due on completion`,taxRate:.07},sectionDescriptions:{"custom:jobs":`Work orders and the customers they belong to.`,"custom:parts":`Parts, materials and the stock on your shelves.`,"custom:schedule":`Appointments and what is on the calendar.`,"custom:billing":`Invoices and the payments against them.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#0e7490`}},recipes:[`commerce.agreements`,`commerce.customers`,`commerce.estimates`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on completion"`},{objectRef:`@happyvertical/smrt-commerce:ContractLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.07`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Due on completion"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on completion"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on completion"`},{objectRef:`@happyvertical/smrt-commerce:InvoiceLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.07`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on completion"`}],layout:{version:1,sectionOrder:[`custom:jobs`,`custom:schedule`,`custom:parts`,`custom:billing`,`section:accounting`],itemOrder:{"custom:jobs":[`item:commerce:Order`,`item:commerce:Estimate`,`item:commerce:Customer`,`item:commerce:Agreement`],"custom:schedule":[`item:events:Event`,`item:events:EventType`],"custom:parts":[`item:products:Product`,`item:inventory:StockLevel`,`item:commerce:Vendor`,`item:commerce:PurchaseOrder`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`]},hidden:[`item:commerce:Contract`,`item:events:EventSeries`,`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Order":`custom:jobs`,"item:commerce:Estimate":`custom:jobs`,"item:commerce:Customer":`custom:jobs`,"item:commerce:Agreement":`custom:jobs`,"item:events:Event":`custom:schedule`,"item:events:EventType":`custom:schedule`,"item:products:Product":`custom:parts`,"item:inventory:StockLevel":`custom:parts`,"item:commerce:Vendor":`custom:parts`,"item:commerce:PurchaseOrder":`custom:parts`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`},customSections:[{id:`custom:jobs`,label:`Jobs`},{id:`custom:schedule`,label:`Schedule`},{id:`custom:parts`,label:`Parts`},{id:`custom:billing`,label:`Billing`}],items:{"item:commerce:Order":{label:`Service calls`,description:`Call-outs and booked jobs, emergencies first, from the first call to the final invoice.`},"item:commerce:Estimate":{label:`Quotes`,description:`Quotes for installs and bigger repairs, ready to book once approved.`},"item:commerce:Agreement":{label:`Service plans`,description:`Yearly water heater and drain service plans, with who holds them and when they renew.`},"item:events:Event":{label:`Appointments`,description:`Calls on the calendar, by day and van.`},"item:events:EventType":{label:`Call types`,description:`The kinds of call you take, like a leak, a blocked drain or a water heater install.`},"item:products:Product":{label:`Parts & fittings`,description:`Valves, fittings, pipe and fixtures you fit and charge for.`},"item:inventory:StockLevel":{label:`Van stock`,description:`What is on each van and in the store, so a call is not a second trip.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The plumbing merchants and wholesalers you buy from.`},"item:commerce:PurchaseOrder":{label:`Parts orders`,description:`Parts you have ordered and when they are ready for pickup.`}},sections:{"custom:jobs":{icon:`wrench`},"custom:schedule":{icon:`calendar`},"custom:parts":{icon:`package`},"custom:billing":{icon:`receipt`}}}}},{id:`electrician`,name:`Electrician`,icon:`bolt`,summary:`Quotes, installs, repairs, materials and billing for an electrical contractor.`,keywords:[`electrician`,`electrical`,`electric`,`wiring`,`rewire`,`panel upgrade`,`breaker`,`lighting`,`outlets`,`ev charger`,`inspection`,`sparky`,`electrical contractor`],settings:{currency:`USD`,paymentTerms:`Net 15`,taxRate:.0625},sectionDescriptions:{"custom:jobs":`Work orders and the customers they belong to.`,"custom:material":`Material, stock and what you have ordered.`,"custom:schedule":`Appointments and what is on the calendar.`,"custom:billing":`Invoices and the payments against them.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#ca8a04`}},recipes:[`commerce.agreements`,`commerce.customers`,`commerce.estimates`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:ContractLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.0625`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:InvoiceLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.0625`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`}],layout:{version:1,sectionOrder:[`custom:jobs`,`custom:schedule`,`custom:material`,`custom:billing`,`section:accounting`],itemOrder:{"custom:jobs":[`item:commerce:Estimate`,`item:commerce:Order`,`item:commerce:Customer`,`item:commerce:Agreement`],"custom:schedule":[`item:events:Event`,`item:events:EventType`],"custom:material":[`item:products:Product`,`item:inventory:StockLevel`,`item:commerce:Vendor`,`item:commerce:PurchaseOrder`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`]},hidden:[`item:commerce:Contract`,`item:events:EventSeries`,`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Estimate":`custom:jobs`,"item:commerce:Order":`custom:jobs`,"item:commerce:Customer":`custom:jobs`,"item:commerce:Agreement":`custom:jobs`,"item:events:Event":`custom:schedule`,"item:events:EventType":`custom:schedule`,"item:products:Product":`custom:material`,"item:inventory:StockLevel":`custom:material`,"item:commerce:Vendor":`custom:material`,"item:commerce:PurchaseOrder":`custom:material`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`},customSections:[{id:`custom:jobs`,label:`Jobs`},{id:`custom:schedule`,label:`Schedule`},{id:`custom:material`,label:`Material`},{id:`custom:billing`,label:`Billing`}],items:{"item:commerce:Estimate":{label:`Quotes`,description:`Priced quotes for installs, rewires and upgrades, ready to schedule once accepted.`},"item:commerce:Order":{label:`Work orders`,description:`Installs, repairs and inspections you have won, from rough-in to sign-off.`},"item:commerce:Agreement":{label:`Maintenance contracts`,description:`Planned maintenance and testing for commercial sites, with renewal dates.`},"item:events:Event":{label:`Site visits`,description:`Visits to quote, wire, inspect or test, by day and electrician.`},"item:events:EventType":{label:`Visit types`,description:`The kinds of visit you make, like a panel upgrade, a fault call or an inspection.`},"item:products:Product":{label:`Electrical supplies`,description:`Cable, breakers, devices and fixtures you stock and charge for.`},"item:inventory:StockLevel":{label:`Materials on hand`,description:`Cable and parts in the shop and on the trucks.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The electrical wholesalers and lighting suppliers you buy from.`},"item:commerce:PurchaseOrder":{label:`Material orders`,description:`Material you have ordered and when it lands.`}},sections:{"custom:jobs":{icon:`wrench`},"custom:schedule":{icon:`calendar`},"custom:material":{icon:`layers`},"custom:billing":{icon:`receipt`}}}}},{id:`painter`,name:`Painter`,icon:`brush`,summary:`Estimates, jobs, paint and materials, crew schedule and billing for a painting business.`,keywords:[`painter`,`painting`,`decorator`,`decorating`,`house painting`,`interior painting`,`exterior painting`,`wallpaper`,`drywall repair`,`cabinet painting`,`stain`,`repaint`],settings:{currency:`USD`,paymentTerms:`50% deposit, balance on completion`,taxRate:.06},sectionDescriptions:{"custom:jobs":`Work orders and the customers they belong to.`,"custom:paint":`Paint, sundries and the stock in your store room.`,"custom:schedule":`Appointments and what is on the calendar.`,"custom:billing":`Invoices and the payments against them.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#be185d`}},recipes:[`commerce.customers`,`commerce.estimates`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:ContractLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.06`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"50% deposit, balance on completion"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"50% deposit, balance on completion"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"50% deposit, balance on completion"`},{objectRef:`@happyvertical/smrt-commerce:InvoiceLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.06`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"50% deposit, balance on completion"`}],layout:{version:1,sectionOrder:[`custom:jobs`,`custom:schedule`,`custom:paint`,`custom:billing`,`section:accounting`],itemOrder:{"custom:jobs":[`item:commerce:Estimate`,`item:commerce:Order`,`item:commerce:Customer`],"custom:schedule":[`item:events:Event`,`item:events:EventType`],"custom:paint":[`item:products:Product`,`item:inventory:StockLevel`,`item:commerce:Vendor`,`item:commerce:PurchaseOrder`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`]},hidden:[`item:events:EventSeries`,`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Estimate":`custom:jobs`,"item:commerce:Order":`custom:jobs`,"item:commerce:Customer":`custom:jobs`,"item:events:Event":`custom:schedule`,"item:events:EventType":`custom:schedule`,"item:products:Product":`custom:paint`,"item:inventory:StockLevel":`custom:paint`,"item:commerce:Vendor":`custom:paint`,"item:commerce:PurchaseOrder":`custom:paint`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`},customSections:[{id:`custom:jobs`,label:`Jobs`},{id:`custom:schedule`,label:`Crew`},{id:`custom:paint`,label:`Paint & supplies`},{id:`custom:billing`,label:`Billing`}],items:{"item:commerce:Estimate":{label:`Estimates`,description:`Room-by-room estimates from the site visit, ready to book once signed.`},"item:commerce:Order":{label:`Projects`,description:`Every painting project you have booked, from prep to the final walkthrough.`},"item:events:Event":{label:`Crew schedule`,description:`Site visits and crew days on the calendar, by job.`},"item:events:EventType":{label:`Visit types`,description:`The kinds of day you book, like an estimate visit, prep or a touch-up.`},"item:products:Product":{label:`Paint & sundries`,description:`Paint, primer, caulk, tape and the other things you use and charge for.`},"item:inventory:StockLevel":{label:`Paint on hand`,description:`Paint and supplies in the store room and on the van.`},"item:commerce:Vendor":{label:`Paint suppliers`,description:`The paint stores and suppliers you buy from, with trade terms.`},"item:commerce:PurchaseOrder":{label:`Supply orders`,description:`Paint and supplies you have ordered and when they are ready.`}},sections:{"custom:jobs":{icon:`wrench`},"custom:schedule":{icon:`calendar`},"custom:paint":{icon:`package`},"custom:billing":{icon:`receipt`}}}}},{id:`roofer`,name:`Roofer`,icon:`home`,summary:`Inspections, quotes, jobs, materials and billing for a roofing contractor.`,keywords:[`roofer`,`roofing`,`roof`,`roof repair`,`reroof`,`shingles`,`gutters`,`flashing`,`leaking roof`,`storm damage`,`flat roof`,`skylight`],settings:{currency:`USD`,paymentTerms:`Net 30`,taxRate:.07},sectionDescriptions:{"custom:jobs":`Work orders and the customers they belong to.`,"custom:material":`Material, stock and what you have ordered.`,"custom:schedule":`Appointments and what is on the calendar.`,"custom:billing":`Invoices and the payments against them.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#475569`}},recipes:[`commerce.agreements`,`commerce.customers`,`commerce.estimates`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:ContractLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.07`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:InvoiceLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.07`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`}],layout:{version:1,sectionOrder:[`custom:jobs`,`custom:schedule`,`custom:material`,`custom:billing`,`section:accounting`],itemOrder:{"custom:jobs":[`item:commerce:Estimate`,`item:commerce:Order`,`item:commerce:Customer`,`item:commerce:Agreement`],"custom:schedule":[`item:events:Event`,`item:events:EventType`],"custom:material":[`item:products:Product`,`item:inventory:StockLevel`,`item:commerce:Vendor`,`item:commerce:PurchaseOrder`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`]},hidden:[`item:commerce:Contract`,`item:events:EventSeries`,`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Estimate":`custom:jobs`,"item:commerce:Order":`custom:jobs`,"item:commerce:Customer":`custom:jobs`,"item:commerce:Agreement":`custom:jobs`,"item:events:Event":`custom:schedule`,"item:events:EventType":`custom:schedule`,"item:products:Product":`custom:material`,"item:inventory:StockLevel":`custom:material`,"item:commerce:Vendor":`custom:material`,"item:commerce:PurchaseOrder":`custom:material`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`},customSections:[{id:`custom:jobs`,label:`Jobs`},{id:`custom:schedule`,label:`Schedule`},{id:`custom:material`,label:`Material`},{id:`custom:billing`,label:`Billing`}],items:{"item:commerce:Estimate":{label:`Quotes`,description:`Quotes written up after an inspection, for repairs and full replacements.`},"item:commerce:Order":{label:`Roofing jobs`,description:`Repairs and re-roofs you have won, from tear-off to final cleanup.`},"item:commerce:Agreement":{label:`Maintenance agreements`,description:`Yearly inspection and gutter programs for homes and buildings, with renewal dates.`},"item:events:Event":{label:`Inspections & visits`,description:`Roof inspections, measure-ups and crew days on the calendar.`},"item:events:EventType":{label:`Visit types`,description:`The kinds of visit you make, like an inspection, a storm check or a tear-off.`},"item:products:Product":{label:`Roofing products`,description:`Shingles, underlayment, flashing and fasteners you install and charge for.`},"item:inventory:StockLevel":{label:`Materials on hand`,description:`Bundles and rolls in the yard and on the trailer.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The roofing distributors and lumber yards you buy from.`},"item:commerce:PurchaseOrder":{label:`Material orders`,description:`Material you have ordered and when it is delivered to site.`}},sections:{"custom:jobs":{icon:`wrench`},"custom:schedule":{icon:`calendar`},"custom:material":{icon:`layers`},"custom:billing":{icon:`receipt`}}}}}]},n=new Intl.Collator(`en`,{sensitivity:`base`,numeric:!0}),r=[...t.cookbooks].sort((e,t)=>n.compare(e.name,t.name));function i(e){return r.find(t=>t.id===e)}function a(t){return t.document.recipes.map(t=>e.get(t)?.label??t)}export{r as n,a as r,i as t};
|
|
1
|
+
import{x as e}from"./CtjBwCj8.js";var t={cookbooks:[{id:`bakery`,name:`Bakery`,icon:`bread`,summary:`Retail and cafe wholesale orders, ingredient stock, batches and suppliers.`,keywords:[`bake`,`baker`,`bakery`,`baking`,`bread`,`pastry`,`cake`,`cookies`,`cafe wholesale`,`coffee shop`,`patisserie`,`sourdough`],settings:{currency:`USD`,paymentTerms:`Net 15`,taxRate:0},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#b45309`,fontFamily:`Georgia`}},recipes:[`commerce.customers`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`commerce.wholesale`,`inventory.stock`,`ledgers.bookkeeping`,`products.ingredients`,`products.simple`],features:[`@happyvertical/smrt-commerce:ProductionOrder`],policies:[{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:ProductionOrder`,fieldName:`channelId`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:ProductionOrder`,fieldName:`expiryDate`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:ProductionOrder`,fieldName:`vendorId`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:WholesaleOrder`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`}],layout:{version:1,sectionOrder:[`custom:shop`,`custom:wholesale`,`custom:kitchen`,`custom:buying`,`section:accounting`],itemOrder:{"custom:shop":[`item:commerce:Order`,`item:commerce:Customer`],"custom:wholesale":[`item:commerce:WholesaleOrder`,`item:commerce:Invoice`,`item:commerce:Payment`],"custom:kitchen":[`item:products:Product`,`item:products:Product:ingredients`,`item:inventory:StockLevel`,`item:commerce:ProductionOrder`],"custom:buying":[`item:commerce:Vendor`,`item:commerce:PurchaseOrder`]},hidden:[`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Order":`custom:shop`,"item:commerce:Customer":`custom:shop`,"item:commerce:WholesaleOrder":`custom:wholesale`,"item:commerce:Invoice":`custom:wholesale`,"item:commerce:Payment":`custom:wholesale`,"item:products:Product":`custom:kitchen`,"item:inventory:StockLevel":`custom:kitchen`,"item:commerce:ProductionOrder":`custom:kitchen`,"item:commerce:Vendor":`custom:buying`,"item:commerce:PurchaseOrder":`custom:buying`,"item:products:Product:ingredients":`custom:kitchen`},customSections:[{id:`custom:shop`,label:`Shop`},{id:`custom:wholesale`,label:`Wholesale`},{id:`custom:kitchen`,label:`Kitchen`},{id:`custom:buying`,label:`Buying`}],items:{"item:commerce:Order":{label:`Orders`,description:`Orders from your shop and website customers.`},"item:commerce:WholesaleOrder":{label:`Cafe orders`,description:`Standing and one-off orders from cafes and shops.`},"item:inventory:StockLevel":{label:`Stock`,description:`Baked goods and supplies on hand today.`},"item:commerce:ProductionOrder":{label:`Batches`,description:`What you plan to bake, with the amounts and the day.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The mills, dairies and suppliers you buy from.`},"item:products:Product:ingredients":{label:`Ingredients`,description:`Flour, butter, sugar and the rest, with costs and units.`}},sections:{"custom:shop":{icon:`shoppingBag`},"custom:wholesale":{icon:`briefcase`},"custom:kitchen":{icon:`package`},"custom:buying":{icon:`truck`}}}},sectionDescriptions:{"custom:shop":`Sell to customers and keep their details.`,"custom:wholesale":`Orders, invoices and payments from trade customers.`,"custom:kitchen":`Products, ingredients, stock and what you are making.`,"custom:buying":`Suppliers and what you order from them.`}},{id:`mechanic`,name:`Mechanic`,icon:`car`,summary:`Quotes, work orders, parts, appointments and billing for a repair shop.`,keywords:[`mechanic`,`garage`,`auto repair`,`car repair`,`fix cars`,`car`,`vehicle`,`brakes`,`oil change`,`tyres`,`tires`,`servicing`,`repair shop`],settings:{currency:`USD`,paymentTerms:`Due on receipt`,taxRate:.0825,taxRounding:`document`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{preset:`smrt`},recipes:[`commerce.customers`,`commerce.estimates`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Contract`,fieldName:`taxRoundingScope`,scopeType:`app`,defaultValue:`"document"`},{objectRef:`@happyvertical/smrt-commerce:ContractLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.0825`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`creditLimit`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`customerType`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`taxRoundingScope`,scopeType:`app`,defaultValue:`"document"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:InvoiceLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.0825`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`}],layout:{version:1,sectionOrder:[`custom:jobs`,`custom:parts`,`custom:billing`,`custom:schedule`,`section:accounting`],itemOrder:{"custom:jobs":[`item:commerce:Estimate`,`item:commerce:Order`,`item:commerce:Customer`],"custom:parts":[`item:products:Product`,`item:inventory:StockLevel`,`item:commerce:Vendor`,`item:commerce:PurchaseOrder`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`],"custom:schedule":[`item:events:Event`,`item:events:EventType`]},hidden:[`item:events:EventSeries`,`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Estimate":`custom:jobs`,"item:commerce:Order":`custom:jobs`,"item:commerce:Customer":`custom:jobs`,"item:products:Product":`custom:parts`,"item:inventory:StockLevel":`custom:parts`,"item:commerce:Vendor":`custom:parts`,"item:commerce:PurchaseOrder":`custom:parts`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`,"item:events:Event":`custom:schedule`,"item:events:EventType":`custom:schedule`},customSections:[{id:`custom:jobs`,label:`Jobs`},{id:`custom:parts`,label:`Parts`},{id:`custom:billing`,label:`Billing`},{id:`custom:schedule`,label:`Schedule`}],items:{"item:commerce:Estimate":{label:`Quotes`,description:`Quotes for repairs, ready to become work orders once approved.`},"item:commerce:Order":{label:`Work orders`,description:`Every job in the shop, from drop-off to pick-up.`},"item:products:Product":{label:`Parts catalog`,description:`The parts you sell and fit, with prices.`},"item:inventory:StockLevel":{label:`Parts on hand`,description:`Parts on the shelf, so you know what to reorder.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The parts suppliers you buy from, with terms and contacts.`},"item:commerce:PurchaseOrder":{label:`Parts orders`,description:`Parts you have ordered and when they arrive.`},"item:events:Event":{label:`Appointments`,description:`Bookings on the shop calendar, by day and bay.`},"item:events:EventType":{label:`Appointment types`,description:`The kinds of service you book, like an oil change or inspection.`}},sections:{"custom:jobs":{icon:`wrench`},"custom:parts":{icon:`package`},"custom:billing":{icon:`receipt`},"custom:schedule":{icon:`calendar`}}}},sectionDescriptions:{"custom:jobs":`Work orders and the customers they belong to.`,"custom:parts":`Parts, materials and the stock on your shelves.`,"custom:billing":`Invoices and the payments against them.`,"custom:schedule":`Appointments and what is on the calendar.`}},{id:`welder`,name:`Welder`,icon:`flame`,summary:`Quotes, jobs, agreements, material and site visits for a welding business.`,keywords:[`weld`,`welder`,`welding`,`fabrication`,`fabricate`,`metal`,`steel`,`gates`,`railings`,`metalwork`,`boilermaker`],settings:{currency:`USD`,paymentTerms:`50% deposit, balance on completion`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{preset:`studio`},recipes:[`commerce.agreements`,`commerce.customers`,`commerce.estimates`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"50% deposit, balance on completion"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"50% deposit, balance on completion"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"50% deposit, balance on completion"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"50% deposit, balance on completion"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"50% deposit, balance on completion"`}],layout:{version:1,sectionOrder:[`custom:jobs`,`custom:material`,`custom:billing`,`custom:schedule`,`section:accounting`],itemOrder:{"custom:jobs":[`item:commerce:Order`,`item:commerce:Customer`,`item:commerce:Estimate`,`item:commerce:Agreement`],"custom:material":[`item:products:Product`,`item:inventory:StockLevel`,`item:commerce:Vendor`,`item:commerce:PurchaseOrder`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`],"custom:schedule":[`item:events:Event`,`item:events:EventType`]},hidden:[`item:commerce:Contract`,`item:events:EventSeries`,`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Customer":`custom:jobs`,"item:commerce:Estimate":`custom:jobs`,"item:commerce:Agreement":`custom:jobs`,"item:products:Product":`custom:material`,"item:inventory:StockLevel":`custom:material`,"item:commerce:Vendor":`custom:material`,"item:commerce:PurchaseOrder":`custom:material`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`,"item:events:Event":`custom:schedule`,"item:events:EventType":`custom:schedule`,"item:commerce:Order":`custom:jobs`},customSections:[{id:`custom:jobs`,label:`Jobs`},{id:`custom:material`,label:`Material`},{id:`custom:billing`,label:`Billing`},{id:`custom:schedule`,label:`Schedule`}],items:{"item:commerce:Estimate":{label:`Quotes`,description:`Quotes for jobs, ready to turn into orders when accepted.`},"item:products:Product":{label:`Steel & supplies`,description:`Steel, rod, gas and other materials you stock and charge for.`},"item:inventory:StockLevel":{label:`Material on hand`,description:`Material on hand, so you know what to buy before the next job.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The suppliers you buy metal and gas from.`},"item:commerce:PurchaseOrder":{label:`Material orders`,description:`Material you have ordered and when it lands.`},"item:events:Event":{label:`Site visits`,description:`Visits to measure, quote or install on site, by day.`},"item:events:EventType":{label:`Visit types`,description:`The kinds of visit you make, like a quote visit or install.`},"item:commerce:Order":{label:`Work orders`,description:`Every job you have won, from start to final invoice.`}},sections:{"custom:jobs":{icon:`wrench`},"custom:material":{icon:`layers`},"custom:billing":{icon:`receipt`},"custom:schedule":{icon:`calendar`}}}},sectionDescriptions:{"custom:jobs":`Work orders and the customers they belong to.`,"custom:material":`Material, stock and what you have ordered.`,"custom:billing":`Invoices and the payments against them.`,"custom:schedule":`Appointments and what is on the calendar.`}},{id:`yoga-studio`,name:`Yoga studio`,icon:`yoga`,summary:`Classes, class series, members, memberships and a small retail shop.`,keywords:[`yoga`,`yoga studio`,`pilates`,`studio`,`classes`,`class series`,`meditation`,`members`,`memberships`,`instructor`],settings:{currency:`USD`,paymentTerms:`Due on receipt`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#0f766e`,fontFamily:`ui-rounded`}},recipes:[`commerce.agreements`,`commerce.customers`,`commerce.invoicing`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`creditLimit`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`customerType`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`taxExempt`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`taxId`,scopeType:`app`,visibility:`hidden`}],layout:{version:1,sectionOrder:[`custom:classes`,`custom:members`,`custom:shop`,`custom:billing`,`section:accounting`],itemOrder:{"custom:classes":[`item:events:Event`,`item:events:EventSeries`,`item:events:EventType`],"custom:members":[`item:commerce:Customer`,`item:commerce:Agreement`],"custom:shop":[`item:products:Product`,`item:inventory:StockLevel`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`]},hidden:[`item:commerce:Contract`,`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:events:Event":`custom:classes`,"item:events:EventSeries":`custom:classes`,"item:events:EventType":`custom:classes`,"item:commerce:Customer":`custom:members`,"item:commerce:Agreement":`custom:members`,"item:products:Product":`custom:shop`,"item:inventory:StockLevel":`custom:shop`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`},customSections:[{id:`custom:classes`,label:`Classes`},{id:`custom:members`,label:`Members`},{id:`custom:shop`,label:`Shop`},{id:`custom:billing`,label:`Billing`}],items:{"item:events:Event":{label:`Class schedule`,description:`Every class on your timetable, with who's teaching and where.`},"item:events:EventSeries":{label:`Class series`,description:`Weekly classes that repeat, so you set them up once.`},"item:events:EventType":{label:`Class types`,description:`Your styles, like Vinyasa or Yin, with length and price.`},"item:commerce:Customer":{label:`Students`,description:`Your students, with how to reach them and what they have booked.`},"item:commerce:Agreement":{label:`Memberships`,description:`Memberships and class packs, with who holds them and when they renew.`},"item:inventory:StockLevel":{label:`Stock`,description:`Mats, props and retail items on hand.`}},sections:{"custom:classes":{icon:`school`},"custom:members":{icon:`users`},"custom:shop":{icon:`shoppingBag`},"custom:billing":{icon:`receipt`}}}},sectionDescriptions:{"custom:classes":`Classes, sessions and bookings.`,"custom:members":`Members and their memberships.`,"custom:shop":`Sell to customers and keep their details.`,"custom:billing":`Invoices and the payments against them.`}},{id:`landscaping`,name:`Landscaping`,icon:`leaf`,summary:`Quotes, jobs, maintenance contracts, materials and the crew schedule for a lawn and landscape business.`,keywords:[`landscaping`,`landscaper`,`lawn care`,`lawn`,`mowing`,`garden`,`gardener`,`yard work`,`hardscape`,`irrigation`,`tree service`,`snow removal`,`grounds`],settings:{currency:`USD`,paymentTerms:`Net 15`,taxRate:.06},sectionDescriptions:{"custom:jobs":`Work orders and the customers they belong to.`,"custom:schedule":`Appointments and what is on the calendar.`,"custom:yard":`Materials, stock and the suppliers you buy from.`,"custom:billing":`Invoices and the payments against them.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#15803d`}},recipes:[`commerce.agreements`,`commerce.customers`,`commerce.estimates`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:ContractLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.06`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:InvoiceLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.06`},{objectRef:`@happyvertical/smrt-commerce:Lease`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:WholesaleOrder`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`}],layout:{version:1,sectionOrder:[`custom:jobs`,`custom:schedule`,`custom:yard`,`custom:billing`,`section:accounting`],itemOrder:{"custom:jobs":[`item:commerce:Estimate`,`item:commerce:Order`,`item:commerce:Customer`,`item:commerce:Agreement`],"custom:schedule":[`item:events:Event`,`item:events:EventSeries`,`item:events:EventType`],"custom:yard":[`item:products:Product`,`item:inventory:StockLevel`,`item:commerce:Vendor`,`item:commerce:PurchaseOrder`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`]},hidden:[`item:commerce:Contract`,`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Estimate":`custom:jobs`,"item:commerce:Order":`custom:jobs`,"item:commerce:Customer":`custom:jobs`,"item:commerce:Agreement":`custom:jobs`,"item:events:Event":`custom:schedule`,"item:events:EventSeries":`custom:schedule`,"item:events:EventType":`custom:schedule`,"item:products:Product":`custom:yard`,"item:inventory:StockLevel":`custom:yard`,"item:commerce:Vendor":`custom:yard`,"item:commerce:PurchaseOrder":`custom:yard`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`},customSections:[{id:`custom:jobs`,label:`Jobs`},{id:`custom:schedule`,label:`Schedule`},{id:`custom:yard`,label:`Yard`},{id:`custom:billing`,label:`Billing`}],items:{"item:commerce:Estimate":{label:`Quotes`,description:`Quotes for new work, ready to become jobs once approved.`},"item:commerce:Order":{label:`Work orders`,description:`Every job you have won, from the first visit to the final invoice.`},"item:commerce:Agreement":{label:`Maintenance contracts`,description:`Weekly mowing and seasonal programs, with who holds them and when they renew.`},"item:events:Event":{label:`Crew schedule`,description:`Visits on the calendar, by day and crew.`},"item:events:EventSeries":{label:`Recurring visits`,description:`Routes that repeat, like a Tuesday mowing round, set up once.`},"item:events:EventType":{label:`Visit types`,description:`The kinds of visit you make, like a mow, a clean-up or an install.`},"item:products:Product":{label:`Materials`,description:`Mulch, soil, sod, plants and the other things you sell and install.`},"item:inventory:StockLevel":{label:`Materials on hand`,description:`What is in the yard and on the trucks.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The nurseries and stone yards you buy from.`},"item:commerce:PurchaseOrder":{label:`Material orders`,description:`Material you have ordered and when it lands.`}},sections:{"custom:jobs":{icon:`wrench`},"custom:schedule":{icon:`calendar`},"custom:yard":{icon:`package`},"custom:billing":{icon:`receipt`}}}}},{id:`salon`,name:`Hair salon`,icon:`scissors`,summary:`Appointments, clients, services, retail stock and payments at the desk for a salon or barbershop.`,keywords:[`salon`,`hair salon`,`barber`,`barbershop`,`hairdresser`,`stylist`,`haircut`,`hair colour`,`hair color`,`highlights`,`blow-dry`,`nails`,`beauty`,`spa`],settings:{currency:`USD`,paymentTerms:`Due on receipt`,taxRate:.07,pricesIncludeTax:!0},sectionDescriptions:{"custom:appointments":`Bookings and the services behind them.`,"custom:clients":`Clients and what they usually have.`,"custom:checkout":`Sales at the desk and the payments against them.`,"custom:shelf":`Retail, backbar stock and who you buy from.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#9d174d`}},recipes:[`commerce.customers`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Contract`,fieldName:`lineAmountType`,scopeType:`app`,defaultValue:`"inclusive"`},{objectRef:`@happyvertical/smrt-commerce:ContractLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.07`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`creditLimit`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`customerType`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`taxExempt`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`taxId`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`lineAmountType`,scopeType:`app`,defaultValue:`"inclusive"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:InvoiceLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.07`},{objectRef:`@happyvertical/smrt-commerce:Lease`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:WholesaleOrder`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`}],layout:{version:1,sectionOrder:[`custom:appointments`,`custom:clients`,`custom:checkout`,`custom:shelf`,`section:accounting`],itemOrder:{"custom:appointments":[`item:events:Event`,`item:events:EventType`,`item:events:EventSeries`],"custom:clients":[`item:commerce:Customer`],"custom:checkout":[`item:commerce:Order`,`item:commerce:Payment`,`item:commerce:Invoice`],"custom:shelf":[`item:products:Product`,`item:inventory:StockLevel`,`item:commerce:Vendor`,`item:commerce:PurchaseOrder`]},hidden:[`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:events:Event":`custom:appointments`,"item:events:EventType":`custom:appointments`,"item:events:EventSeries":`custom:appointments`,"item:commerce:Customer":`custom:clients`,"item:commerce:Order":`custom:checkout`,"item:commerce:Payment":`custom:checkout`,"item:commerce:Invoice":`custom:checkout`,"item:products:Product":`custom:shelf`,"item:inventory:StockLevel":`custom:shelf`,"item:commerce:Vendor":`custom:shelf`,"item:commerce:PurchaseOrder":`custom:shelf`},customSections:[{id:`custom:appointments`,label:`Appointments`},{id:`custom:clients`,label:`Clients`},{id:`custom:checkout`,label:`Checkout`},{id:`custom:shelf`,label:`Shelf`}],items:{"item:events:Event":{label:`Bookings`,description:`Every booking in the book, by stylist and chair.`},"item:events:EventType":{label:`Appointment types`,description:`The services you book, like a cut, a colour or a beard trim, with their length.`},"item:events:EventSeries":{label:`Standing appointments`,description:`Regulars who come back every few weeks, set up once.`},"item:commerce:Customer":{label:`Client cards`,description:`Your clients, with how to reach them and what they usually have.`},"item:commerce:Order":{label:`Sales`,description:`Each visit’s ticket: the services done and anything bought at the desk.`},"item:commerce:Payment":{label:`Payments`,description:`Money taken at the desk, by card or cash.`},"item:commerce:Invoice":{label:`Invoices`,description:`Bills for bridal parties, packages and accounts that pay later.`},"item:products:Product":{label:`Services & products`,description:`Your services and the retail you sell, with prices.`},"item:inventory:StockLevel":{label:`Retail stock`,description:`Product on the shelf and at the backbar.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The distributors you buy colour, product and towels from.`},"item:commerce:PurchaseOrder":{label:`Supply orders`,description:`Product you have ordered and when it arrives.`}},sections:{"custom:appointments":{icon:`calendar`},"custom:clients":{icon:`users`},"custom:checkout":{icon:`creditCard`},"custom:shelf":{icon:`shoppingBag`}}}}},{id:`roaster`,name:`Coffee roaster`,icon:`coffee`,summary:`Cafe accounts, online orders, green coffee, roast batches and importers for a small roastery or brewery.`,keywords:[`coffee roaster`,`roaster`,`roastery`,`coffee`,`beans`,`green coffee`,`espresso`,`cafe accounts`,`brewery`,`microbrewery`,`taproom`,`kegs`,`small batch`],settings:{currency:`USD`,paymentTerms:`Net 30`,taxRate:.0725},sectionDescriptions:{"custom:shop":`Sell to customers and keep their details.`,"custom:wholesale":`Orders, invoices and payments from trade customers.`,"custom:roastery":`Coffees, green coffee, stock and what you are roasting.`,"custom:buying":`Suppliers and what you order from them.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#7c2d12`,fontFamily:`Georgia`}},recipes:[`commerce.customers`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`commerce.wholesale`,`inventory.stock`,`ledgers.bookkeeping`,`products.ingredients`,`products.simple`],features:[`@happyvertical/smrt-commerce:ProductionOrder`],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:ContractLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.0725`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:InvoiceLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.0725`},{objectRef:`@happyvertical/smrt-commerce:Lease`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:ProductionOrder`,fieldName:`channelId`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:ProductionOrder`,fieldName:`expiryDate`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:ProductionOrder`,fieldName:`vendorId`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:WholesaleOrder`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`}],layout:{version:1,sectionOrder:[`custom:shop`,`custom:wholesale`,`custom:roastery`,`custom:buying`,`section:accounting`],itemOrder:{"custom:shop":[`item:commerce:Order`,`item:commerce:Customer`],"custom:wholesale":[`item:commerce:WholesaleOrder`,`item:commerce:Invoice`,`item:commerce:Payment`],"custom:roastery":[`item:products:Product`,`item:products:Product:ingredients`,`item:inventory:StockLevel`,`item:commerce:ProductionOrder`],"custom:buying":[`item:commerce:Vendor`,`item:commerce:PurchaseOrder`]},hidden:[`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Order":`custom:shop`,"item:commerce:Customer":`custom:shop`,"item:commerce:WholesaleOrder":`custom:wholesale`,"item:commerce:Invoice":`custom:wholesale`,"item:commerce:Payment":`custom:wholesale`,"item:products:Product":`custom:roastery`,"item:products:Product:ingredients":`custom:roastery`,"item:inventory:StockLevel":`custom:roastery`,"item:commerce:ProductionOrder":`custom:roastery`,"item:commerce:Vendor":`custom:buying`,"item:commerce:PurchaseOrder":`custom:buying`},customSections:[{id:`custom:shop`,label:`Shop`},{id:`custom:wholesale`,label:`Wholesale`},{id:`custom:roastery`,label:`Roastery`},{id:`custom:buying`,label:`Buying`}],items:{"item:commerce:Order":{label:`Online & retail orders`,description:`Orders from the website and the roastery door.`},"item:commerce:WholesaleOrder":{label:`Cafe orders`,description:`Standing and one-off orders from cafes, bars and grocers.`},"item:products:Product":{label:`Coffees`,description:`Roasted coffees and shop items, with prices.`},"item:products:Product:ingredients":{label:`Green coffee`,description:`Green coffee and packaging, by the bag, with costs.`},"item:inventory:StockLevel":{label:`Stock`,description:`Roasted and green coffee on hand today.`},"item:commerce:ProductionOrder":{label:`Roast batches`,description:`What you plan to roast, with the amounts and the day.`},"item:commerce:Vendor":{label:`Importers & suppliers`,description:`The importers and packaging suppliers you buy from.`},"item:commerce:PurchaseOrder":{label:`Green coffee orders`,description:`Green coffee you have bought and when the container lands.`}},sections:{"custom:shop":{icon:`shoppingBag`},"custom:wholesale":{icon:`briefcase`},"custom:roastery":{icon:`package`},"custom:buying":{icon:`truck`}}}}},{id:`equipment-rental`,name:`Equipment rental`,icon:`forklift`,summary:`Rentals, quotes, the fleet and its availability, pickups and returns, and billing for a hire yard.`,keywords:[`equipment rental`,`rental`,`rentals`,`hire`,`tool hire`,`plant hire`,`party rental`,`excavator`,`scaffolding`,`generators`,`bike rental`,`kayak rental`,`fleet`],settings:{currency:`USD`,paymentTerms:`Deposit on pickup, balance on return`,taxRate:.08,taxRounding:`document`},sectionDescriptions:{"custom:rentals":`Rentals, quotes and the customers they belong to.`,"custom:fleet":`Equipment, availability and who you buy from.`,"custom:schedule":`Appointments and what is on the calendar.`,"custom:billing":`Invoices and the payments against them.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#a16207`}},recipes:[`commerce.customers`,`commerce.estimates`,`commerce.invoicing`,`commerce.leases`,`commerce.purchases`,`commerce.vendors`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Deposit on pickup, balance on return"`},{objectRef:`@happyvertical/smrt-commerce:Contract`,fieldName:`taxRoundingScope`,scopeType:`app`,defaultValue:`"document"`},{objectRef:`@happyvertical/smrt-commerce:ContractLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.08`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Deposit on pickup, balance on return"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Deposit on pickup, balance on return"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`taxRoundingScope`,scopeType:`app`,defaultValue:`"document"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Deposit on pickup, balance on return"`},{objectRef:`@happyvertical/smrt-commerce:InvoiceLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.08`},{objectRef:`@happyvertical/smrt-commerce:Lease`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Deposit on pickup, balance on return"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Deposit on pickup, balance on return"`},{objectRef:`@happyvertical/smrt-commerce:WholesaleOrder`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Deposit on pickup, balance on return"`}],layout:{version:1,sectionOrder:[`custom:rentals`,`custom:fleet`,`custom:schedule`,`custom:billing`,`section:accounting`],itemOrder:{"custom:rentals":[`item:commerce:Lease`,`item:commerce:Estimate`,`item:commerce:Customer`],"custom:fleet":[`item:products:Product`,`item:inventory:StockLevel`,`item:commerce:Vendor`,`item:commerce:PurchaseOrder`],"custom:schedule":[`item:events:Event`,`item:events:EventType`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`]},hidden:[`item:events:EventSeries`,`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Lease":`custom:rentals`,"item:commerce:Estimate":`custom:rentals`,"item:commerce:Customer":`custom:rentals`,"item:products:Product":`custom:fleet`,"item:inventory:StockLevel":`custom:fleet`,"item:commerce:Vendor":`custom:fleet`,"item:commerce:PurchaseOrder":`custom:fleet`,"item:events:Event":`custom:schedule`,"item:events:EventType":`custom:schedule`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`},customSections:[{id:`custom:rentals`,label:`Rentals`},{id:`custom:fleet`,label:`Fleet`},{id:`custom:schedule`,label:`Schedule`},{id:`custom:billing`,label:`Billing`}],items:{"item:commerce:Lease":{label:`Rental contracts`,description:`Every rental out the gate, with the dates and what is due.`},"item:commerce:Estimate":{label:`Quotes`,description:`Quotes for a hire, ready to become a rental when accepted.`},"item:products:Product":{label:`Equipment`,description:`The machines and tools you hire out, with the daily rate.`},"item:inventory:StockLevel":{label:`Availability`,description:`What is in the yard, out on hire or in for service.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The dealers and parts suppliers you buy from.`},"item:commerce:PurchaseOrder":{label:`Equipment & parts orders`,description:`Machines and parts you have ordered and when they arrive.`},"item:events:Event":{label:`Pickups & returns`,description:`Pickups, returns and deliveries on the calendar, by day.`},"item:events:EventType":{label:`Booking types`,description:`The kinds of booking you make, like a pickup, a return or a delivery.`}},sections:{"custom:rentals":{icon:`fileText`},"custom:fleet":{icon:`truck`},"custom:schedule":{icon:`calendar`},"custom:billing":{icon:`receipt`}}}}},{id:`nonprofit`,name:`Non-profit`,icon:`heart`,summary:`Members, memberships, dues and donations, events and the books for a club, society or charity.`,keywords:[`non-profit`,`nonprofit`,`charity`,`club`,`society`,`association`,`members`,`membership dues`,`donations`,`donors`,`fundraiser`,`volunteers`,`community group`],settings:{currency:`USD`,paymentTerms:`Due on receipt`,taxRate:0},sectionDescriptions:{"custom:members":`Members and their memberships.`,"custom:events":`Meetings, fundraisers and volunteer days.`,"custom:giving":`Dues, pledges and the money that comes in.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#1d4ed8`}},recipes:[`commerce.agreements`,`commerce.customers`,`commerce.invoicing`,`events.calendar`,`ledgers.bookkeeping`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`creditLimit`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`customerType`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`taxExempt`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`taxId`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Lease`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:WholesaleOrder`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`}],layout:{version:1,sectionOrder:[`custom:members`,`custom:events`,`custom:giving`,`section:accounting`],itemOrder:{"custom:members":[`item:commerce:Customer`,`item:commerce:Agreement`],"custom:events":[`item:events:Event`,`item:events:EventSeries`,`item:events:EventType`],"custom:giving":[`item:commerce:Invoice`,`item:commerce:Payment`]},hidden:[`item:commerce:Contract`],moved:{"item:commerce:Customer":`custom:members`,"item:commerce:Agreement":`custom:members`,"item:events:Event":`custom:events`,"item:events:EventSeries":`custom:events`,"item:events:EventType":`custom:events`,"item:commerce:Invoice":`custom:giving`,"item:commerce:Payment":`custom:giving`},customSections:[{id:`custom:members`,label:`Members`},{id:`custom:events`,label:`Events`},{id:`custom:giving`,label:`Giving`}],items:{"item:commerce:Customer":{label:`Members & donors`,description:`Your members and donors, with how to reach them.`},"item:commerce:Agreement":{label:`Memberships`,description:`Annual, family and student memberships, with who holds them and when they renew.`},"item:events:Event":{label:`Event calendar`,description:`Meetings, fundraisers and volunteer days, with who is coming.`},"item:events:EventSeries":{label:`Regular meetings`,description:`Meetings that repeat, like the monthly meetup, set up once.`},"item:events:EventType":{label:`Event types`,description:`The kinds of event you run, like a fundraiser or a clean-up.`},"item:commerce:Invoice":{label:`Dues & pledges`,description:`Dues and pledges you have asked for and which are still owed.`},"item:commerce:Payment":{label:`Donations & payments`,description:`Money that has come in, from dues, gifts and tickets.`}},sections:{"custom:members":{icon:`users`},"custom:events":{icon:`calendar`},"custom:giving":{icon:`creditCard`}}}}},{id:`agency`,name:`Agency`,icon:`pencil`,summary:`Clients, proposals, retainers, projects, time, expenses and invoices for a consulting or design studio.`,keywords:[`agency`,`design agency`,`consulting`,`consultant`,`consultancy`,`studio`,`design studio`,`freelance`,`retainer`,`proposals`,`billable hours`,`timesheets`,`creative`],settings:{currency:`USD`,paymentTerms:`Net 30`,taxRate:0},sectionDescriptions:{"custom:accounts":`Clients, proposals and the contracts you hold with them.`,"custom:work":`Projects, tasks, time and costs.`,"custom:meetings":`Meetings with clients and the studio.`,"custom:billing":`Invoices and the payments against them.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#4338ca`}},recipes:[`commerce.agreements`,`commerce.customers`,`commerce.estimates`,`commerce.invoicing`,`commerce.vendors`,`events.calendar`,`expenses.tracking`,`ledgers.bookkeeping`,`projects.tracker`,`timesheets.time-entries`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`creditLimit`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`customerType`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Lease`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:WholesaleOrder`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`}],layout:{version:1,sectionOrder:[`custom:accounts`,`custom:work`,`custom:meetings`,`custom:billing`,`section:accounting`],itemOrder:{"custom:accounts":[`item:commerce:Customer`,`item:commerce:Estimate`,`item:commerce:Agreement`],"custom:work":[`item:projects:Project`,`item:projects:Issue`,`item:timesheets:ServiceTimeEntry`,`item:expenses:Expense`],"custom:meetings":[`item:events:Event`,`item:events:EventType`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`,`item:commerce:Vendor`]},hidden:[`item:commerce:Contract`,`item:projects:Label`,`item:events:EventSeries`],moved:{"item:commerce:Customer":`custom:accounts`,"item:commerce:Estimate":`custom:accounts`,"item:commerce:Agreement":`custom:accounts`,"item:projects:Project":`custom:work`,"item:projects:Issue":`custom:work`,"item:timesheets:ServiceTimeEntry":`custom:work`,"item:expenses:Expense":`custom:work`,"item:events:Event":`custom:meetings`,"item:events:EventType":`custom:meetings`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`,"item:commerce:Vendor":`custom:billing`},customSections:[{id:`custom:accounts`,label:`Clients`},{id:`custom:work`,label:`Work`},{id:`custom:meetings`,label:`Meetings`},{id:`custom:billing`,label:`Billing`}],items:{"item:commerce:Customer":{label:`Client companies`,description:`The companies you work for, with how to reach them.`},"item:commerce:Estimate":{label:`Proposals`,description:`Proposals you have sent, ready to become a contract when accepted.`},"item:commerce:Agreement":{label:`Contracts`,description:`Retainers and statements of work, with the terms and the dates.`},"item:projects:Project":{label:`Projects`,description:`Each engagement, with what it covers and where it stands.`},"item:projects:Issue":{label:`Tasks`,description:`The work inside each project, from to-do to done.`},"item:timesheets:ServiceTimeEntry":{label:`Time entries`,description:`Hours logged by person and project, from draft to approved.`},"item:expenses:Expense":{label:`Expenses`,description:`Costs on a project, with the receipt and whether to bill them on.`},"item:events:Event":{label:`Client meetings`,description:`Kickoffs, reviews and check-ins with clients, by day.`},"item:events:EventType":{label:`Meeting types`,description:`The kinds of meeting you hold, like a kickoff or a review.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The printers, photographers and freelancers you buy from.`}},sections:{"custom:accounts":{icon:`users`},"custom:work":{icon:`briefcase`},"custom:meetings":{icon:`calendar`},"custom:billing":{icon:`receipt`}}}}},{id:`plumber`,name:`Plumber`,icon:`tool`,summary:`Quotes, service calls, parts, appointments and billing for a plumbing business.`,keywords:[`plumber`,`plumbing`,`pipes`,`leak`,`drain`,`blocked drain`,`water heater`,`boiler`,`bathroom`,`faucet`,`toilet`,`sewer`,`emergency call-out`,`gas fitter`],settings:{currency:`USD`,paymentTerms:`Due on completion`,taxRate:.07},sectionDescriptions:{"custom:jobs":`Work orders and the customers they belong to.`,"custom:parts":`Parts, materials and the stock on your shelves.`,"custom:schedule":`Appointments and what is on the calendar.`,"custom:billing":`Invoices and the payments against them.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#0e7490`}},recipes:[`commerce.agreements`,`commerce.customers`,`commerce.estimates`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on completion"`},{objectRef:`@happyvertical/smrt-commerce:ContractLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.07`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Due on completion"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on completion"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on completion"`},{objectRef:`@happyvertical/smrt-commerce:InvoiceLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.07`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on completion"`}],layout:{version:1,sectionOrder:[`custom:jobs`,`custom:schedule`,`custom:parts`,`custom:billing`,`section:accounting`],itemOrder:{"custom:jobs":[`item:commerce:Order`,`item:commerce:Estimate`,`item:commerce:Customer`,`item:commerce:Agreement`],"custom:schedule":[`item:events:Event`,`item:events:EventType`],"custom:parts":[`item:products:Product`,`item:inventory:StockLevel`,`item:commerce:Vendor`,`item:commerce:PurchaseOrder`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`]},hidden:[`item:commerce:Contract`,`item:events:EventSeries`,`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Order":`custom:jobs`,"item:commerce:Estimate":`custom:jobs`,"item:commerce:Customer":`custom:jobs`,"item:commerce:Agreement":`custom:jobs`,"item:events:Event":`custom:schedule`,"item:events:EventType":`custom:schedule`,"item:products:Product":`custom:parts`,"item:inventory:StockLevel":`custom:parts`,"item:commerce:Vendor":`custom:parts`,"item:commerce:PurchaseOrder":`custom:parts`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`},customSections:[{id:`custom:jobs`,label:`Jobs`},{id:`custom:schedule`,label:`Schedule`},{id:`custom:parts`,label:`Parts`},{id:`custom:billing`,label:`Billing`}],items:{"item:commerce:Order":{label:`Service calls`,description:`Call-outs and booked jobs, emergencies first, from the first call to the final invoice.`},"item:commerce:Estimate":{label:`Quotes`,description:`Quotes for installs and bigger repairs, ready to book once approved.`},"item:commerce:Agreement":{label:`Service plans`,description:`Yearly water heater and drain service plans, with who holds them and when they renew.`},"item:events:Event":{label:`Appointments`,description:`Calls on the calendar, by day and van.`},"item:events:EventType":{label:`Call types`,description:`The kinds of call you take, like a leak, a blocked drain or a water heater install.`},"item:products:Product":{label:`Parts & fittings`,description:`Valves, fittings, pipe and fixtures you fit and charge for.`},"item:inventory:StockLevel":{label:`Van stock`,description:`What is on each van and in the store, so a call is not a second trip.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The plumbing merchants and wholesalers you buy from.`},"item:commerce:PurchaseOrder":{label:`Parts orders`,description:`Parts you have ordered and when they are ready for pickup.`}},sections:{"custom:jobs":{icon:`wrench`},"custom:schedule":{icon:`calendar`},"custom:parts":{icon:`package`},"custom:billing":{icon:`receipt`}}}}},{id:`electrician`,name:`Electrician`,icon:`bolt`,summary:`Quotes, installs, repairs, materials and billing for an electrical contractor.`,keywords:[`electrician`,`electrical`,`electric`,`wiring`,`rewire`,`panel upgrade`,`breaker`,`lighting`,`outlets`,`ev charger`,`inspection`,`sparky`,`electrical contractor`],settings:{currency:`USD`,paymentTerms:`Net 15`,taxRate:.0625},sectionDescriptions:{"custom:jobs":`Work orders and the customers they belong to.`,"custom:material":`Material, stock and what you have ordered.`,"custom:schedule":`Appointments and what is on the calendar.`,"custom:billing":`Invoices and the payments against them.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#ca8a04`}},recipes:[`commerce.agreements`,`commerce.customers`,`commerce.estimates`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:ContractLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.0625`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:InvoiceLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.0625`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`}],layout:{version:1,sectionOrder:[`custom:jobs`,`custom:schedule`,`custom:material`,`custom:billing`,`section:accounting`],itemOrder:{"custom:jobs":[`item:commerce:Estimate`,`item:commerce:Order`,`item:commerce:Customer`,`item:commerce:Agreement`],"custom:schedule":[`item:events:Event`,`item:events:EventType`],"custom:material":[`item:products:Product`,`item:inventory:StockLevel`,`item:commerce:Vendor`,`item:commerce:PurchaseOrder`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`]},hidden:[`item:commerce:Contract`,`item:events:EventSeries`,`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Estimate":`custom:jobs`,"item:commerce:Order":`custom:jobs`,"item:commerce:Customer":`custom:jobs`,"item:commerce:Agreement":`custom:jobs`,"item:events:Event":`custom:schedule`,"item:events:EventType":`custom:schedule`,"item:products:Product":`custom:material`,"item:inventory:StockLevel":`custom:material`,"item:commerce:Vendor":`custom:material`,"item:commerce:PurchaseOrder":`custom:material`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`},customSections:[{id:`custom:jobs`,label:`Jobs`},{id:`custom:schedule`,label:`Schedule`},{id:`custom:material`,label:`Material`},{id:`custom:billing`,label:`Billing`}],items:{"item:commerce:Estimate":{label:`Quotes`,description:`Priced quotes for installs, rewires and upgrades, ready to schedule once accepted.`},"item:commerce:Order":{label:`Work orders`,description:`Installs, repairs and inspections you have won, from rough-in to sign-off.`},"item:commerce:Agreement":{label:`Maintenance contracts`,description:`Planned maintenance and testing for commercial sites, with renewal dates.`},"item:events:Event":{label:`Site visits`,description:`Visits to quote, wire, inspect or test, by day and electrician.`},"item:events:EventType":{label:`Visit types`,description:`The kinds of visit you make, like a panel upgrade, a fault call or an inspection.`},"item:products:Product":{label:`Electrical supplies`,description:`Cable, breakers, devices and fixtures you stock and charge for.`},"item:inventory:StockLevel":{label:`Materials on hand`,description:`Cable and parts in the shop and on the trucks.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The electrical wholesalers and lighting suppliers you buy from.`},"item:commerce:PurchaseOrder":{label:`Material orders`,description:`Material you have ordered and when it lands.`}},sections:{"custom:jobs":{icon:`wrench`},"custom:schedule":{icon:`calendar`},"custom:material":{icon:`layers`},"custom:billing":{icon:`receipt`}}}}},{id:`painter`,name:`Painter`,icon:`brush`,summary:`Estimates, jobs, paint and materials, crew schedule and billing for a painting business.`,keywords:[`painter`,`painting`,`decorator`,`decorating`,`house painting`,`interior painting`,`exterior painting`,`wallpaper`,`drywall repair`,`cabinet painting`,`stain`,`repaint`],settings:{currency:`USD`,paymentTerms:`50% deposit, balance on completion`,taxRate:.06},sectionDescriptions:{"custom:jobs":`Work orders and the customers they belong to.`,"custom:paint":`Paint, sundries and the stock in your store room.`,"custom:schedule":`Appointments and what is on the calendar.`,"custom:billing":`Invoices and the payments against them.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#be185d`}},recipes:[`commerce.customers`,`commerce.estimates`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:ContractLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.06`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"50% deposit, balance on completion"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"50% deposit, balance on completion"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"50% deposit, balance on completion"`},{objectRef:`@happyvertical/smrt-commerce:InvoiceLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.06`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"50% deposit, balance on completion"`}],layout:{version:1,sectionOrder:[`custom:jobs`,`custom:schedule`,`custom:paint`,`custom:billing`,`section:accounting`],itemOrder:{"custom:jobs":[`item:commerce:Estimate`,`item:commerce:Order`,`item:commerce:Customer`],"custom:schedule":[`item:events:Event`,`item:events:EventType`],"custom:paint":[`item:products:Product`,`item:inventory:StockLevel`,`item:commerce:Vendor`,`item:commerce:PurchaseOrder`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`]},hidden:[`item:events:EventSeries`,`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Estimate":`custom:jobs`,"item:commerce:Order":`custom:jobs`,"item:commerce:Customer":`custom:jobs`,"item:events:Event":`custom:schedule`,"item:events:EventType":`custom:schedule`,"item:products:Product":`custom:paint`,"item:inventory:StockLevel":`custom:paint`,"item:commerce:Vendor":`custom:paint`,"item:commerce:PurchaseOrder":`custom:paint`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`},customSections:[{id:`custom:jobs`,label:`Jobs`},{id:`custom:schedule`,label:`Crew`},{id:`custom:paint`,label:`Paint & supplies`},{id:`custom:billing`,label:`Billing`}],items:{"item:commerce:Estimate":{label:`Estimates`,description:`Room-by-room estimates from the site visit, ready to book once signed.`},"item:commerce:Order":{label:`Projects`,description:`Every painting project you have booked, from prep to the final walkthrough.`},"item:events:Event":{label:`Crew schedule`,description:`Site visits and crew days on the calendar, by job.`},"item:events:EventType":{label:`Visit types`,description:`The kinds of day you book, like an estimate visit, prep or a touch-up.`},"item:products:Product":{label:`Paint & sundries`,description:`Paint, primer, caulk, tape and the other things you use and charge for.`},"item:inventory:StockLevel":{label:`Paint on hand`,description:`Paint and supplies in the store room and on the van.`},"item:commerce:Vendor":{label:`Paint suppliers`,description:`The paint stores and suppliers you buy from, with trade terms.`},"item:commerce:PurchaseOrder":{label:`Supply orders`,description:`Paint and supplies you have ordered and when they are ready.`}},sections:{"custom:jobs":{icon:`wrench`},"custom:schedule":{icon:`calendar`},"custom:paint":{icon:`package`},"custom:billing":{icon:`receipt`}}}}},{id:`roofer`,name:`Roofer`,icon:`home`,summary:`Inspections, quotes, jobs, materials and billing for a roofing contractor.`,keywords:[`roofer`,`roofing`,`roof`,`roof repair`,`reroof`,`shingles`,`gutters`,`flashing`,`leaking roof`,`storm damage`,`flat roof`,`skylight`],settings:{currency:`USD`,paymentTerms:`Net 30`,taxRate:.07},sectionDescriptions:{"custom:jobs":`Work orders and the customers they belong to.`,"custom:material":`Material, stock and what you have ordered.`,"custom:schedule":`Appointments and what is on the calendar.`,"custom:billing":`Invoices and the payments against them.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#475569`}},recipes:[`commerce.agreements`,`commerce.customers`,`commerce.estimates`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:ContractLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.07`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:InvoiceLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.07`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`}],layout:{version:1,sectionOrder:[`custom:jobs`,`custom:schedule`,`custom:material`,`custom:billing`,`section:accounting`],itemOrder:{"custom:jobs":[`item:commerce:Estimate`,`item:commerce:Order`,`item:commerce:Customer`,`item:commerce:Agreement`],"custom:schedule":[`item:events:Event`,`item:events:EventType`],"custom:material":[`item:products:Product`,`item:inventory:StockLevel`,`item:commerce:Vendor`,`item:commerce:PurchaseOrder`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`]},hidden:[`item:commerce:Contract`,`item:events:EventSeries`,`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Estimate":`custom:jobs`,"item:commerce:Order":`custom:jobs`,"item:commerce:Customer":`custom:jobs`,"item:commerce:Agreement":`custom:jobs`,"item:events:Event":`custom:schedule`,"item:events:EventType":`custom:schedule`,"item:products:Product":`custom:material`,"item:inventory:StockLevel":`custom:material`,"item:commerce:Vendor":`custom:material`,"item:commerce:PurchaseOrder":`custom:material`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`},customSections:[{id:`custom:jobs`,label:`Jobs`},{id:`custom:schedule`,label:`Schedule`},{id:`custom:material`,label:`Material`},{id:`custom:billing`,label:`Billing`}],items:{"item:commerce:Estimate":{label:`Quotes`,description:`Quotes written up after an inspection, for repairs and full replacements.`},"item:commerce:Order":{label:`Roofing jobs`,description:`Repairs and re-roofs you have won, from tear-off to final cleanup.`},"item:commerce:Agreement":{label:`Maintenance agreements`,description:`Yearly inspection and gutter programs for homes and buildings, with renewal dates.`},"item:events:Event":{label:`Inspections & visits`,description:`Roof inspections, measure-ups and crew days on the calendar.`},"item:events:EventType":{label:`Visit types`,description:`The kinds of visit you make, like an inspection, a storm check or a tear-off.`},"item:products:Product":{label:`Roofing products`,description:`Shingles, underlayment, flashing and fasteners you install and charge for.`},"item:inventory:StockLevel":{label:`Materials on hand`,description:`Bundles and rolls in the yard and on the trailer.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The roofing distributors and lumber yards you buy from.`},"item:commerce:PurchaseOrder":{label:`Material orders`,description:`Material you have ordered and when it is delivered to site.`}},sections:{"custom:jobs":{icon:`wrench`},"custom:schedule":{icon:`calendar`},"custom:material":{icon:`layers`},"custom:billing":{icon:`receipt`}}}}}]},n=new Intl.Collator(`en`,{sensitivity:`base`,numeric:!0}),r=[...t.cookbooks].sort((e,t)=>n.compare(e.name,t.name));function i(e){return r.find(t=>t.id===e)}function a(t){return t.document.recipes.map(t=>e.get(t)?.label??t)}export{r as n,a as r,i as t};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.
|
|
2
|
-
import{$ as e,B as t,Ct as n,Dt as r,Ft as i,G as a,H as o,J as s,Ot as c,P as l,U as u,W as d,a as f,bt as p,ct as m,d as h,ft as g,ht as _,i as v,lt as y,pt as b,r as x,st as S,tt as C,vt as w}from"../chunks/DG3qFFTE.js";import{t as T}from"../chunks/uBIymjUX.js";import"../chunks/xihTtKlq.js";var E={},D=a(`<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>`),O=a(`<!> <!>`,1);function k(a,v){c(v,!0);let T=f(v,`components`,23,()=>[]),E=f(v,`data_0`,3,null),k=f(v,`data_1`,3,null);y(()=>v.stores.page.set(v.page)),m(()=>{v.stores,v.page,v.constructors,T(),v.form,E(),k(),v.stores.page.notify()});let A=p(!1),j=p(!1),M=p(null);x(()=>{let t=v.stores.page.subscribe(()=>{e(A)&&(w(j,!0),C().then(()=>{w(M,document.title||`untitled page`,!0)}))});return w(A,!0),t});let N=n(()=>v.constructors[1]);var P=O(),F=b(P),I=t=>{let r=n(()=>v.constructors[0]);var i=d(),a=b(i);l(a,()=>e(r),(t,n)=>{h(n(t,{get data(){return E()},get form(){return v.form},get params(){return v.page.params},children:(t,n)=>{var r=d(),i=b(r);l(i,()=>e(N),(e,t)=>{h(t(e,{get data(){return k()},get form(){return v.form},get params(){return v.page.params}}),e=>T()[1]=e,()=>T()?.[1])}),u(t,r)},$$slots:{default:!0}}),e=>T()[0]=e,()=>T()?.[0])}),u(t,i)},L=t=>{let r=n(()=>v.constructors[0]);var i=d(),a=b(i);l(a,()=>e(r),(e,t)=>{h(t(e,{get data(){return E()},get form(){return v.form},get params(){return v.page.params}}),e=>T()[0]=e,()=>T()?.[0])}),u(t,i)};t(F,e=>{v.constructors[1]?e(I):e(L,-1)});var R=_(F,2),z=n=>{var r=D(),a=g(r),c=t=>{var n=s();S(()=>o(n,e(M))),u(t,n)};t(a,t=>{e(j)&&t(c)}),i(r),u(n,r)};t(R,t=>{e(A)&&t(z)}),u(a,P),r()}var A=v(k),j=[()=>T(()=>import(`../nodes/0.
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.2MYMg80l.js","../chunks/COiEfhsA.js","../chunks/DG3qFFTE.js","../chunks/C_3CJO_1.js","../chunks/Dt-HX3Vu.js","../chunks/xihTtKlq.js","../chunks/Bv5jGtB8.js","../chunks/YUSKx8_q.js","../assets/feedback.qFktqYFY.css","../chunks/BG9Gz_25.js","../chunks/DK8Blf1Y.js","../assets/currency-metadata.ksbBA8-C.css","../assets/app.4ScdTV_S.css","../chunks/Bsn3IIve.js","../chunks/uBIymjUX.js","../chunks/M-CuJzQN.js","../assets/SegmentedControl.DMqHG5fn.css","../chunks/9pRTae44.js","../assets/webmcp-ui-context.hO24Ni5w.css","../chunks/Cga8zF3r.js","../assets/data.CVlX_W0i.css","../chunks/CUyVrfsu.js","../chunks/gMSmS-_y.js","../assets/forms.DXOeP4wZ.css","../chunks/BYcBM-fh.js","../assets/AppShell.Dnc9PAvY.css","../chunks/DuZeZzOA.js","../assets/workspace.C40zM0Mb.css","../chunks/BhU_yBI_.js","../chunks/d_dqmeIr.js","../chunks/BiEOJeYb.js","../chunks/Cr4byQts.js","../chunks/gCpxN2IC.js","../chunks/C7zBd-pD.js","../chunks/D7hhQvDO.js","../chunks/CA-A9Ngs.js","../chunks/GdHEbDDH.js","../chunks/BQxY8kkL.js","../chunks/O8DAZ_le.js","../chunks/CyUSxz1P.js","../chunks/CtjBwCj8.js","../assets/state.CkVocVUJ.css","../assets/labels.DrQMsG17.css","../chunks/nphy1MQF.js","../chunks/d934w91N.js","../chunks/D_U_DYjx.js","../chunks/NppCG--v.js","../chunks/C3sRGrYK.js","../chunks/CTlMHIE6.js","../chunks/Bal1oPZu.js","../chunks/C1VofLtR.js","../assets/SectionIcons.BGFcFuOf.css","../assets/SectionActions.BE1CPmxk.css","../chunks/BMgzWMdF.js","../chunks/CgAkqYsL.js","../assets/0.C8CwV4Fz.css","../nodes/1.DKP901Gn.js","../nodes/2.x9WyxQ1S.js","../chunks/J9kOiFLO.js","../assets/AiSetup.CrvuNhMR.css","../chunks/5ukUzDcw.js","../assets/percent.BGI-foAF.css","../chunks/BDbFl7UA.js","../assets/2.CdEXvRg0.css","../nodes/3.V5uGCpGb.js","../assets/3.D518dbB5.css","../nodes/4.CCwzLrgu.js","../assets/4.B3vt1gMJ.css","../nodes/5.CgHzwpns.js","../nodes/6.CvQHLh_u.js","../nodes/7.7EIrly34.js","../chunks/DRByVC-c.js","../chunks/BybfWt-B.js","../chunks/YGONf0jr.js","../assets/FieldMapForm.C8SZ3t4N.css","../chunks/JBD5vUbP.js","../chunks/D71UrO5c.js","../assets/ModelPage.FEM0ZnPM.css","../nodes/8.DyyRBuTw.js","../nodes/9.DcURs0gN.js","../nodes/10.DNN0cVai.js","../assets/10.CdYxvH4G.css","../nodes/11.DgbmegX3.js","../chunks/DjJovMrk.js","../assets/ConnectTools.DTleL8YA.css","../assets/11.nOT5Z4Fv.css","../nodes/12.D5MtnJoE.js","../assets/12.F7A7zP4J.css","../nodes/13._rY66Xa_.js","../assets/13.JoySu8W5.css","../nodes/14.B6TD25VU.js","../assets/14.VAFbAoxW.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{$ as e,B as t,Ct as n,Dt as r,Ft as i,G as a,H as o,J as s,Ot as c,P as l,U as u,W as d,a as f,bt as p,ct as m,d as h,ft as g,ht as _,i as v,lt as y,pt as b,r as x,st as S,tt as C,vt as w}from"../chunks/DG3qFFTE.js";import{t as T}from"../chunks/uBIymjUX.js";import"../chunks/xihTtKlq.js";var E={},D=a(`<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>`),O=a(`<!> <!>`,1);function k(a,v){c(v,!0);let T=f(v,`components`,23,()=>[]),E=f(v,`data_0`,3,null),k=f(v,`data_1`,3,null);y(()=>v.stores.page.set(v.page)),m(()=>{v.stores,v.page,v.constructors,T(),v.form,E(),k(),v.stores.page.notify()});let A=p(!1),j=p(!1),M=p(null);x(()=>{let t=v.stores.page.subscribe(()=>{e(A)&&(w(j,!0),C().then(()=>{w(M,document.title||`untitled page`,!0)}))});return w(A,!0),t});let N=n(()=>v.constructors[1]);var P=O(),F=b(P),I=t=>{let r=n(()=>v.constructors[0]);var i=d(),a=b(i);l(a,()=>e(r),(t,n)=>{h(n(t,{get data(){return E()},get form(){return v.form},get params(){return v.page.params},children:(t,n)=>{var r=d(),i=b(r);l(i,()=>e(N),(e,t)=>{h(t(e,{get data(){return k()},get form(){return v.form},get params(){return v.page.params}}),e=>T()[1]=e,()=>T()?.[1])}),u(t,r)},$$slots:{default:!0}}),e=>T()[0]=e,()=>T()?.[0])}),u(t,i)},L=t=>{let r=n(()=>v.constructors[0]);var i=d(),a=b(i);l(a,()=>e(r),(e,t)=>{h(t(e,{get data(){return E()},get form(){return v.form},get params(){return v.page.params}}),e=>T()[0]=e,()=>T()?.[0])}),u(t,i)};t(F,e=>{v.constructors[1]?e(I):e(L,-1)});var R=_(F,2),z=n=>{var r=D(),a=g(r),c=t=>{var n=s();S(()=>o(n,e(M))),u(t,n)};t(a,t=>{e(j)&&t(c)}),i(r),u(n,r)};t(R,t=>{e(A)&&t(z)}),u(a,P),r()}var A=v(k),j=[()=>T(()=>import(`../nodes/0.2MYMg80l.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55]),import.meta.url),()=>T(()=>import(`../nodes/1.DKP901Gn.js`),__vite__mapDeps([56,2,1,5,30,3,4]),import.meta.url),()=>T(()=>import(`../nodes/2.x9WyxQ1S.js`),__vite__mapDeps([57,2,1,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,31,32,33,34,35,36,37,38,39,40,41,42,43,45,46,28,47,48,53,58,59,60,61,62,63]),import.meta.url),()=>T(()=>import(`../nodes/3.V5uGCpGb.js`),__vite__mapDeps([64,2,1,5,9,7,10,11,12,38,13,14,6,8,15,16,17,18,19,20,21,22,23,24,25,39,40,41,42,44,53,65]),import.meta.url),()=>T(()=>import(`../nodes/4.CCwzLrgu.js`),__vite__mapDeps([66,2,1,5,9,7,10,11,12,31,14,13,6,8,15,16,17,18,19,20,21,22,23,24,25,32,33,34,35,36,37,38,39,40,41,42,43,44,58,59,67]),import.meta.url),()=>T(()=>import(`../nodes/5.CgHzwpns.js`),__vite__mapDeps([68,2,1,3,4,5,29,44]),import.meta.url),()=>T(()=>import(`../nodes/6.CvQHLh_u.js`),__vite__mapDeps([69,2,1,3,4,5,29,44]),import.meta.url),()=>T(()=>import(`../nodes/7.7EIrly34.js`),__vite__mapDeps([70,1,2,5,9,7,10,11,12,71,4,72,3,6,8,15,16,26,13,14,17,18,19,20,21,22,23,24,25,27,29,30,39,40,41,42,38,45,50,51,47,48,54,73,60,35,61,74,75,76,77]),import.meta.url),()=>T(()=>import(`../nodes/8.DyyRBuTw.js`),__vite__mapDeps([78,1,2,5,9,7,10,11,12,40,6,8,15,16,19,20,41,71,4,72,3,26,13,14,17,18,21,22,23,24,25,27,29,30,39,42,38,45,50,51,47,48,54,73,60,35,61,74,75,76,77]),import.meta.url),()=>T(()=>import(`../nodes/9.DcURs0gN.js`),__vite__mapDeps([79,1,2,5,9,7,10,11,12,40,6,8,15,16,19,20,41,71,4,72,3,26,13,14,17,18,21,22,23,24,25,27,29,30,39,42,38,45,50,51,47,48,54,73,60,35,61,74,75,76,77]),import.meta.url),()=>T(()=>import(`../nodes/10.DNN0cVai.js`),__vite__mapDeps([80,2,1,5,9,7,10,11,12,17,18,22,15,16,23,62,28,13,14,6,8,19,20,21,24,25,26,27,81]),import.meta.url),()=>T(()=>import(`../nodes/11.DgbmegX3.js`),__vite__mapDeps([82,1,2,5,9,7,10,11,12,71,4,83,84,85]),import.meta.url),()=>T(()=>import(`../nodes/12.D5MtnJoE.js`),__vite__mapDeps([86,1,2,5,9,7,10,11,12,15,16,22,23,40,6,8,19,20,41,50,51,71,4,73,39,17,18,42,45,47,60,21,35,14,61,74,87]),import.meta.url),()=>T(()=>import(`../nodes/13._rY66Xa_.js`),__vite__mapDeps([88,1,2,5,9,7,10,11,12,40,6,8,15,16,19,20,41,50,51,71,4,75,83,84,89]),import.meta.url),()=>T(()=>import(`../nodes/14.B6TD25VU.js`),__vite__mapDeps([90,1,2,5,9,7,10,11,12,13,14,6,8,15,16,17,18,19,20,21,22,23,24,25,26,27,30,3,4,39,40,41,42,38,43,45,50,51,49,52,54,76,91]),import.meta.url)],M=[],N={"/":[2],"/advanced-styles":[3],"/ai":[4],"/blueprint":[5],"/cookbook":[6],"/m/[package]/[model]":[7],"/m/[package]/[model]/[view]":[8],"/m/[package]/[model]/[view]/edit":[9],"/packages":[10],"/packages/[id]":[11],"/recipes/[id]":[12],"/recipes/[id]/help":[13],"/s/[section]":[14]},P={handleError:(({error:e})=>{console.error(e)}),reroute:(()=>{}),transport:{}},F=Object.fromEntries(Object.entries(P.transport).map(([e,t])=>[e,t.decode])),I=Object.fromEntries(Object.entries(P.transport).map(([e,t])=>[e,t.encode])),L=!1,R=(e,t)=>F[e](t),z=()=>T(()=>import(`../chunks/Bjy-W4x2.js`).then(e=>e.default),[],import.meta.url);export{R as decode,F as decoders,N as dictionary,I as encoders,z as get_error_template,L as hash,P as hooks,E as matchers,j as nodes,A as root,M as server_loads};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{l as load_css,o as start}from"../chunks/C_3CJO_1.js";
|