@happyvertical/smrt-planner 0.0.2 → 0.1.1
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/README.md +81 -8
- package/app/404.html +42 -49
- package/app/_app/immutable/assets/0.DUow1OzM.css +1 -0
- package/app/_app/immutable/assets/10.CdYxvH4G.css +1 -0
- package/app/_app/immutable/assets/11.nOT5Z4Fv.css +1 -0
- package/app/_app/immutable/assets/12.F7A7zP4J.css +1 -0
- package/app/_app/immutable/assets/13.JoySu8W5.css +1 -0
- package/app/_app/immutable/assets/14.nsp62-4b.css +1 -0
- package/app/_app/immutable/assets/2.CbPiqdz5.css +1 -0
- package/app/_app/immutable/assets/3.D518dbB5.css +1 -0
- package/app/_app/immutable/assets/4.B3vt1gMJ.css +1 -0
- package/app/_app/immutable/assets/AiSetup.4fXjMpTZ.css +1 -0
- package/app/_app/immutable/assets/AppShell.DOvXbUZo.css +1 -0
- package/app/_app/immutable/assets/ConnectTools.DTleL8YA.css +1 -0
- package/app/_app/immutable/assets/FieldMapForm.C8SZ3t4N.css +1 -0
- package/app/_app/immutable/assets/ModelPage.DbXvPbHE.css +1 -0
- package/app/_app/immutable/assets/SectionActions.BE1CPmxk.css +1 -0
- package/app/_app/immutable/assets/SectionIcons.BGFcFuOf.css +1 -0
- package/app/_app/immutable/assets/SegmentedControl.BkyuoCEJ.css +1 -0
- package/app/_app/immutable/assets/app.eM0k786r.css +1 -0
- package/app/_app/immutable/assets/currency-metadata.DDyu8_ub.css +1 -0
- package/app/_app/immutable/assets/data.bGq43K60.css +1 -0
- package/app/_app/immutable/assets/feedback.xBpOq9ef.css +1 -0
- package/app/_app/immutable/assets/forms.B3_bbIMe.css +1 -0
- package/app/_app/immutable/assets/labels.BiuUjqHs.css +1 -0
- package/app/_app/immutable/assets/percent.DbwvwMhf.css +1 -0
- package/app/_app/immutable/assets/state.CJipYvSU.css +1 -0
- package/app/_app/immutable/assets/webmcp-ui-context.BnR-DUfO.css +1 -0
- package/app/_app/immutable/assets/workspace.B5Xq-5pJ.css +1 -0
- package/app/_app/immutable/chunks/1ElZWh_R.js +10 -0
- package/app/_app/immutable/chunks/B-CpwO-j.js +1 -0
- package/app/_app/immutable/chunks/{BnRri03M.js → B7KB-rhH.js} +1 -1
- package/app/_app/immutable/chunks/BUhghcIm.js +1 -0
- package/app/_app/immutable/chunks/BV3NwM01.js +1 -0
- package/app/_app/immutable/chunks/BZVZZ6VY.js +1 -0
- package/app/_app/immutable/chunks/Ba1g71Sq.js +1 -0
- package/app/_app/immutable/chunks/BeJD7_hy.js +1 -0
- package/app/_app/immutable/chunks/BiO_bqNH.js +2 -0
- package/app/_app/immutable/chunks/{DkR8_Ws6.js → BqBuCJB_.js} +2 -2
- package/app/_app/immutable/chunks/BsJoBmTA.js +1 -0
- package/app/_app/immutable/chunks/Bxbz6_Mb.js +1 -0
- package/app/_app/immutable/chunks/Bz5uCkjV.js +2 -0
- package/app/_app/immutable/chunks/BzMfoxBk.js +1 -0
- package/app/_app/immutable/chunks/CF6zSg_o.js +2 -0
- package/app/_app/immutable/chunks/CFL0B6dk.js +1 -0
- package/app/_app/immutable/chunks/CRu55ZTy.js +4 -0
- package/app/_app/immutable/chunks/{CyUMm_Wp.js → Cv2EcCr0.js} +1 -1
- package/app/_app/immutable/chunks/D-3Ri0zJ.js +1 -0
- package/app/_app/immutable/chunks/{BWPhGFHl.js → D0FW0z6R.js} +1 -1
- package/app/_app/immutable/chunks/D7d5GssF.js +1 -0
- package/app/_app/immutable/chunks/DCsSRJsN.js +1 -0
- package/app/_app/immutable/chunks/DGqV6_5v.js +1 -0
- package/app/_app/immutable/chunks/DNSRTkf6.js +11 -0
- package/app/_app/immutable/chunks/DQNX_XPY.js +1 -0
- package/app/_app/immutable/chunks/DSyIMN4M.js +1 -0
- package/app/_app/immutable/chunks/DUTtmM1Y.js +1 -0
- package/app/_app/immutable/chunks/DYuawOB3.js +980 -0
- package/app/_app/immutable/chunks/DfCLzLZc.js +1 -0
- package/app/_app/immutable/chunks/Dh5fne6n.js +1 -0
- package/app/_app/immutable/chunks/LruoUXGC.js +1 -0
- package/app/_app/immutable/chunks/ZLqixH7j.js +9 -0
- package/app/_app/immutable/chunks/_pYwB_Eb.js +4 -0
- package/app/_app/immutable/chunks/aoU3lIZI.js +1 -0
- package/app/_app/immutable/chunks/c57ZlocB.js +24 -0
- package/app/_app/immutable/chunks/h8ppmjOm.js +1 -0
- package/app/_app/immutable/chunks/jhcy_jeO.js +1 -0
- package/app/_app/immutable/chunks/vNEnXNLV.js +3 -0
- package/app/_app/immutable/chunks/vwntRvfV.js +1 -0
- package/app/_app/immutable/entry/app.D5LoTsNA.js +2 -0
- package/app/_app/immutable/entry/start.Sb_s0NGC.js +1 -0
- package/app/_app/immutable/nodes/0.Cuo9-RQc.js +9 -0
- package/app/_app/immutable/nodes/1.BW8Ar5T3.js +1 -0
- package/app/_app/immutable/nodes/10.CpLYjN7r.js +3 -0
- package/app/_app/immutable/nodes/11.BMPKD4M3.js +1 -0
- package/app/_app/immutable/nodes/12.WYpy0AHE.js +4 -0
- package/app/_app/immutable/nodes/13.BYo05X9B.js +1 -0
- package/app/_app/immutable/nodes/14.DN0MT3KB.js +1 -0
- package/app/_app/immutable/nodes/2.DM6k_pqu.js +24 -0
- package/app/_app/immutable/nodes/3.YgEwJ-vF.js +1 -0
- package/app/_app/immutable/nodes/4.A3Y6Lax0.js +1 -0
- package/app/_app/immutable/nodes/5.D9Vd85hG.js +1 -0
- package/app/_app/immutable/nodes/6.C5c56bSW.js +1 -0
- package/app/_app/immutable/nodes/7.CDBMbYlD.js +1 -0
- package/app/_app/immutable/nodes/8.8olDkDou.js +1 -0
- package/app/_app/immutable/nodes/9.CWgx__8Z.js +1 -0
- package/app/_app/version.json +1 -1
- package/app/advanced-styles/index.html +84 -0
- package/app/ai/index.html +60 -52
- package/app/blueprint/index.html +46 -53
- package/app/cookbook/index.html +46 -53
- package/app/index.html +92 -64
- package/app/m/ads/AdDeliveryTier/index.html +52 -59
- package/app/m/ads/AdEvent/index.html +52 -59
- package/app/m/ads/AdFormat/index.html +52 -59
- package/app/m/ads/AdGroup/index.html +52 -59
- package/app/m/ads/AdVariation/index.html +52 -59
- package/app/m/analytics/AnalyticsDataStream/index.html +52 -59
- package/app/m/analytics/AnalyticsEvent/index.html +52 -59
- package/app/m/analytics/AnalyticsProperty/index.html +52 -59
- package/app/m/analytics/AnalyticsReport/index.html +52 -59
- package/app/m/approvals/ApprovalEvent/index.html +52 -59
- package/app/m/approvals/ApprovalPolicy/index.html +52 -59
- package/app/m/approvals/ApprovalRequest/index.html +52 -59
- package/app/m/assets/Asset/attachments/index.html +91 -0
- package/app/m/assets/Asset/index.html +52 -59
- package/app/m/assets/AssetAssociation/index.html +53 -60
- package/app/m/assets/AssetMetafield/index.html +52 -59
- package/app/m/assets/AssetStatus/index.html +52 -59
- package/app/m/assets/AssetType/index.html +52 -59
- package/app/m/assets/Folder/index.html +52 -59
- package/app/m/chat/AgentSession/index.html +52 -59
- package/app/m/chat/ChatMessage/index.html +53 -60
- package/app/m/chat/ChatParticipant/index.html +53 -60
- package/app/m/chat/ChatReaction/index.html +52 -59
- package/app/m/chat/ChatRoom/index.html +52 -59
- package/app/m/chat/ChatThread/index.html +53 -60
- package/app/m/chat/VoiceGatewayTurn/index.html +52 -59
- package/app/m/chat/VoiceSession/index.html +52 -59
- package/app/m/commerce/Agreement/index.html +52 -59
- package/app/m/commerce/Cart/index.html +52 -59
- package/app/m/commerce/Contract/index.html +52 -59
- package/app/m/commerce/ContractLineItem/index.html +53 -60
- package/app/m/commerce/Customer/index.html +52 -59
- package/app/m/commerce/DocumentTax/index.html +89 -0
- package/app/m/commerce/Estimate/index.html +52 -59
- package/app/m/commerce/Fulfillment/index.html +52 -59
- package/app/m/commerce/FulfillmentLineItem/index.html +53 -60
- package/app/m/commerce/Invoice/index.html +52 -59
- package/app/m/commerce/InvoiceLineItem/index.html +53 -60
- package/app/m/commerce/Lease/index.html +52 -59
- package/app/m/commerce/LicenseSale/index.html +52 -59
- package/app/m/commerce/Order/index.html +52 -59
- package/app/m/commerce/Payment/index.html +52 -59
- package/app/m/commerce/PaymentAllocation/index.html +53 -60
- package/app/m/commerce/PaymentInstrument/index.html +52 -59
- package/app/m/commerce/PaymentIntent/index.html +52 -59
- package/app/m/commerce/Payout/index.html +52 -59
- package/app/m/commerce/ProductionOrder/index.html +52 -59
- package/app/m/commerce/PurchaseContract/index.html +89 -0
- package/app/m/commerce/PurchaseOrder/index.html +52 -59
- package/app/m/commerce/SalesContract/index.html +89 -0
- package/app/m/commerce/SupplierQuote/index.html +89 -0
- package/app/m/commerce/TaxCode/index.html +89 -0
- package/app/m/commerce/TaxComponent/index.html +89 -0
- package/app/m/commerce/TaxSettings/index.html +89 -0
- package/app/m/commerce/TaxSummaryReport/index.html +89 -0
- package/app/m/commerce/Vendor/index.html +52 -59
- package/app/m/commerce/WholesaleOrder/index.html +52 -59
- package/app/m/content/Content/index.html +52 -59
- package/app/m/content/ContentContribution/index.html +52 -59
- package/app/m/content/ContentContributionAttachment/index.html +52 -59
- package/app/m/content/ContentContributionRevision/index.html +52 -59
- package/app/m/content/ContentContributionType/index.html +52 -59
- package/app/m/content/ContentContributor/index.html +52 -59
- package/app/m/content/ContentCorrection/index.html +52 -59
- package/app/m/content/ContentFeedSource/index.html +52 -59
- package/app/m/content/ContentGovernanceAssignment/index.html +52 -59
- package/app/m/content/ContentGovernancePolicy/index.html +52 -59
- package/app/m/content/ContentGovernanceProfile/index.html +52 -59
- package/app/m/content/ContentReference/index.html +52 -59
- package/app/m/content/ContentReview/index.html +52 -59
- package/app/m/content/ContentVersion/index.html +52 -59
- package/app/m/events/Event/index.html +52 -59
- package/app/m/events/EventParticipant/index.html +53 -60
- package/app/m/events/EventSeries/index.html +52 -59
- package/app/m/events/EventType/index.html +52 -59
- package/app/m/expenses/Expense/index.html +89 -0
- package/app/m/facts/Fact/index.html +52 -59
- package/app/m/facts/FactContent/index.html +52 -59
- package/app/m/facts/FactEvidence/index.html +52 -59
- package/app/m/facts/FactSource/index.html +52 -59
- package/app/m/facts/FactSubject/index.html +52 -59
- package/app/m/facts/FactTag/index.html +52 -59
- package/app/m/fields/FieldPolicy/index.html +52 -59
- package/app/m/fields/FieldPolicySuggestion/index.html +52 -59
- package/app/m/fields/FieldUsageCounter/index.html +52 -59
- package/app/m/images/Image/index.html +52 -59
- package/app/m/inventory/InventoryLocation/index.html +52 -59
- package/app/m/inventory/StockLevel/index.html +52 -59
- package/app/m/inventory/StockMovement/index.html +52 -59
- package/app/m/ledgers/Account/index.html +52 -59
- package/app/m/ledgers/Journal/index.html +52 -59
- package/app/m/ledgers/JournalEntry/index.html +53 -60
- package/app/m/manufacturing/Assembly/index.html +52 -59
- package/app/m/manufacturing/BillOfMaterials/index.html +52 -59
- package/app/m/manufacturing/BomLine/index.html +52 -59
- package/app/m/manufacturing/Operation/index.html +52 -59
- package/app/m/manufacturing/ProductionRun/index.html +52 -59
- package/app/m/manufacturing/ProductionRunCompletion/index.html +52 -59
- package/app/m/manufacturing/RoutingStep/index.html +52 -59
- package/app/m/marketing/Campaign/index.html +52 -59
- package/app/m/marketing/CampaignChannel/index.html +52 -59
- package/app/m/marketing/CampaignMetricSnapshot/index.html +52 -59
- package/app/m/messages/Account/index.html +52 -59
- package/app/m/messages/Attachment/index.html +52 -59
- package/app/m/messages/Blacklist/index.html +52 -59
- package/app/m/messages/Email/failed-sends/index.html +54 -59
- package/app/m/messages/Email/index.html +52 -59
- package/app/m/messages/Email/mailbox/index.html +54 -59
- package/app/m/messages/EmailAccount/index.html +52 -59
- package/app/m/messages/EmailAttachment/index.html +89 -0
- package/app/m/messages/EmailFolder/index.html +52 -59
- package/app/m/messages/Message/index.html +52 -59
- package/app/m/messages/MessagingEndpoint/index.html +52 -59
- package/app/m/messages/PersonaMessageRoute/index.html +52 -59
- package/app/m/messages/SlackAccount/index.html +52 -59
- package/app/m/messages/SlackMessage/index.html +52 -59
- package/app/m/messages/TelegramAccount/index.html +52 -59
- package/app/m/messages/Tweet/index.html +52 -59
- package/app/m/messages/TwitterAccount/index.html +52 -59
- package/app/m/messages/Whitelist/index.html +52 -59
- package/app/m/messages/ZulipAccount/index.html +52 -59
- package/app/m/places/Place/index.html +52 -59
- package/app/m/places/PlaceType/index.html +52 -59
- package/app/m/products/Category/index.html +52 -59
- package/app/m/products/Material/index.html +52 -59
- package/app/m/products/Product/index.html +52 -59
- package/app/m/products/Product/ingredients/index.html +54 -59
- package/app/m/products/ProductVariant/index.html +53 -60
- package/app/m/products/Sku/index.html +53 -60
- package/app/m/profiles/ApiKey/index.html +52 -59
- package/app/m/profiles/Bot/index.html +52 -59
- package/app/m/profiles/MagicLinkToken/index.html +52 -59
- package/app/m/profiles/NostrIdentity/index.html +52 -59
- package/app/m/profiles/OidcIdentity/index.html +52 -59
- package/app/m/profiles/Organization/index.html +52 -59
- package/app/m/profiles/Person/index.html +52 -59
- package/app/m/profiles/Profile/index.html +52 -59
- package/app/m/profiles/ProfileMetadata/index.html +52 -59
- package/app/m/profiles/ProfileMetafield/index.html +52 -59
- package/app/m/profiles/ProfileRelationship/index.html +52 -59
- package/app/m/profiles/ProfileRelationshipTerm/index.html +52 -59
- package/app/m/profiles/ProfileRelationshipType/index.html +52 -59
- package/app/m/profiles/ProfileType/index.html +52 -59
- package/app/m/projects/Comment/index.html +53 -60
- package/app/m/projects/Issue/index.html +52 -59
- package/app/m/projects/Label/index.html +52 -59
- package/app/m/projects/Project/index.html +52 -59
- package/app/m/projects/ProjectIntegration/index.html +52 -59
- package/app/m/projects/PullRequest/index.html +52 -59
- package/app/m/projects/Repository/index.html +52 -59
- package/app/m/properties/Property/index.html +52 -59
- package/app/m/properties/Zone/index.html +52 -59
- package/app/m/reports/RuntimeReport/index.html +52 -59
- package/app/m/reports/SmrtPrincipalReportRefreshTask/index.html +52 -59
- package/app/m/reports/SmrtReportLock/index.html +52 -59
- package/app/m/reports/SmrtReportRefreshTask/index.html +52 -59
- package/app/m/reports/SmrtReportRun/index.html +52 -59
- package/app/m/reports/SmrtReportSchedule/index.html +52 -59
- package/app/m/reports/SmrtReportWatermark/index.html +52 -59
- package/app/m/sales/AttributionException/index.html +52 -59
- package/app/m/sales/AttributionPolicy/index.html +52 -59
- package/app/m/sales/Commission/index.html +52 -59
- package/app/m/sales/CommissionAdjustment/index.html +52 -59
- package/app/m/sales/CommissionPayout/index.html +52 -59
- package/app/m/sales/CommissionPlan/index.html +52 -59
- package/app/m/sales/Earner/index.html +52 -59
- package/app/m/sales/EarnerSourceAttribution/index.html +52 -59
- package/app/m/sales/EarningEvent/index.html +52 -59
- package/app/m/sales/ExecutedAgreement/index.html +52 -59
- package/app/m/sales/Lead/index.html +52 -59
- package/app/m/sales/Opportunity/index.html +52 -59
- package/app/m/sales/OpportunityConversion/index.html +52 -59
- package/app/m/sales/PipelineDefinition/index.html +52 -59
- package/app/m/sales/PipelineStage/index.html +53 -60
- package/app/m/sales/Referral/index.html +52 -59
- package/app/m/sales/ReferralAgreement/index.html +52 -59
- package/app/m/sales/ReferralLink/index.html +52 -59
- package/app/m/sales/ReferralProgram/index.html +52 -59
- package/app/m/sales/ReferralTermSnapshot/index.html +52 -59
- package/app/m/sales/ReferralTouch/index.html +52 -59
- package/app/m/sales/Referrer/index.html +52 -59
- package/app/m/sales/SalesActivity/index.html +52 -59
- package/app/m/sales/SalesRepresentative/index.html +52 -59
- package/app/m/sites/Site/index.html +52 -59
- package/app/m/sites/SiteAgentBinding/index.html +52 -59
- package/app/m/social/OAuthState/index.html +52 -59
- package/app/m/social/SocialAccount/index.html +52 -59
- package/app/m/social/SocialPost/index.html +52 -59
- package/app/m/social/SocialPostAnalyticsSnapshot/index.html +52 -59
- package/app/m/subscriptions/BillingAdjustment/index.html +52 -59
- package/app/m/subscriptions/ClientCharge/index.html +52 -59
- package/app/m/subscriptions/CreditGrant/index.html +52 -59
- package/app/m/subscriptions/PricingRule/index.html +52 -59
- package/app/m/subscriptions/RetailCharge/index.html +52 -59
- package/app/m/subscriptions/SpendingPolicy/index.html +52 -59
- package/app/m/subscriptions/SubscriptionPlan/index.html +52 -59
- package/app/m/subscriptions/TenantSubscription/index.html +52 -59
- package/app/m/subscriptions/TenantUsageMetric/index.html +52 -59
- package/app/m/support/ServiceTimeEntry/index.html +52 -59
- package/app/m/support/SupportAiRun/index.html +52 -59
- package/app/m/support/SupportAvailability/index.html +52 -59
- package/app/m/support/SupportCase/index.html +52 -59
- package/app/m/support/SupportCaseEvent/index.html +52 -59
- package/app/m/support/SupportChannelBinding/index.html +52 -59
- package/app/m/support/SupportCharge/index.html +52 -59
- package/app/m/support/SupportCompensation/index.html +52 -59
- package/app/m/support/SupportCompensationPlan/index.html +52 -59
- package/app/m/support/SupportEscalation/index.html +52 -59
- package/app/m/support/SupportInteraction/index.html +52 -59
- package/app/m/support/SupportPlan/index.html +52 -59
- package/app/m/support/SupportPolicy/index.html +52 -59
- package/app/m/support/SupportQualification/index.html +52 -59
- package/app/m/support/SupportServiceTarget/index.html +52 -59
- package/app/m/support/SupportSpecialist/index.html +52 -59
- package/app/m/support/SupportWorkLink/index.html +52 -59
- package/app/m/tags/Tag/index.html +52 -59
- package/app/m/tags/TagAlias/index.html +52 -59
- package/app/m/timesheets/AttendanceBreak/index.html +52 -59
- package/app/m/timesheets/AttendancePunch/index.html +52 -59
- package/app/m/timesheets/AttendanceSegment/index.html +89 -0
- package/app/m/timesheets/ServiceChargeSnapshot/index.html +52 -59
- package/app/m/timesheets/ServiceCompensationSnapshot/index.html +52 -59
- package/app/m/timesheets/ServiceTimeEntry/index.html +52 -59
- package/app/m/users/Group/index.html +52 -59
- package/app/m/users/GroupMember/index.html +52 -59
- package/app/m/users/GroupRole/index.html +52 -59
- package/app/m/users/Membership/index.html +53 -60
- package/app/m/users/MembershipOverride/index.html +52 -59
- package/app/m/users/Permission/index.html +52 -59
- package/app/m/users/Role/index.html +52 -59
- package/app/m/users/RolePermission/index.html +52 -59
- package/app/m/users/Session/index.html +52 -59
- package/app/m/users/Tenant/index.html +52 -59
- package/app/m/users/TenantIntegration/index.html +52 -59
- package/app/m/users/TenantPermissionOverride/index.html +52 -59
- package/app/m/users/User/index.html +52 -59
- package/app/m/video/Character/index.html +52 -59
- package/app/m/video/CharacterAsset/index.html +52 -59
- package/app/m/video/CompositeJob/index.html +52 -59
- package/app/m/video/Performer/index.html +52 -59
- package/app/m/video/PerformerAsset/index.html +52 -59
- package/app/m/video/Scene/index.html +52 -59
- package/app/m/video/SceneAsset/index.html +52 -59
- package/app/m/video/VideoComposition/index.html +52 -59
- package/app/m/video/VideoCompositionAsset/index.html +52 -59
- package/app/m/video/VideoSequence/index.html +52 -59
- package/app/m/video/VideoSequenceAsset/index.html +52 -59
- package/app/m/video/VideoShot/index.html +52 -59
- package/app/m/video/VideoShotAsset/index.html +52 -59
- package/app/m/video/VideoShotCharacter/index.html +52 -59
- package/app/m/video/VideoWorkflow/index.html +52 -59
- package/app/m/voice/VoiceOutput/index.html +52 -59
- package/app/m/voice/VoiceProfile/index.html +52 -59
- package/app/m/voice/VoiceSample/index.html +52 -59
- package/app/packages/ads/index.html +50 -57
- package/app/packages/analytics/index.html +50 -57
- package/app/packages/approvals/index.html +50 -57
- package/app/packages/assets/index.html +50 -57
- package/app/packages/chat/index.html +50 -57
- package/app/packages/comments/index.html +50 -57
- package/app/packages/commerce/index.html +50 -57
- package/app/packages/content/index.html +50 -57
- package/app/packages/events/index.html +50 -57
- package/app/packages/expenses/index.html +50 -57
- package/app/packages/facts/index.html +50 -57
- package/app/packages/fields/index.html +50 -57
- package/app/packages/human-resources/index.html +50 -57
- package/app/packages/images/index.html +50 -57
- package/app/packages/index.html +49 -55
- package/app/packages/ingestion/index.html +85 -0
- package/app/packages/inventory/index.html +50 -57
- package/app/packages/ledgers/index.html +50 -57
- package/app/packages/manufacturing/index.html +50 -57
- package/app/packages/marketing/index.html +50 -57
- package/app/packages/messages/index.html +50 -57
- package/app/packages/places/index.html +50 -57
- package/app/packages/preferences/index.html +50 -57
- package/app/packages/products/index.html +50 -57
- package/app/packages/profiles/index.html +50 -57
- package/app/packages/projects/index.html +50 -57
- package/app/packages/properties/index.html +50 -57
- package/app/packages/reports/index.html +50 -57
- package/app/packages/sales/index.html +50 -57
- package/app/packages/sites/index.html +50 -57
- package/app/packages/social/index.html +50 -57
- package/app/packages/subscriptions/index.html +50 -57
- package/app/packages/support/index.html +50 -57
- package/app/packages/tags/index.html +50 -57
- package/app/packages/timesheets/index.html +50 -57
- package/app/packages/users/index.html +50 -57
- package/app/packages/video/index.html +50 -57
- package/app/packages/voice/index.html +50 -57
- package/app/packages/webhooks/index.html +85 -0
- package/app/recipes/account-access/help/index.html +52 -57
- package/app/recipes/account-access/index.html +57 -59
- package/app/recipes/activity/help/index.html +52 -57
- package/app/recipes/activity/index.html +57 -59
- package/app/recipes/agreements/help/index.html +52 -57
- package/app/recipes/agreements/index.html +57 -59
- package/app/recipes/analytics.reports/help/index.html +52 -57
- package/app/recipes/analytics.reports/index.html +57 -59
- package/app/recipes/assets/help/index.html +52 -57
- package/app/recipes/assets/index.html +57 -59
- package/app/recipes/billing/help/index.html +52 -57
- package/app/recipes/billing/index.html +57 -59
- package/app/recipes/chat.assistant/help/index.html +52 -57
- package/app/recipes/chat.assistant/index.html +57 -59
- package/app/recipes/comments/help/index.html +52 -57
- package/app/recipes/comments/index.html +57 -59
- package/app/recipes/commerce.customers/help/index.html +52 -57
- package/app/recipes/commerce.customers/index.html +57 -59
- package/app/recipes/commerce.estimates/help/index.html +52 -57
- package/app/recipes/commerce.estimates/index.html +57 -59
- package/app/recipes/commerce.purchases/help/index.html +52 -57
- package/app/recipes/commerce.purchases/index.html +57 -59
- package/app/recipes/commerce.sales/help/index.html +52 -57
- package/app/recipes/commerce.sales/index.html +57 -59
- package/app/recipes/commerce.vendors/help/index.html +52 -57
- package/app/recipes/commerce.vendors/index.html +57 -59
- package/app/recipes/commerce.wholesale/help/index.html +52 -57
- package/app/recipes/commerce.wholesale/index.html +57 -59
- package/app/recipes/events.calendar/help/index.html +52 -57
- package/app/recipes/events.calendar/index.html +57 -59
- package/app/recipes/expenses.tracking/help/index.html +88 -0
- package/app/recipes/expenses.tracking/index.html +92 -0
- package/app/recipes/fields.form-customization/help/index.html +52 -57
- package/app/recipes/fields.form-customization/index.html +57 -59
- package/app/recipes/ingestion/help/index.html +88 -0
- package/app/recipes/ingestion/index.html +93 -0
- package/app/recipes/integrations/help/index.html +88 -0
- package/app/recipes/integrations/index.html +92 -0
- package/app/recipes/inventory.stock/help/index.html +52 -57
- package/app/recipes/inventory.stock/index.html +57 -59
- package/app/recipes/ledgers.bookkeeping/help/index.html +52 -57
- package/app/recipes/ledgers.bookkeeping/index.html +57 -59
- package/app/recipes/messages/help/index.html +52 -57
- package/app/recipes/messages/index.html +57 -59
- package/app/recipes/products/help/index.html +52 -57
- package/app/recipes/products/index.html +57 -59
- package/app/recipes/projects.tracker/help/index.html +52 -57
- package/app/recipes/projects.tracker/index.html +57 -59
- package/app/recipes/reports.materialized/help/index.html +52 -57
- package/app/recipes/reports.materialized/index.html +57 -59
- package/app/recipes/reports.runtime/help/index.html +88 -0
- package/app/recipes/reports.runtime/index.html +92 -0
- package/app/recipes/sales.pipeline/help/index.html +52 -57
- package/app/recipes/sales.pipeline/index.html +57 -59
- package/app/recipes/tags.taxonomy/help/index.html +52 -57
- package/app/recipes/tags.taxonomy/index.html +57 -59
- package/app/recipes/team-collaboration/help/index.html +52 -57
- package/app/recipes/team-collaboration/index.html +57 -59
- package/app/recipes/timesheets.time-entries/help/index.html +88 -0
- package/app/recipes/timesheets.time-entries/index.html +92 -0
- package/app/s/custom-accounts/index.html +82 -0
- package/app/s/custom-appointments/index.html +82 -0
- package/app/s/custom-billing/index.html +47 -54
- package/app/s/custom-buying/index.html +47 -54
- package/app/s/custom-checkout/index.html +82 -0
- package/app/s/custom-classes/index.html +47 -54
- package/app/s/custom-clients/index.html +82 -0
- package/app/s/custom-events/index.html +82 -0
- package/app/s/custom-fleet/index.html +82 -0
- package/app/s/custom-giving/index.html +82 -0
- package/app/s/custom-jobs/index.html +47 -54
- package/app/s/custom-kitchen/index.html +47 -54
- package/app/s/custom-material/index.html +47 -54
- package/app/s/custom-meetings/index.html +82 -0
- package/app/s/custom-members/index.html +47 -54
- package/app/s/custom-parts/index.html +47 -54
- package/app/s/custom-rentals/index.html +82 -0
- package/app/s/custom-roastery/index.html +82 -0
- package/app/s/custom-schedule/index.html +47 -54
- package/app/s/custom-shelf/index.html +82 -0
- package/app/s/custom-shop/index.html +47 -54
- package/app/s/custom-wholesale/index.html +47 -54
- package/app/s/custom-work/index.html +82 -0
- package/app/s/custom-yard/index.html +82 -0
- package/app/s/section-access-control/index.html +47 -54
- package/app/s/section-account-security/index.html +47 -54
- package/app/s/section-accounting/index.html +47 -54
- package/app/s/section-activity/index.html +47 -54
- package/app/s/section-agreements/index.html +47 -54
- package/app/s/section-analytics/index.html +47 -54
- package/app/s/section-assets/index.html +47 -54
- package/app/s/section-billing/index.html +47 -54
- package/app/s/section-calendar/index.html +47 -54
- package/app/s/section-catalog/index.html +47 -54
- package/app/s/section-chat.assistant/index.html +47 -54
- package/app/s/section-comments/index.html +47 -54
- package/app/s/section-fields.form-customization/index.html +47 -54
- package/app/s/section-ingestion/index.html +82 -0
- package/app/s/section-integrations/index.html +82 -0
- package/app/s/section-messages/index.html +47 -54
- package/app/s/section-more/index.html +47 -54
- package/app/s/section-operations/index.html +47 -54
- package/app/s/section-projects/index.html +47 -54
- package/app/s/section-purchasing/index.html +47 -54
- package/app/s/section-reports.materialized/index.html +47 -54
- package/app/s/section-reports.runtime/index.html +82 -0
- package/app/s/section-sales/index.html +47 -54
- package/app/s/section-taxonomy/index.html +47 -54
- package/app/s/section-team/index.html +47 -54
- package/app/s/section-work/index.html +82 -0
- package/dist/ai/state.svelte.d.ts +13 -0
- package/dist/ai/state.svelte.js +33 -0
- package/dist/assistant/change.d.ts +14 -3
- package/dist/assistant/change.js +26 -3
- package/dist/assistant/engine.js +5 -1
- package/dist/assistant/prompt.js +7 -3
- package/dist/catalog/catalog.json +11263 -14455
- package/dist/catalog/generate/exclusions.d.ts +2 -0
- package/dist/catalog/generate/exclusions.js +14 -0
- package/dist/catalog/generate/extract.js +28 -7
- package/dist/catalog/types.d.ts +7 -0
- package/dist/components/AdvancedStyles.svelte +138 -0
- package/dist/components/AdvancedStyles.svelte.d.ts +6 -0
- package/dist/components/AiModelsPage.svelte +40 -0
- package/dist/components/AiModelsPage.svelte.d.ts +7 -0
- package/dist/components/AiSetup.svelte +9 -6
- package/dist/components/AiStatusIcons.svelte +8 -5
- package/dist/components/AppSettings.svelte +105 -1
- package/dist/components/BrowserAssistant.svelte +16 -17
- package/dist/components/BrowserAssistant.svelte.d.ts +2 -0
- package/dist/components/ChildRecords.svelte +61 -14
- package/dist/components/ChildRecords.svelte.d.ts +1 -0
- package/dist/components/ConnectTools.svelte +5 -2
- package/dist/components/CookbooksPanel.svelte +56 -33
- package/dist/components/CopyButton.svelte +65 -0
- package/dist/components/CopyButton.svelte.d.ts +24 -0
- package/dist/components/ExportPanel.svelte +292 -57
- package/dist/components/ExportPanel.svelte.d.ts +10 -1
- package/dist/components/FeatureCard.svelte +21 -10
- package/dist/components/FeaturesPanel.svelte +4 -1
- package/dist/components/FieldInput.svelte +6 -3
- package/dist/components/FieldMapForm.svelte +6 -10
- package/dist/components/FieldMapForm.svelte.d.ts +1 -0
- package/dist/components/FormWorkspace.svelte +80 -9
- package/dist/components/FormWorkspace.svelte.d.ts +1 -0
- package/dist/components/HeaderIconLink.svelte +86 -0
- package/dist/components/HeaderIconLink.svelte.d.ts +14 -0
- package/dist/components/HelpView.svelte +3 -0
- package/dist/components/ModelOptions.svelte +13 -2
- package/dist/components/ModelPage.svelte +33 -5
- package/dist/components/ModelPage.svelte.d.ts +4 -0
- package/dist/components/ModelWorkspace.svelte +148 -50
- package/dist/components/ModelWorkspace.svelte.d.ts +4 -0
- package/dist/components/PackagePage.svelte +96 -0
- package/dist/components/PackagePage.svelte.d.ts +9 -0
- package/dist/components/ProductMedia.svelte +95 -0
- package/dist/components/ProductMedia.svelte.d.ts +10 -0
- package/dist/components/RecipeCards.svelte +13 -1
- package/dist/components/RecipeHelp.svelte +3 -0
- package/dist/components/RecipeOptions.svelte +13 -1
- package/dist/components/RecordFeatures.svelte +22 -8
- package/dist/components/RecordView.svelte +354 -0
- package/dist/components/RecordView.svelte.d.ts +14 -0
- package/dist/components/RelationField.svelte +5 -2
- package/dist/components/SectionActions.svelte +8 -5
- package/dist/components/SectionHeading.svelte +63 -0
- package/dist/components/SectionHeading.svelte.d.ts +11 -0
- package/dist/components/SectionIcons.svelte +15 -3
- package/dist/components/SectionOverview.svelte +33 -3
- package/dist/components/SectionOverview.svelte.d.ts +4 -0
- package/dist/components/SectionPage.svelte +25 -165
- package/dist/components/SectionView.svelte +172 -0
- package/dist/components/SectionView.svelte.d.ts +18 -0
- package/dist/components/SettingsPanel.svelte +3 -9
- package/dist/components/SettingsPanel.svelte.d.ts +1 -5
- package/dist/components/ThemeBridge.svelte +80 -4
- package/dist/components/ThemeBridge.svelte.d.ts +5 -1
- package/dist/components/ThemeSection.svelte +208 -117
- package/dist/components/ThemeSection.svelte.d.ts +3 -7
- package/dist/components/VariantGridForm.svelte +9 -13
- package/dist/components/VariantGridForm.svelte.d.ts +1 -0
- package/dist/components/VoiceTyping.svelte +3 -0
- package/dist/cookbook/describe.d.ts +29 -0
- package/dist/cookbook/describe.js +164 -0
- package/dist/cookbook/file.d.ts +6 -0
- package/dist/cookbook/file.js +18 -4
- package/dist/cookbook/prompt.d.ts +49 -0
- package/dist/cookbook/prompt.js +96 -0
- package/dist/cookbook/store.svelte.d.ts +13 -0
- package/dist/cookbook/store.svelte.js +36 -8
- package/dist/core/prompt.js +10 -1
- package/dist/core/reply.d.ts +6 -1
- package/dist/data/children.d.ts +50 -6
- package/dist/data/children.js +146 -16
- package/dist/data/derived.d.ts +37 -29
- package/dist/data/derived.js +49 -30
- package/dist/data/display.d.ts +21 -8
- package/dist/data/display.js +74 -11
- package/dist/data/fakes.d.ts +48 -9
- package/dist/data/fakes.js +146 -22
- package/dist/data/labels.d.ts +7 -2
- package/dist/data/labels.js +12 -2
- package/dist/data/list-sort.d.ts +8 -0
- package/dist/data/list-sort.js +45 -0
- package/dist/data/money.d.ts +225 -0
- package/dist/data/money.js +411 -0
- package/dist/data/packs.d.ts +13 -0
- package/dist/data/packs.js +1224 -0
- package/dist/data/planner-source.js +120 -3
- package/dist/data/source.d.ts +13 -2
- package/dist/data/source.js +274 -40
- package/dist/features/palette.d.ts +2 -0
- package/dist/features/palette.js +1 -1
- package/dist/forms/stock.d.ts +1 -1
- package/dist/forms/stock.js +3 -1
- package/dist/index.d.ts +7 -2
- package/dist/index.js +6 -1
- package/dist/kitchen/LiveKitchenBridge.svelte +73 -0
- package/dist/kitchen/LiveKitchenBridge.svelte.d.ts +8 -0
- package/dist/kitchen/live.d.ts +7 -0
- package/dist/kitchen/live.js +51 -0
- package/dist/library/icons.js +34 -0
- package/dist/library/library.json +1546 -15
- package/dist/library/pending.json +5 -0
- package/dist/library/types.d.ts +4 -0
- package/dist/motion/tokens.d.ts +6 -0
- package/dist/motion/tokens.js +32 -0
- package/dist/motion/view-transition.d.ts +13 -0
- package/dist/motion/view-transition.js +17 -0
- package/dist/overviews/definitions.d.ts +41 -2
- package/dist/overviews/definitions.js +111 -4
- package/dist/overviews/models.d.ts +10 -0
- package/dist/overviews/models.js +19 -0
- package/dist/overviews/registry.d.ts +92 -5
- package/dist/overviews/registry.js +468 -58
- package/dist/overviews/validate.js +2 -2
- package/dist/planner/Planner.svelte +374 -166
- package/dist/planner/PlannerControls.svelte +255 -0
- package/dist/planner/PlannerControls.svelte.d.ts +17 -0
- package/dist/planner/PlannerLifecycle.svelte +73 -0
- package/dist/planner/PlannerLifecycle.svelte.d.ts +9 -0
- package/dist/planner/app.svelte.d.ts +12 -2
- package/dist/planner/app.svelte.js +13 -3
- package/dist/planner/assistant.js +20 -2
- package/dist/planner/commands/adapter.js +9 -2
- package/dist/planner/commands/types.d.ts +1 -1
- package/dist/planner/commands/types.js +1 -0
- package/dist/planner/header-icons.d.ts +12 -0
- package/dist/planner/header-icons.js +12 -0
- package/dist/planner/host/HostPlanner.svelte +70 -0
- package/dist/planner/host/HostPlanner.svelte.d.ts +17 -0
- package/dist/planner/host/session.svelte.d.ts +28 -0
- package/dist/planner/host/session.svelte.js +186 -0
- package/dist/planner/routes.d.ts +49 -0
- package/dist/planner/routes.js +64 -0
- package/dist/planner/shell.d.ts +40 -0
- package/dist/planner/shell.js +56 -0
- package/dist/planner/tab.svelte.d.ts +6 -3
- package/dist/planner/tab.svelte.js +11 -4
- package/dist/planner/title.d.ts +15 -0
- package/dist/planner/title.js +21 -0
- package/dist/planner/title.svelte.d.ts +6 -0
- package/dist/planner/title.svelte.js +11 -0
- package/dist/planner/types.d.ts +39 -7
- package/dist/products/media.d.ts +20 -0
- package/dist/products/media.js +65 -0
- package/dist/recipes/help/descriptions.json +1 -3
- package/dist/recipes/index.d.ts +2 -0
- package/dist/recipes/index.js +6 -0
- package/dist/recipes/plumbing.d.ts +35 -1
- package/dist/recipes/plumbing.js +74 -0
- package/dist/screens/definition.d.ts +35 -0
- package/dist/screens/definition.js +132 -0
- package/dist/screens/relations.d.ts +17 -0
- package/dist/screens/relations.js +98 -0
- package/dist/screens/totals.d.ts +37 -0
- package/dist/screens/totals.js +65 -0
- package/dist/sections/info.d.ts +1 -1
- package/dist/sections/info.js +2 -2
- package/dist/settings/app-settings.d.ts +17 -1
- package/dist/settings/app-settings.js +40 -3
- package/dist/smrt-version.d.ts +2 -0
- package/dist/smrt-version.js +4 -0
- package/dist/styles/planner-forms.css +53 -0
- package/dist/styles/planner-lists.css +43 -0
- package/dist/theme/css-highlight.d.ts +6 -0
- package/dist/theme/css-highlight.js +34 -0
- package/dist/theme/custom-css.svelte.d.ts +34 -0
- package/dist/theme/custom-css.svelte.js +246 -0
- package/dist/theme/runtime.js +25 -5
- package/dist/theme/theme.d.ts +26 -3
- package/dist/theme/theme.js +70 -2
- package/dist/upstream/overlay.d.ts +14 -5
- package/dist/upstream/overlay.js +20 -2
- package/package.json +12 -6
- package/app/_app/immutable/assets/0.B5zXkXe_.css +0 -1
- package/app/_app/immutable/assets/10.hpcnxvK1.css +0 -1
- package/app/_app/immutable/assets/11.D7zoXfVV.css +0 -1
- package/app/_app/immutable/assets/12.CPobm1ED.css +0 -1
- package/app/_app/immutable/assets/2.CyaWdRdI.css +0 -1
- package/app/_app/immutable/assets/3.BlPQOes8.css +0 -1
- package/app/_app/immutable/assets/8.2gQeKBp_.css +0 -1
- package/app/_app/immutable/assets/9.HOPT4xtg.css +0 -1
- package/app/_app/immutable/assets/AiSetup.Cb22AigN.css +0 -1
- package/app/_app/immutable/assets/Button.DkP0qkG9.css +0 -1
- package/app/_app/immutable/assets/ConnectTools.BgIJOOGW.css +0 -1
- package/app/_app/immutable/assets/FieldMapForm.BCU-4pO4.css +0 -1
- package/app/_app/immutable/assets/ModelPage.Dd3LcMta.css +0 -1
- package/app/_app/immutable/assets/SectionActions.CTkVuNMF.css +0 -1
- package/app/_app/immutable/assets/SectionIcons.5Udq9vN-.css +0 -1
- package/app/_app/immutable/assets/SegmentedControl.B8SrQacd.css +0 -1
- package/app/_app/immutable/assets/dist.C5nHBk_O.css +0 -1
- package/app/_app/immutable/assets/feedback.BVKAwFck.css +0 -1
- package/app/_app/immutable/assets/forms.BChZ2RWM.css +0 -1
- package/app/_app/immutable/assets/percent.LH0z-ozZ.css +0 -1
- package/app/_app/immutable/assets/store.CGDwHkkF.css +0 -1
- package/app/_app/immutable/assets/ui.B1A1Zl2p.css +0 -1
- package/app/_app/immutable/assets/workspace.BIMkuZDb.css +0 -1
- package/app/_app/immutable/chunks/1okeBSoq.js +0 -1
- package/app/_app/immutable/chunks/2jFBkS1C.js +0 -1
- package/app/_app/immutable/chunks/6P9zxrzU.js +0 -1
- package/app/_app/immutable/chunks/B32EWqI8.js +0 -9
- package/app/_app/immutable/chunks/B4Kevpe0.js +0 -1
- package/app/_app/immutable/chunks/BKwRT_1p.js +0 -1
- package/app/_app/immutable/chunks/BS4h9ES-.js +0 -1
- package/app/_app/immutable/chunks/CMhpRMKg.js +0 -1
- package/app/_app/immutable/chunks/CPRHZZeW.js +0 -1
- package/app/_app/immutable/chunks/CRQ1Pmzr.js +0 -1
- package/app/_app/immutable/chunks/CWtfVMDz.js +0 -1
- package/app/_app/immutable/chunks/Chyo8rdT.js +0 -3
- package/app/_app/immutable/chunks/Ci0DUht6.js +0 -34
- package/app/_app/immutable/chunks/CmmuWmp6.js +0 -2
- package/app/_app/immutable/chunks/CrFNLK0f.js +0 -1
- package/app/_app/immutable/chunks/CsprTb3f.js +0 -2
- package/app/_app/immutable/chunks/CygC84VT.js +0 -2
- package/app/_app/immutable/chunks/D0VgZnk1.js +0 -1
- package/app/_app/immutable/chunks/DD7gpKb2.js +0 -1
- package/app/_app/immutable/chunks/DNRgqfTx.js +0 -1
- package/app/_app/immutable/chunks/DVRKjN-E.js +0 -1
- package/app/_app/immutable/chunks/D_J_XtJy.js +0 -846
- package/app/_app/immutable/chunks/Dp9GVO-9.js +0 -1
- package/app/_app/immutable/chunks/DqcD-WtP.js +0 -1
- package/app/_app/immutable/chunks/QukgIHDX.js +0 -1
- package/app/_app/immutable/chunks/WxSPP8QW.js +0 -4
- package/app/_app/immutable/chunks/Xp1g1t4n.js +0 -3
- package/app/_app/immutable/chunks/leQCwW2d.js +0 -1
- package/app/_app/immutable/chunks/p6bgzXiY.js +0 -1
- package/app/_app/immutable/entry/app.IZIJXhgq.js +0 -2
- package/app/_app/immutable/entry/start.BuaYHD1N.js +0 -1
- package/app/_app/immutable/nodes/0.m_U8WC7E.js +0 -10
- package/app/_app/immutable/nodes/1.Crw8ULhB.js +0 -1
- package/app/_app/immutable/nodes/10.1nQxyH9H.js +0 -4
- package/app/_app/immutable/nodes/11.Cw0JnQF3.js +0 -1
- package/app/_app/immutable/nodes/12.BIocA1aI.js +0 -1
- package/app/_app/immutable/nodes/2.CR5BwGnt.js +0 -17
- package/app/_app/immutable/nodes/3.1B56hgAG.js +0 -1
- package/app/_app/immutable/nodes/4.SSIC7sUh.js +0 -1
- package/app/_app/immutable/nodes/5.DgdwleDQ.js +0 -1
- package/app/_app/immutable/nodes/6.DmD9rqLU.js +0 -1
- package/app/_app/immutable/nodes/7.DdngsBmo.js +0 -1
- package/app/_app/immutable/nodes/8.D2Mszsua.js +0 -3
- package/app/_app/immutable/nodes/9.CLYsywul.js +0 -1
- package/app/m/content/Contents/index.html +0 -96
- package/app/m/preferences/UiPreferenceRecord/index.html +0 -96
- package/app/m/users/AccessRequest/index.html +0 -96
- package/app/m/users/ResourceGrant/index.html +0 -96
- package/app/m/users/UsersCliAuthRequest/index.html +0 -96
- package/app/m/users/UsersMagicLinkToken/index.html +0 -96
package/dist/data/packs.js
CHANGED
|
@@ -795,12 +795,1224 @@ const YOGA = {
|
|
|
795
795
|
'Agreement.status': { accepted: 6, sent: 1, completed: 2, cancelled: 1 },
|
|
796
796
|
},
|
|
797
797
|
};
|
|
798
|
+
const LANDSCAPING = {
|
|
799
|
+
id: 'landscaping',
|
|
800
|
+
taxRate: 0.06,
|
|
801
|
+
products: [
|
|
802
|
+
{
|
|
803
|
+
name: 'Hardwood mulch, per cubic yard',
|
|
804
|
+
description: 'Double-shredded, natural brown.',
|
|
805
|
+
price: 4200,
|
|
806
|
+
category: 'Mulch and soil',
|
|
807
|
+
productType: 'product',
|
|
808
|
+
at: 0,
|
|
809
|
+
},
|
|
810
|
+
{
|
|
811
|
+
name: 'Screened topsoil, per cubic yard',
|
|
812
|
+
description: 'Screened to half an inch, no stones.',
|
|
813
|
+
price: 3800,
|
|
814
|
+
category: 'Mulch and soil',
|
|
815
|
+
productType: 'product',
|
|
816
|
+
at: 0,
|
|
817
|
+
},
|
|
818
|
+
{
|
|
819
|
+
name: 'Sod, per pallet',
|
|
820
|
+
description: 'Tall fescue blend, 450 sq ft.',
|
|
821
|
+
price: 28500,
|
|
822
|
+
category: 'Turf',
|
|
823
|
+
productType: 'product',
|
|
824
|
+
at: 0,
|
|
825
|
+
},
|
|
826
|
+
{
|
|
827
|
+
name: 'Paver stones, per sq ft',
|
|
828
|
+
description: 'Tumbled concrete pavers, grey blend.',
|
|
829
|
+
price: 650,
|
|
830
|
+
category: 'Hardscape',
|
|
831
|
+
productType: 'product',
|
|
832
|
+
at: 0,
|
|
833
|
+
},
|
|
834
|
+
{
|
|
835
|
+
name: 'Boxwood shrub, 3 gallon',
|
|
836
|
+
description: 'Evergreen, holds a clipped shape.',
|
|
837
|
+
price: 4500,
|
|
838
|
+
category: 'Plants',
|
|
839
|
+
productType: 'product',
|
|
840
|
+
at: 0,
|
|
841
|
+
},
|
|
842
|
+
{
|
|
843
|
+
name: 'Perennials, flat of 12',
|
|
844
|
+
description: 'Mixed sun perennials in 4-inch pots.',
|
|
845
|
+
price: 5400,
|
|
846
|
+
category: 'Plants',
|
|
847
|
+
productType: 'product',
|
|
848
|
+
at: 0,
|
|
849
|
+
},
|
|
850
|
+
{
|
|
851
|
+
name: 'Lawn fertilizer, 50 lb bag',
|
|
852
|
+
description: 'Slow-release granular, covers 12,000 sq ft.',
|
|
853
|
+
price: 6200,
|
|
854
|
+
category: 'Lawn care',
|
|
855
|
+
productType: 'product',
|
|
856
|
+
at: 1,
|
|
857
|
+
},
|
|
858
|
+
{
|
|
859
|
+
name: 'Drip irrigation kit',
|
|
860
|
+
description: 'Tubing, emitters and timer for one bed.',
|
|
861
|
+
price: 8900,
|
|
862
|
+
category: 'Irrigation',
|
|
863
|
+
productType: 'product',
|
|
864
|
+
at: 1,
|
|
865
|
+
},
|
|
866
|
+
],
|
|
867
|
+
lines: [
|
|
868
|
+
{ description: 'Mowing, per visit', price: 5500, quantity: [1, 4] },
|
|
869
|
+
{ description: 'Spring clean-up', price: 32500, quantity: [1, 1] },
|
|
870
|
+
{
|
|
871
|
+
description: 'Mulch installed, per cubic yard',
|
|
872
|
+
price: 9500,
|
|
873
|
+
quantity: [2, 8],
|
|
874
|
+
},
|
|
875
|
+
{
|
|
876
|
+
description: 'Irrigation repair, per hour',
|
|
877
|
+
price: 8500,
|
|
878
|
+
quantity: [1, 4],
|
|
879
|
+
},
|
|
880
|
+
{ description: 'Hedge trimming', price: 18000, quantity: [1, 2] },
|
|
881
|
+
{
|
|
882
|
+
description: 'Sod installation, per pallet',
|
|
883
|
+
price: 42000,
|
|
884
|
+
quantity: [1, 4],
|
|
885
|
+
},
|
|
886
|
+
{ description: 'Design consultation', price: 15000, quantity: [1, 1] },
|
|
887
|
+
{ description: 'Snow plowing, per visit', price: 7500, quantity: [1, 4] },
|
|
888
|
+
],
|
|
889
|
+
customers: [
|
|
890
|
+
'Carol Jensen',
|
|
891
|
+
'Mike Delaney',
|
|
892
|
+
'Angela Ruiz',
|
|
893
|
+
'Steve Kowalski',
|
|
894
|
+
'Denise Thompson',
|
|
895
|
+
'Birchwood Property Management',
|
|
896
|
+
'Fox Hollow Homeowners Association',
|
|
897
|
+
'Grace Lutheran Church',
|
|
898
|
+
],
|
|
899
|
+
vendors: [
|
|
900
|
+
'Green Valley Nursery',
|
|
901
|
+
'Ridge Stone & Mulch Yard',
|
|
902
|
+
'Clearwater Irrigation Supply',
|
|
903
|
+
'Hilltop Equipment Sales',
|
|
904
|
+
'Prairie Seed & Fertilizer',
|
|
905
|
+
],
|
|
906
|
+
notes: [
|
|
907
|
+
'Gate code is on the customer record.',
|
|
908
|
+
'Dog in the back yard; close the gate.',
|
|
909
|
+
'Haul away all clippings and debris.',
|
|
910
|
+
'Price assumes two crew for one day.',
|
|
911
|
+
'Leave the invoice in the mailbox.',
|
|
912
|
+
],
|
|
913
|
+
terms: ['Net 15', 'Due on receipt', 'Net 30'],
|
|
914
|
+
customerNotes: [
|
|
915
|
+
'Mow on Thursdays; no visits before 8 a.m.',
|
|
916
|
+
'Bills go to the property manager, not the tenant.',
|
|
917
|
+
'Wants the beds edged every visit.',
|
|
918
|
+
'Irrigation controller is in the garage.',
|
|
919
|
+
'Board approves anything over $2,000.',
|
|
920
|
+
],
|
|
921
|
+
vendorNotes: [
|
|
922
|
+
'Plant material guaranteed for one season.',
|
|
923
|
+
'Bulk mulch loaded by the yard; bring a tarp.',
|
|
924
|
+
'Parts counter opens at 6:30 a.m.',
|
|
925
|
+
'Mower service takes a week in spring.',
|
|
926
|
+
'Early-order discount through February.',
|
|
927
|
+
],
|
|
928
|
+
instructors: ['Jorge Castillo', 'Brett Hanlon', 'Tasha Williams'],
|
|
929
|
+
descriptions: {
|
|
930
|
+
Event: [
|
|
931
|
+
'Mow, trim and blow off the walks.',
|
|
932
|
+
'Rake out the beds, cut back perennials and haul debris.',
|
|
933
|
+
'Edge the beds and spread fresh mulch.',
|
|
934
|
+
'Run each zone, adjust heads and fix leaks.',
|
|
935
|
+
'Thin and shape the trees before the leaves come in.',
|
|
936
|
+
'Mow, trim and blow off the walks.',
|
|
937
|
+
'Rake out the beds, cut back perennials and haul debris.',
|
|
938
|
+
'Edge the beds and spread fresh mulch.',
|
|
939
|
+
],
|
|
940
|
+
EventType: [
|
|
941
|
+
'Routine cut, trim and blow-off.',
|
|
942
|
+
'Bed clean-up at the start of the season.',
|
|
943
|
+
'Edge beds and spread mulch.',
|
|
944
|
+
'Test and adjust the sprinkler system.',
|
|
945
|
+
'Prune trees and large shrubs.',
|
|
946
|
+
'Build patios, walks and walls.',
|
|
947
|
+
'Plow and salt after a snowfall.',
|
|
948
|
+
'Walk the property and plan the work.',
|
|
949
|
+
],
|
|
950
|
+
EventSeries: [
|
|
951
|
+
'Weekly mowing on a set route.',
|
|
952
|
+
'Bed clean-ups in April and November.',
|
|
953
|
+
'Plowing whenever snow passes two inches.',
|
|
954
|
+
'Five fertilizer rounds from spring to fall.',
|
|
955
|
+
'Turn the irrigation on in May and blow it out in October.',
|
|
956
|
+
],
|
|
957
|
+
Place: [
|
|
958
|
+
'A customer yard or grounds.',
|
|
959
|
+
'Where mulch, soil and stone are piled.',
|
|
960
|
+
'Where plants are picked up before a job.',
|
|
961
|
+
'Large commercial grounds with several buildings.',
|
|
962
|
+
'Where quotes are written and calls are taken.',
|
|
963
|
+
],
|
|
964
|
+
},
|
|
965
|
+
lineQuantity: [1, 4],
|
|
966
|
+
eventNames: [
|
|
967
|
+
'Weekly mowing',
|
|
968
|
+
'Spring clean-up',
|
|
969
|
+
'Mulch install',
|
|
970
|
+
'Irrigation check',
|
|
971
|
+
'Tree pruning',
|
|
972
|
+
'Weekly mowing',
|
|
973
|
+
'Spring clean-up',
|
|
974
|
+
'Mulch install',
|
|
975
|
+
],
|
|
976
|
+
eventTypes: [
|
|
977
|
+
'Mowing',
|
|
978
|
+
'Spring clean-up',
|
|
979
|
+
'Mulch install',
|
|
980
|
+
'Irrigation check',
|
|
981
|
+
'Tree pruning',
|
|
982
|
+
'Hardscape',
|
|
983
|
+
'Snow removal',
|
|
984
|
+
'Consultation',
|
|
985
|
+
],
|
|
986
|
+
seriesNames: [
|
|
987
|
+
'Weekly mowing routes',
|
|
988
|
+
'Spring and fall clean-ups',
|
|
989
|
+
'Snow contracts',
|
|
990
|
+
'Fertilizer program',
|
|
991
|
+
'Irrigation start-up and shut-down',
|
|
992
|
+
],
|
|
993
|
+
placeNames: [
|
|
994
|
+
'Customer property',
|
|
995
|
+
'Materials yard',
|
|
996
|
+
'Nursery',
|
|
997
|
+
'Commercial campus',
|
|
998
|
+
'Office',
|
|
999
|
+
],
|
|
1000
|
+
placeTypes: ['Residential', 'Commercial', 'Yard', 'Office'],
|
|
1001
|
+
locations: [
|
|
1002
|
+
{ code: 'YARD', name: 'Materials yard', kind: 'yard' },
|
|
1003
|
+
{ code: 'TRUCK', name: 'Crew truck', kind: 'vehicle' },
|
|
1004
|
+
],
|
|
1005
|
+
weights: {
|
|
1006
|
+
'Order.status': { completed: 5, accepted: 3, sent: 1, draft: 1 },
|
|
1007
|
+
'Estimate.status': { sent: 3, accepted: 3, declined: 1, draft: 1 },
|
|
1008
|
+
'Agreement.status': { accepted: 6, sent: 1, completed: 2, cancelled: 1 },
|
|
1009
|
+
'Event.status': { scheduled: 5, completed: 4, cancelled: 1 },
|
|
1010
|
+
// Homeowners are retail; property managers buy on account.
|
|
1011
|
+
'Customer.customerType': { retail: 5, wholesale: 3 },
|
|
1012
|
+
},
|
|
1013
|
+
};
|
|
1014
|
+
const SALON = {
|
|
1015
|
+
id: 'salon',
|
|
1016
|
+
taxRate: 0.07,
|
|
1017
|
+
products: [
|
|
1018
|
+
{
|
|
1019
|
+
name: 'Moisture shampoo, 300 ml',
|
|
1020
|
+
description: 'Sulfate-free, for dry or coloured hair.',
|
|
1021
|
+
price: 2800,
|
|
1022
|
+
category: 'Hair care',
|
|
1023
|
+
productType: 'product',
|
|
1024
|
+
at: 0,
|
|
1025
|
+
},
|
|
1026
|
+
{
|
|
1027
|
+
name: 'Moisture conditioner, 300 ml',
|
|
1028
|
+
description: 'Rinse-out conditioner, light hold.',
|
|
1029
|
+
price: 3000,
|
|
1030
|
+
category: 'Hair care',
|
|
1031
|
+
productType: 'product',
|
|
1032
|
+
at: 0,
|
|
1033
|
+
},
|
|
1034
|
+
{
|
|
1035
|
+
name: 'Pomade, 100 g',
|
|
1036
|
+
description: 'Medium hold, natural shine.',
|
|
1037
|
+
price: 2400,
|
|
1038
|
+
category: 'Styling',
|
|
1039
|
+
productType: 'product',
|
|
1040
|
+
at: 0,
|
|
1041
|
+
},
|
|
1042
|
+
{
|
|
1043
|
+
name: 'Hair oil, 50 ml',
|
|
1044
|
+
description: 'Argan blend for ends and frizz.',
|
|
1045
|
+
price: 3600,
|
|
1046
|
+
category: 'Treatment',
|
|
1047
|
+
productType: 'product',
|
|
1048
|
+
at: 0,
|
|
1049
|
+
},
|
|
1050
|
+
{
|
|
1051
|
+
name: 'Heat protectant spray, 200 ml',
|
|
1052
|
+
description: 'Shields hair to 230 C.',
|
|
1053
|
+
price: 2600,
|
|
1054
|
+
category: 'Styling',
|
|
1055
|
+
productType: 'product',
|
|
1056
|
+
at: 0,
|
|
1057
|
+
},
|
|
1058
|
+
{
|
|
1059
|
+
name: 'Styling clay, 100 g',
|
|
1060
|
+
description: 'Strong hold, matte finish.',
|
|
1061
|
+
price: 2600,
|
|
1062
|
+
category: 'Styling',
|
|
1063
|
+
productType: 'product',
|
|
1064
|
+
at: 0,
|
|
1065
|
+
},
|
|
1066
|
+
{
|
|
1067
|
+
name: 'Dry shampoo, 250 ml',
|
|
1068
|
+
description: 'Absorbs oil between washes.',
|
|
1069
|
+
price: 2200,
|
|
1070
|
+
category: 'Hair care',
|
|
1071
|
+
productType: 'product',
|
|
1072
|
+
at: 1,
|
|
1073
|
+
},
|
|
1074
|
+
{
|
|
1075
|
+
name: 'Beard oil, 30 ml',
|
|
1076
|
+
description: 'Cedar and citrus, softens the beard.',
|
|
1077
|
+
price: 2000,
|
|
1078
|
+
category: 'Barber',
|
|
1079
|
+
productType: 'product',
|
|
1080
|
+
at: 1,
|
|
1081
|
+
},
|
|
1082
|
+
],
|
|
1083
|
+
lines: [
|
|
1084
|
+
{ description: "Women's cut and finish", price: 7500, quantity: [1, 1] },
|
|
1085
|
+
{ description: "Men's cut", price: 4000, quantity: [1, 1] },
|
|
1086
|
+
{ description: 'Full colour', price: 12500, quantity: [1, 1] },
|
|
1087
|
+
{ description: 'Partial highlights', price: 14000, quantity: [1, 1] },
|
|
1088
|
+
{ description: 'Blow-dry', price: 4500, quantity: [1, 1] },
|
|
1089
|
+
{ description: 'Beard trim', price: 2500, quantity: [1, 1] },
|
|
1090
|
+
{ description: "Kids' cut", price: 3000, quantity: [1, 2] },
|
|
1091
|
+
{
|
|
1092
|
+
description: 'Deep conditioning treatment',
|
|
1093
|
+
price: 3500,
|
|
1094
|
+
quantity: [1, 1],
|
|
1095
|
+
},
|
|
1096
|
+
],
|
|
1097
|
+
customers: [
|
|
1098
|
+
'Rachel Donnelly',
|
|
1099
|
+
'Kevin Oyelaran',
|
|
1100
|
+
'Jasmine Torres',
|
|
1101
|
+
'Brian Whitaker',
|
|
1102
|
+
'Lena Hoffman',
|
|
1103
|
+
'Andre Beaulieu',
|
|
1104
|
+
'Megan Choi',
|
|
1105
|
+
'Patrick Nolan',
|
|
1106
|
+
],
|
|
1107
|
+
vendors: [
|
|
1108
|
+
'Northstar Salon Supply',
|
|
1109
|
+
'Chroma Colour Co.',
|
|
1110
|
+
'Fresh Fold Towel Service',
|
|
1111
|
+
'Studio Line Salon Furniture',
|
|
1112
|
+
'Edgeworks Shear Sharpening',
|
|
1113
|
+
],
|
|
1114
|
+
notes: [
|
|
1115
|
+
'Paid at the front desk.',
|
|
1116
|
+
'Retail added to the ticket at checkout.',
|
|
1117
|
+
'Tip left in cash.',
|
|
1118
|
+
'Gift card applied.',
|
|
1119
|
+
'Rebooked before leaving.',
|
|
1120
|
+
],
|
|
1121
|
+
terms: ['Due on receipt', 'Net 15', 'Prepaid package'],
|
|
1122
|
+
customerNotes: [
|
|
1123
|
+
'Allergic to PPD; patch test before colour.',
|
|
1124
|
+
'Likes the back tapered short, longer on top.',
|
|
1125
|
+
'Formula card is in the colour bar drawer.',
|
|
1126
|
+
'Prefers Saturday mornings with the same stylist.',
|
|
1127
|
+
'Brings her two kids for cuts every eight weeks.',
|
|
1128
|
+
],
|
|
1129
|
+
vendorNotes: [
|
|
1130
|
+
'Orders over $300 ship free.',
|
|
1131
|
+
'Rep visits the first Tuesday of the month.',
|
|
1132
|
+
'Towels swapped every Monday.',
|
|
1133
|
+
'Chair parts take three weeks.',
|
|
1134
|
+
'Shears picked up and returned the same week.',
|
|
1135
|
+
],
|
|
1136
|
+
instructors: [
|
|
1137
|
+
'Nicole Ferreira',
|
|
1138
|
+
'Darnell Hayes',
|
|
1139
|
+
'Sam Lindqvist',
|
|
1140
|
+
'Yuki Mori',
|
|
1141
|
+
],
|
|
1142
|
+
descriptions: {
|
|
1143
|
+
Event: [
|
|
1144
|
+
'Consult, cut and a finished style.',
|
|
1145
|
+
'Root touch-up or an all-over change.',
|
|
1146
|
+
'Foils around the face and part line.',
|
|
1147
|
+
'Wash and a round-brush finish.',
|
|
1148
|
+
'Shape the beard with clippers and a razor edge.',
|
|
1149
|
+
'Consult, cut and a finished style.',
|
|
1150
|
+
'Root touch-up or an all-over change.',
|
|
1151
|
+
'Foils around the face and part line.',
|
|
1152
|
+
],
|
|
1153
|
+
EventType: [
|
|
1154
|
+
'Cut and finish for any length.',
|
|
1155
|
+
'Single-process colour, roots or all over.',
|
|
1156
|
+
'Foil highlights, partial or full.',
|
|
1157
|
+
'Wash and style, no cut.',
|
|
1158
|
+
'Clipper and razor beard shaping.',
|
|
1159
|
+
'A quick cut for children under twelve.',
|
|
1160
|
+
'Smoothing treatment, about three hours.',
|
|
1161
|
+
'Talk through a change before booking it.',
|
|
1162
|
+
],
|
|
1163
|
+
EventSeries: [
|
|
1164
|
+
'The same slot every six weeks.',
|
|
1165
|
+
'No bookings; first come, first served.',
|
|
1166
|
+
'Hair for the bride and her party on the day.',
|
|
1167
|
+
'Root touch-ups and glosses between full colours.',
|
|
1168
|
+
'Discounted cuts for students after 5 p.m.',
|
|
1169
|
+
],
|
|
1170
|
+
Place: [
|
|
1171
|
+
'First chair by the window.',
|
|
1172
|
+
'Second chair, nearest the basins.',
|
|
1173
|
+
'Where colour is mixed and applied.',
|
|
1174
|
+
'Two reclining basins at the back.',
|
|
1175
|
+
'Front desk, retail shelf and waiting area.',
|
|
1176
|
+
],
|
|
1177
|
+
},
|
|
1178
|
+
lineQuantity: [1, 2],
|
|
1179
|
+
eventNames: [
|
|
1180
|
+
'Cut and finish',
|
|
1181
|
+
'Root colour',
|
|
1182
|
+
'Face-frame highlights',
|
|
1183
|
+
'Wash and blow-dry',
|
|
1184
|
+
'Beard trim',
|
|
1185
|
+
'Cut and finish',
|
|
1186
|
+
'Root colour',
|
|
1187
|
+
'Face-frame highlights',
|
|
1188
|
+
],
|
|
1189
|
+
eventTypes: [
|
|
1190
|
+
'Haircut',
|
|
1191
|
+
'Colour',
|
|
1192
|
+
'Highlights',
|
|
1193
|
+
'Blow-dry',
|
|
1194
|
+
'Beard trim',
|
|
1195
|
+
"Kids' cut",
|
|
1196
|
+
'Keratin treatment',
|
|
1197
|
+
'Consultation',
|
|
1198
|
+
],
|
|
1199
|
+
seriesNames: [
|
|
1200
|
+
'Standing six-week appointments',
|
|
1201
|
+
'Saturday walk-ins',
|
|
1202
|
+
'Bridal parties',
|
|
1203
|
+
'Colour maintenance',
|
|
1204
|
+
'Student evenings',
|
|
1205
|
+
],
|
|
1206
|
+
placeNames: ['Chair 1', 'Chair 2', 'Colour bar', 'Wash basins', 'Reception'],
|
|
1207
|
+
placeTypes: ['Chair', 'Colour bar', 'Basins', 'Reception'],
|
|
1208
|
+
locations: [
|
|
1209
|
+
{ code: 'RETAIL', name: 'Retail shelf', kind: 'store' },
|
|
1210
|
+
{ code: 'BACKBAR', name: 'Backbar', kind: 'warehouse' },
|
|
1211
|
+
],
|
|
1212
|
+
weights: {
|
|
1213
|
+
'Order.status': { completed: 7, accepted: 1, sent: 1, draft: 1 },
|
|
1214
|
+
'Event.status': { scheduled: 5, completed: 4, cancelled: 1 },
|
|
1215
|
+
'Customer.customerType': { retail: 1 },
|
|
1216
|
+
'Payment.method': { credit_card: 7, cash: 2, other: 1 },
|
|
1217
|
+
},
|
|
1218
|
+
};
|
|
1219
|
+
const ROASTER = {
|
|
1220
|
+
id: 'roaster',
|
|
1221
|
+
taxRate: 0,
|
|
1222
|
+
products: [
|
|
1223
|
+
{
|
|
1224
|
+
name: 'House espresso, 12 oz',
|
|
1225
|
+
description: 'Medium-dark blend for espresso and milk drinks.',
|
|
1226
|
+
price: 1700,
|
|
1227
|
+
category: 'Roasted coffee',
|
|
1228
|
+
productType: 'product',
|
|
1229
|
+
at: 0,
|
|
1230
|
+
},
|
|
1231
|
+
{
|
|
1232
|
+
name: 'Ethiopia Yirgacheffe, 12 oz',
|
|
1233
|
+
description: 'Washed single origin, light roast.',
|
|
1234
|
+
price: 2100,
|
|
1235
|
+
category: 'Roasted coffee',
|
|
1236
|
+
productType: 'product',
|
|
1237
|
+
at: 0,
|
|
1238
|
+
},
|
|
1239
|
+
{
|
|
1240
|
+
name: 'Colombia Huila, 12 oz',
|
|
1241
|
+
description: 'Washed single origin, medium roast.',
|
|
1242
|
+
price: 1900,
|
|
1243
|
+
category: 'Roasted coffee',
|
|
1244
|
+
productType: 'product',
|
|
1245
|
+
at: 0,
|
|
1246
|
+
},
|
|
1247
|
+
{
|
|
1248
|
+
name: 'Decaf Colombia, 12 oz',
|
|
1249
|
+
description: 'Sugarcane process decaf, medium roast.',
|
|
1250
|
+
price: 1900,
|
|
1251
|
+
category: 'Roasted coffee',
|
|
1252
|
+
productType: 'product',
|
|
1253
|
+
at: 0,
|
|
1254
|
+
},
|
|
1255
|
+
{
|
|
1256
|
+
name: 'Harvest blend, 12 oz',
|
|
1257
|
+
description: 'Seasonal blend; changes with the crop.',
|
|
1258
|
+
price: 1800,
|
|
1259
|
+
category: 'Roasted coffee',
|
|
1260
|
+
productType: 'product',
|
|
1261
|
+
at: 0,
|
|
1262
|
+
},
|
|
1263
|
+
{
|
|
1264
|
+
name: 'House espresso, 5 lb',
|
|
1265
|
+
description: 'Cafe bag of the house espresso.',
|
|
1266
|
+
price: 7800,
|
|
1267
|
+
category: 'Roasted coffee',
|
|
1268
|
+
productType: 'product',
|
|
1269
|
+
at: 1,
|
|
1270
|
+
},
|
|
1271
|
+
{
|
|
1272
|
+
name: 'Cold brew concentrate, 32 oz',
|
|
1273
|
+
description: 'Steeped 18 hours; dilute one to one.',
|
|
1274
|
+
price: 1600,
|
|
1275
|
+
category: 'Cold brew',
|
|
1276
|
+
productType: 'product',
|
|
1277
|
+
at: 0,
|
|
1278
|
+
},
|
|
1279
|
+
{
|
|
1280
|
+
name: 'Pour-over kit',
|
|
1281
|
+
description: 'Dripper, server, filters and a 12 oz bag.',
|
|
1282
|
+
price: 5200,
|
|
1283
|
+
category: 'Brewing gear',
|
|
1284
|
+
productType: 'product',
|
|
1285
|
+
at: 0,
|
|
1286
|
+
},
|
|
1287
|
+
{
|
|
1288
|
+
name: 'Ethiopia green, 60 kg bag',
|
|
1289
|
+
description: 'Washed Yirgacheffe, grade 1.',
|
|
1290
|
+
price: 62000,
|
|
1291
|
+
category: 'Green coffee',
|
|
1292
|
+
productType: 'material',
|
|
1293
|
+
at: 2,
|
|
1294
|
+
},
|
|
1295
|
+
{
|
|
1296
|
+
name: 'Colombia green, 70 kg bag',
|
|
1297
|
+
description: 'Washed Huila, supremo screen.',
|
|
1298
|
+
price: 58000,
|
|
1299
|
+
category: 'Green coffee',
|
|
1300
|
+
productType: 'material',
|
|
1301
|
+
at: 2,
|
|
1302
|
+
},
|
|
1303
|
+
{
|
|
1304
|
+
name: 'Brazil green, 60 kg bag',
|
|
1305
|
+
description: 'Natural process, Cerrado; blend base.',
|
|
1306
|
+
price: 42000,
|
|
1307
|
+
category: 'Green coffee',
|
|
1308
|
+
productType: 'material',
|
|
1309
|
+
at: 2,
|
|
1310
|
+
},
|
|
1311
|
+
{
|
|
1312
|
+
name: 'Guatemala green, 69 kg bag',
|
|
1313
|
+
description: 'Washed Huehuetenango, SHB.',
|
|
1314
|
+
price: 56000,
|
|
1315
|
+
category: 'Green coffee',
|
|
1316
|
+
productType: 'material',
|
|
1317
|
+
at: 2,
|
|
1318
|
+
},
|
|
1319
|
+
{
|
|
1320
|
+
name: 'Decaf green, 70 kg bag',
|
|
1321
|
+
description: 'Colombian, sugarcane process.',
|
|
1322
|
+
price: 64000,
|
|
1323
|
+
category: 'Green coffee',
|
|
1324
|
+
productType: 'material',
|
|
1325
|
+
at: 2,
|
|
1326
|
+
},
|
|
1327
|
+
{
|
|
1328
|
+
name: '12 oz valve bags, case of 500',
|
|
1329
|
+
description: 'Kraft bags with one-way valve and tin tie.',
|
|
1330
|
+
price: 16500,
|
|
1331
|
+
category: 'Packaging',
|
|
1332
|
+
productType: 'material',
|
|
1333
|
+
at: 1,
|
|
1334
|
+
},
|
|
1335
|
+
],
|
|
1336
|
+
customers: [
|
|
1337
|
+
'Lantern Street Cafe',
|
|
1338
|
+
'Birchwood Bakery',
|
|
1339
|
+
'The Daily Grind',
|
|
1340
|
+
'Fieldstone Market',
|
|
1341
|
+
'Harbor View Bistro',
|
|
1342
|
+
'Claire Donnelly',
|
|
1343
|
+
'Omar Haddad',
|
|
1344
|
+
'Jenna Kowalski',
|
|
1345
|
+
],
|
|
1346
|
+
vendors: [
|
|
1347
|
+
'Highland Green Coffee Importers',
|
|
1348
|
+
'Equator Trading Co.',
|
|
1349
|
+
'Pacific Rim Coffee Imports',
|
|
1350
|
+
'Northgate Packaging Supply',
|
|
1351
|
+
'Drum & Flame Roaster Service',
|
|
1352
|
+
],
|
|
1353
|
+
notes: [
|
|
1354
|
+
'Deliver Tuesday with the bread order.',
|
|
1355
|
+
'Whole bean; they grind in house.',
|
|
1356
|
+
'Standing order; confirm the Friday before.',
|
|
1357
|
+
'Ground for drip, medium.',
|
|
1358
|
+
'Roasted two days before shipping.',
|
|
1359
|
+
],
|
|
1360
|
+
terms: ['Net 30', 'Due on receipt', 'Net 15'],
|
|
1361
|
+
customerNotes: [
|
|
1362
|
+
'Delivery days are Tuesday and Friday.',
|
|
1363
|
+
'Takes the house espresso in 5 lb bags only.',
|
|
1364
|
+
'Prefers whole bean, light roasts.',
|
|
1365
|
+
'Standing order of ten cases a month.',
|
|
1366
|
+
'Wants cupping samples before each seasonal change.',
|
|
1367
|
+
],
|
|
1368
|
+
vendorNotes: [
|
|
1369
|
+
'Container arrives in March; samples sent ahead.',
|
|
1370
|
+
'Spot lots ship from the warehouse in a week.',
|
|
1371
|
+
'Pre-ship samples on request.',
|
|
1372
|
+
'Minimum order of five cases.',
|
|
1373
|
+
'Services the drum roaster every six months.',
|
|
1374
|
+
],
|
|
1375
|
+
lineQuantity: [1, 12],
|
|
1376
|
+
locations: [
|
|
1377
|
+
{ code: 'SHELF', name: 'Retail shelf', kind: 'store' },
|
|
1378
|
+
{ code: 'ROAST', name: 'Roastery floor', kind: 'warehouse' },
|
|
1379
|
+
{ code: 'GREEN', name: 'Green coffee store', kind: 'warehouse' },
|
|
1380
|
+
],
|
|
1381
|
+
rowCounts: { '@happyvertical/smrt-products:Product': 14 },
|
|
1382
|
+
weights: {
|
|
1383
|
+
'WholesaleOrder.status': { completed: 5, accepted: 3, sent: 1, draft: 1 },
|
|
1384
|
+
'Order.status': { completed: 6, accepted: 2, sent: 1, draft: 1 },
|
|
1385
|
+
'ProductionOrder.status': { completed: 6, accepted: 3, draft: 1 },
|
|
1386
|
+
'Customer.customerType': { wholesale: 5, dtc: 2, retail: 1 },
|
|
1387
|
+
},
|
|
1388
|
+
};
|
|
1389
|
+
const EQUIPMENT_RENTAL = {
|
|
1390
|
+
id: 'equipment-rental',
|
|
1391
|
+
taxRate: 0.08,
|
|
1392
|
+
products: [
|
|
1393
|
+
{
|
|
1394
|
+
name: 'Mini excavator, 1.7 t',
|
|
1395
|
+
description: 'Tracked mini excavator with two buckets; per day.',
|
|
1396
|
+
price: 28500,
|
|
1397
|
+
category: 'Earthmoving',
|
|
1398
|
+
productType: 'product',
|
|
1399
|
+
at: 0,
|
|
1400
|
+
},
|
|
1401
|
+
{
|
|
1402
|
+
name: 'Plate compactor',
|
|
1403
|
+
description: 'Petrol plate compactor, 90 kg; per day.',
|
|
1404
|
+
price: 7500,
|
|
1405
|
+
category: 'Compaction',
|
|
1406
|
+
productType: 'product',
|
|
1407
|
+
at: 0,
|
|
1408
|
+
},
|
|
1409
|
+
{
|
|
1410
|
+
name: 'Towable generator, 25 kVA',
|
|
1411
|
+
description: 'Diesel generator on a road trailer; per day.',
|
|
1412
|
+
price: 19500,
|
|
1413
|
+
category: 'Power',
|
|
1414
|
+
productType: 'product',
|
|
1415
|
+
at: 0,
|
|
1416
|
+
},
|
|
1417
|
+
{
|
|
1418
|
+
name: 'Scissor lift, 19 ft',
|
|
1419
|
+
description: 'Electric slab scissor lift; per day.',
|
|
1420
|
+
price: 16500,
|
|
1421
|
+
category: 'Access',
|
|
1422
|
+
productType: 'product',
|
|
1423
|
+
at: 0,
|
|
1424
|
+
},
|
|
1425
|
+
{
|
|
1426
|
+
name: 'Concrete mixer, 9 cu ft',
|
|
1427
|
+
description: 'Towable petrol mixer; per day.',
|
|
1428
|
+
price: 8900,
|
|
1429
|
+
category: 'Concrete',
|
|
1430
|
+
productType: 'product',
|
|
1431
|
+
at: 0,
|
|
1432
|
+
},
|
|
1433
|
+
{
|
|
1434
|
+
name: 'Pressure washer, 4000 psi',
|
|
1435
|
+
description: 'Petrol hot-water washer with hose; per day.',
|
|
1436
|
+
price: 9500,
|
|
1437
|
+
category: 'Cleaning',
|
|
1438
|
+
productType: 'product',
|
|
1439
|
+
at: 1,
|
|
1440
|
+
},
|
|
1441
|
+
{
|
|
1442
|
+
name: 'Walk-behind trencher',
|
|
1443
|
+
description: 'Cuts a 4 in trench to 36 in deep; per day.',
|
|
1444
|
+
price: 21000,
|
|
1445
|
+
category: 'Earthmoving',
|
|
1446
|
+
productType: 'product',
|
|
1447
|
+
at: 0,
|
|
1448
|
+
},
|
|
1449
|
+
{
|
|
1450
|
+
name: 'Scaffold tower, 20 ft',
|
|
1451
|
+
description: 'Aluminium tower with deck and rails; per day.',
|
|
1452
|
+
price: 6500,
|
|
1453
|
+
category: 'Access',
|
|
1454
|
+
productType: 'product',
|
|
1455
|
+
at: 1,
|
|
1456
|
+
},
|
|
1457
|
+
],
|
|
1458
|
+
lines: [
|
|
1459
|
+
{ description: 'Mini excavator, per day', price: 28500, quantity: [1, 5] },
|
|
1460
|
+
{
|
|
1461
|
+
description: 'Scissor lift, weekly rate',
|
|
1462
|
+
price: 66000,
|
|
1463
|
+
quantity: [1, 2],
|
|
1464
|
+
},
|
|
1465
|
+
{ description: 'Delivery and pickup', price: 15000, quantity: [1, 1] },
|
|
1466
|
+
{ description: 'Damage waiver', price: 3500, quantity: [1, 1] },
|
|
1467
|
+
{ description: 'Fuel refill', price: 4500, quantity: [1, 3] },
|
|
1468
|
+
{ description: 'Operator, per hour', price: 8500, quantity: [2, 8] },
|
|
1469
|
+
{ description: 'Cleaning fee', price: 7500, quantity: [1, 1] },
|
|
1470
|
+
{ description: 'Late return, per day', price: 12000, quantity: [1, 3] },
|
|
1471
|
+
],
|
|
1472
|
+
customers: [
|
|
1473
|
+
'Cedar Ridge Contracting',
|
|
1474
|
+
'Baxter & Sons Builders',
|
|
1475
|
+
'Greenway Landscaping',
|
|
1476
|
+
'Brightline Event Co.',
|
|
1477
|
+
'Parkside Property Management',
|
|
1478
|
+
'Dale Hutchins',
|
|
1479
|
+
'Renee Alvarado',
|
|
1480
|
+
'Kevin Osei',
|
|
1481
|
+
],
|
|
1482
|
+
vendors: [
|
|
1483
|
+
'Midwest Equipment Dealers',
|
|
1484
|
+
'Heavy Parts Distribution',
|
|
1485
|
+
'Roadrunner Tire Service',
|
|
1486
|
+
'Valley Fuel Supply',
|
|
1487
|
+
'Hitch & Hydraulics Shop',
|
|
1488
|
+
],
|
|
1489
|
+
notes: [
|
|
1490
|
+
'Deposit held on card until return.',
|
|
1491
|
+
'Return with a full tank or pay the refill.',
|
|
1492
|
+
'Deliver to the site gate; call the foreman.',
|
|
1493
|
+
'Operator booked for the first morning.',
|
|
1494
|
+
'Extended a second week by phone.',
|
|
1495
|
+
],
|
|
1496
|
+
terms: ['Deposit on pickup, balance on return', 'Due on return', 'Net 30'],
|
|
1497
|
+
customerNotes: [
|
|
1498
|
+
'Account customer; invoice the office monthly.',
|
|
1499
|
+
'Needs a purchase order number on every rental.',
|
|
1500
|
+
'Picks up Saturday mornings in a half-ton truck.',
|
|
1501
|
+
'First-time renter; walk through the controls.',
|
|
1502
|
+
'Keeps a scissor lift on long-term hire.',
|
|
1503
|
+
],
|
|
1504
|
+
vendorNotes: [
|
|
1505
|
+
'Parts arrive next day if ordered before noon.',
|
|
1506
|
+
'Services the fleet under the maintenance contract.',
|
|
1507
|
+
'Comes to the yard for tyre changes.',
|
|
1508
|
+
'Fills the bulk tank every Monday.',
|
|
1509
|
+
'Rebuilds hydraulic cylinders in a week.',
|
|
1510
|
+
],
|
|
1511
|
+
instructors: ['Troy Bannister', 'Marisol Vega', 'Curtis Lang'],
|
|
1512
|
+
descriptions: {
|
|
1513
|
+
Event: [
|
|
1514
|
+
'Customer collects the machine at the counter.',
|
|
1515
|
+
'Machine checked, fuel and hours noted.',
|
|
1516
|
+
'Truck drops the machine at the site.',
|
|
1517
|
+
'Truck picks the machine up from the site.',
|
|
1518
|
+
'Oil, filters and greasing on the hour meter.',
|
|
1519
|
+
'Customer collects the machine at the counter.',
|
|
1520
|
+
'Machine checked, fuel and hours noted.',
|
|
1521
|
+
'Truck drops the machine at the site.',
|
|
1522
|
+
],
|
|
1523
|
+
EventType: [
|
|
1524
|
+
'Customer collects from the yard.',
|
|
1525
|
+
'Customer brings the machine back.',
|
|
1526
|
+
'We deliver to the site.',
|
|
1527
|
+
'We collect from the site.',
|
|
1528
|
+
'Routine servicing on the hour meter.',
|
|
1529
|
+
'Safety inspection with a written record.',
|
|
1530
|
+
'Delivery to an unattended site.',
|
|
1531
|
+
'Show a customer how the machine works.',
|
|
1532
|
+
],
|
|
1533
|
+
EventSeries: [
|
|
1534
|
+
'Servicing on the hour meter across the fleet.',
|
|
1535
|
+
'Delivery runs each week to regular sites.',
|
|
1536
|
+
'Annual safety inspections of lifts and trailers.',
|
|
1537
|
+
'Check-ins on machines out longer than a month.',
|
|
1538
|
+
'Saturday morning pickups for weekend hires.',
|
|
1539
|
+
],
|
|
1540
|
+
Place: [
|
|
1541
|
+
'Where the fleet is parked and loaded.',
|
|
1542
|
+
'Where machines are serviced and repaired.',
|
|
1543
|
+
'Wherever the customer is working.',
|
|
1544
|
+
'Where machines are cleaned on return.',
|
|
1545
|
+
'Where paperwork and deposits are done.',
|
|
1546
|
+
],
|
|
1547
|
+
},
|
|
1548
|
+
lineQuantity: [1, 7],
|
|
1549
|
+
eventNames: [
|
|
1550
|
+
'Counter pickup',
|
|
1551
|
+
'Equipment return',
|
|
1552
|
+
'Site delivery',
|
|
1553
|
+
'Site collection',
|
|
1554
|
+
'Scheduled service',
|
|
1555
|
+
'Counter pickup',
|
|
1556
|
+
'Equipment return',
|
|
1557
|
+
'Site delivery',
|
|
1558
|
+
],
|
|
1559
|
+
eventTypes: [
|
|
1560
|
+
'Pickup',
|
|
1561
|
+
'Return',
|
|
1562
|
+
'Delivery',
|
|
1563
|
+
'Collection',
|
|
1564
|
+
'Service',
|
|
1565
|
+
'Inspection',
|
|
1566
|
+
'Site drop-off',
|
|
1567
|
+
'Demo',
|
|
1568
|
+
],
|
|
1569
|
+
seriesNames: [
|
|
1570
|
+
'Scheduled servicing',
|
|
1571
|
+
'Weekly delivery runs',
|
|
1572
|
+
'Annual inspections',
|
|
1573
|
+
'Long-term rental check-ins',
|
|
1574
|
+
'Saturday pickups',
|
|
1575
|
+
],
|
|
1576
|
+
placeNames: [
|
|
1577
|
+
'Main yard',
|
|
1578
|
+
'Service bay',
|
|
1579
|
+
'Customer site',
|
|
1580
|
+
'Wash bay',
|
|
1581
|
+
'Counter',
|
|
1582
|
+
],
|
|
1583
|
+
placeTypes: ['Yard', 'Bay', 'Site', 'Counter'],
|
|
1584
|
+
locations: [
|
|
1585
|
+
{ code: 'YARD', name: 'Main yard', kind: 'yard' },
|
|
1586
|
+
{ code: 'SHOP', name: 'Service bay', kind: 'warehouse' },
|
|
1587
|
+
],
|
|
1588
|
+
weights: {
|
|
1589
|
+
'Lease.status': { accepted: 4, completed: 4, sent: 1, draft: 1 },
|
|
1590
|
+
'Estimate.status': { sent: 3, accepted: 3, declined: 1, draft: 1 },
|
|
1591
|
+
'Event.status': { scheduled: 5, completed: 4, cancelled: 1 },
|
|
1592
|
+
'Customer.customerType': { retail: 3, wholesale: 5 },
|
|
1593
|
+
},
|
|
1594
|
+
};
|
|
1595
|
+
const NONPROFIT = {
|
|
1596
|
+
id: 'nonprofit',
|
|
1597
|
+
taxRate: 0,
|
|
1598
|
+
products: [
|
|
1599
|
+
{
|
|
1600
|
+
name: 'Annual membership',
|
|
1601
|
+
price: 4500,
|
|
1602
|
+
category: 'Membership',
|
|
1603
|
+
productType: 'product',
|
|
1604
|
+
description: 'One year, one adult, voting rights.',
|
|
1605
|
+
at: 0,
|
|
1606
|
+
},
|
|
1607
|
+
{
|
|
1608
|
+
name: 'Family membership',
|
|
1609
|
+
price: 7500,
|
|
1610
|
+
category: 'Membership',
|
|
1611
|
+
productType: 'product',
|
|
1612
|
+
description: 'Two adults and children at one address.',
|
|
1613
|
+
at: 0,
|
|
1614
|
+
},
|
|
1615
|
+
{
|
|
1616
|
+
name: 'Student membership',
|
|
1617
|
+
price: 2000,
|
|
1618
|
+
category: 'Membership',
|
|
1619
|
+
productType: 'product',
|
|
1620
|
+
description: 'Full-time students with a valid card.',
|
|
1621
|
+
at: 0,
|
|
1622
|
+
},
|
|
1623
|
+
{
|
|
1624
|
+
name: 'Gala ticket',
|
|
1625
|
+
price: 8500,
|
|
1626
|
+
category: 'Events',
|
|
1627
|
+
productType: 'product',
|
|
1628
|
+
description: 'Dinner, speaker and the silent auction.',
|
|
1629
|
+
at: 0,
|
|
1630
|
+
},
|
|
1631
|
+
{
|
|
1632
|
+
name: 'Raffle ticket',
|
|
1633
|
+
price: 500,
|
|
1634
|
+
category: 'Events',
|
|
1635
|
+
productType: 'product',
|
|
1636
|
+
description: 'Drawn at the end of the gala.',
|
|
1637
|
+
at: 0,
|
|
1638
|
+
},
|
|
1639
|
+
{
|
|
1640
|
+
name: 'Club t-shirt',
|
|
1641
|
+
price: 2200,
|
|
1642
|
+
category: 'Merchandise',
|
|
1643
|
+
productType: 'product',
|
|
1644
|
+
description: 'Cotton, club logo on the front.',
|
|
1645
|
+
at: 0,
|
|
1646
|
+
},
|
|
1647
|
+
{
|
|
1648
|
+
name: 'General-fund donation',
|
|
1649
|
+
price: 5000,
|
|
1650
|
+
category: 'Donations',
|
|
1651
|
+
productType: 'product',
|
|
1652
|
+
description: 'Unrestricted gift; receipt issued.',
|
|
1653
|
+
at: 0,
|
|
1654
|
+
},
|
|
1655
|
+
{
|
|
1656
|
+
name: 'Bronze sponsorship',
|
|
1657
|
+
price: 25000,
|
|
1658
|
+
category: 'Sponsorship',
|
|
1659
|
+
productType: 'product',
|
|
1660
|
+
description: 'Logo on the newsletter for a year.',
|
|
1661
|
+
at: 0,
|
|
1662
|
+
},
|
|
1663
|
+
],
|
|
1664
|
+
lines: [
|
|
1665
|
+
{ description: 'Annual dues', price: 4500, quantity: [1, 1] },
|
|
1666
|
+
{ description: 'Family dues', price: 7500, quantity: [1, 1] },
|
|
1667
|
+
{ description: 'Student dues', price: 2000, quantity: [1, 1] },
|
|
1668
|
+
{ description: 'Donation', price: 5000, quantity: [1, 1] },
|
|
1669
|
+
{ description: 'Gala ticket', price: 8500, quantity: [1, 4] },
|
|
1670
|
+
{ description: 'Sponsorship', price: 25000, quantity: [1, 1] },
|
|
1671
|
+
{ description: 'Workshop fee', price: 1500, quantity: [1, 1] },
|
|
1672
|
+
{ description: 'Memorial gift', price: 10000, quantity: [1, 1] },
|
|
1673
|
+
],
|
|
1674
|
+
customers: [
|
|
1675
|
+
'Margaret Hollis',
|
|
1676
|
+
'Devon Achebe',
|
|
1677
|
+
'Ruth Kowalski',
|
|
1678
|
+
'Sam Delacroix',
|
|
1679
|
+
'Nora Lindqvist',
|
|
1680
|
+
'Victor Osei',
|
|
1681
|
+
'Jean Macpherson',
|
|
1682
|
+
'Harbourview Hardware',
|
|
1683
|
+
],
|
|
1684
|
+
vendors: [
|
|
1685
|
+
'Elm Street Hall Rentals',
|
|
1686
|
+
'Quick Copy Printing',
|
|
1687
|
+
'Maple Lane Catering',
|
|
1688
|
+
'Shieldstone Insurance',
|
|
1689
|
+
'Brightpath Web Hosting',
|
|
1690
|
+
],
|
|
1691
|
+
instructors: ['Alice Fenwick', 'Raj Bhattacharya', 'Carol Nguyen'],
|
|
1692
|
+
notes: [
|
|
1693
|
+
'Renewal reminder sent in March.',
|
|
1694
|
+
'Gift aid declaration on file.',
|
|
1695
|
+
'Given in memory of a founding member.',
|
|
1696
|
+
'Paid in cash at the AGM.',
|
|
1697
|
+
'Receipt mailed with the newsletter.',
|
|
1698
|
+
],
|
|
1699
|
+
terms: ['Due on receipt', 'Net 30', 'Renews each January'],
|
|
1700
|
+
customerNotes: [
|
|
1701
|
+
'Member since 2009; prefers the paper newsletter.',
|
|
1702
|
+
'Volunteers at every clean-up; bring extra gloves.',
|
|
1703
|
+
'Pays dues by cheque at the AGM.',
|
|
1704
|
+
'Asked not to be listed as a donor.',
|
|
1705
|
+
'Sponsor contact is the shop manager.',
|
|
1706
|
+
],
|
|
1707
|
+
vendorNotes: [
|
|
1708
|
+
'Hall must be booked six weeks ahead.',
|
|
1709
|
+
'Charity discount on runs over 500.',
|
|
1710
|
+
'Confirm numbers the Monday before.',
|
|
1711
|
+
'Policy renews in October; get three quotes.',
|
|
1712
|
+
'Invoices the treasurer by email each year.',
|
|
1713
|
+
],
|
|
1714
|
+
lineQuantity: [1, 1],
|
|
1715
|
+
descriptions: {
|
|
1716
|
+
Event: [
|
|
1717
|
+
'Annual report, elections and the budget vote.',
|
|
1718
|
+
'A morning of hands-on help on the grounds.',
|
|
1719
|
+
'Raffle, bake table and a plant sale.',
|
|
1720
|
+
'Open evening for members and anyone curious.',
|
|
1721
|
+
'Litter pick along the river path, gloves provided.',
|
|
1722
|
+
'Annual report, elections and the budget vote.',
|
|
1723
|
+
'A morning of hands-on help on the grounds.',
|
|
1724
|
+
'Raffle, bake table and a plant sale.',
|
|
1725
|
+
],
|
|
1726
|
+
EventType: [
|
|
1727
|
+
'A formal meeting with minutes.',
|
|
1728
|
+
'A day of volunteer work.',
|
|
1729
|
+
'An event that raises money for the fund.',
|
|
1730
|
+
'An informal gathering for members.',
|
|
1731
|
+
'Picking up litter and clearing paths.',
|
|
1732
|
+
'The board, in private session.',
|
|
1733
|
+
'A teaching session on a skill.',
|
|
1734
|
+
'Food and company, no agenda.',
|
|
1735
|
+
],
|
|
1736
|
+
EventSeries: [
|
|
1737
|
+
'First Tuesday of the month, all welcome.',
|
|
1738
|
+
'The board meets every other month.',
|
|
1739
|
+
'Four clean-ups a year, one a season.',
|
|
1740
|
+
'Our biggest fundraiser, every autumn.',
|
|
1741
|
+
'Second Saturday work parties.',
|
|
1742
|
+
],
|
|
1743
|
+
Place: [
|
|
1744
|
+
'Rented hall with a kitchen and chairs for 120.',
|
|
1745
|
+
'Small room at the back of the hall.',
|
|
1746
|
+
'Park along the river, meet at the footbridge.',
|
|
1747
|
+
'Free meeting room, book through the front desk.',
|
|
1748
|
+
'A member hosts; address in the newsletter.',
|
|
1749
|
+
],
|
|
1750
|
+
},
|
|
1751
|
+
eventNames: [
|
|
1752
|
+
'Annual general meeting',
|
|
1753
|
+
'Volunteer Saturday',
|
|
1754
|
+
'Spring fundraiser',
|
|
1755
|
+
'Monthly meetup',
|
|
1756
|
+
'River clean-up',
|
|
1757
|
+
'Annual general meeting',
|
|
1758
|
+
'Volunteer Saturday',
|
|
1759
|
+
'Spring fundraiser',
|
|
1760
|
+
],
|
|
1761
|
+
eventTypes: [
|
|
1762
|
+
'Meeting',
|
|
1763
|
+
'Volunteer day',
|
|
1764
|
+
'Fundraiser',
|
|
1765
|
+
'Meetup',
|
|
1766
|
+
'Clean-up',
|
|
1767
|
+
'Board meeting',
|
|
1768
|
+
'Workshop',
|
|
1769
|
+
'Social',
|
|
1770
|
+
],
|
|
1771
|
+
seriesNames: [
|
|
1772
|
+
'Monthly meetup',
|
|
1773
|
+
'Board meetings',
|
|
1774
|
+
'Quarterly clean-ups',
|
|
1775
|
+
'Annual gala',
|
|
1776
|
+
'Volunteer Saturdays',
|
|
1777
|
+
],
|
|
1778
|
+
placeNames: [
|
|
1779
|
+
'Community hall',
|
|
1780
|
+
'Meeting room',
|
|
1781
|
+
'Riverside park',
|
|
1782
|
+
'Public library',
|
|
1783
|
+
"Member's garden",
|
|
1784
|
+
],
|
|
1785
|
+
placeTypes: ['Hall', 'Room', 'Park', 'Library'],
|
|
1786
|
+
locations: [
|
|
1787
|
+
{ code: 'HALL', name: 'Community hall storage', kind: 'warehouse' },
|
|
1788
|
+
{ code: 'DESK', name: 'Welcome desk', kind: 'store' },
|
|
1789
|
+
],
|
|
1790
|
+
weights: {
|
|
1791
|
+
'Agreement.status': { accepted: 6, sent: 1, completed: 2, cancelled: 1 },
|
|
1792
|
+
'Event.status': { scheduled: 5, completed: 4, cancelled: 1 },
|
|
1793
|
+
'Payment.method': { check: 3, credit_card: 4, bank_transfer: 2, cash: 1 },
|
|
1794
|
+
'Invoice.status': { paid: 5, sent: 2, overdue: 1, draft: 1 },
|
|
1795
|
+
'Customer.customerType': { retail: 1 },
|
|
1796
|
+
},
|
|
1797
|
+
};
|
|
1798
|
+
const AGENCY = {
|
|
1799
|
+
id: 'agency',
|
|
1800
|
+
taxRate: 0,
|
|
1801
|
+
products: [
|
|
1802
|
+
{
|
|
1803
|
+
name: 'Brand identity package',
|
|
1804
|
+
price: 1200000,
|
|
1805
|
+
category: 'Brand',
|
|
1806
|
+
productType: 'product',
|
|
1807
|
+
description: 'Logo, type, colour and a short guide.',
|
|
1808
|
+
at: 0,
|
|
1809
|
+
},
|
|
1810
|
+
{
|
|
1811
|
+
name: 'Website design phase',
|
|
1812
|
+
price: 850000,
|
|
1813
|
+
category: 'Digital',
|
|
1814
|
+
productType: 'product',
|
|
1815
|
+
description: 'Wireframes through final screens.',
|
|
1816
|
+
at: 0,
|
|
1817
|
+
},
|
|
1818
|
+
{
|
|
1819
|
+
name: 'Strategy workshop day',
|
|
1820
|
+
price: 320000,
|
|
1821
|
+
category: 'Strategy',
|
|
1822
|
+
productType: 'product',
|
|
1823
|
+
description: 'One day with the client team, write-up after.',
|
|
1824
|
+
at: 0,
|
|
1825
|
+
},
|
|
1826
|
+
{
|
|
1827
|
+
name: 'Monthly retainer',
|
|
1828
|
+
price: 600000,
|
|
1829
|
+
category: 'Retainer',
|
|
1830
|
+
productType: 'product',
|
|
1831
|
+
description: 'Forty hours a month, rolled for one month.',
|
|
1832
|
+
at: 0,
|
|
1833
|
+
},
|
|
1834
|
+
{
|
|
1835
|
+
name: 'Research and discovery sprint',
|
|
1836
|
+
price: 450000,
|
|
1837
|
+
category: 'Strategy',
|
|
1838
|
+
productType: 'product',
|
|
1839
|
+
description: 'Two weeks of interviews and a findings deck.',
|
|
1840
|
+
at: 0,
|
|
1841
|
+
},
|
|
1842
|
+
{
|
|
1843
|
+
name: 'Pitch deck design',
|
|
1844
|
+
price: 280000,
|
|
1845
|
+
category: 'Design',
|
|
1846
|
+
productType: 'product',
|
|
1847
|
+
description: 'Up to twenty slides, two rounds.',
|
|
1848
|
+
at: 0,
|
|
1849
|
+
},
|
|
1850
|
+
{
|
|
1851
|
+
name: 'Copywriting, per page',
|
|
1852
|
+
price: 45000,
|
|
1853
|
+
category: 'Content',
|
|
1854
|
+
productType: 'product',
|
|
1855
|
+
description: 'Draft, one revision, final.',
|
|
1856
|
+
at: 0,
|
|
1857
|
+
},
|
|
1858
|
+
{
|
|
1859
|
+
name: 'Print production coordination',
|
|
1860
|
+
price: 90000,
|
|
1861
|
+
category: 'Print',
|
|
1862
|
+
productType: 'product',
|
|
1863
|
+
description: 'Quotes, proofs and press check.',
|
|
1864
|
+
at: 0,
|
|
1865
|
+
},
|
|
1866
|
+
],
|
|
1867
|
+
lines: [
|
|
1868
|
+
{ description: 'Design, per hour', price: 15000, quantity: [4, 40] },
|
|
1869
|
+
{ description: 'Strategy workshop day', price: 320000, quantity: [1, 1] },
|
|
1870
|
+
{ description: 'Brand identity package', price: 1200000, quantity: [1, 1] },
|
|
1871
|
+
{ description: 'Website design, phase 1', price: 850000, quantity: [1, 1] },
|
|
1872
|
+
{ description: 'Monthly retainer', price: 600000, quantity: [1, 1] },
|
|
1873
|
+
{ description: 'Research and discovery', price: 450000, quantity: [1, 1] },
|
|
1874
|
+
{ description: 'Copywriting, per page', price: 45000, quantity: [4, 40] },
|
|
1875
|
+
{
|
|
1876
|
+
description: 'Print production coordination',
|
|
1877
|
+
price: 90000,
|
|
1878
|
+
quantity: [1, 1],
|
|
1879
|
+
},
|
|
1880
|
+
],
|
|
1881
|
+
customers: [
|
|
1882
|
+
'Lowland Brewing Co.',
|
|
1883
|
+
'Carver & Ostrowski LLP',
|
|
1884
|
+
'Birch Street Family Clinic',
|
|
1885
|
+
'Parcelwise Software',
|
|
1886
|
+
'Department of Geography, Harlow University',
|
|
1887
|
+
'Visit Port Ellery',
|
|
1888
|
+
'Stave & Grain Furniture',
|
|
1889
|
+
'Northgate Food Bank',
|
|
1890
|
+
],
|
|
1891
|
+
vendors: [
|
|
1892
|
+
'Halftone Press',
|
|
1893
|
+
'Ines Marchetti Photography',
|
|
1894
|
+
'Kerning House Type Foundry',
|
|
1895
|
+
'Stackline Hosting',
|
|
1896
|
+
'Owen Tsai, developer',
|
|
1897
|
+
],
|
|
1898
|
+
instructors: ['Jordan Blake', 'Priya Sethi', 'Marcus Lindgren'],
|
|
1899
|
+
notes: [
|
|
1900
|
+
'Scope change agreed by email on the 12th.',
|
|
1901
|
+
'Awaiting client approval on round two.',
|
|
1902
|
+
'Billable to the retainer, not the project.',
|
|
1903
|
+
'Receipts attached for print and courier.',
|
|
1904
|
+
'Final files released on payment.',
|
|
1905
|
+
],
|
|
1906
|
+
terms: ['Net 30', 'Net 15', '50% deposit, balance on delivery'],
|
|
1907
|
+
customerNotes: [
|
|
1908
|
+
'Marketing lead approves; the owner signs.',
|
|
1909
|
+
'Needs a PO number on every invoice.',
|
|
1910
|
+
'Quarterly budget; send estimates in the first week.',
|
|
1911
|
+
'Brand guide is in the shared folder.',
|
|
1912
|
+
'Prefers a call to a long email.',
|
|
1913
|
+
],
|
|
1914
|
+
vendorNotes: [
|
|
1915
|
+
'Allow ten working days from approved proof.',
|
|
1916
|
+
'Half-day minimum; travel billed at cost.',
|
|
1917
|
+
'Licence covers one client per purchase.',
|
|
1918
|
+
'Annual plan renews in May.',
|
|
1919
|
+
'Books up fast; confirm dates a month ahead.',
|
|
1920
|
+
],
|
|
1921
|
+
lineQuantity: [1, 1],
|
|
1922
|
+
descriptions: {
|
|
1923
|
+
Event: [
|
|
1924
|
+
'Goals, roles, timeline and how we work together.',
|
|
1925
|
+
'Walk through the current round and collect feedback.',
|
|
1926
|
+
'Half-day session to map the audience and the problem.',
|
|
1927
|
+
'Thirty minutes on progress, blockers and next steps.',
|
|
1928
|
+
'Present credentials and an approach to a prospect.',
|
|
1929
|
+
'Goals, roles, timeline and how we work together.',
|
|
1930
|
+
'Walk through the current round and collect feedback.',
|
|
1931
|
+
'Half-day session to map the audience and the problem.',
|
|
1932
|
+
],
|
|
1933
|
+
EventType: [
|
|
1934
|
+
'First meeting of a project.',
|
|
1935
|
+
'Client feedback on work in progress.',
|
|
1936
|
+
'Working session with the client team.',
|
|
1937
|
+
'Short recurring status call.',
|
|
1938
|
+
'Meeting a prospective client.',
|
|
1939
|
+
'What went well and what to change.',
|
|
1940
|
+
'Showing finished work.',
|
|
1941
|
+
'Studio only, no client.',
|
|
1942
|
+
],
|
|
1943
|
+
EventSeries: [
|
|
1944
|
+
'Same slot every week for each active project.',
|
|
1945
|
+
'Fifteen minutes to start the week.',
|
|
1946
|
+
'Hours used, hours left, what is next.',
|
|
1947
|
+
'Capacity and pipeline for the coming quarter.',
|
|
1948
|
+
'Afternoons kept free for pitches and proposals.',
|
|
1949
|
+
],
|
|
1950
|
+
Place: [
|
|
1951
|
+
'Our main room; projector and a long table.',
|
|
1952
|
+
'At the client, address in the calendar invite.',
|
|
1953
|
+
'Link in the invite.',
|
|
1954
|
+
'Desk space we rent by the day.',
|
|
1955
|
+
'Booked through the building front desk.',
|
|
1956
|
+
],
|
|
1957
|
+
},
|
|
1958
|
+
eventNames: [
|
|
1959
|
+
'Project kickoff',
|
|
1960
|
+
'Design review',
|
|
1961
|
+
'Discovery workshop',
|
|
1962
|
+
'Weekly check-in',
|
|
1963
|
+
'New business pitch',
|
|
1964
|
+
'Project kickoff',
|
|
1965
|
+
'Design review',
|
|
1966
|
+
'Discovery workshop',
|
|
1967
|
+
],
|
|
1968
|
+
eventTypes: [
|
|
1969
|
+
'Kickoff',
|
|
1970
|
+
'Review',
|
|
1971
|
+
'Workshop',
|
|
1972
|
+
'Check-in',
|
|
1973
|
+
'Pitch',
|
|
1974
|
+
'Retrospective',
|
|
1975
|
+
'Presentation',
|
|
1976
|
+
'Internal',
|
|
1977
|
+
],
|
|
1978
|
+
seriesNames: [
|
|
1979
|
+
'Weekly client check-ins',
|
|
1980
|
+
'Monday studio stand-up',
|
|
1981
|
+
'Monthly retainer reviews',
|
|
1982
|
+
'Quarterly planning',
|
|
1983
|
+
'New business Fridays',
|
|
1984
|
+
],
|
|
1985
|
+
placeNames: [
|
|
1986
|
+
'Studio',
|
|
1987
|
+
'Client office',
|
|
1988
|
+
'Video call',
|
|
1989
|
+
'Coworking space',
|
|
1990
|
+
'Conference room',
|
|
1991
|
+
],
|
|
1992
|
+
placeTypes: ['Studio', 'Office', 'Online', 'Room'],
|
|
1993
|
+
locations: [
|
|
1994
|
+
{ code: 'STUDIO', name: 'Studio', kind: 'store' },
|
|
1995
|
+
{ code: 'ARCHIVE', name: 'Print archive', kind: 'warehouse' },
|
|
1996
|
+
],
|
|
1997
|
+
weights: {
|
|
1998
|
+
'Estimate.status': { accepted: 4, sent: 3, draft: 1, declined: 1 },
|
|
1999
|
+
'Agreement.status': { accepted: 5, sent: 2, completed: 2, draft: 1 },
|
|
2000
|
+
'Event.status': { scheduled: 5, completed: 4, cancelled: 1 },
|
|
2001
|
+
'Invoice.status': { paid: 4, sent: 3, overdue: 1, draft: 1 },
|
|
2002
|
+
},
|
|
2003
|
+
};
|
|
798
2004
|
/** The packs that ship with cookbooks, by cookbook id. */
|
|
799
2005
|
export const COOKBOOK_PACKS = {
|
|
800
2006
|
[BAKERY.id]: BAKERY,
|
|
801
2007
|
[MECHANIC.id]: MECHANIC,
|
|
802
2008
|
[WELDER.id]: WELDER,
|
|
803
2009
|
[YOGA.id]: YOGA,
|
|
2010
|
+
[LANDSCAPING.id]: LANDSCAPING,
|
|
2011
|
+
[SALON.id]: SALON,
|
|
2012
|
+
[ROASTER.id]: ROASTER,
|
|
2013
|
+
[EQUIPMENT_RENTAL.id]: EQUIPMENT_RENTAL,
|
|
2014
|
+
[NONPROFIT.id]: NONPROFIT,
|
|
2015
|
+
[AGENCY.id]: AGENCY,
|
|
804
2016
|
};
|
|
805
2017
|
let active = GENERIC_PACK;
|
|
806
2018
|
/** The pack the generator reads right now. */
|
|
@@ -828,3 +2040,15 @@ export function setSampleTaxRate(rate) {
|
|
|
828
2040
|
export function getSampleTaxRate() {
|
|
829
2041
|
return taxRateOverride ?? active.taxRate;
|
|
830
2042
|
}
|
|
2043
|
+
const DEFAULT_PRICING = {
|
|
2044
|
+
pricesIncludeTax: false,
|
|
2045
|
+
taxRounding: 'line',
|
|
2046
|
+
currency: 'USD',
|
|
2047
|
+
};
|
|
2048
|
+
let pricing = DEFAULT_PRICING;
|
|
2049
|
+
export function setSamplePricing(next) {
|
|
2050
|
+
pricing = { ...DEFAULT_PRICING, ...next };
|
|
2051
|
+
}
|
|
2052
|
+
export function getSamplePricing() {
|
|
2053
|
+
return pricing;
|
|
2054
|
+
}
|