@playaos/api-client 0.58.0 → 0.59.0

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/dist/index.d.ts CHANGED
@@ -16,6 +16,29 @@ export declare class ApiClientError extends Error {
16
16
  */
17
17
  retryAfter?: number | undefined);
18
18
  }
19
+ /**
20
+ * Error codes a caller may branch on. `ApiClientError.code` stays a plain `string`, since the API
21
+ * can add codes; compare against these constants rather than string literals.
22
+ */
23
+ export declare const ApiErrorCode: {
24
+ /** 403: the request writes to an archived event, which is read-only (ADR-128/132). */
25
+ readonly EVENT_READ_ONLY: "EVENT_READ_ONLY";
26
+ /** 409: a year-only request matches more than one event; resend with `eventId` (ADR-132). */
27
+ readonly EVENT_REQUIRED: "EVENT_REQUIRED";
28
+ };
29
+ /** The embed API spells the read-only code in lower_snake; methods that fall back to embed see it. */
30
+ declare const EMBED_EVENT_READ_ONLY = "event_read_only";
31
+ /** An `ApiClientError` that `isEventReadOnlyError` accepted: a 403 with either read-only spelling. */
32
+ type EventReadOnlyApiError = ApiClientError & {
33
+ readonly status: 403;
34
+ readonly code: typeof ApiErrorCode.EVENT_READ_ONLY | typeof EMBED_EVENT_READ_ONLY;
35
+ };
36
+ /**
37
+ * True when a write was refused because its event is archived and read-only: 403 with code
38
+ * `EVENT_READ_ONLY` (or embed's `event_read_only`). Reads of an archived event still succeed. Plain
39
+ * 403 FORBIDDEN (scope or role) is not this error.
40
+ */
41
+ export declare function isEventReadOnlyError(error: unknown): error is EventReadOnlyApiError;
19
42
  //#endregion
20
43
  //#region src/types.d.ts
21
44
  /** Cursor-paginated list envelope returned by v1 list endpoints (PLA-779). */
@@ -41,6 +64,10 @@ type PaginationParams = {
41
64
  * that have adopted the contract resolve a `year` alone to at most one event and answer
42
65
  * 409 `EVENT_REQUIRED` with the candidate events when it matches several; endpoints that have
43
66
  * not adopted it yet still treat `year` as the legacy annual filter.
67
+ *
68
+ * Shifts have adopted it: `shifts.list`, `adminList`, `planner`, `mobile`, `memberView`, the date-keyed
69
+ * `adminOperation` actions and the `adminWorkflow` publish action. `shifts.list` and `shifts.adminList`
70
+ * with neither field keep the org-wide read (documented exception).
44
71
  */
45
72
  type EventScopeParams = {
46
73
  /** Legacy camp year. */
@@ -208,6 +235,8 @@ interface ImportantDate {
208
235
  endDate: string | null;
209
236
  category: string | null;
210
237
  year: number;
238
+ /** Canonical event the date belongs to (ADR-132); null for an annual camp date. */
239
+ eventId?: string | null;
211
240
  }
212
241
  type EventStatus = "draft" | "published" | "archived";
213
242
  interface EventSummary {
@@ -230,6 +259,8 @@ interface SummerCampAttendee {
230
259
  }
231
260
  interface SheetsSyncResult {
232
261
  year: number;
262
+ /** The event exported, or null when a camp year was exported (ADR-132). */
263
+ eventId: string | null;
233
264
  tabs: {
234
265
  name: string;
235
266
  rows: number;
@@ -365,13 +396,31 @@ interface CampYearWithCounts {
365
396
  /** Ops-binder export preview counts (`GET /bookkeeping/export-preview`, PLA-1345). */
366
397
  interface BookkeepingExportPreview {
367
398
  year: number | null;
399
+ /** The event counted, or null on the annual path (ADR-132). */
400
+ eventId: string | null;
368
401
  memberCount: number;
369
402
  menuCount: number;
370
403
  shelterCount: number;
371
404
  }
405
+ /** Financial rollup for an event or camp year (`GET /bookkeeping/summary`). Money fields are decimal strings. */
406
+ interface BookkeepingSummary {
407
+ year: number;
408
+ /** The event read, or null on the annual path (ADR-132). */
409
+ eventId: string | null;
410
+ revenue: string;
411
+ paymentCount: number;
412
+ budgetTotal: string;
413
+ budgetSpent: string;
414
+ vendorPaid: string;
415
+ vendorOutstanding: string;
416
+ vendorCount: number;
417
+ memberCount: number;
418
+ }
372
419
  /** Admin dashboard rollup (`GET /reports/dashboard`). */
373
420
  interface DashboardMetrics {
374
421
  year: number;
422
+ /** The event read, or null on the annual path (ADR-132). */
423
+ eventId: string | null;
375
424
  asOf: string;
376
425
  totalHeadcount: number;
377
426
  memberCount: number;
@@ -404,6 +453,8 @@ interface BuildStrikeReportRow {
404
453
  /** Logistics dashboard rollup (`GET /logistics/summary`, PLA-1342). */
405
454
  interface LogisticsSummary {
406
455
  year: number;
456
+ /** The event read, or null on the annual path (ADR-132). */
457
+ eventId: string | null;
407
458
  buildWeekCount: number;
408
459
  confirmedBuildWeek: number;
409
460
  strikeCrewCount: number;
@@ -461,6 +512,8 @@ interface TshirtSizeTotal {
461
512
  }
462
513
  /** The three logistics breakdown views, bundled (`GET /logistics/breakdowns`). */
463
514
  interface LogisticsBreakdowns {
515
+ /** The event read, or null on the annual path (ADR-132). */
516
+ eventId: string | null;
464
517
  rvAmperage: RvAmperageTotal[];
465
518
  shelterTypes: ShelterTypeDistribution[];
466
519
  tshirtSizes: TshirtSizeTotal[];
@@ -500,6 +553,8 @@ interface DuesStatus {
500
553
  amountOwed: string | null;
501
554
  amountPaid: string | null;
502
555
  balance: string | null;
556
+ /** Event the row is for; absent on the annual path (ADR-132). */
557
+ eventId?: string | null;
503
558
  }
504
559
  /** Per-member dues state from `member_dues_status` (PLA-1336). */
505
560
  interface MemberDuesStatus {
@@ -588,6 +643,8 @@ interface Shift {
588
643
  orgId: string;
589
644
  shiftDate: string;
590
645
  year: number;
646
+ /** Canonical event the shift belongs to; null on the annual (untagged) calendar (ADR-132). */
647
+ eventId: string | null;
591
648
  startTime: string | null;
592
649
  endTime: string | null;
593
650
  maxSlots: number | null;
@@ -617,7 +674,10 @@ interface AdminShiftType extends ShiftType {
617
674
  interface AdminShelter {
618
675
  id: string;
619
676
  orgId: string;
677
+ /** Camp-year label; event shelters carry the resolved event's year. */
620
678
  year: number;
679
+ /** Event the shelter belongs to; null for an annual shelter. */
680
+ eventId: string | null;
621
681
  name: string | null;
622
682
  shelterType: string;
623
683
  ownerUserId: string | null;
@@ -747,6 +807,8 @@ interface CampDocument {
747
807
  isActive: boolean | null;
748
808
  requiresEsignature: boolean | null;
749
809
  year: number;
810
+ /** Canonical event the document belongs to (ADR-132); null for an annual camp document. */
811
+ eventId?: string | null;
750
812
  publishedAt: string | null;
751
813
  createdAt: string | null;
752
814
  updatedAt: string | null;
@@ -781,7 +843,10 @@ interface Shelter {
781
843
  name: string | null;
782
844
  shelterType: string;
783
845
  ownerUserId: string | null;
846
+ /** Camp-year label; event shelters carry the resolved event's year. */
784
847
  year: number;
848
+ /** Event the shelter belongs to; null for an annual shelter. */
849
+ eventId: string | null;
785
850
  maxOccupants: number | null;
786
851
  rvLengthFt: number | null;
787
852
  rvAmperage: number | null;
@@ -900,6 +965,11 @@ interface MemberGroupRosterRow {
900
965
  interface ApplicationCreatePayload {
901
966
  /** Stable opaque UUID for exact-payload receipt recovery; never reuse for changed answers. */
902
967
  submission_id?: string;
968
+ /**
969
+ * The event to apply to. Required only when the active camp year has several events: the server
970
+ * answers 409 EVENT_REQUIRED with the candidates, and the retry sends one of them (ADR-132).
971
+ */
972
+ event_id?: string;
903
973
  acknowledged_expectations?: true;
904
974
  first_name: string;
905
975
  last_name: string;
@@ -1046,6 +1116,12 @@ interface DuesCreatePayload {
1046
1116
  amount: number;
1047
1117
  paymentMethod?: string;
1048
1118
  duesCollectionId?: string;
1119
+ /**
1120
+ * ADR-132: only checks that `duesCollectionId` belongs to this event (or to `year` with no
1121
+ * event). Both transports read this spelling.
1122
+ */
1123
+ eventId?: string;
1124
+ year?: number;
1049
1125
  }
1050
1126
  interface DuesCreateResponse {
1051
1127
  paymentId: string;
@@ -1238,27 +1314,30 @@ interface UpsertPackingCampItemInput {
1238
1314
  notes?: string | null;
1239
1315
  sortOrder?: number;
1240
1316
  }
1241
- /** Active-year allocation summary. Year is always the org's active camp year. */
1317
+ /**
1318
+ * Allocation summary for one scope (ADR-132). `year` is the camp-year label; `eventId` is the event
1319
+ * the rows belong to, or null on the legacy annual path.
1320
+ */
1242
1321
  interface SapAllocation {
1243
1322
  year: number;
1323
+ eventId: string | null;
1244
1324
  totalAllocated: number;
1245
1325
  notes: string | null;
1246
1326
  totalAssigned: number;
1247
1327
  }
1248
- interface UpdateSapAllocationInput {
1249
- year?: number;
1328
+ interface UpdateSapAllocationInput extends EventScopeParams {
1250
1329
  totalAllocated: number;
1251
1330
  notes?: string | null;
1252
1331
  }
1253
1332
  interface SapDayAllocation {
1254
1333
  id: string;
1255
1334
  year: number;
1335
+ eventId: string | null;
1256
1336
  accessDate: string;
1257
1337
  slotsAvailable: number;
1258
1338
  notes: string | null;
1259
1339
  }
1260
- interface UpsertSapDayAllocationInput {
1261
- year?: number;
1340
+ interface UpsertSapDayAllocationInput extends EventScopeParams {
1262
1341
  accessDate: string;
1263
1342
  slotsAvailable: number;
1264
1343
  notes?: string | null;
@@ -1267,14 +1346,15 @@ interface SapAssignment {
1267
1346
  id: string;
1268
1347
  userId: string;
1269
1348
  year: number;
1349
+ eventId: string | null;
1270
1350
  sapNumber: string | null;
1271
1351
  vehicleDescription: string | null;
1272
1352
  licensePlate: string | null;
1273
1353
  arrivalDate: string | null;
1274
1354
  notes: string | null;
1275
1355
  }
1276
- interface CreateSapAssignmentInput {
1277
- year?: number;
1356
+ /** With an event scope, `userId` must be a participant of that event. */
1357
+ interface CreateSapAssignmentInput extends EventScopeParams {
1278
1358
  userId: string;
1279
1359
  sapNumber?: string | null;
1280
1360
  vehicleDescription?: string | null;
@@ -1282,7 +1362,8 @@ interface CreateSapAssignmentInput {
1282
1362
  arrivalDate?: string | null;
1283
1363
  notes?: string | null;
1284
1364
  }
1285
- interface UpdateSapAssignmentInput {
1365
+ /** A scope, when sent, must match the assignment's own event or year. */
1366
+ interface UpdateSapAssignmentInput extends EventScopeParams {
1286
1367
  assignmentId: string;
1287
1368
  sapNumber?: string | null;
1288
1369
  vehicleDescription?: string | null;
@@ -1437,6 +1518,8 @@ interface Meeting {
1437
1518
  id: string;
1438
1519
  orgId: string;
1439
1520
  year: number;
1521
+ /** Canonical event the meeting belongs to (ADR-132); null for an annual camp meeting. */
1522
+ eventId?: string | null;
1440
1523
  title: string;
1441
1524
  description: string | null;
1442
1525
  isMandatory: boolean;
@@ -1445,7 +1528,8 @@ interface Meeting {
1445
1528
  createdAt: string;
1446
1529
  dateOptions: MeetingDateOption[];
1447
1530
  }
1448
- interface CreateMeetingInput {
1531
+ /** With neither `year` nor `eventId`, the meeting joins the active camp year (ADR-132). */
1532
+ interface CreateMeetingInput extends EventScopeParams {
1449
1533
  notifyMembers?: boolean;
1450
1534
  title: string;
1451
1535
  description?: string | null;
@@ -1476,16 +1560,29 @@ interface Scholarship {
1476
1560
  discountCodeId: string | null;
1477
1561
  }
1478
1562
  interface CreateScholarshipInput {
1563
+ /**
1564
+ * Givebutter-managed code. Scoped like any create: on an event it maps to the event's Base Dues
1565
+ * tier and needs a published event the member takes part in (else 409 CONFLICT).
1566
+ */
1479
1567
  providerManaged?: boolean;
1480
1568
  userId: string;
1481
1569
  promoCode: string;
1482
1570
  discountAmount: number;
1483
1571
  reason?: string;
1572
+ /**
1573
+ * Legacy camp year (ADR-132). A year with one event creates an event scholarship; a year with
1574
+ * several is 409 `EVENT_REQUIRED`. With neither field, the camp's configured active year.
1575
+ */
1484
1576
  year?: number;
1577
+ /** Canonical event ID. When sent with `year`, both must agree (else 400). */
1485
1578
  eventId?: string;
1486
1579
  }
1487
1580
  type TicketStatus = "have_ticket" | "need_ticket" | "step_enrolled" | "low_income_approved";
1488
1581
  interface AdminTicketRow extends Ticket {
1582
+ /** Event rows: the participation status (e.g. `confirmed`, `pending`). Null for annual rows. */
1583
+ participationStatus: string | null;
1584
+ /** Event rows: the participation's attendance response. Null for annual rows. */
1585
+ attendanceResponse: string | null;
1489
1586
  vehiclePassStatus: VehiclePassStatus | null;
1490
1587
  vehiclePassConfirmation: string | null;
1491
1588
  member: {
@@ -1495,10 +1592,13 @@ interface AdminTicketRow extends Ticket {
1495
1592
  } | null;
1496
1593
  }
1497
1594
  interface Ticket {
1595
+ /** Annual rows: the member_camp_years id (usable with `update`). Event rows: the event participation id. */
1498
1596
  id: string;
1499
1597
  orgId: string;
1500
1598
  userId: string;
1501
1599
  year: number;
1600
+ /** The event this row belongs to; null for an annual row (ADR-132). */
1601
+ eventId: string | null;
1502
1602
  ticketStatus: string | null;
1503
1603
  ticketConfirmationNumber: string | null;
1504
1604
  ticketNotes: string | null;
@@ -1510,10 +1610,13 @@ interface TicketUpdateInput {
1510
1610
  }
1511
1611
  type VehiclePassStatus = "need_pass" | "have_pass" | "not_needed";
1512
1612
  interface VehiclePass {
1613
+ /** Annual rows: the member_camp_years id (usable with `update`). Event rows: the event participation id. */
1513
1614
  id: string;
1514
1615
  orgId: string;
1515
1616
  userId: string;
1516
1617
  year: number;
1618
+ /** The event this row belongs to; null for an annual row (ADR-132). */
1619
+ eventId: string | null;
1517
1620
  vehiclePassStatus: VehiclePassStatus | null;
1518
1621
  vehiclePassConfirmation: string | null;
1519
1622
  }
@@ -1583,9 +1686,11 @@ interface MemberBootstrap {
1583
1686
  externalUrl: string | null;
1584
1687
  }>;
1585
1688
  }
1586
- /** Acting member's active-year dues flags and attributed payment history. */
1689
+ /** Acting member's dues flags and payment history for one event or camp year (ADR-132). */
1587
1690
  interface MemberPaymentsOverview {
1588
1691
  year: number;
1692
+ /** The event read, or null on the annual path. */
1693
+ eventId: string | null;
1589
1694
  duesStatus: {
1590
1695
  hasPaidBaseDues: boolean;
1591
1696
  hasPaidRvDues: boolean;
@@ -1729,7 +1834,7 @@ type ShiftAdminOperation = {
1729
1834
  } | {
1730
1835
  action: "delete_type";
1731
1836
  id: string;
1732
- } | {
1837
+ } | ({
1733
1838
  action: "create_shift";
1734
1839
  shiftTypeId: string;
1735
1840
  shiftDate: string;
@@ -1737,7 +1842,7 @@ type ShiftAdminOperation = {
1737
1842
  endTime: string;
1738
1843
  maxSlots: number;
1739
1844
  notes?: string;
1740
- } | {
1845
+ } & EventScopeParams) | {
1741
1846
  action: "update_shift";
1742
1847
  id: string;
1743
1848
  maxSlots?: number;
@@ -1747,21 +1852,21 @@ type ShiftAdminOperation = {
1747
1852
  } | {
1748
1853
  action: "delete_shift";
1749
1854
  id: string;
1750
- } | {
1855
+ } | ({
1751
1856
  action: "bulk_create";
1752
1857
  shiftTypeId: string;
1753
1858
  dates: string[];
1754
1859
  startTime: string;
1755
1860
  endTime: string;
1756
1861
  maxSlots: number;
1757
- } | {
1862
+ } & EventScopeParams) | ({
1758
1863
  action: "clear_day";
1759
1864
  date: string;
1760
- } | {
1865
+ } & EventScopeParams) | ({
1761
1866
  action: "copy_day";
1762
1867
  sourceDate: string;
1763
1868
  targetDate: string;
1764
- } | {
1869
+ } & EventScopeParams) | {
1765
1870
  action: "remove_signup";
1766
1871
  id: string;
1767
1872
  } | {
@@ -1864,9 +1969,9 @@ type ShiftAdminWorkflow = {
1864
1969
  shiftId: string;
1865
1970
  shelterId: string;
1866
1971
  forceAssign?: boolean;
1867
- } | {
1972
+ } | ({
1868
1973
  action: "publish";
1869
- };
1974
+ } & EventScopeParams);
1870
1975
  interface ShiftAdminWorkflowResult {
1871
1976
  assignedCount?: number;
1872
1977
  skippedCount?: number;
@@ -1876,6 +1981,8 @@ interface ShiftAdminWorkflowResult {
1876
1981
  }
1877
1982
  interface ShiftPlannerData {
1878
1983
  year: number;
1984
+ /** Resolved event, or null on the annual path (ADR-132). */
1985
+ eventId: string | null;
1879
1986
  members: Array<{
1880
1987
  id: string;
1881
1988
  name: string;
@@ -2035,6 +2142,10 @@ interface MemberDocumentPage {
2035
2142
  }>;
2036
2143
  }
2037
2144
  interface MemberShiftView {
2145
+ /** Resolved scope year (ADR-132). */
2146
+ year: number;
2147
+ /** Resolved event, or null on the annual path (ADR-132). */
2148
+ eventId: string | null;
2038
2149
  arrivalDate: string | null;
2039
2150
  departureDate: string | null;
2040
2151
  shifts: Array<{
@@ -2048,7 +2159,11 @@ interface MemberShiftView {
2048
2159
  coworkers: string[];
2049
2160
  }>;
2050
2161
  }
2051
- type AdminShelterOperation = {
2162
+ /**
2163
+ * Every operation takes an ADR-132 scope. With an event, the shelter or assignment must belong to it
2164
+ * and placed members must be confirmed, attending participants; without one, annual rows only.
2165
+ */
2166
+ type AdminShelterOperation = EventScopeParams & ({
2052
2167
  action: "approve" | "remove";
2053
2168
  assignmentId: string;
2054
2169
  } | {
@@ -2080,8 +2195,12 @@ type AdminShelterOperation = {
2080
2195
  } | {
2081
2196
  action: "delete";
2082
2197
  shelterId: string;
2083
- };
2198
+ });
2084
2199
  interface MobileShifts {
2200
+ /** Resolved scope year (ADR-132). */
2201
+ year: number;
2202
+ /** Resolved event, or null on the annual path (ADR-132). */
2203
+ eventId: string | null;
2085
2204
  shifts: Array<{
2086
2205
  id: string;
2087
2206
  date: string;
@@ -2108,6 +2227,8 @@ interface MobileShifts {
2108
2227
  }
2109
2228
  interface AdminCampSettings {
2110
2229
  year: number;
2230
+ /** The event read, or null on the annual path (ADR-132). */
2231
+ eventId: string | null;
2111
2232
  slotLimits: Record<string, number>;
2112
2233
  feeTiers: Array<{
2113
2234
  id: string;
@@ -2130,12 +2251,12 @@ interface AdminCampSettings {
2130
2251
  type CampSettingsOperation = {
2131
2252
  action: "slot_limits";
2132
2253
  limits: Record<string, number>;
2133
- } | {
2254
+ } | ({
2134
2255
  action: "fee_tier";
2135
2256
  id: string;
2136
2257
  displayName: string;
2137
2258
  amount: number;
2138
- } | {
2259
+ } & EventScopeParams) | {
2139
2260
  action: "reminder";
2140
2261
  type: "payment" | "onboarding" | "documents" | "logistics_undecided" | "photo_avatar" | "photo_fullsize" | "attendance_nudge";
2141
2262
  enabled: boolean;
@@ -2180,30 +2301,31 @@ interface AdminBikeOperationResult {
2180
2301
  sent?: number;
2181
2302
  failed?: number;
2182
2303
  }
2183
- type AdminPaymentOperation = {
2304
+ type AdminPaymentOperation = ({
2184
2305
  action: "manual_payment";
2185
2306
  payerId: string;
2186
2307
  paidForUserId?: string | null;
2187
2308
  amount: number;
2188
2309
  method: string;
2189
2310
  notes?: string;
2190
- year?: number;
2191
- } | {
2311
+ } & EventScopeParams) |
2312
+ /** The fee tier decides the scope; a sent `eventId`/`year` must agree with it. */
2313
+ ({
2192
2314
  action: "assign_fee";
2193
2315
  memberId: string;
2194
2316
  feeTierId: string;
2195
2317
  feeType: "base" | "addon";
2196
- } | {
2318
+ } & EventScopeParams) | {
2197
2319
  action: "refund";
2198
2320
  paymentId: string;
2199
2321
  } | {
2200
2322
  action: "link_refund";
2201
2323
  refundEventId: string;
2202
2324
  paymentId: string;
2203
- } | {
2325
+ } | ({
2204
2326
  action: "nudge";
2205
2327
  memberIds: string[];
2206
- };
2328
+ } & EventScopeParams);
2207
2329
  interface AdminPaymentOperationResult {
2208
2330
  success: true;
2209
2331
  paymentId?: string;
@@ -2320,6 +2442,8 @@ interface AdminImportantDate {
2320
2442
  notifyDaysBefore: number[] | null;
2321
2443
  isSystem: boolean | null;
2322
2444
  slug: string | null;
2445
+ /** Canonical event the date belongs to (ADR-132); null for an annual camp date. */
2446
+ eventId?: string | null;
2323
2447
  }
2324
2448
  interface AdminImportantDateInput {
2325
2449
  title: string;
@@ -2329,9 +2453,12 @@ interface AdminImportantDateInput {
2329
2453
  category: "dues" | "documents" | "tickets" | "event" | "other" | "system";
2330
2454
  notifyDaysBefore: number[];
2331
2455
  }
2332
- type AdminImportantDateOperation = {
2456
+ type AdminImportantDateOperation =
2457
+ /** `eventId` attaches the date to an event the camp owns (ADR-132); without it, an annual date. */
2458
+ {
2333
2459
  action: "create";
2334
2460
  input: AdminImportantDateInput;
2461
+ eventId?: string;
2335
2462
  } | {
2336
2463
  action: "update";
2337
2464
  id: string;
@@ -2342,6 +2469,8 @@ type AdminImportantDateOperation = {
2342
2469
  };
2343
2470
  interface AdminPaymentsPage {
2344
2471
  year: number;
2472
+ /** The event read, or null on the annual path (ADR-132). */
2473
+ eventId: string | null;
2345
2474
  transactions: {
2346
2475
  id: string;
2347
2476
  userId: string | null;
@@ -2392,6 +2521,8 @@ interface ScholarshipStats {
2392
2521
  }
2393
2522
  interface AdminScholarshipsPage {
2394
2523
  year: number;
2524
+ /** The event read, or null on the annual path (ADR-132). */
2525
+ eventId: string | null;
2395
2526
  scholarships: {
2396
2527
  id: string;
2397
2528
  userId: string;
@@ -2457,14 +2588,21 @@ type AdminMemberOperation = {
2457
2588
  action: "attendance";
2458
2589
  profileId: string;
2459
2590
  attendanceResponse: "attending" | "not_attending" | "undecided" | null;
2460
- /** Defaults to the active camp year. An explicit year must already have a camp year row. */
2591
+ /** Defaults to the active camp year. An explicit year with no event must already have a camp year row. */
2461
2592
  year?: number;
2593
+ /**
2594
+ * Edits this event's participation (ADR-132). 404 `PARTICIPATION_NOT_FOUND` when the member has
2595
+ * none; an admin edit never creates one.
2596
+ */
2597
+ eventId?: string;
2462
2598
  } | {
2463
2599
  action: "profile";
2464
2600
  profileId: string;
2465
2601
  profile?: MemberProfileUpdate;
2466
2602
  campYear?: Omit<MemberTravelUpdate, "attendanceResponse">;
2467
2603
  year?: number;
2604
+ /** Edits this event's participation; see `attendance`. */
2605
+ eventId?: string;
2468
2606
  } | {
2469
2607
  action: "delete";
2470
2608
  profileId: string;
@@ -2475,8 +2613,13 @@ type AdminMemberOperation = {
2475
2613
  profileId: string;
2476
2614
  wantsBikeRental: boolean;
2477
2615
  bikeTypePreference: "ebike" | "pedal" | null;
2478
- /** Defaults to the active camp year. An explicit year must already have a camp year row. */
2616
+ /** Defaults to the active camp year. An explicit year with no event must already have a camp year row. */
2479
2617
  year?: number;
2618
+ /**
2619
+ * Edits this event's participation (ADR-132). 404 `PARTICIPATION_NOT_FOUND` when the member has
2620
+ * none; an admin edit never creates one.
2621
+ */
2622
+ eventId?: string;
2480
2623
  } | {
2481
2624
  action: "summer_rsvp";
2482
2625
  profileId: string;
@@ -2548,6 +2691,8 @@ type BookkeepingAdminOperation = {
2548
2691
  };
2549
2692
  interface AdminGivebutterWidgets {
2550
2693
  year: number;
2694
+ /** The event read, or null on the annual path (ADR-132). */
2695
+ eventId: string | null;
2551
2696
  widgets: {
2552
2697
  id: string;
2553
2698
  category: string;
@@ -2555,16 +2700,17 @@ interface AdminGivebutterWidgets {
2555
2700
  widgetId: string;
2556
2701
  label: string | null;
2557
2702
  isActive: boolean;
2558
- year: number;
2703
+ /** Null for an event widget. */
2704
+ year: number | null;
2559
2705
  }[];
2560
2706
  }
2561
- type AdminGivebutterWidgetOperation = {
2707
+ type AdminGivebutterWidgetOperation = ({
2562
2708
  action: "upsert";
2563
2709
  category: "dues" | "rv_addon" | "donation";
2564
2710
  tierKey: string;
2565
2711
  widgetId: string;
2566
2712
  label: string | null;
2567
- } | {
2713
+ } & EventScopeParams) | {
2568
2714
  action: "delete";
2569
2715
  id: string;
2570
2716
  } | {
@@ -2706,12 +2852,12 @@ interface AdminGivebutterCatalog {
2706
2852
  }
2707
2853
  type AdminGivebutterCatalogOperation = {
2708
2854
  action: "sync";
2709
- } | {
2855
+ } | ({
2710
2856
  action: "set_active_tier";
2711
2857
  tier: "base_dues";
2712
2858
  campaignId: number;
2713
2859
  itemId: number;
2714
- };
2860
+ } & EventScopeParams);
2715
2861
  type PackingContainerType = "hdx_tote" | "suitcase" | "box" | "bag" | "other";
2716
2862
  interface PackingContainer {
2717
2863
  id: string;
@@ -2883,6 +3029,14 @@ interface ClientOptions {
2883
3029
  */
2884
3030
  memberToken?: string;
2885
3031
  }
3032
+ /**
3033
+ * Methods that took only `opts` before gaining scope params still read a `signal` from their first
3034
+ * argument, so `method({ signal })` keeps working.
3035
+ */
3036
+ interface LegacySignalOption {
3037
+ /** @deprecated Pass `signal` in the second argument. */
3038
+ signal?: AbortSignal;
3039
+ }
2886
3040
  export declare class PlayaOSClient {
2887
3041
  private readonly baseUrl;
2888
3042
  private readonly embedBaseUrl;
@@ -2952,8 +3106,13 @@ export declare class PlayaOSClient {
2952
3106
  cancelled: true;
2953
3107
  }>;
2954
3108
  };
3109
+ /**
3110
+ * Finance configuration (ADR-129) is scoped by `eventId` or `year` (ADR-132): reads default to the
3111
+ * configured active camp year; `fee_tier`, widget `upsert` and `set_active_tier` write into the scope
3112
+ * sent. Other operations are organization-wide.
3113
+ */
2955
3114
  readonly campSettings: {
2956
- catalog: (opts?: {
3115
+ catalog: (params?: EventScopeParams & LegacySignalOption, opts?: {
2957
3116
  signal?: AbortSignal;
2958
3117
  }) => Promise<AdminGivebutterCatalog>;
2959
3118
  catalogOperation: (payload: AdminGivebutterCatalogOperation, opts?: {
@@ -2963,7 +3122,7 @@ export declare class PlayaOSClient {
2963
3122
  campaigns?: number;
2964
3123
  items?: number;
2965
3124
  }>;
2966
- widgets: (opts?: {
3125
+ widgets: (params?: EventScopeParams & LegacySignalOption, opts?: {
2967
3126
  signal?: AbortSignal;
2968
3127
  }) => Promise<AdminGivebutterWidgets>;
2969
3128
  widgetOperation: (payload: AdminGivebutterWidgetOperation, opts?: {
@@ -2971,7 +3130,7 @@ export declare class PlayaOSClient {
2971
3130
  }) => Promise<{
2972
3131
  success: true;
2973
3132
  }>;
2974
- admin: (opts?: {
3133
+ admin: (params?: EventScopeParams & LegacySignalOption, opts?: {
2975
3134
  signal?: AbortSignal;
2976
3135
  }) => Promise<AdminCampSettings>;
2977
3136
  update: (payload: CampSettingsOperation, opts?: {
@@ -2990,14 +3149,17 @@ export declare class PlayaOSClient {
2990
3149
  adminOperation: (payload: SchedulingAdminOperation, opts?: {
2991
3150
  signal?: AbortSignal;
2992
3151
  }) => Promise<SchedulingAdminResult>;
2993
- feed: (interviewerId: string, token: string, opts?: {
3152
+ /**
3153
+ * Calendar subscription read. Scope with `eventId` or `year` (ADR-132); with neither, the
3154
+ * active camp year. A year matching several events fails with 409 EVENT_REQUIRED.
3155
+ */
3156
+ feed: (interviewerId: string, token: string, params?: EventScopeParams & LegacySignalOption, opts?: {
2994
3157
  signal?: AbortSignal;
2995
3158
  }) => Promise<InterviewFeedBooking[]>;
2996
3159
  };
2997
3160
  readonly members: {
2998
- adminExport: (params: {
2999
- year: number;
3000
- }, opts?: {
3161
+ /** Exports one event, or a year with one event (ADR-132); with neither, the active camp year. */
3162
+ adminExport: (params?: EventScopeParams, opts?: {
3001
3163
  signal?: AbortSignal;
3002
3164
  }) => Promise<{
3003
3165
  data: AdminMemberExportRow[];
@@ -3012,9 +3174,8 @@ export declare class PlayaOSClient {
3012
3174
  adminImportOperation: (payload: AdminImportOperation, opts?: {
3013
3175
  signal?: AbortSignal;
3014
3176
  }) => Promise<AdminImportResult>;
3015
- adminDetail: (id: string, params?: {
3016
- year?: number;
3017
- }, opts?: {
3177
+ /** On an event, `campYear` holds that event's participation (ADR-132). */
3178
+ adminDetail: (id: string, params?: EventScopeParams, opts?: {
3018
3179
  signal?: AbortSignal;
3019
3180
  }) => Promise<MemberProfileDetails>;
3020
3181
  adminHistory: (id: string, opts?: {
@@ -3108,8 +3269,11 @@ export declare class PlayaOSClient {
3108
3269
  dashboard: (opts?: {
3109
3270
  signal?: AbortSignal;
3110
3271
  }) => Promise<MemberDashboard>;
3111
- /** Always the acting member, including admins; requires a member token and members:read scope. */
3112
- paymentOverview: (opts?: {
3272
+ /**
3273
+ * Always the acting member, including admins; requires a member token and members:read scope.
3274
+ * Without a scope, the configured active camp year (ADR-132).
3275
+ */
3276
+ paymentOverview: (params?: EventScopeParams & LegacySignalOption, opts?: {
3113
3277
  signal?: AbortSignal;
3114
3278
  }) => Promise<MemberPaymentsOverview>;
3115
3279
  /** Acting member's original photo only; missing originals return 404, never an avatar fallback. */
@@ -3287,10 +3451,11 @@ export declare class PlayaOSClient {
3287
3451
  }) => Promise<SummerCampRsvp>;
3288
3452
  };
3289
3453
  readonly applications: {
3290
- list: (params?: {
3454
+ list: (
3455
+ /** `eventId` or `year` narrows to one event, or a year with no event (ADR-132); neither lists every year. */
3456
+ params?: {
3291
3457
  status?: ApplicationStatus;
3292
- year?: number;
3293
- } & PaginationParams, opts?: {
3458
+ } & EventScopeParams & PaginationParams, opts?: {
3294
3459
  signal?: AbortSignal;
3295
3460
  }) => Promise<Paginated<Application>>;
3296
3461
  create: (payload: ApplicationCreatePayload, opts?: {
@@ -3326,9 +3491,8 @@ export declare class PlayaOSClient {
3326
3491
  readonly dues: {
3327
3492
  list: (params?: {
3328
3493
  userId?: string;
3329
- year?: number;
3330
3494
  paymentStatus?: "unpaid" | "partial" | "paid";
3331
- } & PaginationParams, opts?: {
3495
+ } & EventScopeParams & PaginationParams, opts?: {
3332
3496
  signal?: AbortSignal;
3333
3497
  }) => Promise<Paginated<DuesStatus>>;
3334
3498
  };
@@ -3344,21 +3508,22 @@ export declare class PlayaOSClient {
3344
3508
  }) => Promise<{
3345
3509
  success: true;
3346
3510
  }>;
3511
+ /** Without a scope, the configured active camp year (ADR-132). */
3347
3512
  mobile: (params: {
3348
3513
  type: "available" | "my-shifts";
3349
3514
  date: string;
3350
- }, opts?: {
3515
+ } & EventScopeParams, opts?: {
3351
3516
  signal?: AbortSignal;
3352
3517
  }) => Promise<MobileShifts>;
3353
- memberView: (opts?: {
3518
+ /** Without a scope, the configured active camp year (ADR-132). */
3519
+ memberView: (params?: EventScopeParams & LegacySignalOption, opts?: {
3354
3520
  signal?: AbortSignal;
3355
3521
  }) => Promise<MemberShiftView>;
3356
3522
  adminWorkflow: (payload: ShiftAdminWorkflow, opts?: {
3357
3523
  signal?: AbortSignal;
3358
3524
  }) => Promise<ShiftAdminWorkflowResult>;
3359
- planner: (params?: {
3360
- year?: number;
3361
- }, opts?: {
3525
+ /** Without a scope, the configured active camp year (ADR-132). */
3526
+ planner: (params?: EventScopeParams, opts?: {
3362
3527
  signal?: AbortSignal;
3363
3528
  }) => Promise<ShiftPlannerData>;
3364
3529
  adminOperation: (payload: ShiftAdminOperation, opts?: {
@@ -3367,18 +3532,17 @@ export declare class PlayaOSClient {
3367
3532
  adminTypes: (opts?: {
3368
3533
  signal?: AbortSignal;
3369
3534
  }) => Promise<AdminShiftType[]>;
3370
- adminList: (params?: {
3371
- year?: number;
3372
- } & PaginationParams, opts?: {
3535
+ /** With neither `year` nor `eventId`, every shift in the org (documented ADR-132 exception). */
3536
+ adminList: (params?: EventScopeParams & PaginationParams, opts?: {
3373
3537
  signal?: AbortSignal;
3374
3538
  }) => Promise<Paginated<AdminShift>>;
3539
+ /** With neither `year` nor `eventId`, every shift in the org (documented ADR-132 exception). */
3375
3540
  list: (params?: {
3376
- year?: number;
3377
3541
  fromDate?: string;
3378
3542
  toDate?: string;
3379
3543
  publishedOnly?: boolean;
3380
3544
  openOnly?: boolean;
3381
- } & PaginationParams, opts?: {
3545
+ } & EventScopeParams & PaginationParams, opts?: {
3382
3546
  signal?: AbortSignal;
3383
3547
  }) => Promise<Paginated<Shift>>;
3384
3548
  };
@@ -3393,9 +3557,7 @@ export declare class PlayaOSClient {
3393
3557
  }) => Promise<CommitmentsListResponse>;
3394
3558
  };
3395
3559
  readonly payments: {
3396
- adminPage: (params?: {
3397
- year?: number;
3398
- }, opts?: {
3560
+ adminPage: (params?: EventScopeParams, opts?: {
3399
3561
  signal?: AbortSignal;
3400
3562
  }) => Promise<AdminPaymentsPage>;
3401
3563
  adminOperation: (payload: AdminPaymentOperation, opts?: {
@@ -3413,13 +3575,13 @@ export declare class PlayaOSClient {
3413
3575
  paymentDate: string | null;
3414
3576
  paymentMethod: string | null;
3415
3577
  }>>;
3416
- adminSummary: (opts?: {
3578
+ adminSummary: (params?: EventScopeParams & LegacySignalOption, opts?: {
3417
3579
  signal?: AbortSignal;
3418
3580
  }) => Promise<AdminPaymentSummary>;
3419
3581
  exportMonarch: (params?: {
3420
3582
  from?: string;
3421
3583
  to?: string;
3422
- }, opts?: {
3584
+ } & EventScopeParams, opts?: {
3423
3585
  signal?: AbortSignal;
3424
3586
  }) => Promise<{
3425
3587
  csv: string;
@@ -3461,40 +3623,40 @@ export declare class PlayaOSClient {
3461
3623
  };
3462
3624
  /** Logistics dashboard reads (PLA-1342): rollup, daily headcount, unsure dates, area breakdowns. */
3463
3625
  readonly logistics: {
3464
- summary: (params: {
3465
- year: number;
3466
- }, opts?: {
3626
+ /** Requires `eventId` or `year` (ADR-132); an ambiguous year rejects with EVENT_REQUIRED. */
3627
+ summary: (params: EventScopeParams, opts?: {
3467
3628
  signal?: AbortSignal;
3468
3629
  }) => Promise<LogisticsSummary>;
3469
- headcount: (params?: PaginationParams, opts?: {
3630
+ /** Without a scope, the org's active camp year. */
3631
+ headcount: (params?: EventScopeParams & PaginationParams, opts?: {
3470
3632
  signal?: AbortSignal;
3471
3633
  }) => Promise<Paginated<DailyHeadcount>>;
3472
- unsureDates: (params?: {
3473
- year?: number;
3474
- } & PaginationParams, opts?: {
3634
+ /** Without a scope, every camp year. */
3635
+ unsureDates: (params?: EventScopeParams & PaginationParams, opts?: {
3475
3636
  signal?: AbortSignal;
3476
3637
  }) => Promise<Paginated<UnsureDateMember>>;
3477
- breakdowns: (opts?: {
3638
+ /** Without a scope, the org's active camp year. */
3639
+ breakdowns: (params?: EventScopeParams & LegacySignalOption, opts?: {
3478
3640
  signal?: AbortSignal;
3479
3641
  }) => Promise<LogisticsBreakdowns>;
3480
3642
  };
3481
3643
  /** Admin reports (PLA-1343): dashboard rollup + build/strike availability. */
3482
3644
  readonly reports: {
3645
+ /** Requires `eventId` or `year` (ADR-132); an ambiguous year rejects with EVENT_REQUIRED. */
3483
3646
  dashboard: (params: {
3484
- year: number;
3485
3647
  asOf: string;
3486
- }, opts?: {
3648
+ } & EventScopeParams, opts?: {
3487
3649
  signal?: AbortSignal;
3488
3650
  }) => Promise<DashboardMetrics>;
3489
- buildStrike: (params: {
3490
- year: number;
3491
- }, opts?: {
3651
+ /** Requires `eventId` or `year` (ADR-132); an ambiguous year rejects with EVENT_REQUIRED. */
3652
+ buildStrike: (params: EventScopeParams, opts?: {
3492
3653
  signal?: AbortSignal;
3493
3654
  }) => Promise<BuildStrikeReportRow[]>;
3494
3655
  };
3495
3656
  /** Bookkeeping reads (PLA-1345): camp-year list + ops-binder export preview. */
3496
3657
  readonly bookkeeping: {
3497
- syncGoogleSheets: (opts?: {
3658
+ /** Without a scope, the camp's active year (ADR-132). */
3659
+ syncGoogleSheets: (params?: EventScopeParams & LegacySignalOption, opts?: {
3498
3660
  signal?: AbortSignal;
3499
3661
  }) => Promise<SheetsSyncResult>;
3500
3662
  adminOperation: (payload: BookkeepingAdminOperation, opts?: {
@@ -3505,9 +3667,12 @@ export declare class PlayaOSClient {
3505
3667
  years: (opts?: {
3506
3668
  signal?: AbortSignal;
3507
3669
  }) => Promise<CampYearWithCounts[]>;
3508
- exportPreview: (params?: {
3509
- year?: number;
3510
- }, opts?: {
3670
+ /** Requires `eventId` or `year` (ADR-132); an ambiguous year rejects with EVENT_REQUIRED. */
3671
+ summary: (params: EventScopeParams, opts?: {
3672
+ signal?: AbortSignal;
3673
+ }) => Promise<BookkeepingSummary>;
3674
+ /** Without a scope, the org's operational year. */
3675
+ exportPreview: (params?: EventScopeParams, opts?: {
3511
3676
  signal?: AbortSignal;
3512
3677
  }) => Promise<BookkeepingExportPreview>;
3513
3678
  };
@@ -3562,12 +3727,12 @@ export declare class PlayaOSClient {
3562
3727
  }) => Promise<NotificationLog[]>;
3563
3728
  };
3564
3729
  readonly documents: {
3565
- memberPage: (params?: {
3566
- year?: number;
3567
- }, opts?: {
3730
+ /** Scope with `eventId` or `year` (ADR-132); with neither, the active camp year. */
3731
+ memberPage: (params?: EventScopeParams, opts?: {
3568
3732
  signal?: AbortSignal;
3569
3733
  }) => Promise<MemberDocumentPage>;
3570
- create: (payload: DocumentWriteInput, opts?: {
3734
+ /** `eventId` attaches the document to that event (ADR-132); with neither scope, the active camp year. */
3735
+ create: (payload: DocumentWriteInput & EventScopeParams, opts?: {
3571
3736
  signal?: AbortSignal;
3572
3737
  }) => Promise<CampDocument>;
3573
3738
  update: (id: string, payload: Partial<DocumentWriteInput>, opts?: {
@@ -3625,11 +3790,11 @@ export declare class PlayaOSClient {
3625
3790
  id: string;
3626
3791
  deleted: true;
3627
3792
  }>;
3793
+ /** With `eventId`, only that event's documents (ADR-132); with no scope, every document. */
3628
3794
  list: (params?: {
3629
3795
  type?: string;
3630
- year?: number;
3631
3796
  activeYear?: boolean;
3632
- }, opts?: {
3797
+ } & EventScopeParams, opts?: {
3633
3798
  signal?: AbortSignal;
3634
3799
  }) => Promise<AdminCampDocument[]>;
3635
3800
  get: (id: string, opts?: {
@@ -3675,11 +3840,11 @@ export declare class PlayaOSClient {
3675
3840
  }) => Promise<{
3676
3841
  ok: true;
3677
3842
  }>;
3843
+ /** With `eventId`, only that event's meetings (ADR-132); with no scope, every meeting. */
3678
3844
  list: (params?: {
3679
- year?: number;
3680
3845
  limit?: number;
3681
3846
  cursor?: string;
3682
- }, opts?: {
3847
+ } & EventScopeParams, opts?: {
3683
3848
  signal?: AbortSignal;
3684
3849
  }) => Promise<MeetingListResponse>;
3685
3850
  get: (id: string, opts?: {
@@ -3698,6 +3863,11 @@ export declare class PlayaOSClient {
3698
3863
  }>;
3699
3864
  };
3700
3865
  readonly scholarships: {
3866
+ /**
3867
+ * Scholarship dashboard for an event or year (ADR-132). A year with one event reads that event;
3868
+ * a year with none reads the annual rows; a year with several fails with 409 `EVENT_REQUIRED`.
3869
+ * With no params, the camp's configured active year (400 when none).
3870
+ */
3701
3871
  adminPage: (params?: EventScopeParams, opts?: {
3702
3872
  signal?: AbortSignal;
3703
3873
  }) => Promise<AdminScholarshipsPage>;
@@ -3707,10 +3877,15 @@ export declare class PlayaOSClient {
3707
3877
  givebutterActive: boolean;
3708
3878
  givebutterUsed: number;
3709
3879
  }>;
3880
+ /** Scholarship totals for an event or year; same scope rules and 409 `EVENT_REQUIRED` as `adminPage`. */
3710
3881
  stats: (params?: EventScopeParams, opts?: {
3711
3882
  signal?: AbortSignal;
3712
3883
  }) => Promise<ScholarshipStats>;
3713
- /** Create a scholarship (code + Givebutter sync). Admin-only (PLA-1266). */
3884
+ /**
3885
+ * Create a scholarship (code + Givebutter sync). Admin-only (PLA-1266). A year-only create on a
3886
+ * single-event year writes an event scholarship; an ambiguous year is 409 `EVENT_REQUIRED`
3887
+ * (ADR-132).
3888
+ */
3714
3889
  create: (payload: CreateScholarshipInput, opts?: {
3715
3890
  signal?: AbortSignal;
3716
3891
  }) => Promise<Scholarship>;
@@ -3734,10 +3909,21 @@ export declare class PlayaOSClient {
3734
3909
  upsert: (memberId: string, year: number, payload: TicketUpdateInput, opts?: {
3735
3910
  signal?: AbortSignal;
3736
3911
  }) => Promise<Ticket>;
3737
- /** Admin ticket-page projection; requires ticket, vehicle-pass, and member read scopes. */
3738
- adminList: (params?: {
3912
+ /**
3913
+ * Admin upsert for one event (ADR-132). Never creates a participation: a member with none in
3914
+ * the event fails with 404 `PARTICIPATION_NOT_FOUND`. Pass `year` to label an event with no
3915
+ * start date (400 without one); a `year` that disagrees with a dated event is 400.
3916
+ */
3917
+ upsertForEvent: (memberId: string, eventId: string, payload: TicketUpdateInput, opts?: {
3739
3918
  year?: number;
3740
- } & PaginationParams, opts?: {
3919
+ signal?: AbortSignal;
3920
+ }) => Promise<Ticket>;
3921
+ /**
3922
+ * Admin ticket-page projection; requires ticket, vehicle-pass, and member read scopes. Pass
3923
+ * `eventId` for one event's participations; a year with several events fails with
3924
+ * `EVENT_REQUIRED` (ADR-132).
3925
+ */
3926
+ adminList: (params?: EventScopeParams & PaginationParams, opts?: {
3741
3927
  signal?: AbortSignal;
3742
3928
  }) => Promise<Paginated<AdminTicketRow>>;
3743
3929
  /** Update a member's ticket status/confirmation. Admin-only (PLA-1266). */
@@ -3750,6 +3936,15 @@ export declare class PlayaOSClient {
3750
3936
  upsert: (memberId: string, year: number, payload: VehiclePassUpdateInput, opts?: {
3751
3937
  signal?: AbortSignal;
3752
3938
  }) => Promise<VehiclePass>;
3939
+ /**
3940
+ * Admin upsert for one event (ADR-132). Never creates a participation: a member with none in
3941
+ * the event fails with 404 `PARTICIPATION_NOT_FOUND`. Pass `year` to label an event with no
3942
+ * start date (400 without one); a `year` that disagrees with a dated event is 400.
3943
+ */
3944
+ upsertForEvent: (memberId: string, eventId: string, payload: VehiclePassUpdateInput, opts?: {
3945
+ year?: number;
3946
+ signal?: AbortSignal;
3947
+ }) => Promise<VehiclePass>;
3753
3948
  /** Update a member's vehicle-pass status. Admin-only (PLA-1266). */
3754
3949
  update: (id: string, payload: VehiclePassUpdateInput, opts?: {
3755
3950
  signal?: AbortSignal;
@@ -3763,25 +3958,25 @@ export declare class PlayaOSClient {
3763
3958
  shelterId?: string;
3764
3959
  feesRecalculated?: boolean;
3765
3960
  }>;
3766
- createForMember: (payload: OwnerShelterCreate, opts?: {
3961
+ /** With an event scope, the acting member and any mates must be confirmed, attending participants. */
3962
+ createForMember: (payload: OwnerShelterCreate & EventScopeParams, opts?: {
3767
3963
  signal?: AbortSignal;
3768
3964
  }) => Promise<{
3769
3965
  shelterId: string;
3770
3966
  shareUrl: string | null;
3771
3967
  }>;
3772
- updateForMember: (id: string, payload: OwnerShelterPatch, opts?: {
3968
+ /** A scope, when sent, must match the shelter's own event; without one, annual shelters only. */
3969
+ updateForMember: (id: string, payload: OwnerShelterPatch, params?: EventScopeParams & LegacySignalOption, opts?: {
3773
3970
  signal?: AbortSignal;
3774
3971
  }) => Promise<{
3775
3972
  updated: true;
3776
3973
  }>;
3777
- deleteForMember: (id: string, opts?: {
3974
+ deleteForMember: (id: string, params?: EventScopeParams & LegacySignalOption, opts?: {
3778
3975
  signal?: AbortSignal;
3779
3976
  }) => Promise<{
3780
3977
  shelterType: string;
3781
3978
  }>;
3782
- memberPage: (params?: {
3783
- year?: number;
3784
- }, opts?: {
3979
+ memberPage: (params?: EventScopeParams, opts?: {
3785
3980
  signal?: AbortSignal;
3786
3981
  }) => Promise<MemberShelterPage>;
3787
3982
  searchMembers: (params: {
@@ -3794,12 +3989,12 @@ export declare class PlayaOSClient {
3794
3989
  name: string | null;
3795
3990
  }>;
3796
3991
  }>;
3797
- requestJoin: (id: string, opts?: {
3992
+ requestJoin: (id: string, params?: EventScopeParams & LegacySignalOption, opts?: {
3798
3993
  signal?: AbortSignal;
3799
3994
  }) => Promise<{
3800
3995
  id: string;
3801
3996
  }>;
3802
- inviteCandidates: (id: string, opts?: {
3997
+ inviteCandidates: (id: string, params?: EventScopeParams & LegacySignalOption, opts?: {
3803
3998
  signal?: AbortSignal;
3804
3999
  }) => Promise<{
3805
4000
  data: Array<{
@@ -3829,15 +4024,12 @@ export declare class PlayaOSClient {
3829
4024
  }>;
3830
4025
  requestPayer: (payload: {
3831
4026
  payerUserId: string;
3832
- year?: number;
3833
- }, opts?: {
4027
+ } & EventScopeParams, opts?: {
3834
4028
  signal?: AbortSignal;
3835
4029
  }) => Promise<{
3836
4030
  existingShelterId: string | null;
3837
4031
  }>;
3838
- pendingPayerRequests: (params?: {
3839
- year?: number;
3840
- }, opts?: {
4032
+ pendingPayerRequests: (params?: EventScopeParams, opts?: {
3841
4033
  signal?: AbortSignal;
3842
4034
  }) => Promise<{
3843
4035
  data: Array<{
@@ -3852,48 +4044,49 @@ export declare class PlayaOSClient {
3852
4044
  assignmentId: string;
3853
4045
  approved: boolean;
3854
4046
  }>;
3855
- }, opts?: {
4047
+ } & EventScopeParams, opts?: {
3856
4048
  signal?: AbortSignal;
3857
4049
  }) => Promise<{
3858
4050
  success: true;
3859
4051
  }>;
3860
- /** Admin-only shelter table/map projection; requires members:read and a member token. */
3861
- adminList: (params: {
3862
- year: number;
3863
- } & PaginationParams, opts?: {
4052
+ /**
4053
+ * Admin-only shelter table/map projection; requires members:read and a member token. Send
4054
+ * `eventId` or `year` (ADR-132); a year matching several events is 409 EVENT_REQUIRED.
4055
+ */
4056
+ adminList: (params: EventScopeParams & PaginationParams, opts?: {
3864
4057
  signal?: AbortSignal;
3865
4058
  }) => Promise<Paginated<AdminShelter>>;
3866
4059
  list: (params?: {
3867
4060
  ownerId?: string;
3868
4061
  shelterType?: string;
3869
- year?: number;
3870
- }, opts?: {
4062
+ } & EventScopeParams, opts?: {
3871
4063
  signal?: AbortSignal;
3872
4064
  }) => Promise<Shelter[]>;
3873
- get: (id: string, opts?: {
4065
+ /** Without a scope only annual shelters match; send `eventId` to read an event's shelter. */
4066
+ get: (id: string, params?: EventScopeParams & LegacySignalOption, opts?: {
3874
4067
  signal?: AbortSignal;
3875
4068
  }) => Promise<Shelter>;
3876
- /** Request to join a shelter (member). PLA-1260. */
3877
- join: (shelterId: string, opts?: {
4069
+ /** Request to join a shelter (member). PLA-1260. A scope must match the shelter's event. */
4070
+ join: (shelterId: string, params?: EventScopeParams & LegacySignalOption, opts?: {
3878
4071
  signal?: AbortSignal;
3879
4072
  }) => Promise<{
3880
4073
  id: string;
3881
4074
  }>;
3882
- /** Invite a member to a shelter the acting member owns. PLA-1260. */
3883
- invite: (shelterId: string, inviteeUserId: string, opts?: {
4075
+ /** Invite a member to a shelter the acting member owns. PLA-1260. A scope must match the shelter's event. */
4076
+ invite: (shelterId: string, inviteeUserId: string, params?: EventScopeParams & LegacySignalOption, opts?: {
3884
4077
  signal?: AbortSignal;
3885
4078
  }) => Promise<{
3886
4079
  id: string;
3887
4080
  }>;
3888
4081
  /** Leave a shelter (deletes the acting member's own assignment). PLA-1260. */
3889
- leave: (assignmentId: string, opts?: {
4082
+ leave: (assignmentId: string, params?: EventScopeParams & LegacySignalOption, opts?: {
3890
4083
  signal?: AbortSignal;
3891
4084
  }) => Promise<{
3892
4085
  id: string;
3893
4086
  deleted: boolean;
3894
4087
  }>;
3895
4088
  /** Accept or decline a shelter invitation. PLA-1260. */
3896
- respond: (assignmentId: string, accept: boolean, opts?: {
4089
+ respond: (assignmentId: string, accept: boolean, params?: EventScopeParams & LegacySignalOption, opts?: {
3897
4090
  signal?: AbortSignal;
3898
4091
  }) => Promise<{
3899
4092
  id: string;
@@ -4215,10 +4408,10 @@ export declare class PlayaOSClient {
4215
4408
  * Admin/super_admin only; there is no member-facing SAP surface. Year is
4216
4409
  * the selected year when supplied, otherwise the org's active camp year.
4217
4410
  */
4411
+ /** SAP reads and writes take an ADR-132 scope; without one, the configured active camp year. */
4218
4412
  readonly sap: {
4219
- roster: (params?: {
4220
- year?: number;
4221
- }, opts?: {
4413
+ /** With an event scope, the event's participants instead of the year's roster. */
4414
+ roster: (params?: EventScopeParams, opts?: {
4222
4415
  signal?: AbortSignal;
4223
4416
  }) => Promise<Array<{
4224
4417
  id: string;
@@ -4229,8 +4422,7 @@ export declare class PlayaOSClient {
4229
4422
  buildArrivalDate: string | null;
4230
4423
  }>>;
4231
4424
  allocation: {
4232
- get: (opts?: {
4233
- year?: number;
4425
+ get: (params?: EventScopeParams & LegacySignalOption, opts?: {
4234
4426
  signal?: AbortSignal;
4235
4427
  }) => Promise<SapAllocation>;
4236
4428
  update: (payload: UpdateSapAllocationInput, opts?: {
@@ -4241,30 +4433,29 @@ export declare class PlayaOSClient {
4241
4433
  update: (id: string, payload: {
4242
4434
  slotsAvailable: number;
4243
4435
  notes?: string | null;
4244
- }, opts?: {
4436
+ } & EventScopeParams, opts?: {
4245
4437
  signal?: AbortSignal;
4246
4438
  }) => Promise<{
4247
4439
  ok: true;
4248
4440
  }>;
4249
- remove: (id: string, opts?: {
4441
+ /** A scope, when sent, must match the row's own event or year. */
4442
+ remove: (id: string, params?: EventScopeParams & LegacySignalOption, opts?: {
4250
4443
  signal?: AbortSignal;
4251
4444
  }) => Promise<{
4252
4445
  ok: true;
4253
4446
  }>;
4254
- list: (opts?: {
4255
- year?: number;
4447
+ list: (params?: EventScopeParams & LegacySignalOption, opts?: {
4256
4448
  signal?: AbortSignal;
4257
4449
  }) => Promise<{
4258
4450
  items: SapDayAllocation[];
4259
4451
  }>;
4260
- /** Upserts by (active year, accessDate); 409 on a cross-org date collision. */
4452
+ /** Upserts by (scope, accessDate); 409 on a date collision or an ambiguous year. */
4261
4453
  upsert: (payload: UpsertSapDayAllocationInput, opts?: {
4262
4454
  signal?: AbortSignal;
4263
4455
  }) => Promise<SapDayAllocation>;
4264
4456
  };
4265
4457
  assignments: {
4266
- list: (opts?: {
4267
- year?: number;
4458
+ list: (params?: EventScopeParams & LegacySignalOption, opts?: {
4268
4459
  signal?: AbortSignal;
4269
4460
  }) => Promise<{
4270
4461
  items: SapAssignment[];
@@ -4275,7 +4466,7 @@ export declare class PlayaOSClient {
4275
4466
  update: (payload: UpdateSapAssignmentInput, opts?: {
4276
4467
  signal?: AbortSignal;
4277
4468
  }) => Promise<SapAssignment>;
4278
- remove: (assignmentId: string, opts?: {
4469
+ remove: (assignmentId: string, params?: EventScopeParams & LegacySignalOption, opts?: {
4279
4470
  signal?: AbortSignal;
4280
4471
  }) => Promise<{
4281
4472
  ok: true;
@@ -4283,7 +4474,8 @@ export declare class PlayaOSClient {
4283
4474
  };
4284
4475
  };
4285
4476
  readonly importantDates: {
4286
- adminList: (opts?: {
4477
+ /** Scope with `eventId` or `year` (ADR-132); with neither, the active camp year (409 when none). */
4478
+ adminList: (params?: EventScopeParams & LegacySignalOption, opts?: {
4287
4479
  signal?: AbortSignal;
4288
4480
  }) => Promise<AdminImportantDate[]>;
4289
4481
  adminOperation: (payload: AdminImportantDateOperation, opts?: {
@@ -4291,10 +4483,8 @@ export declare class PlayaOSClient {
4291
4483
  }) => Promise<{
4292
4484
  success: true;
4293
4485
  }>;
4294
- /** Visible camp dates (PLA-1268), optionally pinned to a year. */
4295
- list: (params?: {
4296
- year?: number;
4297
- }, opts?: {
4486
+ /** Visible camp dates (PLA-1268), optionally pinned to an event or year (ADR-132). */
4487
+ list: (params?: EventScopeParams, opts?: {
4298
4488
  signal?: AbortSignal;
4299
4489
  }) => Promise<ImportantDate[]>;
4300
4490
  };
@@ -4307,20 +4497,24 @@ export declare class PlayaOSClient {
4307
4497
  }) => Promise<EventSummary[]>;
4308
4498
  };
4309
4499
  readonly emails: {
4310
- recipients: (payload: EmailRecipientFilter, opts?: {
4500
+ /** Payment, attendance and build-week filters follow `eventId` or `year` (ADR-132). */
4501
+ recipients: (payload: EmailRecipientFilter & EventScopeParams, opts?: {
4311
4502
  signal?: AbortSignal;
4312
4503
  }) => Promise<EmailRecipient[]>;
4504
+ /** Year-dependent segment counts follow `eventId` or `year`; null when unscoped with no camp year. */
4313
4505
  composerOptions: (params?: {
4314
4506
  q?: string;
4315
- }, opts?: {
4507
+ } & EventScopeParams, opts?: {
4316
4508
  signal?: AbortSignal;
4317
4509
  }) => Promise<EmailComposerOptions>;
4318
- broadcast: (payload: {
4510
+ broadcast: (
4511
+ /** A provider segment is camp-wide and takes no `eventId` (ADR-132). */
4512
+ payload: {
4319
4513
  subject: string;
4320
4514
  body: string;
4321
4515
  filter?: EmailRecipientFilter;
4322
4516
  segmentKey?: EmailSegmentKey;
4323
- }, opts?: {
4517
+ } & EventScopeParams, opts?: {
4324
4518
  signal?: AbortSignal;
4325
4519
  }) => Promise<{
4326
4520
  success: true;
@@ -4330,7 +4524,11 @@ export declare class PlayaOSClient {
4330
4524
  failed: number;
4331
4525
  total: number;
4332
4526
  }>;
4333
- history: (opts?: {
4527
+ /**
4528
+ * Broadcast history scoped with `eventId` or `year` (ADR-132); with neither, the configured
4529
+ * active camp year. An event lists its own broadcasts plus the year's camp-wide ones.
4530
+ */
4531
+ history: (params?: EventScopeParams & LegacySignalOption, opts?: {
4334
4532
  signal?: AbortSignal;
4335
4533
  }) => Promise<{
4336
4534
  broadcasts: {
@@ -4541,21 +4739,19 @@ export declare class PlayaOSClient {
4541
4739
  */
4542
4740
  list: (params?: {
4543
4741
  status?: ApplicationStatus;
4544
- year?: number;
4545
4742
  virginBurner?: "true" | "false";
4546
4743
  hasReferral?: "true" | "false";
4547
4744
  q?: string;
4548
- } & PaginationParams, opts?: {
4745
+ } & EventScopeParams & PaginationParams, opts?: {
4549
4746
  signal?: AbortSignal;
4550
4747
  }) => Promise<Paginated<ApplicationAdmin>>;
4551
4748
  /**
4552
- * Application capacity for a camp year (PLA-1328): the approved count
4553
- * against the camp cap, defaulting to the org's active camp year. v1-only
4554
- * — requires a member token (`withMember`).
4749
+ * Application capacity (PLA-1328): the approved count against the camp
4750
+ * cap for one event, or a year with no event (ADR-132), defaulting to the
4751
+ * org's configured active camp year. v1-only — requires a member token
4752
+ * (`withMember`).
4555
4753
  */
4556
- capacity: (params?: {
4557
- year?: number;
4558
- }, opts?: {
4754
+ capacity: (params?: EventScopeParams, opts?: {
4559
4755
  signal?: AbortSignal;
4560
4756
  }) => Promise<ApplicationCapacity>;
4561
4757
  /**
@@ -4887,5 +5083,5 @@ interface PublicMarketplaceClient {
4887
5083
  }
4888
5084
  export declare function createPublicMarketplaceClient(opts: PublicMarketplaceClientOptions): PublicMarketplaceClient;
4889
5085
  //#endregion
4890
- export type { AccountReviewProfile, AdminAccountsOperation, AdminAccountsPage, AdminBikeInterestRow, AdminBikeInventory, AdminBikeOperation, AdminBikeOperationResult, AdminBikeRental, AdminBikeType, AdminCampDocument, AdminCampSettings, AdminDocumentSignature, AdminGivebutterCatalog, AdminGivebutterCatalogOperation, AdminGivebutterWidgetOperation, AdminGivebutterWidgets, AdminImportOperation, AdminImportResult, AdminImportRow, AdminImportantDate, AdminImportantDateInput, AdminImportantDateOperation, AdminInterviewBooking, AdminMemberExportRow, AdminMemberInvite, AdminMemberOperation, AdminMemberRole, AdminMemberStatus, AdminNotificationPrefs, AdminPaymentOperation, AdminPaymentOperationResult, AdminPaymentSummary, AdminPaymentsPage, AdminScholarshipsPage, AdminShelter, AdminShelterOperation, AdminShift, AdminShiftType, AdminTicketRow, AdminWebhooksPage, Application, ApplicationActivityItem, ApplicationAdmin, ApplicationAnnotations, ApplicationCapacity, ApplicationCreatePayload, ApplicationCreateResponse, ApplicationEvent, ApplicationNote, ApplicationScore, ApplicationStatus, ApplicationTransitionPayload, ApplicationTransitionResponse, ApplicationWorkflowCapabilities, ApplicationWorkflowInput, ApplicationWorkflowOptions, AvailabilityWindow, BikeRentalCatalogItem, BikeRentalCatalogResponse, BikeRentalDeliveryMode, BikeRentalFramePreference, BikeRentalInterestedMember, BikeRentalInterestedNotReservedResponse, BikeRentalRequestInput, BikeRentalRequestResult, BikeRentalReservation, BikeRentalReservationListResponse, BikeRentalWaiver, BookkeepingAdminOperation, BookkeepingExportPreview, BuildStrikeReportRow, CampDocumentDownloadUrl, CampDocumentSignature, CampDocumentSignaturesResponse, CampSettingsOperation, CampYearWithCounts, Commitment, CommitmentDataType, CommitmentValue, CommitmentsListResponse, ContactSyncResponse, ContractSection, CreateMeetingInput, CreateSapAssignmentInput, CreateScholarshipInput, DailyHeadcount, DashboardMetrics, DirectoryMember, DirectoryMembersListResponse, DocumentWriteInput, DuesStatus, DuesSummaryRow, DuesTypePayor, EmailCmsPreview, EmailComposerOptions, EmailDeliveryPage, EmailLog, EmailRecipient, EmailRecipientFilter, EmailRetry, EmailRetryCount, EmailRetryListResponse, EmailSegmentKey, EmailTemplate, EventScopeParams, EventStatus, EventSummary, ExchangeParams, ExchangeResult, ImageUploadTarget, ImportantDate, InterviewFeedBooking, ListingImage, LogisticsBreakdowns, LogisticsSummary, MarketplaceFlagReason, Meeting, MeetingDateOption, MeetingListResponse, MeetingRsvp, Member, MemberBikeStatus, MemberBootstrap, MemberCreatePayload, MemberCreateResponse, MemberCustomChecklistItem, MemberDashboard, MemberDeactivateResponse, MemberDevice, MemberDocumentPage, MemberDuesStatus, MemberGateId, MemberGatePlan, MemberGateStep, MemberInboxNotification, MemberInboxPage, MemberOnboardingUpdate, MemberPaymentsOverview, MemberPreferences, MemberProfileDetails, MemberPushPreferences, MemberRole, MemberSelfProfile, MemberSelfProfilePatch, MemberShelter, MemberShelterPage, MemberShiftView, MemberTag, MemberTagAssignment, MemberTagWithMemberCount, MemberUpdatePayload, MemberUpdateResponse, MobileShifts, NewListingInput, OnboardingChecklistCategory, OnboardingChecklistItem, OnboardingProgress, OrgConfig, OrgEvent, OwnerShelterCreate, OwnerShelterPatch, PackingCampAdminItem, PackingCampAdminList, PackingCampCategory, PackingCampCategoryInput, PackingCampItem, PackingContainer, PackingContainerInput, PackingContainerListResponse, PackingContainerType, PackingItem, PackingItemStatus, PackingLayer, PackingListResponse, PackingPersonalItem, PackingPlacementListResponse, PaymentPageResponse, PublicMarketplaceClient, PublicMarketplaceClientOptions, RvAmperageTotal, SapAllocation, SapAssignment, SapDayAllocation, SchedulingAdminOperation, SchedulingAdminResult, SchedulingAdminSettings, SchedulingAvailability, SchedulingOverride, Scholarship, ScholarshipStats, ScholarshipStatus, SetPhotoPayload, SheetsSyncResult, ShelterTypeDistribution, Shift, ShiftAdminOperation, ShiftAdminOperationResult, ShiftAdminWorkflow, ShiftAdminWorkflowResult, ShiftPlannerData, ShiftSignup, ShiftType, SummerCampAttendee, SummerCampEvent, SummerCampRsvp, SummerCampRsvpInput, Ticket, TicketStatus, TicketUpdateInput, TshirtSizeTotal, UnmatchedRefund, UnsureDateMember, UpdateSapAllocationInput, UpdateSapAssignmentInput, UpsertPackingCampItemInput, UpsertSapDayAllocationInput, VehiclePass, VehiclePassStatus, VehiclePassUpdateInput, Waiver, WaiverContent, WaiverSection, WaiverSignPayload, WaiverSignResponse, WaiverStatus, WebhookCandidate, WebhookLog, WebhookMatchSelection };
5086
+ export type { AccountReviewProfile, AdminAccountsOperation, AdminAccountsPage, AdminBikeInterestRow, AdminBikeInventory, AdminBikeOperation, AdminBikeOperationResult, AdminBikeRental, AdminBikeType, AdminCampDocument, AdminCampSettings, AdminDocumentSignature, AdminGivebutterCatalog, AdminGivebutterCatalogOperation, AdminGivebutterWidgetOperation, AdminGivebutterWidgets, AdminImportOperation, AdminImportResult, AdminImportRow, AdminImportantDate, AdminImportantDateInput, AdminImportantDateOperation, AdminInterviewBooking, AdminMemberExportRow, AdminMemberInvite, AdminMemberOperation, AdminMemberRole, AdminMemberStatus, AdminNotificationPrefs, AdminPaymentOperation, AdminPaymentOperationResult, AdminPaymentSummary, AdminPaymentsPage, AdminScholarshipsPage, AdminShelter, AdminShelterOperation, AdminShift, AdminShiftType, AdminTicketRow, AdminWebhooksPage, Application, ApplicationActivityItem, ApplicationAdmin, ApplicationAnnotations, ApplicationCapacity, ApplicationCreatePayload, ApplicationCreateResponse, ApplicationEvent, ApplicationNote, ApplicationScore, ApplicationStatus, ApplicationTransitionPayload, ApplicationTransitionResponse, ApplicationWorkflowCapabilities, ApplicationWorkflowInput, ApplicationWorkflowOptions, AvailabilityWindow, BikeRentalCatalogItem, BikeRentalCatalogResponse, BikeRentalDeliveryMode, BikeRentalFramePreference, BikeRentalInterestedMember, BikeRentalInterestedNotReservedResponse, BikeRentalRequestInput, BikeRentalRequestResult, BikeRentalReservation, BikeRentalReservationListResponse, BikeRentalWaiver, BookkeepingAdminOperation, BookkeepingExportPreview, BookkeepingSummary, BuildStrikeReportRow, CampDocumentDownloadUrl, CampDocumentSignature, CampDocumentSignaturesResponse, CampSettingsOperation, CampYearWithCounts, Commitment, CommitmentDataType, CommitmentValue, CommitmentsListResponse, ContactSyncResponse, ContractSection, CreateMeetingInput, CreateSapAssignmentInput, CreateScholarshipInput, DailyHeadcount, DashboardMetrics, DirectoryMember, DirectoryMembersListResponse, DocumentWriteInput, DuesStatus, DuesSummaryRow, DuesTypePayor, EmailCmsPreview, EmailComposerOptions, EmailDeliveryPage, EmailLog, EmailRecipient, EmailRecipientFilter, EmailRetry, EmailRetryCount, EmailRetryListResponse, EmailSegmentKey, EmailTemplate, EventReadOnlyApiError, EventScopeParams, EventStatus, EventSummary, ExchangeParams, ExchangeResult, ImageUploadTarget, ImportantDate, InterviewFeedBooking, ListingImage, LogisticsBreakdowns, LogisticsSummary, MarketplaceFlagReason, Meeting, MeetingDateOption, MeetingListResponse, MeetingRsvp, Member, MemberBikeStatus, MemberBootstrap, MemberCreatePayload, MemberCreateResponse, MemberCustomChecklistItem, MemberDashboard, MemberDeactivateResponse, MemberDevice, MemberDocumentPage, MemberDuesStatus, MemberGateId, MemberGatePlan, MemberGateStep, MemberInboxNotification, MemberInboxPage, MemberOnboardingUpdate, MemberPaymentsOverview, MemberPreferences, MemberProfileDetails, MemberPushPreferences, MemberRole, MemberSelfProfile, MemberSelfProfilePatch, MemberShelter, MemberShelterPage, MemberShiftView, MemberTag, MemberTagAssignment, MemberTagWithMemberCount, MemberUpdatePayload, MemberUpdateResponse, MobileShifts, NewListingInput, OnboardingChecklistCategory, OnboardingChecklistItem, OnboardingProgress, OrgConfig, OrgEvent, OwnerShelterCreate, OwnerShelterPatch, PackingCampAdminItem, PackingCampAdminList, PackingCampCategory, PackingCampCategoryInput, PackingCampItem, PackingContainer, PackingContainerInput, PackingContainerListResponse, PackingContainerType, PackingItem, PackingItemStatus, PackingLayer, PackingListResponse, PackingPersonalItem, PackingPlacementListResponse, PaymentPageResponse, PublicMarketplaceClient, PublicMarketplaceClientOptions, RvAmperageTotal, SapAllocation, SapAssignment, SapDayAllocation, SchedulingAdminOperation, SchedulingAdminResult, SchedulingAdminSettings, SchedulingAvailability, SchedulingOverride, Scholarship, ScholarshipStats, ScholarshipStatus, SetPhotoPayload, SheetsSyncResult, ShelterTypeDistribution, Shift, ShiftAdminOperation, ShiftAdminOperationResult, ShiftAdminWorkflow, ShiftAdminWorkflowResult, ShiftPlannerData, ShiftSignup, ShiftType, SummerCampAttendee, SummerCampEvent, SummerCampRsvp, SummerCampRsvpInput, Ticket, TicketStatus, TicketUpdateInput, TshirtSizeTotal, UnmatchedRefund, UnsureDateMember, UpdateSapAllocationInput, UpdateSapAssignmentInput, UpsertPackingCampItemInput, UpsertSapDayAllocationInput, VehiclePass, VehiclePassStatus, VehiclePassUpdateInput, Waiver, WaiverContent, WaiverSection, WaiverSignPayload, WaiverSignResponse, WaiverStatus, WebhookCandidate, WebhookLog, WebhookMatchSelection };
4891
5087
  //# sourceMappingURL=index.d.ts.map