@cyc-seattle/platform 1.54.0 → 1.55.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 +15 -17
- package/dist/planning/activities.js +2 -2
- package/dist/planning/bonus.js +1 -1
- package/dist/planning/context.d.ts +4 -4
- package/dist/planning/context.js +5 -9
- package/dist/planning/engine.js +1 -1
- package/dist/planning/lines.js +2 -2
- package/dist/planning/salaried.js +7 -2
- package/dist/planning/staffing.d.ts +4 -11
- package/dist/planning/staffing.js +26 -62
- package/dist/planning/types.d.ts +32 -40
- package/dist/schema/index.d.ts +131 -162
- package/package.json +1 -1
package/dist/schema/index.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ export interface Schema {
|
|
|
21
21
|
clubspot_sessions: ClubspotSessions[];
|
|
22
22
|
contact_points: ContactPoints[];
|
|
23
23
|
contacts: Contacts[];
|
|
24
|
+
financial_plans: FinancialPlans[];
|
|
24
25
|
google_group_memberships: GoogleGroupMemberships[];
|
|
25
26
|
google_groups: GoogleGroups[];
|
|
26
27
|
group_members: GroupMembers[];
|
|
@@ -61,7 +62,6 @@ export interface Schema {
|
|
|
61
62
|
plan_staff_levels: PlanStaffLevels[];
|
|
62
63
|
plan_terms: PlanTerms[];
|
|
63
64
|
plan_trips: PlanTrips[];
|
|
64
|
-
plan_versions: PlanVersions[];
|
|
65
65
|
plans: Plans[];
|
|
66
66
|
products: Products[];
|
|
67
67
|
program_area_role_assignments: ProgramAreaRoleAssignments[];
|
|
@@ -77,8 +77,6 @@ export interface Schema {
|
|
|
77
77
|
sync_runs: SyncRuns[];
|
|
78
78
|
sync_tasks: SyncTasks[];
|
|
79
79
|
venues: Venues[];
|
|
80
|
-
version_set_members: VersionSetMembers[];
|
|
81
|
-
version_sets: VersionSets[];
|
|
82
80
|
website_categories: WebsiteCategories[];
|
|
83
81
|
website_categories_faq_topics: WebsiteCategoriesFaqTopics[];
|
|
84
82
|
website_categories_files: WebsiteCategoriesFiles[];
|
|
@@ -147,6 +145,7 @@ export interface Assets {
|
|
|
147
145
|
acquired_on: string | null;
|
|
148
146
|
/** The day CSC sold, scrapped, or gave it away. Planning stops counting it on this day. Empty while CSC still has it. */
|
|
149
147
|
disposed_on: string | null;
|
|
148
|
+
/** Up to 280 characters. Bold, italic, code and links work. */
|
|
150
149
|
note: string | null;
|
|
151
150
|
}
|
|
152
151
|
/** Something a sync noticed but didn't fix. A dismissed finding stays dismissed on later runs. */
|
|
@@ -396,6 +395,36 @@ export interface Contacts {
|
|
|
396
395
|
contact_order: number | null;
|
|
397
396
|
relationship_detail: string | null;
|
|
398
397
|
}
|
|
398
|
+
/** The organization's plan for a year: an Operations Plan and a Program Plan for any of the program areas. Change it while it's a draft. Freezing it keeps it, and its plans, from changing. Pick a parent when you add one, and its plans are copied in. */
|
|
399
|
+
export interface FinancialPlans {
|
|
400
|
+
id: string;
|
|
401
|
+
/** The organization the Financial Plan is for. */
|
|
402
|
+
organization_id: string | Organizations;
|
|
403
|
+
/** The year the Financial Plan is for. */
|
|
404
|
+
fiscal_year: number;
|
|
405
|
+
/** Such as 2027 budget as adopted. You can change it after it's frozen. */
|
|
406
|
+
name: string;
|
|
407
|
+
/** What it's for, such as "Reviewed with the board". Up to 280 characters. Bold, italic, code and links work. You can change it after it's frozen. */
|
|
408
|
+
note: string | null;
|
|
409
|
+
/** Set it to frozen to freeze the Financial Plan and its plans. A frozen one never changes, apart from its name, its note, the date it's active from, and whether it's archived. */
|
|
410
|
+
status: "draft" | "frozen";
|
|
411
|
+
/** The Financial Plan this one started as a copy of. Pick it when you add this one, and its plans are copied in. */
|
|
412
|
+
parent_id: string | FinancialPlans | null;
|
|
413
|
+
/** Set when the Financial Plan is frozen. */
|
|
414
|
+
frozen_by: string | null;
|
|
415
|
+
/** Set when the Financial Plan is frozen. */
|
|
416
|
+
frozen_at: string | null;
|
|
417
|
+
/** The version of the planning engine that calculated its numbers when it was frozen. */
|
|
418
|
+
platform_version: string | null;
|
|
419
|
+
/** The day the Financial Plan is in force from. Leave it empty for one that isn't active. On any day, the plan in force is the one for the year with the latest date on or before that day. A draft can be active. No two Financial Plans for a year can share a date. */
|
|
420
|
+
effective_from: string | null;
|
|
421
|
+
/** Set when the Financial Plan is archived, which hides it from Planning's list. Clear it to bring the plan back. The plan in force can't be archived. */
|
|
422
|
+
archived_at: string | null;
|
|
423
|
+
/** The organization's P&L. A draft's is worked out again a moment after each change to it. A frozen one's is worked out once, when it's frozen. One with none means working it out failed, and the logs say why. */
|
|
424
|
+
results: (string | PlanResults)[];
|
|
425
|
+
/** The plans it holds: one Operations Plan, and at most one Program Plan for each program area. Add or remove one only while it's a draft. */
|
|
426
|
+
plans: (string | Plans)[];
|
|
427
|
+
}
|
|
399
428
|
/** One row for each person the sync has seen in a program's Google Group. Set Removed at to stop the sync adding them back. Delete the row to let the sync add them again. */
|
|
400
429
|
export interface GoogleGroupMemberships {
|
|
401
430
|
id: string;
|
|
@@ -562,9 +591,9 @@ export interface People {
|
|
|
562
591
|
/** One dated activity, such as a practice, a regatta day, or a travel day. */
|
|
563
592
|
export interface PlanActivities {
|
|
564
593
|
id: string;
|
|
565
|
-
/** The
|
|
566
|
-
|
|
567
|
-
/** Stays the same
|
|
594
|
+
/** The plan this row belongs to. */
|
|
595
|
+
plan_id: string | Plans;
|
|
596
|
+
/** Stays the same when a Financial Plan is copied. Copy it where another row asks for this one's Key. */
|
|
568
597
|
key: string;
|
|
569
598
|
offering_id: string | PlanOfferings;
|
|
570
599
|
/** The trip a travel day belongs to. */
|
|
@@ -583,9 +612,9 @@ export interface PlanActivities {
|
|
|
583
612
|
/** Activities on one date that share their staff, RIBs and boats, such as Guppies and Minnows on the morning of July 13. */
|
|
584
613
|
export interface PlanActivityBlocks {
|
|
585
614
|
id: string;
|
|
586
|
-
/** The
|
|
587
|
-
|
|
588
|
-
/** Stays the same
|
|
615
|
+
/** The plan this row belongs to. */
|
|
616
|
+
plan_id: string | Plans;
|
|
617
|
+
/** Stays the same when a Financial Plan is copied. Copy it where another row asks for this one's Key. */
|
|
589
618
|
key: string;
|
|
590
619
|
date: string;
|
|
591
620
|
/** Such as Guppies and Minnows, morning. */
|
|
@@ -594,9 +623,9 @@ export interface PlanActivityBlocks {
|
|
|
594
623
|
/** Boats of one class a block sails: the organization's, and the ones sailors bring. */
|
|
595
624
|
export interface PlanBlockBoats {
|
|
596
625
|
id: string;
|
|
597
|
-
/** The
|
|
598
|
-
|
|
599
|
-
/** Stays the same
|
|
626
|
+
/** The plan this row belongs to. */
|
|
627
|
+
plan_id: string | Plans;
|
|
628
|
+
/** Stays the same when a Financial Plan is copied. Copy it where another row asks for this one's Key. */
|
|
600
629
|
key: string;
|
|
601
630
|
block_id: string | PlanActivityBlocks;
|
|
602
631
|
boat_class_id: string | BoatClasses;
|
|
@@ -610,9 +639,9 @@ export interface PlanBlockBoats {
|
|
|
610
639
|
/** Who coaches a block: a number of staff at one staff level, or a salaried position. */
|
|
611
640
|
export interface PlanBlockStaff {
|
|
612
641
|
id: string;
|
|
613
|
-
/** The
|
|
614
|
-
|
|
615
|
-
/** Stays the same
|
|
642
|
+
/** The plan this row belongs to. */
|
|
643
|
+
plan_id: string | Plans;
|
|
644
|
+
/** Stays the same when a Financial Plan is copied. Copy it where another row asks for this one's Key. */
|
|
616
645
|
key: string;
|
|
617
646
|
block_id: string | PlanActivityBlocks;
|
|
618
647
|
/** For staff at a staff level: copy the Key from a staff level in the Operations Plan. Leave it empty for a salaried position. */
|
|
@@ -627,9 +656,9 @@ export interface PlanBlockStaff {
|
|
|
627
656
|
/** What an hour of sailing costs in maintenance, for each boat class. */
|
|
628
657
|
export interface PlanBoatRates {
|
|
629
658
|
id: string;
|
|
630
|
-
/** The
|
|
631
|
-
|
|
632
|
-
/** Stays the same
|
|
659
|
+
/** The plan this row belongs to. */
|
|
660
|
+
plan_id: string | Plans;
|
|
661
|
+
/** Stays the same when a Financial Plan is copied. Copy it where another row asks for this one's Key. */
|
|
633
662
|
key: string;
|
|
634
663
|
boat_class_id: string | BoatClasses;
|
|
635
664
|
/** Upkeep for each hour one of CSC's boats of the class is on the water. In cents: 12500 is $125.00. */
|
|
@@ -642,9 +671,9 @@ export interface PlanBoatRates {
|
|
|
642
671
|
/** The products a bonus owner owns. */
|
|
643
672
|
export interface PlanBonusOwnerProducts {
|
|
644
673
|
id: string;
|
|
645
|
-
/** The
|
|
646
|
-
|
|
647
|
-
/** Stays the same
|
|
674
|
+
/** The plan this row belongs to. */
|
|
675
|
+
plan_id: string | Plans;
|
|
676
|
+
/** Stays the same when a Financial Plan is copied. Copy it where another row asks for this one's Key. */
|
|
648
677
|
key: string;
|
|
649
678
|
bonus_owner_id: string | PlanBonusOwners;
|
|
650
679
|
product_id: string | Products;
|
|
@@ -652,9 +681,9 @@ export interface PlanBonusOwnerProducts {
|
|
|
652
681
|
/** A role, such as a program area's director, that earns a bonus on the products it owns. */
|
|
653
682
|
export interface PlanBonusOwners {
|
|
654
683
|
id: string;
|
|
655
|
-
/** The
|
|
656
|
-
|
|
657
|
-
/** Stays the same
|
|
684
|
+
/** The plan this row belongs to. */
|
|
685
|
+
plan_id: string | Plans;
|
|
686
|
+
/** Stays the same when a Financial Plan is copied. Copy it where another row asks for this one's Key. */
|
|
658
687
|
key: string;
|
|
659
688
|
role_name: string;
|
|
660
689
|
/** A share of its products' net. 0.05 means 5%. */
|
|
@@ -668,9 +697,9 @@ export interface PlanBonusOwners {
|
|
|
668
697
|
/** A cost or revenue entered as an amount. */
|
|
669
698
|
export interface PlanBudgetLines {
|
|
670
699
|
id: string;
|
|
671
|
-
/** The
|
|
672
|
-
|
|
673
|
-
/** Stays the same
|
|
700
|
+
/** The plan this row belongs to. */
|
|
701
|
+
plan_id: string | Plans;
|
|
702
|
+
/** Stays the same when a Financial Plan is copied. Copy it where another row asks for this one's Key. */
|
|
674
703
|
key: string;
|
|
675
704
|
name: string;
|
|
676
705
|
account_id: string | Accounts;
|
|
@@ -683,14 +712,15 @@ export interface PlanBudgetLines {
|
|
|
683
712
|
fiscal_year: number;
|
|
684
713
|
/** Counts toward modified total direct costs (MTDC). Clear it for a cost 2 CFR 200.1 leaves out, such as equipment. */
|
|
685
714
|
in_mtdc: boolean;
|
|
715
|
+
/** Up to 280 characters. Bold, italic, code and links work. */
|
|
686
716
|
note: string | null;
|
|
687
717
|
}
|
|
688
718
|
/** Something lasting CSC means to buy, ranked with the most needed first. */
|
|
689
719
|
export interface PlanCapitalItems {
|
|
690
720
|
id: string;
|
|
691
|
-
/** The
|
|
692
|
-
|
|
693
|
-
/** Stays the same
|
|
721
|
+
/** The plan this row belongs to. */
|
|
722
|
+
plan_id: string | Plans;
|
|
723
|
+
/** Stays the same when a Financial Plan is copied. Copy it where another row asks for this one's Key. */
|
|
694
724
|
key: string;
|
|
695
725
|
/** What to buy, such as a coach boat. */
|
|
696
726
|
name: string;
|
|
@@ -700,7 +730,7 @@ export interface PlanCapitalItems {
|
|
|
700
730
|
account_id: string | Accounts;
|
|
701
731
|
/** 1 is the most needed. Drag rows in the table to reorder them. */
|
|
702
732
|
sort: number | null;
|
|
703
|
-
/**
|
|
733
|
+
/** Up to 280 characters. Bold, italic, code and links work. */
|
|
704
734
|
note: string | null;
|
|
705
735
|
/** A quote or listing for it, as a web address. */
|
|
706
736
|
link: string | null;
|
|
@@ -708,9 +738,9 @@ export interface PlanCapitalItems {
|
|
|
708
738
|
/** A day the organization is closed, such as Labor Day. The P&L warns about an activity on one. */
|
|
709
739
|
export interface PlanClosedDates {
|
|
710
740
|
id: string;
|
|
711
|
-
/** The
|
|
712
|
-
|
|
713
|
-
/** Stays the same
|
|
741
|
+
/** The plan this row belongs to. */
|
|
742
|
+
plan_id: string | Plans;
|
|
743
|
+
/** Stays the same when a Financial Plan is copied. Copy it where another row asks for this one's Key. */
|
|
714
744
|
key: string;
|
|
715
745
|
date: string;
|
|
716
746
|
/** Why it's closed, such as Labor Day. */
|
|
@@ -719,9 +749,9 @@ export interface PlanClosedDates {
|
|
|
719
749
|
/** Labor not tied to an activity, such as training, priced at a staff level. */
|
|
720
750
|
export interface PlanLaborLines {
|
|
721
751
|
id: string;
|
|
722
|
-
/** The
|
|
723
|
-
|
|
724
|
-
/** Stays the same
|
|
752
|
+
/** The plan this row belongs to. */
|
|
753
|
+
plan_id: string | Plans;
|
|
754
|
+
/** Stays the same when a Financial Plan is copied. Copy it where another row asks for this one's Key. */
|
|
725
755
|
key: string;
|
|
726
756
|
name: string;
|
|
727
757
|
cost_center_type: "offering" | "product" | "program_area" | "pool" | "org";
|
|
@@ -732,14 +762,15 @@ export interface PlanLaborLines {
|
|
|
732
762
|
hours: string;
|
|
733
763
|
account_id: string | Accounts;
|
|
734
764
|
function: "program" | "management" | "fundraising" | null;
|
|
765
|
+
/** Up to 280 characters. Bold, italic, code and links work. */
|
|
735
766
|
note: string | null;
|
|
736
767
|
}
|
|
737
768
|
/** A product sold for a period, such as a season or a week. */
|
|
738
769
|
export interface PlanOfferings {
|
|
739
770
|
id: string;
|
|
740
|
-
/** The
|
|
741
|
-
|
|
742
|
-
/** Stays the same
|
|
771
|
+
/** The plan this row belongs to. */
|
|
772
|
+
plan_id: string | Plans;
|
|
773
|
+
/** Stays the same when a Financial Plan is copied. Copy it where another row asks for this one's Key. */
|
|
743
774
|
key: string;
|
|
744
775
|
product_id: string | Products;
|
|
745
776
|
name: string;
|
|
@@ -750,29 +781,28 @@ export interface PlanOfferings {
|
|
|
750
781
|
capacity: number | null;
|
|
751
782
|
/** Whole kids. Or set Fill rate instead. */
|
|
752
783
|
target_enrollment: number | null;
|
|
753
|
-
/** A share of capacity, used when Target enrollment is empty. 0.8 means 80%. */
|
|
754
|
-
fill_rate: string | null;
|
|
755
784
|
/** Per kid. In cents: 12500 is $125.00. */
|
|
756
785
|
price_cents: number | null;
|
|
757
786
|
/** Cost of goods sold, as a share of revenue. 0.1 means 10%. */
|
|
758
787
|
cogs_rate: string | null;
|
|
788
|
+
/** Up to 280 characters. Bold, italic, code and links work. */
|
|
759
789
|
note: string | null;
|
|
760
790
|
}
|
|
761
791
|
/** Shared costs no single offering owns, such as G&A, divided among the year's offerings by MTDC. */
|
|
762
792
|
export interface PlanPools {
|
|
763
793
|
id: string;
|
|
764
|
-
/** The
|
|
765
|
-
|
|
766
|
-
/** Stays the same
|
|
794
|
+
/** The plan this row belongs to. */
|
|
795
|
+
plan_id: string | Plans;
|
|
796
|
+
/** Stays the same when a Financial Plan is copied. Copy it where another row asks for this one's Key. */
|
|
767
797
|
key: string;
|
|
768
798
|
name: string;
|
|
769
799
|
}
|
|
770
|
-
/** A program's settings in a Program Plan: the staff level that coaches it, how many sailors each coach can take, and its
|
|
800
|
+
/** A program's settings in a Program Plan: the staff level that coaches it, how many sailors each coach can take, and its notes. */
|
|
771
801
|
export interface PlanPrograms {
|
|
772
802
|
id: string;
|
|
773
|
-
/** The
|
|
774
|
-
|
|
775
|
-
/** Stays the same
|
|
803
|
+
/** The plan this row belongs to. */
|
|
804
|
+
plan_id: string | Plans;
|
|
805
|
+
/** Stays the same when a Financial Plan is copied. Copy it where another row asks for this one's Key. */
|
|
776
806
|
key: string;
|
|
777
807
|
/** The program. */
|
|
778
808
|
product_id: string | Products;
|
|
@@ -780,15 +810,15 @@ export interface PlanPrograms {
|
|
|
780
810
|
staff_level_key: string | null;
|
|
781
811
|
/** How many sailors one coach at its staff level can safely take. */
|
|
782
812
|
sailors_per_coach: string | null;
|
|
783
|
-
/**
|
|
784
|
-
|
|
813
|
+
/** The program's rules, for your AI to follow in each of its offerings. Short notes, one a line, each up to 280 characters. Bold, italic, code and links work. */
|
|
814
|
+
notes: string[] | null;
|
|
785
815
|
}
|
|
786
|
-
/** The year's rates. One row at most in each
|
|
816
|
+
/** The year's rates. One row at most in each plan. */
|
|
787
817
|
export interface PlanRates {
|
|
788
818
|
id: string;
|
|
789
|
-
/** The
|
|
790
|
-
|
|
791
|
-
/** Stays the same
|
|
819
|
+
/** The plan this row belongs to. */
|
|
820
|
+
plan_id: string | Plans;
|
|
821
|
+
/** Stays the same when a Financial Plan is copied. Copy it where another row asks for this one's Key. */
|
|
792
822
|
key: string;
|
|
793
823
|
/** Employer payroll costs, as a share of wages. 0.1 means 10%. */
|
|
794
824
|
payroll_tax_rate: string | null;
|
|
@@ -797,7 +827,7 @@ export interface PlanRates {
|
|
|
797
827
|
/** In cents: 12500 is $125.00. */
|
|
798
828
|
mileage_rate_cents: number | null;
|
|
799
829
|
}
|
|
800
|
-
/** Each bonus in a Financial Plan, for each term, and for the offerings in no term on the year. A draft's are worked out again a moment after each change to it, and a
|
|
830
|
+
/** Each bonus in a Financial Plan, for each term, and for the offerings in no term on the year. A draft's are worked out again a moment after each change to it, and a frozen one's when it's frozen, and then never change. */
|
|
801
831
|
export interface PlanResultBonuses {
|
|
802
832
|
id: string;
|
|
803
833
|
/** The bonus's role, such as Director. */
|
|
@@ -816,15 +846,15 @@ export interface PlanResultBonuses {
|
|
|
816
846
|
bonus_owner_key: string;
|
|
817
847
|
program_area_key: string | null;
|
|
818
848
|
/** The Financial Plan these results are for. */
|
|
819
|
-
|
|
820
|
-
/** The plan
|
|
821
|
-
|
|
849
|
+
financial_plan_id: string | FinancialPlans;
|
|
850
|
+
/** The plan it's charged in, or about. */
|
|
851
|
+
plan_id: string | Plans | null;
|
|
822
852
|
}
|
|
823
|
-
/** The capital list in rank order, in a Financial Plan, with what the year's money covers. A draft's are worked out again a moment after each change to it, and a
|
|
853
|
+
/** The capital list in rank order, in a Financial Plan, with what the year's money covers. A draft's are worked out again a moment after each change to it, and a frozen one's when it's frozen, and then never change. */
|
|
824
854
|
export interface PlanResultCapital {
|
|
825
855
|
id: string;
|
|
826
856
|
/** The Financial Plan these results are for. */
|
|
827
|
-
|
|
857
|
+
financial_plan_id: string | FinancialPlans;
|
|
828
858
|
/** 1 is the most needed. */
|
|
829
859
|
rank: number | null;
|
|
830
860
|
item_key: string;
|
|
@@ -836,7 +866,7 @@ export interface PlanResultCapital {
|
|
|
836
866
|
/** Whether what's left after operations and fundraising covers it, with everything ranked above it. */
|
|
837
867
|
funded: boolean | null;
|
|
838
868
|
}
|
|
839
|
-
/** Each cost and revenue line in a Financial Plan's P&L. A draft's are worked out again a moment after each change to it, and a
|
|
869
|
+
/** Each cost and revenue line in a Financial Plan's P&L. A draft's are worked out again a moment after each change to it, and a frozen one's when it's frozen, and then never change. */
|
|
840
870
|
export interface PlanResultLines {
|
|
841
871
|
id: string;
|
|
842
872
|
cost_center_type: "offering" | "product" | "program_area" | "pool" | "org";
|
|
@@ -850,13 +880,13 @@ export interface PlanResultLines {
|
|
|
850
880
|
line: string;
|
|
851
881
|
explanation: string | null;
|
|
852
882
|
/** The Financial Plan these results are for. */
|
|
853
|
-
|
|
854
|
-
/** The plan
|
|
855
|
-
|
|
883
|
+
financial_plan_id: string | FinancialPlans;
|
|
884
|
+
/** The plan it's charged in, or about. */
|
|
885
|
+
plan_id: string | Plans | null;
|
|
856
886
|
/** What the line is, in plain words, such as G&A share: Payroll tax. */
|
|
857
887
|
line_name: string | null;
|
|
858
888
|
}
|
|
859
|
-
/** A Financial Plan's P&L for each offering, product, and program area. A draft's are worked out again a moment after each change to it, and a
|
|
889
|
+
/** A Financial Plan's P&L for each offering, product, and program area. A draft's are worked out again a moment after each change to it, and a frozen one's when it's frozen, and then never change. */
|
|
860
890
|
export interface PlanResultPnl {
|
|
861
891
|
id: string;
|
|
862
892
|
level: "offering" | "product" | "program_area" | "program_area_term";
|
|
@@ -874,9 +904,9 @@ export interface PlanResultPnl {
|
|
|
874
904
|
days: number;
|
|
875
905
|
sailor_days: number;
|
|
876
906
|
/** The Financial Plan these results are for. */
|
|
877
|
-
|
|
878
|
-
/** The plan
|
|
879
|
-
|
|
907
|
+
financial_plan_id: string | FinancialPlans;
|
|
908
|
+
/** The plan it's charged in, or about. */
|
|
909
|
+
plan_id: string | Plans | null;
|
|
880
910
|
term_key: string | null;
|
|
881
911
|
/** For a program area by term, the term. Empty for its offerings in no term, such as Adult Learn to Sail. */
|
|
882
912
|
term_name: string | null;
|
|
@@ -887,7 +917,7 @@ export interface PlanResultPnl {
|
|
|
887
917
|
/** The fewest sailors, up to its capacity, at which an offering pays for itself, with its share of shared costs as planned. Empty when it doesn't even when full, and for a product or program area. */
|
|
888
918
|
breakeven_enrollment: number | null;
|
|
889
919
|
}
|
|
890
|
-
/** Each salaried position's pay for the year, in a Financial Plan. A draft's are worked out again a moment after each change to it, and a
|
|
920
|
+
/** Each salaried position's pay for the year, in a Financial Plan. A draft's are worked out again a moment after each change to it, and a frozen one's when it's frozen, and then never change. */
|
|
891
921
|
export interface PlanResultPositions {
|
|
892
922
|
id: string;
|
|
893
923
|
position_key: string;
|
|
@@ -910,13 +940,13 @@ export interface PlanResultPositions {
|
|
|
910
940
|
/** The year's payroll tax on the total pay. In cents: 12500 is $125.00. */
|
|
911
941
|
payroll_tax_cents: number;
|
|
912
942
|
/** The Financial Plan these results are for. */
|
|
913
|
-
|
|
943
|
+
financial_plan_id: string | FinancialPlans;
|
|
914
944
|
/** Hours another coach would cover while this position coaches two or more groups at once: for three groups at once, two coaches. */
|
|
915
945
|
double_booked_hours: string | null;
|
|
916
946
|
/** Dates this position coaches two or more groups at once. */
|
|
917
947
|
double_booked_dates: number | null;
|
|
918
948
|
}
|
|
919
|
-
/** What a Financial Plan's P&L warns about. A draft's are worked out again a moment after each change to it, and a
|
|
949
|
+
/** What a Financial Plan's P&L warns about. A draft's are worked out again a moment after each change to it, and a frozen one's when it's frozen, and then never change. */
|
|
920
950
|
export interface PlanResultWarnings {
|
|
921
951
|
id: string;
|
|
922
952
|
/** The kind of warning. */
|
|
@@ -924,15 +954,15 @@ export interface PlanResultWarnings {
|
|
|
924
954
|
message: string;
|
|
925
955
|
subject_key: string | null;
|
|
926
956
|
/** The Financial Plan these results are for. */
|
|
927
|
-
|
|
928
|
-
/** The plan
|
|
929
|
-
|
|
957
|
+
financial_plan_id: string | FinancialPlans;
|
|
958
|
+
/** The plan it's charged in, or about. */
|
|
959
|
+
plan_id: string | Plans | null;
|
|
930
960
|
/** The date it's about. */
|
|
931
961
|
date: string | null;
|
|
932
962
|
/** Allocation: the blocks break a limit, or run on a closed day. Data: a row is missing or wrong. */
|
|
933
963
|
category: "allocation" | "data" | null;
|
|
934
964
|
}
|
|
935
|
-
/** A Financial Plan's totals for the organization. A draft's are worked out again a moment after each change to it, and a
|
|
965
|
+
/** A Financial Plan's totals for the organization. A draft's are worked out again a moment after each change to it, and a frozen one's when it's frozen, and then never change. */
|
|
936
966
|
export interface PlanResults {
|
|
937
967
|
id: string;
|
|
938
968
|
calculated_at: string;
|
|
@@ -953,14 +983,14 @@ export interface PlanResults {
|
|
|
953
983
|
/** Operating net, plus fundraising net, less capital. In cents: 12500 is $125.00. */
|
|
954
984
|
total_cents: number;
|
|
955
985
|
/** The Financial Plan these results are for. */
|
|
956
|
-
|
|
986
|
+
financial_plan_id: string | FinancialPlans;
|
|
957
987
|
}
|
|
958
988
|
/** A charge set as a share of each offering's revenue, such as scholarships or card fees. Operations Plan only. */
|
|
959
989
|
export interface PlanRevenueCharges {
|
|
960
990
|
id: string;
|
|
961
|
-
/** The
|
|
962
|
-
|
|
963
|
-
/** Stays the same
|
|
991
|
+
/** The plan this row belongs to. */
|
|
992
|
+
plan_id: string | Plans;
|
|
993
|
+
/** Stays the same when a Financial Plan is copied. Copy it where another row asks for this one's Key. */
|
|
964
994
|
key: string;
|
|
965
995
|
name: string;
|
|
966
996
|
/** The share of each offering's revenue: 0.02 means 2%. */
|
|
@@ -971,29 +1001,29 @@ export interface PlanRevenueCharges {
|
|
|
971
1001
|
account_id: string | Accounts;
|
|
972
1002
|
/** Counts toward MTDC. Clear it for a charge 2 CFR 200.1 leaves out, such as scholarships. */
|
|
973
1003
|
in_mtdc: boolean;
|
|
1004
|
+
/** Up to 280 characters. Bold, italic, code and links work. */
|
|
974
1005
|
note: string | null;
|
|
975
1006
|
}
|
|
976
1007
|
/** Hours of a salaried position booked to a product. */
|
|
977
1008
|
export interface PlanSalariedBookings {
|
|
978
1009
|
id: string;
|
|
979
|
-
/** The
|
|
980
|
-
|
|
981
|
-
/** Stays the same
|
|
1010
|
+
/** The plan this row belongs to. */
|
|
1011
|
+
plan_id: string | Plans;
|
|
1012
|
+
/** Stays the same when a Financial Plan is copied. Copy it where another row asks for this one's Key. */
|
|
982
1013
|
key: string;
|
|
983
1014
|
position_id: string | PlanSalariedPositions;
|
|
984
1015
|
/** The product the hours are for. Set this or the program area, not both. */
|
|
985
1016
|
product_id: string | Products | null;
|
|
986
1017
|
/** The program area the hours are for, shared among its offerings. Set this or the product, not both. */
|
|
987
1018
|
program_area_id: string | ProgramAreas | null;
|
|
988
|
-
kind: "management";
|
|
989
1019
|
hours: string;
|
|
990
1020
|
}
|
|
991
1021
|
/** A salaried position, and where the part of its salary not charged to programs goes. */
|
|
992
1022
|
export interface PlanSalariedPositions {
|
|
993
1023
|
id: string;
|
|
994
|
-
/** The
|
|
995
|
-
|
|
996
|
-
/** Stays the same
|
|
1024
|
+
/** The plan this row belongs to. */
|
|
1025
|
+
plan_id: string | Plans;
|
|
1026
|
+
/** Stays the same when a Financial Plan is copied. Copy it where another row asks for this one's Key. */
|
|
997
1027
|
key: string;
|
|
998
1028
|
name: string;
|
|
999
1029
|
/** In cents: 12500 is $125.00. */
|
|
@@ -1009,9 +1039,9 @@ export interface PlanSalariedPositions {
|
|
|
1009
1039
|
/** A level hourly staff are paid at, such as head coach. */
|
|
1010
1040
|
export interface PlanStaffLevels {
|
|
1011
1041
|
id: string;
|
|
1012
|
-
/** The
|
|
1013
|
-
|
|
1014
|
-
/** Stays the same
|
|
1042
|
+
/** The plan this row belongs to. */
|
|
1043
|
+
plan_id: string | Plans;
|
|
1044
|
+
/** Stays the same when a Financial Plan is copied. Copy it where another row asks for this one's Key. */
|
|
1015
1045
|
key: string;
|
|
1016
1046
|
name: string;
|
|
1017
1047
|
pay_type: "hourly" | "volunteer";
|
|
@@ -1021,9 +1051,9 @@ export interface PlanStaffLevels {
|
|
|
1021
1051
|
/** A planning period, such as Summer 2027, with its start and end dates. An offering in a Program Plan can be in one of its Financial Plan's terms. */
|
|
1022
1052
|
export interface PlanTerms {
|
|
1023
1053
|
id: string;
|
|
1024
|
-
/** The
|
|
1025
|
-
|
|
1026
|
-
/** Stays the same
|
|
1054
|
+
/** The plan this row belongs to. */
|
|
1055
|
+
plan_id: string | Plans;
|
|
1056
|
+
/** Stays the same when a Financial Plan is copied. Copy it where another row asks for this one's Key. */
|
|
1027
1057
|
key: string;
|
|
1028
1058
|
/** What it's called, such as Summer 2027. */
|
|
1029
1059
|
name: string;
|
|
@@ -1035,9 +1065,9 @@ export interface PlanTerms {
|
|
|
1035
1065
|
/** A trip an offering travels for, such as an away regatta. */
|
|
1036
1066
|
export interface PlanTrips {
|
|
1037
1067
|
id: string;
|
|
1038
|
-
/** The
|
|
1039
|
-
|
|
1040
|
-
/** Stays the same
|
|
1068
|
+
/** The plan this row belongs to. */
|
|
1069
|
+
plan_id: string | Plans;
|
|
1070
|
+
/** Stays the same when a Financial Plan is copied. Copy it where another row asks for this one's Key. */
|
|
1041
1071
|
key: string;
|
|
1042
1072
|
offering_id: string | PlanOfferings;
|
|
1043
1073
|
name: string;
|
|
@@ -1046,38 +1076,16 @@ export interface PlanTrips {
|
|
|
1046
1076
|
airfare_cents: number | null;
|
|
1047
1077
|
miles: number | null;
|
|
1048
1078
|
}
|
|
1049
|
-
/** One
|
|
1050
|
-
export interface PlanVersions {
|
|
1051
|
-
id: string;
|
|
1052
|
-
plan_id: string | Plans;
|
|
1053
|
-
/** The copy this one was made from, in the Financial Plan this one's started from. */
|
|
1054
|
-
parent_version_id: string | PlanVersions | null;
|
|
1055
|
-
/** Saved with its Financial Plan. A saved copy never changes, even for an admin. */
|
|
1056
|
-
status: "draft" | "saved";
|
|
1057
|
-
/** What changed in this version. */
|
|
1058
|
-
message: string | null;
|
|
1059
|
-
/** Set when its Financial Plan is saved. */
|
|
1060
|
-
saved_by: string | null;
|
|
1061
|
-
/** Set when its Financial Plan is saved. */
|
|
1062
|
-
saved_at: string | null;
|
|
1063
|
-
/** The version of the planning engine that calculated its numbers. Required to save. */
|
|
1064
|
-
platform_version: string | null;
|
|
1065
|
-
/** What you want that the plan's numbers don't capture, for your AI to fill in. For example: every Monday, Wednesday and Friday, except on SPS school holidays, from 4pm until dusk. */
|
|
1066
|
-
rules: string | null;
|
|
1067
|
-
}
|
|
1068
|
-
/** One part of a Financial Plan: a program area's Program Plan, or the Operations Plan. */
|
|
1079
|
+
/** One part of a Financial Plan, with every row it holds: a program area's Program Plan, or the Operations Plan. */
|
|
1069
1080
|
export interface Plans {
|
|
1070
1081
|
id: string;
|
|
1082
|
+
/** What you want that the plan's numbers don't capture, for your AI to fill in. Short notes, one a line, each up to 280 characters. Bold, italic, code and links work. */
|
|
1083
|
+
notes: string[] | null;
|
|
1084
|
+
/** The Financial Plan it's part of. It can't move to another. */
|
|
1085
|
+
financial_plan_id: string | FinancialPlans;
|
|
1071
1086
|
kind: "program_area" | "operations";
|
|
1072
1087
|
/** The program area the plan is for. Empty for the Operations Plan. */
|
|
1073
1088
|
program_area_id: string | ProgramAreas | null;
|
|
1074
|
-
/** The organization the plan is for. Can't change once the plan has a saved copy. */
|
|
1075
|
-
organization_id: string | Organizations;
|
|
1076
|
-
/** The plan year. Fiscal year N ends in calendar year N. Can't change once the plan has a saved copy. */
|
|
1077
|
-
fiscal_year: number;
|
|
1078
|
-
name: string;
|
|
1079
|
-
/** The plan's copy in each Financial Plan. */
|
|
1080
|
-
versions: (string | PlanVersions)[];
|
|
1081
1089
|
}
|
|
1082
1090
|
/** A lasting thing the club sells. A program also has a row in Programs. */
|
|
1083
1091
|
export interface Products {
|
|
@@ -1226,45 +1234,6 @@ export interface Venues {
|
|
|
1226
1234
|
/** Other names it goes by, such as on a regatta's notice of race. */
|
|
1227
1235
|
aliases: string[] | null;
|
|
1228
1236
|
}
|
|
1229
|
-
/** One plan in a Financial Plan: the copy of the plan it holds. Add or remove one only while the Financial Plan is a draft. */
|
|
1230
|
-
export interface VersionSetMembers {
|
|
1231
|
-
id: string;
|
|
1232
|
-
version_set_id: string | VersionSets;
|
|
1233
|
-
/** Filled in from the plan copy. */
|
|
1234
|
-
plan_id: string | Plans | null;
|
|
1235
|
-
/** The plan's copy in this Financial Plan. It's in no other Financial Plan. */
|
|
1236
|
-
version_id: string | PlanVersions;
|
|
1237
|
-
}
|
|
1238
|
-
/** The organization's plan for a year: one Operations Plan, and a Program Plan for any of the program areas, with the P&L they make together. Change its plans while it's a draft. Its P&L is worked out again a moment after each change. Saving it saves them all, and then it never changes, apart from its name and note. Pick a parent when you add one, and its plans are copied in. */
|
|
1239
|
-
export interface VersionSets {
|
|
1240
|
-
id: string;
|
|
1241
|
-
/** The organization the Financial Plan is for. */
|
|
1242
|
-
organization_id: string | Organizations;
|
|
1243
|
-
/** The year the Financial Plan is for. */
|
|
1244
|
-
fiscal_year: number;
|
|
1245
|
-
/** Such as 2027 budget as adopted. You can change it after it's saved. */
|
|
1246
|
-
name: string;
|
|
1247
|
-
/** What it was for, such as "Reviewed with the board". You can change it after it's saved. */
|
|
1248
|
-
message: string | null;
|
|
1249
|
-
/** Set it to saved to save the Financial Plan and all its plans. A saved Financial Plan never changes, apart from its name, its note, the date it's active from, and whether it's archived. */
|
|
1250
|
-
status: "draft" | "saved";
|
|
1251
|
-
/** The Financial Plan this one started as a copy of. Pick it when you add this one, and its plans are copied in. */
|
|
1252
|
-
parent_id: string | VersionSets | null;
|
|
1253
|
-
/** Set when the Financial Plan is saved. */
|
|
1254
|
-
saved_by: string | null;
|
|
1255
|
-
/** Set when the Financial Plan is saved. */
|
|
1256
|
-
saved_at: string | null;
|
|
1257
|
-
/** The version of the planning engine that calculated its numbers. */
|
|
1258
|
-
platform_version: string | null;
|
|
1259
|
-
/** The day the Financial Plan is in force from. Leave it empty for one that isn't active. On any day, the plan in force is the one for the year with the latest date on or before that day. A draft can be active. No two Financial Plans for a year can share a date. */
|
|
1260
|
-
effective_from: string | null;
|
|
1261
|
-
/** Set when the Financial Plan is archived, which hides it from Planning's list. Clear it to bring the plan back. The plan in force can't be archived. */
|
|
1262
|
-
archived_at: string | null;
|
|
1263
|
-
/** Each plan in the Financial Plan. Add or remove one only while it's a draft. */
|
|
1264
|
-
members: (string | VersionSetMembers)[];
|
|
1265
|
-
/** The organization's P&L. A draft's is worked out again a moment after each change to it. A saved one's is what it showed when it was saved, worked out a moment after. One with none means working it out failed, and the logs say why. An admin can fill in a saved one's. */
|
|
1266
|
-
results: (string | PlanResults)[];
|
|
1267
|
-
}
|
|
1268
1237
|
/** Program categories, such as Summer Sailing Camps, each with a page at /program-category/ and its slug. */
|
|
1269
1238
|
export interface WebsiteCategories {
|
|
1270
1239
|
id: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyc-seattle/platform",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.55.1",
|
|
4
4
|
"description": "Pulumi components for CYC's shared Google Cloud platform: WebService, the platform outputs reader, and the stacks that build the platform",
|
|
5
5
|
"author": "CYC Community Sailing Center",
|
|
6
6
|
"license": "Apache-2.0",
|