@myclub_se/data-access 3.7.3 → 3.7.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/esm2022/index.mjs +2 -1
  2. package/esm2022/lib/api-models/api-activity-waiting-list-entry.mjs +2 -0
  3. package/esm2022/lib/api-models/api-activity.mjs +1 -1
  4. package/esm2022/lib/api-models/api-event.mjs +1 -1
  5. package/esm2022/lib/api-models/api-feature-flags.mjs +1 -1
  6. package/esm2022/lib/api-models/api-open-activity.mjs +1 -1
  7. package/esm2022/lib/api-models/index.mjs +2 -1
  8. package/esm2022/lib/models/activity-waiting-list-entry.mjs +35 -0
  9. package/esm2022/lib/models/activity.mjs +19 -3
  10. package/esm2022/lib/models/event.mjs +12 -2
  11. package/esm2022/lib/models/feature-flags.mjs +5 -3
  12. package/esm2022/lib/models/index.mjs +2 -1
  13. package/esm2022/lib/models/open-activity.mjs +23 -2
  14. package/esm2022/lib/services/activity.service.mjs +106 -6
  15. package/esm2022/lib/services/api.service.mjs +9 -1
  16. package/esm2022/lib/services/factories/activity-factory.mjs +2 -2
  17. package/esm2022/lib/services/factories/activity-waiting-list-entry-factory.mjs +3 -0
  18. package/esm2022/lib/services/factories/auth-factory.mjs +10 -2
  19. package/esm2022/lib/services/factories/event-factory.mjs +2 -2
  20. package/esm2022/lib/services/factories/feature-flags-factory.mjs +2 -2
  21. package/esm2022/lib/services/factories/index.mjs +2 -1
  22. package/esm2022/lib/services/factories/open-activity-factory.mjs +2 -2
  23. package/esm2022/lib/store/actions/activity.actions.mjs +117 -1
  24. package/esm2022/lib/store/effects/activity.effects.mjs +121 -6
  25. package/esm2022/lib/store/effects/auth.effects.mjs +12 -5
  26. package/esm2022/lib/store/interfaces/team-activity.interface.mjs +1 -1
  27. package/esm2022/lib/store/reducers/calendar.reducer.mjs +143 -6
  28. package/esm2022/lib/store/reducers/public.reducer.mjs +42 -3
  29. package/esm2022/lib/store/selectors/calendar.selectors.mjs +6 -1
  30. package/esm2022/lib/store/selectors/public.selectors.mjs +4 -1
  31. package/esm2022/lib/store/state/calendar.state.mjs +2 -1
  32. package/esm2022/lib/store/state/public.state.mjs +4 -1
  33. package/esm2022/lib/types/activity-waitlist-status-type.mjs +2 -0
  34. package/esm2022/lib/types/index.mjs +2 -1
  35. package/esm2022/lib/utils/index.mjs +2 -0
  36. package/esm2022/lib/utils/is-booking-reserved-for-waitlist.mjs +20 -0
  37. package/fesm2022/myclub_se-data-access.mjs +677 -29
  38. package/fesm2022/myclub_se-data-access.mjs.map +1 -1
  39. package/index.d.ts +1 -0
  40. package/lib/api-models/api-activity-waiting-list-entry.d.ts +17 -0
  41. package/lib/api-models/api-activity.d.ts +7 -0
  42. package/lib/api-models/api-event.d.ts +5 -0
  43. package/lib/api-models/api-feature-flags.d.ts +1 -0
  44. package/lib/api-models/api-open-activity.d.ts +9 -0
  45. package/lib/api-models/index.d.ts +1 -0
  46. package/lib/models/activity-waiting-list-entry.d.ts +18 -0
  47. package/lib/models/activity.d.ts +8 -1
  48. package/lib/models/event.d.ts +6 -1
  49. package/lib/models/feature-flags.d.ts +2 -1
  50. package/lib/models/index.d.ts +1 -0
  51. package/lib/models/open-activity.d.ts +10 -1
  52. package/lib/services/activity.service.d.ts +29 -4
  53. package/lib/services/api.service.d.ts +6 -0
  54. package/lib/services/factories/activity-waiting-list-entry-factory.d.ts +3 -0
  55. package/lib/services/factories/index.d.ts +1 -0
  56. package/lib/store/actions/activity.actions.d.ts +476 -2
  57. package/lib/store/effects/activity.effects.d.ts +169 -1
  58. package/lib/store/interfaces/team-activity.interface.d.ts +3 -1
  59. package/lib/store/selectors/calendar.selectors.d.ts +8 -0
  60. package/lib/store/selectors/public.selectors.d.ts +3 -0
  61. package/lib/store/state/calendar.state.d.ts +2 -1
  62. package/lib/store/state/public.state.d.ts +4 -1
  63. package/lib/types/activity-waitlist-status-type.d.ts +1 -0
  64. package/lib/types/index.d.ts +1 -0
  65. package/lib/utils/index.d.ts +1 -0
  66. package/lib/utils/is-booking-reserved-for-waitlist.d.ts +21 -0
  67. package/package.json +1 -1
@@ -107,15 +107,18 @@ var ActivityActionTypes;
107
107
  ActivityActionTypes["UpdateMemberActivityInvite"] = "[Activity] Update member activity invite";
108
108
  ActivityActionTypes["UpdateMemberActivityInviteFailure"] = "[Activity] Update member activity invite failure";
109
109
  ActivityActionTypes["UpdateMemberActivityInviteSuccess"] = "[Activity] Update member activity invite success";
110
+ ActivityActionTypes["RemoveMemberActivityInviteSuccess"] = "[Activity] Remove member activity invite success";
110
111
  ActivityActionTypes["UpdateMemberOpenActivity"] = "[Activity] Update member open activity";
111
112
  ActivityActionTypes["UpdateMemberOpenActivityFailure"] = "[Activity] Update member open activity failure";
112
113
  ActivityActionTypes["UpdateMemberOpenActivitySuccess"] = "[Activity] Update member open activity success";
113
114
  ActivityActionTypes["UpdatePublicActivityInvite"] = "[Activity] Update public activity invite";
114
115
  ActivityActionTypes["UpdatePublicActivityInviteFailure"] = "[Activity] Update public activity invite failure";
115
116
  ActivityActionTypes["UpdatePublicActivityInviteSuccess"] = "[Activity] Update public activity invite success";
117
+ ActivityActionTypes["RemovePublicActivityInviteSuccess"] = "[Activity] Remove public activity invite success";
116
118
  ActivityActionTypes["UpdatePublicMemberActivityInvite"] = "[Activity] Update public member activity invite";
117
119
  ActivityActionTypes["UpdatePublicMemberActivityInviteFailure"] = "[Activity] Update public member activity invite failure";
118
120
  ActivityActionTypes["UpdatePublicMemberActivityInviteSuccess"] = "[Activity] Update public member activity invite success";
121
+ ActivityActionTypes["RemovePublicMemberActivityInviteSuccess"] = "[Activity] Remove public member activity invite success";
119
122
  ActivityActionTypes["UpdatePublicMemberOpenActivity"] = "[Activity] Update public member open activity";
120
123
  ActivityActionTypes["UpdatePublicMemberOpenActivityFailure"] = "[Activity] Update public member open activity failure";
121
124
  ActivityActionTypes["UpdatePublicMemberOpenActivitySuccess"] = "[Activity] Update public member open activity success";
@@ -131,6 +134,60 @@ var ActivityActionTypes;
131
134
  ActivityActionTypes["UpdateTeamMemberActivityInvite"] = "[Activity] Update team member activity invite";
132
135
  ActivityActionTypes["UpdateTeamMemberActivityInviteFailure"] = "[Activity] Update team member activity invite failure";
133
136
  ActivityActionTypes["UpdateTeamMemberActivityInviteSuccess"] = "[Activity] Update team member activity invite success";
137
+ ActivityActionTypes["JoinWaitingList"] = "[Activity] Join waiting list";
138
+ ActivityActionTypes["JoinWaitingListFailure"] = "[Activity] Join waiting list failure";
139
+ ActivityActionTypes["JoinWaitingListSuccess"] = "[Activity] Join waiting list success";
140
+ ActivityActionTypes["LeaveWaitingList"] = "[Activity] Leave waiting list";
141
+ ActivityActionTypes["LeaveWaitingListFailure"] = "[Activity] Leave waiting list failure";
142
+ ActivityActionTypes["LeaveWaitingListSuccess"] = "[Activity] Leave waiting list success";
143
+ ActivityActionTypes["RetrieveMemberWaitingListEntry"] = "[Activity] Retrieve member waiting list entry";
144
+ ActivityActionTypes["RetrieveMemberWaitingListEntryFailure"] = "[Activity] Retrieve member waiting list entry failure";
145
+ ActivityActionTypes["RetrieveMemberWaitingListEntrySuccess"] = "[Activity] Retrieve member waiting list entry success";
146
+ ActivityActionTypes["LoadTeamActivityWaitingList"] = "[Activity] Load team activity waiting list";
147
+ ActivityActionTypes["LoadTeamActivityWaitingListFailure"] = "[Activity] Load team activity waiting list failure";
148
+ ActivityActionTypes["LoadTeamActivityWaitingListSuccess"] = "[Activity] Load team activity waiting list success";
149
+ ActivityActionTypes["AdmitWaitlistEntry"] = "[Activity] Admit waitlist entry";
150
+ ActivityActionTypes["AdmitWaitlistEntryFailure"] = "[Activity] Admit waitlist entry failure";
151
+ ActivityActionTypes["AdmitWaitlistEntrySuccess"] = "[Activity] Admit waitlist entry success";
152
+ ActivityActionTypes["ReorderWaitlistEntry"] = "[Activity] Reorder waitlist entry";
153
+ ActivityActionTypes["ReorderWaitlistEntryFailure"] = "[Activity] Reorder waitlist entry failure";
154
+ ActivityActionTypes["ReorderWaitlistEntrySuccess"] = "[Activity] Reorder waitlist entry success";
155
+ ActivityActionTypes["RemindWaitlistOffer"] = "[Activity] Remind waitlist offer";
156
+ ActivityActionTypes["RemindWaitlistOfferFailure"] = "[Activity] Remind waitlist offer failure";
157
+ ActivityActionTypes["RemindWaitlistOfferSuccess"] = "[Activity] Remind waitlist offer success";
158
+ ActivityActionTypes["OfferWaitlistEntry"] = "[Activity] Offer waitlist entry";
159
+ ActivityActionTypes["OfferWaitlistEntryFailure"] = "[Activity] Offer waitlist entry failure";
160
+ ActivityActionTypes["OfferWaitlistEntrySuccess"] = "[Activity] Offer waitlist entry success";
161
+ ActivityActionTypes["PassWaitlistOffer"] = "[Activity] Pass waitlist offer";
162
+ ActivityActionTypes["PassWaitlistOfferFailure"] = "[Activity] Pass waitlist offer failure";
163
+ ActivityActionTypes["PassWaitlistOfferSuccess"] = "[Activity] Pass waitlist offer success";
164
+ ActivityActionTypes["OpenWaitlistPlace"] = "[Activity] Open waitlist place";
165
+ ActivityActionTypes["OpenWaitlistPlaceFailure"] = "[Activity] Open waitlist place failure";
166
+ ActivityActionTypes["OpenWaitlistPlaceSuccess"] = "[Activity] Open waitlist place success";
167
+ ActivityActionTypes["RemoveWaitlistEntry"] = "[Activity] Remove waitlist entry";
168
+ ActivityActionTypes["RemoveWaitlistEntryFailure"] = "[Activity] Remove waitlist entry failure";
169
+ ActivityActionTypes["RemoveWaitlistEntrySuccess"] = "[Activity] Remove waitlist entry success";
170
+ ActivityActionTypes["RetrievePublicWaitingListState"] = "[Activity] Retrieve public waiting list state";
171
+ ActivityActionTypes["RetrievePublicWaitingListStateFailure"] = "[Activity] Retrieve public waiting list state failure";
172
+ ActivityActionTypes["RetrievePublicWaitingListStateSuccess"] = "[Activity] Retrieve public waiting list state success";
173
+ ActivityActionTypes["JoinPublicWaitingList"] = "[Activity] Join public waiting list";
174
+ ActivityActionTypes["JoinPublicWaitingListFailure"] = "[Activity] Join public waiting list failure";
175
+ ActivityActionTypes["JoinPublicWaitingListSuccess"] = "[Activity] Join public waiting list success";
176
+ ActivityActionTypes["LeavePublicWaitingList"] = "[Activity] Leave public waiting list";
177
+ ActivityActionTypes["LeavePublicWaitingListFailure"] = "[Activity] Leave public waiting list failure";
178
+ ActivityActionTypes["LeavePublicWaitingListSuccess"] = "[Activity] Leave public waiting list success";
179
+ ActivityActionTypes["RetrievePublicWaitingListOffer"] = "[Activity] Retrieve public waiting list offer";
180
+ ActivityActionTypes["RetrievePublicWaitingListOfferFailure"] = "[Activity] Retrieve public waiting list offer failure";
181
+ ActivityActionTypes["RetrievePublicWaitingListOfferSuccess"] = "[Activity] Retrieve public waiting list offer success";
182
+ ActivityActionTypes["RetrievePublicOpenActivityWaitlistOffer"] = "[Activity] Retrieve public open activity waitlist offer";
183
+ ActivityActionTypes["RetrievePublicOpenActivityWaitlistOfferFailure"] = "[Activity] Retrieve public open activity waitlist offer failure";
184
+ ActivityActionTypes["RetrievePublicOpenActivityWaitlistOfferSuccess"] = "[Activity] Retrieve public open activity waitlist offer success";
185
+ ActivityActionTypes["RespondPublicOpenActivityWaitlistOffer"] = "[Activity] Respond public open activity waitlist offer";
186
+ ActivityActionTypes["RespondPublicOpenActivityWaitlistOfferFailure"] = "[Activity] Respond public open activity waitlist offer failure";
187
+ ActivityActionTypes["RespondPublicOpenActivityWaitlistOfferSuccess"] = "[Activity] Respond public open activity waitlist offer success";
188
+ ActivityActionTypes["DeclinePublicOpenActivityWaitlistOffer"] = "[Activity] Decline public open activity waitlist offer";
189
+ ActivityActionTypes["DeclinePublicOpenActivityWaitlistOfferFailure"] = "[Activity] Decline public open activity waitlist offer failure";
190
+ ActivityActionTypes["DeclinePublicOpenActivityWaitlistOfferSuccess"] = "[Activity] Decline public open activity waitlist offer success";
134
191
  })(ActivityActionTypes || (ActivityActionTypes = {}));
135
192
  const addTeamLeaderActivityInviteAction = createAction(ActivityActionTypes.AddTeamLeaderActivityInvite, props());
136
193
  const addTeamLeaderActivityInviteFailureAction = createAction(ActivityActionTypes.AddTeamLeaderActivityInviteFailure, props());
@@ -221,15 +278,20 @@ const updateMemberActivityAttendanceSuccessAction = createAction(ActivityActionT
221
278
  const updateMemberActivityInviteAction = createAction(ActivityActionTypes.UpdateMemberActivityInvite, props());
222
279
  const updateMemberActivityInviteFailureAction = createAction(ActivityActionTypes.UpdateMemberActivityInviteFailure, props());
223
280
  const updateMemberActivityInviteSuccessAction = createAction(ActivityActionTypes.UpdateMemberActivityInviteSuccess, props());
281
+ // Dispatched when denying an open-activity invite deleted it server-side (204 No Content). The payload
282
+ // carries the invite that was removed so consumers can drop it and fall back to the open activity.
283
+ const removeMemberActivityInviteSuccessAction = createAction(ActivityActionTypes.RemoveMemberActivityInviteSuccess, props());
224
284
  const updateMemberOpenActivityAction = createAction(ActivityActionTypes.UpdateMemberOpenActivity, props());
225
285
  const updateMemberOpenActivityFailureAction = createAction(ActivityActionTypes.UpdateMemberOpenActivityFailure, props());
226
286
  const updateMemberOpenActivitySuccessAction = createAction(ActivityActionTypes.UpdateMemberOpenActivitySuccess, props());
227
287
  const updatePublicActivityInviteAction = createAction(ActivityActionTypes.UpdatePublicActivityInvite, props());
228
288
  const updatePublicActivityInviteFailureAction = createAction(ActivityActionTypes.UpdatePublicActivityInviteFailure, props());
229
289
  const updatePublicActivityInviteSuccessAction = createAction(ActivityActionTypes.UpdatePublicActivityInviteSuccess, props());
290
+ const removePublicActivityInviteSuccessAction = createAction(ActivityActionTypes.RemovePublicActivityInviteSuccess, props());
230
291
  const updatePublicMemberActivityInviteAction = createAction(ActivityActionTypes.UpdatePublicMemberActivityInvite, props());
231
292
  const updatePublicMemberActivityInviteFailureAction = createAction(ActivityActionTypes.UpdatePublicMemberActivityInviteFailure, props());
232
293
  const updatePublicMemberActivityInviteSuccessAction = createAction(ActivityActionTypes.UpdatePublicMemberActivityInviteSuccess, props());
294
+ const removePublicMemberActivityInviteSuccessAction = createAction(ActivityActionTypes.RemovePublicMemberActivityInviteSuccess, props());
233
295
  const updatePublicMemberOpenActivityAction = createAction(ActivityActionTypes.UpdatePublicMemberOpenActivity, props());
234
296
  const updatePublicMemberOpenActivityFailureAction = createAction(ActivityActionTypes.UpdatePublicMemberOpenActivityFailure, props());
235
297
  const updatePublicMemberOpenActivitySuccessAction = createAction(ActivityActionTypes.UpdatePublicMemberOpenActivitySuccess, props());
@@ -245,6 +307,60 @@ const updateTeamMemberActivityInviteSuccessAction = createAction(ActivityActionT
245
307
  const updateTeamActivityQuestionAction = createAction(ActivityActionTypes.UpdateTeamActivityQuestion, props());
246
308
  const updateTeamActivityQuestionFailureAction = createAction(ActivityActionTypes.UpdateTeamActivityQuestionFailure, props());
247
309
  const updateTeamActivityQuestionSuccessAction = createAction(ActivityActionTypes.UpdateTeamActivityQuestionSuccess, props());
310
+ const joinWaitingListAction = createAction(ActivityActionTypes.JoinWaitingList, props());
311
+ const joinWaitingListFailureAction = createAction(ActivityActionTypes.JoinWaitingListFailure, props());
312
+ const joinWaitingListSuccessAction = createAction(ActivityActionTypes.JoinWaitingListSuccess, props());
313
+ const leaveWaitingListAction = createAction(ActivityActionTypes.LeaveWaitingList, props());
314
+ const leaveWaitingListFailureAction = createAction(ActivityActionTypes.LeaveWaitingListFailure, props());
315
+ const leaveWaitingListSuccessAction = createAction(ActivityActionTypes.LeaveWaitingListSuccess, props());
316
+ const retrieveMemberWaitingListEntryAction = createAction(ActivityActionTypes.RetrieveMemberWaitingListEntry, props());
317
+ const retrieveMemberWaitingListEntryFailureAction = createAction(ActivityActionTypes.RetrieveMemberWaitingListEntryFailure, props());
318
+ const retrieveMemberWaitingListEntrySuccessAction = createAction(ActivityActionTypes.RetrieveMemberWaitingListEntrySuccess, props());
319
+ const loadTeamActivityWaitingListAction = createAction(ActivityActionTypes.LoadTeamActivityWaitingList, props());
320
+ const loadTeamActivityWaitingListFailureAction = createAction(ActivityActionTypes.LoadTeamActivityWaitingListFailure, props());
321
+ const loadTeamActivityWaitingListSuccessAction = createAction(ActivityActionTypes.LoadTeamActivityWaitingListSuccess, props());
322
+ const admitWaitlistEntryAction = createAction(ActivityActionTypes.AdmitWaitlistEntry, props());
323
+ const admitWaitlistEntryFailureAction = createAction(ActivityActionTypes.AdmitWaitlistEntryFailure, props());
324
+ const admitWaitlistEntrySuccessAction = createAction(ActivityActionTypes.AdmitWaitlistEntrySuccess);
325
+ const reorderWaitlistEntryAction = createAction(ActivityActionTypes.ReorderWaitlistEntry, props());
326
+ const reorderWaitlistEntryFailureAction = createAction(ActivityActionTypes.ReorderWaitlistEntryFailure, props());
327
+ const reorderWaitlistEntrySuccessAction = createAction(ActivityActionTypes.ReorderWaitlistEntrySuccess);
328
+ const remindWaitlistOfferAction = createAction(ActivityActionTypes.RemindWaitlistOffer, props());
329
+ const remindWaitlistOfferFailureAction = createAction(ActivityActionTypes.RemindWaitlistOfferFailure, props());
330
+ const remindWaitlistOfferSuccessAction = createAction(ActivityActionTypes.RemindWaitlistOfferSuccess);
331
+ const offerWaitlistEntryAction = createAction(ActivityActionTypes.OfferWaitlistEntry, props());
332
+ const offerWaitlistEntryFailureAction = createAction(ActivityActionTypes.OfferWaitlistEntryFailure, props());
333
+ const offerWaitlistEntrySuccessAction = createAction(ActivityActionTypes.OfferWaitlistEntrySuccess, props());
334
+ const passWaitlistOfferAction = createAction(ActivityActionTypes.PassWaitlistOffer, props());
335
+ const passWaitlistOfferFailureAction = createAction(ActivityActionTypes.PassWaitlistOfferFailure, props());
336
+ const passWaitlistOfferSuccessAction = createAction(ActivityActionTypes.PassWaitlistOfferSuccess);
337
+ const openWaitlistPlaceAction = createAction(ActivityActionTypes.OpenWaitlistPlace, props());
338
+ const openWaitlistPlaceFailureAction = createAction(ActivityActionTypes.OpenWaitlistPlaceFailure, props());
339
+ const openWaitlistPlaceSuccessAction = createAction(ActivityActionTypes.OpenWaitlistPlaceSuccess);
340
+ const removeWaitlistEntryAction = createAction(ActivityActionTypes.RemoveWaitlistEntry, props());
341
+ const removeWaitlistEntryFailureAction = createAction(ActivityActionTypes.RemoveWaitlistEntryFailure, props());
342
+ const removeWaitlistEntrySuccessAction = createAction(ActivityActionTypes.RemoveWaitlistEntrySuccess);
343
+ const retrievePublicWaitingListStateAction = createAction(ActivityActionTypes.RetrievePublicWaitingListState, props());
344
+ const retrievePublicWaitingListStateFailureAction = createAction(ActivityActionTypes.RetrievePublicWaitingListStateFailure, props());
345
+ const retrievePublicWaitingListStateSuccessAction = createAction(ActivityActionTypes.RetrievePublicWaitingListStateSuccess, props());
346
+ const joinPublicWaitingListAction = createAction(ActivityActionTypes.JoinPublicWaitingList, props());
347
+ const joinPublicWaitingListFailureAction = createAction(ActivityActionTypes.JoinPublicWaitingListFailure, props());
348
+ const joinPublicWaitingListSuccessAction = createAction(ActivityActionTypes.JoinPublicWaitingListSuccess, props());
349
+ const leavePublicWaitingListAction = createAction(ActivityActionTypes.LeavePublicWaitingList, props());
350
+ const leavePublicWaitingListFailureAction = createAction(ActivityActionTypes.LeavePublicWaitingListFailure, props());
351
+ const leavePublicWaitingListSuccessAction = createAction(ActivityActionTypes.LeavePublicWaitingListSuccess);
352
+ const retrievePublicWaitingListOfferAction = createAction(ActivityActionTypes.RetrievePublicWaitingListOffer, props());
353
+ const retrievePublicWaitingListOfferFailureAction = createAction(ActivityActionTypes.RetrievePublicWaitingListOfferFailure, props());
354
+ const retrievePublicWaitingListOfferSuccessAction = createAction(ActivityActionTypes.RetrievePublicWaitingListOfferSuccess, props());
355
+ const retrievePublicOpenActivityWaitlistOfferAction = createAction(ActivityActionTypes.RetrievePublicOpenActivityWaitlistOffer, props());
356
+ const retrievePublicOpenActivityWaitlistOfferFailureAction = createAction(ActivityActionTypes.RetrievePublicOpenActivityWaitlistOfferFailure, props());
357
+ const retrievePublicOpenActivityWaitlistOfferSuccessAction = createAction(ActivityActionTypes.RetrievePublicOpenActivityWaitlistOfferSuccess, props());
358
+ const respondPublicOpenActivityWaitlistOfferAction = createAction(ActivityActionTypes.RespondPublicOpenActivityWaitlistOffer, props());
359
+ const respondPublicOpenActivityWaitlistOfferFailureAction = createAction(ActivityActionTypes.RespondPublicOpenActivityWaitlistOfferFailure, props());
360
+ const respondPublicOpenActivityWaitlistOfferSuccessAction = createAction(ActivityActionTypes.RespondPublicOpenActivityWaitlistOfferSuccess, props());
361
+ const declinePublicOpenActivityWaitlistOfferAction = createAction(ActivityActionTypes.DeclinePublicOpenActivityWaitlistOffer, props());
362
+ const declinePublicOpenActivityWaitlistOfferFailureAction = createAction(ActivityActionTypes.DeclinePublicOpenActivityWaitlistOfferFailure, props());
363
+ const declinePublicOpenActivityWaitlistOfferSuccessAction = createAction(ActivityActionTypes.DeclinePublicOpenActivityWaitlistOfferSuccess);
248
364
 
249
365
  var AuthActionType;
250
366
  (function (AuthActionType) {
@@ -2019,7 +2135,7 @@ const activityRuleFactory = (apiActivityRule) => new ActivityRule(apiActivityRul
2019
2135
 
2020
2136
  const activityRuleRelationFactory = (apiActivityRuleRelation) => new ActivityRuleRelation(apiActivityRuleRelation.id, v4(), apiActivityRuleRelation.activity_id, apiActivityRuleRelation.club_id, apiActivityRuleRelation.section_id, apiActivityRuleRelation.parent_id, apiActivityRuleRelation.rules && apiActivityRuleRelation.rules.length ? apiActivityRuleRelation.rules.map((apiActivityRule) => activityRuleFactory(apiActivityRule)) : [], apiActivityRuleRelation.type);
2021
2137
 
2022
- const activityFactory = (apiActivity) => new Activity(apiActivity.id, apiActivity.activity_group_id, apiActivity.activity_type_id, apiActivity.club_id, apiActivity.location_id, apiActivity.team_id, apiActivity.activity_location, apiActivity.activity_status, apiActivity.activity_type_name, apiActivity.allow_maybe, apiActivity.calendar_name, apiActivity.comment_required, apiActivity.created, apiActivity.current_num_attendants, apiActivity.day, apiActivity.default_fee, apiActivity.default_fee_id, apiActivity.description, apiActivity.end_time, apiActivity.file, apiActivity.has_unpaid_invoices || false, apiActivity.invitation_text, apiActivity.invite_first_days, [], apiActivity.invite_hide_before_sent, apiActivity.invite_last_response_date, apiActivity.invite_remind, apiActivity.invite_remind_receivers, apiActivity.invite_second_days, 'same_as_last', (apiActivity.invited_members && apiActivity.invited_members.length) ? apiActivity.invited_members.map((invitedMember) => memberActivityInviteFactory(invitedMember)) : [], apiActivity.last_response_date, apiActivity.max_num_attendants, apiActivity.max_num_attendants_type, apiActivity.meet_up_place, apiActivity.meet_up_time, apiActivity.meet_up_time_display, apiActivity.member_id, apiActivity.member_ids, apiActivity.member_name, apiActivity.open_activity, (apiActivity.optional_fees && apiActivity.optional_fees.length) ? apiActivity.optional_fees.map((optionalFee) => optionalFeeFactory(optionalFee)) : [], apiActivity.optional_fee_required, apiActivity.optional_fee_type, apiActivity.payment_type, apiActivity.qr_code, apiActivity.qr_code_enabled, (apiActivity.questions && apiActivity.questions.length) ? apiActivity.questions.map((apiQuestion) => activityQuestionConnectionFactory(apiQuestion)) : [], 'none', 6, format(new Date(), 'yyyy-MM-dd'), 'repeat_until', (apiActivity.rule_relations || []).map((apiRuleRelation) => activityRuleRelationFactory(apiRuleRelation)), apiActivity.service_fee, apiActivity.service_fee_id, apiActivity.show_other_invited, apiActivity.start_time, apiActivity.status, apiActivity.title, (apiActivity.unpaid_invoices && apiActivity.unpaid_invoices.length) ? apiActivity.unpaid_invoices.map((invoice) => unpaidInvoiceFactory(invoice)) : [], apiActivity.updated, apiActivity.use_invite, false, apiActivity.invite_auto_accept, false, apiActivity.open_activity_confirmation_text || '', apiActivity.send_open_activity_confirmation, apiActivity.sisu_material, apiActivity.sisu_responsible_id, apiActivity.allow_guests || false, apiActivity.num_guests || 0, apiActivity.max_guests_per_member || 0, apiActivity.guest_fee_id || null, apiActivity.guest_fee || 0);
2138
+ const activityFactory = (apiActivity) => new Activity(apiActivity.id, apiActivity.activity_group_id, apiActivity.activity_type_id, apiActivity.club_id, apiActivity.location_id, apiActivity.team_id, apiActivity.activity_location, apiActivity.activity_status, apiActivity.activity_type_name, apiActivity.allow_maybe, apiActivity.calendar_name, apiActivity.comment_required, apiActivity.created, apiActivity.current_num_attendants, apiActivity.day, apiActivity.default_fee, apiActivity.default_fee_id, apiActivity.description, apiActivity.end_time, apiActivity.file, apiActivity.has_unpaid_invoices || false, apiActivity.invitation_text, apiActivity.invite_first_days, [], apiActivity.invite_hide_before_sent, apiActivity.invite_last_response_date, apiActivity.invite_remind, apiActivity.invite_remind_receivers, apiActivity.invite_second_days, 'same_as_last', (apiActivity.invited_members && apiActivity.invited_members.length) ? apiActivity.invited_members.map((invitedMember) => memberActivityInviteFactory(invitedMember)) : [], apiActivity.last_response_date, apiActivity.max_num_attendants, apiActivity.max_num_attendants_type, apiActivity.meet_up_place, apiActivity.meet_up_time, apiActivity.meet_up_time_display, apiActivity.member_id, apiActivity.member_ids, apiActivity.member_name, apiActivity.open_activity, (apiActivity.optional_fees && apiActivity.optional_fees.length) ? apiActivity.optional_fees.map((optionalFee) => optionalFeeFactory(optionalFee)) : [], apiActivity.optional_fee_required, apiActivity.optional_fee_type, apiActivity.payment_type, apiActivity.qr_code, apiActivity.qr_code_enabled, (apiActivity.questions && apiActivity.questions.length) ? apiActivity.questions.map((apiQuestion) => activityQuestionConnectionFactory(apiQuestion)) : [], 'none', 6, format(new Date(), 'yyyy-MM-dd'), 'repeat_until', (apiActivity.rule_relations || []).map((apiRuleRelation) => activityRuleRelationFactory(apiRuleRelation)), apiActivity.service_fee, apiActivity.service_fee_id, apiActivity.show_other_invited, apiActivity.start_time, apiActivity.status, apiActivity.title, (apiActivity.unpaid_invoices && apiActivity.unpaid_invoices.length) ? apiActivity.unpaid_invoices.map((invoice) => unpaidInvoiceFactory(invoice)) : [], apiActivity.updated, apiActivity.use_invite, false, apiActivity.invite_auto_accept, false, apiActivity.open_activity_confirmation_text || '', apiActivity.send_open_activity_confirmation, apiActivity.sisu_material, apiActivity.sisu_responsible_id, apiActivity.allow_guests || false, apiActivity.num_guests || 0, apiActivity.max_guests_per_member || 0, apiActivity.guest_fee_id || null, apiActivity.guest_fee || 0, apiActivity.allow_waiting_list || false, apiActivity.waitlist_claim_minutes || 0, apiActivity.waiting_list_count || 0, apiActivity.member_waiting_list_status || null, apiActivity.member_waiting_list_position ?? null, apiActivity.waiting_list_offer_expires_at || null, apiActivity.waiting_list_offered_slots ?? null);
2023
2139
 
2024
2140
  const appSettingsFactory = (apiAppSettings) => new AppSettings(apiAppSettings.leader_app_menu_header, apiAppSettings.my_pages_menu_header, apiAppSettings.leader_app_banner_image, apiAppSettings.my_pages_banner_image);
2025
2141
 
@@ -2051,6 +2167,8 @@ const activityParticipantFactory = (apiActivityParticipant) => new ActivityParti
2051
2167
 
2052
2168
  const activitySettingsFactory = (apiActivitySettings) => new ActivitySettings([], apiActivitySettings.status_options, [], apiActivitySettings.booking_repeat_options, apiActivitySettings.day_options, apiActivitySettings.hour_options, apiActivitySettings.invite_group_options, apiActivitySettings.invite_settings_options, apiActivitySettings.max_attendance_options, apiActivitySettings.meet_up_time_options, apiActivitySettings.question_type_options, apiActivitySettings.remind_receiver_options, apiActivitySettings.repeat_options, apiActivitySettings.repeat_type_options, apiActivitySettings.show_other_invited_options, apiActivitySettings.sisu_types, apiActivitySettings.sisu_responsible_options);
2053
2169
 
2170
+ const activityWaitingListEntryFactory = (apiEntry) => new ActivityWaitingListEntry(apiEntry.id, apiEntry.activity_id, apiEntry.member_id, apiEntry.member_name, apiEntry.status, apiEntry.position, apiEntry.queue_order, apiEntry.joined_at, apiEntry.offered_at, apiEntry.offer_expires_at, apiEntry.offered_slots, apiEntry.guest_count, apiEntry.guest_room, apiEntry.activity_invite_id, apiEntry.activity_invite_token);
2171
+
2054
2172
  const activityTypeFactory = (apiActivityType) => new ActivityType(apiActivityType.id, apiActivityType.club_id, apiActivityType.section_id, apiActivityType.active, apiActivityType.base_type, apiActivityType.name, apiActivityType.is_available_for_booking, apiActivityType.color);
2055
2173
 
2056
2174
  const authSectionFactory = (apiAuthSection) => new AuthSection(apiAuthSection.id, apiAuthSection.name, apiAuthSection.section_admin_2fa_required, apiAuthSection.team_admin_2fa_required, apiAuthSection.member_admin_2fa_required);
@@ -2061,7 +2179,15 @@ const authTeamSectionFactory = (apiAuthTeamSection) => new AuthTeamSection(apiAu
2061
2179
 
2062
2180
  const authTeamFactory = (apiAuthTeam) => new AuthTeam(apiAuthTeam.id, apiAuthTeam.calendar_url, apiAuthTeam.name, apiAuthTeam.section ? authTeamSectionFactory(apiAuthTeam.section) : null, apiAuthTeam.team_admin_2fa_required);
2063
2181
 
2064
- const authFactory = (apiAuth) => new Auth(apiAuth.id, apiAuth.name, apiAuth.club_admin, apiAuth.is_section_club, apiAuth.members.map((apiAuthMember) => authMemberFactory(apiAuthMember)), apiAuth.registration_enabled, apiAuth.sections.map((apiAuthSection) => authSectionFactory(apiAuthSection)), apiAuth.site_enabled, apiAuth.teams.map((apiAuthTeam) => authTeamFactory(apiAuthTeam)), apiAuth.teams.length > 0, apiAuth.user_name, apiAuth.blocked_members.map((apiAuthMember) => authMemberFactory(apiAuthMember)), apiAuth.club_admin_2fa_required, apiAuth.section_admin_2fa_required, apiAuth.team_admin_2fa_required, apiAuth.member_admin_2fa_required);
2182
+ const authFactory = (apiAuth) => {
2183
+ // teamsLoaded guards against repeated team loading (the success reducer sets it true once the
2184
+ // full team list is fetched). Club/section admins must always load their full team list first,
2185
+ // even when the payload already contains personal teams (team admin/member) — otherwise they
2186
+ // would never receive the rest of their club's/section's groups. Non-admins never load teams,
2187
+ // so their payload teams are already the complete set.
2188
+ const isAdmin = apiAuth.club_admin || apiAuth.sections.length > 0;
2189
+ return new Auth(apiAuth.id, apiAuth.name, apiAuth.club_admin, apiAuth.is_section_club, apiAuth.members.map((apiAuthMember) => authMemberFactory(apiAuthMember)), apiAuth.registration_enabled, apiAuth.sections.map((apiAuthSection) => authSectionFactory(apiAuthSection)), apiAuth.site_enabled, apiAuth.teams.map((apiAuthTeam) => authTeamFactory(apiAuthTeam)), isAdmin ? false : apiAuth.teams.length > 0, apiAuth.user_name, apiAuth.blocked_members.map((apiAuthMember) => authMemberFactory(apiAuthMember)), apiAuth.club_admin_2fa_required, apiAuth.section_admin_2fa_required, apiAuth.team_admin_2fa_required, apiAuth.member_admin_2fa_required);
2190
+ };
2065
2191
 
2066
2192
  const bookablePartFactory = (apiBookablePart) => {
2067
2193
  return new BookablePart(apiBookablePart.id, apiBookablePart.name);
@@ -2134,12 +2260,12 @@ const fileFactory = (file) => new FileObject(file.id, file.created, null, typeof
2134
2260
 
2135
2261
  const directoryFactory = (directory) => new Directory(directory.id, directory.club_id, directory.section_id, directory.team_id, directory.created, directory.files.map((file) => fileFactory(file)), directory.name, directory.location_name, directory.updated);
2136
2262
 
2137
- const eventFactory = (apiEvent) => new Event(apiEvent.id, apiEvent.activity_id, apiEvent.activity_type, apiEvent.base_background_color, apiEvent.base_color, apiEvent.base_name, apiEvent.calendar_name, apiEvent.description, apiEvent.end, apiEvent.invitation_id, apiEvent.invitation_response, (apiEvent.invited_members && apiEvent.invited_members.length) ? apiEvent.invited_members.map((invitedMember) => memberActivityInviteFactory(invitedMember)) : [], apiEvent.location, apiEvent.meet_up_place, apiEvent.meet_up_time, apiEvent.member_id, apiEvent.open_activity, (apiEvent.participants && apiEvent.participants.length) ? apiEvent.participants.map((participant) => activityParticipantFactory(participant)) : [], apiEvent.start, apiEvent.title, apiEvent.type);
2263
+ const eventFactory = (apiEvent) => new Event(apiEvent.id, apiEvent.activity_id, apiEvent.activity_type, apiEvent.base_background_color, apiEvent.base_color, apiEvent.base_name, apiEvent.calendar_name, apiEvent.description, apiEvent.end, apiEvent.invitation_id, apiEvent.invitation_response, (apiEvent.invited_members && apiEvent.invited_members.length) ? apiEvent.invited_members.map((invitedMember) => memberActivityInviteFactory(invitedMember)) : [], apiEvent.location, apiEvent.meet_up_place, apiEvent.meet_up_time, apiEvent.member_id, apiEvent.open_activity, (apiEvent.participants && apiEvent.participants.length) ? apiEvent.participants.map((participant) => activityParticipantFactory(participant)) : [], apiEvent.start, apiEvent.title, apiEvent.type, apiEvent.allow_waiting_list ?? false, apiEvent.member_waiting_list_status ?? null, apiEvent.member_waiting_list_position ?? null, apiEvent.waiting_list_offer_expires_at ?? null, apiEvent.waiting_list_offered_slots ?? null);
2138
2264
 
2139
2265
  const externalLinkFactory = (apiExternalLink) => new ExternalLink(apiExternalLink.text, apiExternalLink.value);
2140
2266
 
2141
2267
  const featureFlagsFactory = (apiFeatureFlags) => {
2142
- return new FeatureFlags(apiFeatureFlags.extra_distribution, apiFeatureFlags.booking_system, apiFeatureFlags.core_invoices, apiFeatureFlags.member_booking, apiFeatureFlags.public_booking, apiFeatureFlags.section_handle_invoices_rfs, apiFeatureFlags.api, apiFeatureFlags.member_pdf_exports, apiFeatureFlags.member_map, apiFeatureFlags.activity_guests, apiFeatureFlags.my_pages_menu, apiFeatureFlags.use_databank);
2268
+ return new FeatureFlags(apiFeatureFlags.extra_distribution, apiFeatureFlags.booking_system, apiFeatureFlags.core_invoices, apiFeatureFlags.member_booking, apiFeatureFlags.public_booking, apiFeatureFlags.section_handle_invoices_rfs, apiFeatureFlags.api, apiFeatureFlags.member_pdf_exports, apiFeatureFlags.member_map, apiFeatureFlags.activity_guests, apiFeatureFlags.activity_waiting_list, apiFeatureFlags.my_pages_menu, apiFeatureFlags.use_databank);
2143
2269
  };
2144
2270
 
2145
2271
  const giroFactory = (apiGiro) => new Giro(apiGiro.club_id, apiGiro.section_id, apiGiro.giro_type, apiGiro.name, apiGiro.number, apiGiro.ocr);
@@ -2192,7 +2318,7 @@ const memberTeamThroughFactory = (apiMemberTeamThrough) => new MemberTeamThrough
2192
2318
 
2193
2319
  const newsFactory = (apiNews) => new News(apiNews.id, apiNews.club_id, apiNews.created, apiNews.created_by_id, apiNews.section_id, apiNews.team_id, apiNews.active_to, apiNews.author, apiNews.ingress, apiNews.news_image, apiNews.news_image_text, apiNews.published_date, apiNews.read, apiNews.show_on_my_pages, apiNews.show_on_webpage, apiNews.text, apiNews.title, apiNews.updated, apiNews.urls ? imageUrlsFactory(apiNews.urls) : null);
2194
2320
 
2195
- const openActivityFactory = (apiOpenActivity) => new OpenActivity(apiOpenActivity.id, apiOpenActivity.activity_group_id, apiOpenActivity.activity_type_id, apiOpenActivity.club_id, apiOpenActivity.location_id, apiOpenActivity.member_id, apiOpenActivity.team_id, apiOpenActivity.activity_location, apiOpenActivity.activity_type_name, apiOpenActivity.allow_maybe, apiOpenActivity.calendar_name, apiOpenActivity.comment_required, apiOpenActivity.created, apiOpenActivity.current_num_attendants, apiOpenActivity.day, apiOpenActivity.default_fee, apiOpenActivity.default_fee_id, apiOpenActivity.description, apiOpenActivity.end, apiOpenActivity.end_time, apiOpenActivity.file, apiOpenActivity.has_unpaid_invoices, apiOpenActivity.invitation_text, apiOpenActivity.invite_first_days, [], apiOpenActivity.invite_hide_before_sent, apiOpenActivity.invite_last_response_date, apiOpenActivity.invite_remind, apiOpenActivity.invite_remind_receivers, apiOpenActivity.invite_second_days, 'same_as_last', (apiOpenActivity.invited_members && apiOpenActivity.invited_members.length) ? apiOpenActivity.invited_members.map((invitedMember) => memberActivityInviteFactory(invitedMember)) : [], apiOpenActivity.last_response_date, apiOpenActivity.location_name, apiOpenActivity.max_num_attendants, apiOpenActivity.max_num_attendants_type, apiOpenActivity.meet_up_place, apiOpenActivity.meet_up_time, apiOpenActivity.meet_up_time_display, apiOpenActivity.meet_up_time_show, [], apiOpenActivity.member_invoice, apiOpenActivity.member_name, apiOpenActivity.open_activity, (apiOpenActivity.optional_fees && apiOpenActivity.optional_fees.length) ? apiOpenActivity.optional_fees.map((fee) => optionalFeeFactory(fee)) : [], apiOpenActivity.optional_fee_required, apiOpenActivity.optional_fee_type, apiOpenActivity.payment_link, apiOpenActivity.public_payment_link, (apiOpenActivity.questions && apiOpenActivity.questions.length) ? apiOpenActivity.questions.map((activityQuestionConnection) => activityQuestionConnectionFactory(activityQuestionConnection)) : [], 'none', 6, format(new Date(), 'yyyy-MM-dd'), 'repeat_until', apiOpenActivity.service_fee, apiOpenActivity.service_fee_id, apiOpenActivity.show_other_invited, apiOpenActivity.start, apiOpenActivity.start_time, apiOpenActivity.status, apiOpenActivity.title, (apiOpenActivity.unpaid_invoices && apiOpenActivity.unpaid_invoices.length) ? apiOpenActivity.unpaid_invoices.map((invoice) => unpaidInvoiceFactory(invoice)) : [], apiOpenActivity.updated, apiOpenActivity.use_invite, false, apiOpenActivity.allow_guests || false, apiOpenActivity.num_guests || 0);
2321
+ const openActivityFactory = (apiOpenActivity) => new OpenActivity(apiOpenActivity.id, apiOpenActivity.activity_group_id, apiOpenActivity.activity_type_id, apiOpenActivity.club_id, apiOpenActivity.location_id, apiOpenActivity.member_id, apiOpenActivity.team_id, apiOpenActivity.activity_location, apiOpenActivity.activity_type_name, apiOpenActivity.allow_maybe, apiOpenActivity.calendar_name, apiOpenActivity.comment_required, apiOpenActivity.created, apiOpenActivity.current_num_attendants, apiOpenActivity.day, apiOpenActivity.default_fee, apiOpenActivity.default_fee_id, apiOpenActivity.description, apiOpenActivity.end, apiOpenActivity.end_time, apiOpenActivity.file, apiOpenActivity.has_unpaid_invoices, apiOpenActivity.invitation_text, apiOpenActivity.invite_first_days, [], apiOpenActivity.invite_hide_before_sent, apiOpenActivity.invite_last_response_date, apiOpenActivity.invite_remind, apiOpenActivity.invite_remind_receivers, apiOpenActivity.invite_second_days, 'same_as_last', (apiOpenActivity.invited_members && apiOpenActivity.invited_members.length) ? apiOpenActivity.invited_members.map((invitedMember) => memberActivityInviteFactory(invitedMember)) : [], apiOpenActivity.last_response_date, apiOpenActivity.location_name, apiOpenActivity.max_num_attendants, apiOpenActivity.max_num_attendants_type, apiOpenActivity.meet_up_place, apiOpenActivity.meet_up_time, apiOpenActivity.meet_up_time_display, apiOpenActivity.meet_up_time_show, [], apiOpenActivity.member_invoice, apiOpenActivity.member_name, apiOpenActivity.open_activity, (apiOpenActivity.optional_fees && apiOpenActivity.optional_fees.length) ? apiOpenActivity.optional_fees.map((fee) => optionalFeeFactory(fee)) : [], apiOpenActivity.optional_fee_required, apiOpenActivity.optional_fee_type, apiOpenActivity.payment_link, apiOpenActivity.public_payment_link, (apiOpenActivity.questions && apiOpenActivity.questions.length) ? apiOpenActivity.questions.map((activityQuestionConnection) => activityQuestionConnectionFactory(activityQuestionConnection)) : [], 'none', 6, format(new Date(), 'yyyy-MM-dd'), 'repeat_until', apiOpenActivity.service_fee, apiOpenActivity.service_fee_id, apiOpenActivity.show_other_invited, apiOpenActivity.start, apiOpenActivity.start_time, apiOpenActivity.status, apiOpenActivity.title, (apiOpenActivity.unpaid_invoices && apiOpenActivity.unpaid_invoices.length) ? apiOpenActivity.unpaid_invoices.map((invoice) => unpaidInvoiceFactory(invoice)) : [], apiOpenActivity.updated, apiOpenActivity.use_invite, false, apiOpenActivity.allow_guests || false, apiOpenActivity.num_guests || 0, apiOpenActivity.allow_waiting_list || false, apiOpenActivity.waitlist_claim_minutes || 0, apiOpenActivity.waiting_list_count || 0, apiOpenActivity.member_waiting_list_status || null, apiOpenActivity.member_waiting_list_position ?? null, apiOpenActivity.waiting_list_offer_expires_at || null, apiOpenActivity.waiting_list_offered_slots ?? null, apiOpenActivity.activity_invite_id ?? null, apiOpenActivity.activity_invite_token ?? null);
2196
2322
 
2197
2323
  const overbookedBookableItemFactory = (apiOverbookedBookableItem) => new OverbookedBookableItem(apiOverbookedBookableItem.start_time, apiOverbookedBookableItem.end_time, apiOverbookedBookableItem.day, apiOverbookedBookableItem.bookable_name, apiOverbookedBookableItem.session_names);
2198
2324
 
@@ -2343,6 +2469,13 @@ class Activity {
2343
2469
  max_guests_per_member;
2344
2470
  guest_fee_id;
2345
2471
  guest_fee;
2472
+ allow_waiting_list;
2473
+ waitlist_claim_minutes;
2474
+ waiting_list_count;
2475
+ member_waiting_list_status;
2476
+ member_waiting_list_position;
2477
+ waiting_list_offer_expires_at;
2478
+ waiting_list_offered_slots;
2346
2479
  static asFormGroup(activity = null) {
2347
2480
  return new FormGroup({
2348
2481
  id: new FormControl(activity?.id || ''),
@@ -2398,12 +2531,14 @@ class Activity {
2398
2531
  sisu_responsible_id: new FormControl(activity?.sisu_responsible_id || null, { nonNullable: false }),
2399
2532
  max_guests_per_member: new FormControl(activity?.max_guests_per_member ?? 0),
2400
2533
  guest_fee_id: new FormControl(activity?.guest_fee_id ?? null, { nonNullable: false }),
2534
+ allow_waiting_list: new FormControl(typeof activity?.allow_waiting_list !== 'undefined' ? activity.allow_waiting_list : false),
2535
+ waitlist_claim_minutes: new FormControl(activity?.waitlist_claim_minutes ?? 0),
2401
2536
  });
2402
2537
  }
2403
2538
  static copy(activity) {
2404
- return new Activity(activity.id, activity.activity_group_id, activity.activity_type_id, activity.club_id, activity.location_id, activity.team_id, activity.activity_location, activity.activity_status, activity.activity_type_name, activity.allow_maybe, activity.calendar_name, activity.comment_required, activity.created, activity.current_num_attendants, activity.day, activity.default_fee, activity.default_fee_id, activity.description, activity.end_time, activity.file, activity.has_unpaid_invoices, activity.invitation_text, activity.invite_first_days, activity.invite_groups, activity.invite_hide_before_sent, activity.invite_last_response_date, activity.invite_remind, activity.invite_remind_receivers, activity.invite_second_days, activity.invite_settings, activity.invited_members && activity.invited_members.length ? activity.invited_members.map((m) => new MemberActivityInvite(m.id, m.comment, m.current_num_attendants, m.last_invite, m.leader, m.member_email, m.member_id, m.member_name, m.next_invite, m.response_date, m.status)) : [], activity.last_response_date, activity.max_num_attendants, activity.max_num_attendants_type, activity.meet_up_place, activity.meet_up_time, activity.meet_up_time_display, activity.member_id, [...activity.member_ids], activity.member_name, activity.open_activity, activity.optional_fees && activity.optional_fees.length ? activity.optional_fees.map((f) => new OptionalFee(f.id, f.activity_id, f.fee_id, f.amount, f.text)) : [], activity.optional_fee_required, activity.optional_fee_type, activity.payment_type, activity.qr_code, activity.qr_code_enabled, activity.questions && activity.questions.length ? activity.questions.map((q) => activityQuestionConnectionFactory(q)) : [], activity.repeat, activity.repeat_num, activity.repeat_to_day, activity.repeat_type, (activity.rule_relations || []).map((ruleRelation) => activityRuleRelationFactory(ruleRelation)), activity.service_fee, activity.service_fee_id, activity.show_other_invited, activity.start_time, activity.status, activity.title, activity.unpaid_invoices && activity.unpaid_invoices.length ? activity.unpaid_invoices.map((invoice) => new UnpaidMemberInvoice(invoice.id, invoice.club_bill_id, invoice.member_id, invoice.token)) : [], activity.updated, activity.use_invite, activity.update_repeating, activity.invite_auto_accept, activity.mail_invited, activity.open_activity_confirmation_text, activity.send_open_activity_confirmation, activity.sisu_material, activity.sisu_responsible_id, activity.allow_guests, activity.num_guests, activity.max_guests_per_member, activity.guest_fee_id, activity.guest_fee);
2539
+ return new Activity(activity.id, activity.activity_group_id, activity.activity_type_id, activity.club_id, activity.location_id, activity.team_id, activity.activity_location, activity.activity_status, activity.activity_type_name, activity.allow_maybe, activity.calendar_name, activity.comment_required, activity.created, activity.current_num_attendants, activity.day, activity.default_fee, activity.default_fee_id, activity.description, activity.end_time, activity.file, activity.has_unpaid_invoices, activity.invitation_text, activity.invite_first_days, activity.invite_groups, activity.invite_hide_before_sent, activity.invite_last_response_date, activity.invite_remind, activity.invite_remind_receivers, activity.invite_second_days, activity.invite_settings, activity.invited_members && activity.invited_members.length ? activity.invited_members.map((m) => new MemberActivityInvite(m.id, m.comment, m.current_num_attendants, m.last_invite, m.leader, m.member_email, m.member_id, m.member_name, m.next_invite, m.response_date, m.status)) : [], activity.last_response_date, activity.max_num_attendants, activity.max_num_attendants_type, activity.meet_up_place, activity.meet_up_time, activity.meet_up_time_display, activity.member_id, [...activity.member_ids], activity.member_name, activity.open_activity, activity.optional_fees && activity.optional_fees.length ? activity.optional_fees.map((f) => new OptionalFee(f.id, f.activity_id, f.fee_id, f.amount, f.text)) : [], activity.optional_fee_required, activity.optional_fee_type, activity.payment_type, activity.qr_code, activity.qr_code_enabled, activity.questions && activity.questions.length ? activity.questions.map((q) => activityQuestionConnectionFactory(q)) : [], activity.repeat, activity.repeat_num, activity.repeat_to_day, activity.repeat_type, (activity.rule_relations || []).map((ruleRelation) => activityRuleRelationFactory(ruleRelation)), activity.service_fee, activity.service_fee_id, activity.show_other_invited, activity.start_time, activity.status, activity.title, activity.unpaid_invoices && activity.unpaid_invoices.length ? activity.unpaid_invoices.map((invoice) => new UnpaidMemberInvoice(invoice.id, invoice.club_bill_id, invoice.member_id, invoice.token)) : [], activity.updated, activity.use_invite, activity.update_repeating, activity.invite_auto_accept, activity.mail_invited, activity.open_activity_confirmation_text, activity.send_open_activity_confirmation, activity.sisu_material, activity.sisu_responsible_id, activity.allow_guests, activity.num_guests, activity.max_guests_per_member, activity.guest_fee_id, activity.guest_fee, activity.allow_waiting_list, activity.waitlist_claim_minutes, activity.waiting_list_count, activity.member_waiting_list_status, activity.member_waiting_list_position, activity.waiting_list_offer_expires_at, activity.waiting_list_offered_slots);
2405
2540
  }
2406
- constructor(id, activity_group_id, activity_type_id, club_id, location_id, team_id, activity_location, activity_status, activity_type_name, allow_maybe, calendar_name, comment_required, created, current_num_attendants, day, default_fee, default_fee_id, description, end_time, file, has_unpaid_invoices, invitation_text, invite_first_days, invite_groups, invite_hide_before_sent, invite_last_response_date, invite_remind, invite_remind_receivers, invite_second_days, invite_settings, invited_members, last_response_date, max_num_attendants, max_num_attendants_type, meet_up_place, meet_up_time, meet_up_time_display, member_id, member_ids, member_name, open_activity, optional_fees, optional_fee_required, optional_fee_type, payment_type, qr_code, qr_code_enabled, questions, repeat, repeat_num, repeat_to_day, repeat_type, rule_relations, service_fee, service_fee_id, show_other_invited, start_time, status, title, unpaid_invoices, updated, use_invite, update_repeating, invite_auto_accept, mail_invited, open_activity_confirmation_text, send_open_activity_confirmation, sisu_material, sisu_responsible_id, allow_guests, num_guests, max_guests_per_member = 0, guest_fee_id = null, guest_fee = 0) {
2541
+ constructor(id, activity_group_id, activity_type_id, club_id, location_id, team_id, activity_location, activity_status, activity_type_name, allow_maybe, calendar_name, comment_required, created, current_num_attendants, day, default_fee, default_fee_id, description, end_time, file, has_unpaid_invoices, invitation_text, invite_first_days, invite_groups, invite_hide_before_sent, invite_last_response_date, invite_remind, invite_remind_receivers, invite_second_days, invite_settings, invited_members, last_response_date, max_num_attendants, max_num_attendants_type, meet_up_place, meet_up_time, meet_up_time_display, member_id, member_ids, member_name, open_activity, optional_fees, optional_fee_required, optional_fee_type, payment_type, qr_code, qr_code_enabled, questions, repeat, repeat_num, repeat_to_day, repeat_type, rule_relations, service_fee, service_fee_id, show_other_invited, start_time, status, title, unpaid_invoices, updated, use_invite, update_repeating, invite_auto_accept, mail_invited, open_activity_confirmation_text, send_open_activity_confirmation, sisu_material, sisu_responsible_id, allow_guests, num_guests, max_guests_per_member = 0, guest_fee_id = null, guest_fee = 0, allow_waiting_list = false, waitlist_claim_minutes = 0, waiting_list_count = 0, member_waiting_list_status = null, member_waiting_list_position = null, waiting_list_offer_expires_at = null, waiting_list_offered_slots = null) {
2407
2542
  this.id = id;
2408
2543
  this.activity_group_id = activity_group_id;
2409
2544
  this.activity_type_id = activity_type_id;
@@ -2478,6 +2613,13 @@ class Activity {
2478
2613
  this.max_guests_per_member = max_guests_per_member;
2479
2614
  this.guest_fee_id = guest_fee_id;
2480
2615
  this.guest_fee = guest_fee;
2616
+ this.allow_waiting_list = allow_waiting_list;
2617
+ this.waitlist_claim_minutes = waitlist_claim_minutes;
2618
+ this.waiting_list_count = waiting_list_count;
2619
+ this.member_waiting_list_status = member_waiting_list_status;
2620
+ this.member_waiting_list_position = member_waiting_list_position;
2621
+ this.waiting_list_offer_expires_at = waiting_list_offer_expires_at;
2622
+ this.waiting_list_offered_slots = waiting_list_offered_slots;
2481
2623
  }
2482
2624
  }
2483
2625
 
@@ -2754,6 +2896,41 @@ class ActivityQuestionResponse {
2754
2896
  }
2755
2897
  }
2756
2898
 
2899
+ class ActivityWaitingListEntry {
2900
+ id;
2901
+ activity_id;
2902
+ member_id;
2903
+ member_name;
2904
+ status;
2905
+ position;
2906
+ queue_order;
2907
+ joined_at;
2908
+ offered_at;
2909
+ offer_expires_at;
2910
+ offered_slots;
2911
+ guest_count;
2912
+ guest_room;
2913
+ activity_invite_id;
2914
+ activity_invite_token;
2915
+ constructor(id, activity_id, member_id, member_name, status, position, queue_order, joined_at, offered_at, offer_expires_at, offered_slots, guest_count, guest_room, activity_invite_id, activity_invite_token) {
2916
+ this.id = id;
2917
+ this.activity_id = activity_id;
2918
+ this.member_id = member_id;
2919
+ this.member_name = member_name;
2920
+ this.status = status;
2921
+ this.position = position;
2922
+ this.queue_order = queue_order;
2923
+ this.joined_at = joined_at;
2924
+ this.offered_at = offered_at;
2925
+ this.offer_expires_at = offer_expires_at;
2926
+ this.offered_slots = offered_slots;
2927
+ this.guest_count = guest_count;
2928
+ this.guest_room = guest_room;
2929
+ this.activity_invite_id = activity_invite_id;
2930
+ this.activity_invite_token = activity_invite_token;
2931
+ }
2932
+ }
2933
+
2757
2934
  class ActivitySettings {
2758
2935
  activityLocations;
2759
2936
  activityStatuses;
@@ -4025,7 +4202,12 @@ class Event {
4025
4202
  start;
4026
4203
  title;
4027
4204
  type;
4028
- constructor(id, activity_id, activity_type, base_background_color, base_color, base_name, calendar_name, description, end, invitation_id, invitation_response, invited_members, location, meet_up_place, meet_up_time, member_id, open_activity, participants, start, title, type) {
4205
+ allow_waiting_list;
4206
+ member_waiting_list_status;
4207
+ member_waiting_list_position;
4208
+ waiting_list_offer_expires_at;
4209
+ waiting_list_offered_slots;
4210
+ constructor(id, activity_id, activity_type, base_background_color, base_color, base_name, calendar_name, description, end, invitation_id, invitation_response, invited_members, location, meet_up_place, meet_up_time, member_id, open_activity, participants, start, title, type, allow_waiting_list = false, member_waiting_list_status = null, member_waiting_list_position = null, waiting_list_offer_expires_at = null, waiting_list_offered_slots = null) {
4029
4211
  this.id = id;
4030
4212
  this.activity_id = activity_id;
4031
4213
  this.activity_type = activity_type;
@@ -4047,6 +4229,11 @@ class Event {
4047
4229
  this.start = start;
4048
4230
  this.title = title;
4049
4231
  this.type = type;
4232
+ this.allow_waiting_list = allow_waiting_list;
4233
+ this.member_waiting_list_status = member_waiting_list_status;
4234
+ this.member_waiting_list_position = member_waiting_list_position;
4235
+ this.waiting_list_offer_expires_at = waiting_list_offer_expires_at;
4236
+ this.waiting_list_offered_slots = waiting_list_offered_slots;
4050
4237
  }
4051
4238
  }
4052
4239
 
@@ -4070,9 +4257,10 @@ class FeatureFlags {
4070
4257
  member_pdf_exports;
4071
4258
  member_map;
4072
4259
  activity_guests;
4260
+ activity_waiting_list;
4073
4261
  my_pages_menu;
4074
4262
  use_databank;
4075
- constructor(extra_distribution, booking_system, core_invoices, member_booking, public_booking, section_handle_invoices_rfs, api, member_pdf_exports, member_map, activity_guests, my_pages_menu, use_databank) {
4263
+ constructor(extra_distribution, booking_system, core_invoices, member_booking, public_booking, section_handle_invoices_rfs, api, member_pdf_exports, member_map, activity_guests, activity_waiting_list, my_pages_menu, use_databank) {
4076
4264
  this.extra_distribution = extra_distribution;
4077
4265
  this.booking_system = booking_system;
4078
4266
  this.core_invoices = core_invoices;
@@ -4083,11 +4271,12 @@ class FeatureFlags {
4083
4271
  this.member_pdf_exports = member_pdf_exports;
4084
4272
  this.member_map = member_map;
4085
4273
  this.activity_guests = activity_guests;
4274
+ this.activity_waiting_list = activity_waiting_list;
4086
4275
  this.my_pages_menu = my_pages_menu;
4087
4276
  this.use_databank = use_databank;
4088
4277
  }
4089
4278
  static defaultValues() {
4090
- return new FeatureFlags(false, false, false, false, false, false, false, false, false, false, false, false);
4279
+ return new FeatureFlags(false, false, false, false, false, false, false, false, false, false, false, false, false);
4091
4280
  }
4092
4281
  }
4093
4282
 
@@ -4745,9 +4934,21 @@ class OpenActivity {
4745
4934
  update_repeating;
4746
4935
  allow_guests;
4747
4936
  num_guests;
4937
+ allow_waiting_list;
4938
+ waitlist_claim_minutes;
4939
+ waiting_list_count;
4940
+ member_waiting_list_status;
4941
+ member_waiting_list_position;
4942
+ waiting_list_offer_expires_at;
4943
+ waiting_list_offered_slots;
4944
+ activity_invite_id;
4945
+ activity_invite_token;
4748
4946
  qr_code = null;
4749
4947
  qr_code_enabled = false;
4750
- constructor(id, activity_group_id, activity_type_id, club_id, location_id, member_id, team_id, activity_location, activity_type_name, allow_maybe, calendar_name, comment_required, created, current_num_attendants, day, default_fee, default_fee_id, description, end, end_time, file, has_unpaid_invoices, invitation_text, invite_first_days, invite_groups, invite_hide_before_sent, invite_last_response_date, invite_remind, invite_remind_receivers, invite_second_days, invite_settings, invited_members, last_response_date, location_name, max_num_attendants, max_num_attendants_type, meet_up_place, meet_up_time, meet_up_time_display, meet_up_time_show, member_ids, member_invoice, member_name, open_activity, optional_fees, optional_fee_required, optional_fee_type, payment_link, public_payment_link, questions, repeat, repeat_num, repeat_to_day, repeat_type, service_fee, service_fee_id, show_other_invited, start, start_time, status, title, unpaid_invoices, updated, use_invite, update_repeating, allow_guests, num_guests) {
4948
+ constructor(id, activity_group_id, activity_type_id, club_id, location_id, member_id, team_id, activity_location, activity_type_name, allow_maybe, calendar_name, comment_required, created, current_num_attendants, day, default_fee, default_fee_id, description, end, end_time, file, has_unpaid_invoices, invitation_text, invite_first_days, invite_groups, invite_hide_before_sent, invite_last_response_date, invite_remind, invite_remind_receivers, invite_second_days, invite_settings, invited_members, last_response_date, location_name, max_num_attendants, max_num_attendants_type, meet_up_place, meet_up_time, meet_up_time_display, meet_up_time_show, member_ids, member_invoice, member_name, open_activity, optional_fees, optional_fee_required, optional_fee_type, payment_link, public_payment_link, questions, repeat, repeat_num, repeat_to_day, repeat_type, service_fee, service_fee_id, show_other_invited, start, start_time, status, title, unpaid_invoices, updated, use_invite, update_repeating, allow_guests, num_guests, allow_waiting_list = false, waitlist_claim_minutes = 0, waiting_list_count = 0, member_waiting_list_status = null, member_waiting_list_position = null, waiting_list_offer_expires_at = null, waiting_list_offered_slots = null,
4949
+ // The member's own invite for this open activity once they have responded. Lets the
4950
+ // client switch to the regular invite handling (change/cancel) after registering.
4951
+ activity_invite_id = null, activity_invite_token = null) {
4751
4952
  this.id = id;
4752
4953
  this.activity_group_id = activity_group_id;
4753
4954
  this.activity_type_id = activity_type_id;
@@ -4815,6 +5016,15 @@ class OpenActivity {
4815
5016
  this.update_repeating = update_repeating;
4816
5017
  this.allow_guests = allow_guests;
4817
5018
  this.num_guests = num_guests;
5019
+ this.allow_waiting_list = allow_waiting_list;
5020
+ this.waitlist_claim_minutes = waitlist_claim_minutes;
5021
+ this.waiting_list_count = waiting_list_count;
5022
+ this.member_waiting_list_status = member_waiting_list_status;
5023
+ this.member_waiting_list_position = member_waiting_list_position;
5024
+ this.waiting_list_offer_expires_at = waiting_list_offer_expires_at;
5025
+ this.waiting_list_offered_slots = waiting_list_offered_slots;
5026
+ this.activity_invite_id = activity_invite_id;
5027
+ this.activity_invite_token = activity_invite_token;
4818
5028
  }
4819
5029
  }
4820
5030
 
@@ -5121,6 +5331,14 @@ class ApiService {
5121
5331
  updateResourceNoResponse(role, path, pathParams = {}, data, options = {}) {
5122
5332
  return this.patchEmptyResponse(role, path, pathParams, data, options).pipe(map((response) => response.status === 200 || response.status === 204));
5123
5333
  }
5334
+ /**
5335
+ * Like {@link updateResource} but tolerates a 204 No Content response: the body is run through the
5336
+ * factory when present, otherwise `null` is returned. Used by invite responses where denying an
5337
+ * open-activity invite deletes it server-side and answers 204 (there is no invite left to echo back).
5338
+ */
5339
+ updateResourceOrNull(responseFactory, role, path, pathParams = {}, data, options = {}) {
5340
+ return this.patchEmptyResponse(role, path, pathParams, data, options).pipe(map((response) => response.status === 204 || response.body === null ? null : responseFactory(response.body)));
5341
+ }
5124
5342
  delete(role, path, pathParams, options) {
5125
5343
  if (options.body) {
5126
5344
  return this.http.request('delete', this.url(this.path(role, path, pathParams)), options);
@@ -5311,6 +5529,20 @@ const PUBLIC_ACTIVITY_INVITE_GUEST_LIST_PATH = 'activities/:id/:token/guests/';
5311
5529
  const PUBLIC_ACTIVITY_INVITE_GUEST_DETAIL_PATH = 'activities/:id/:token/guests/:guestId/';
5312
5530
  const PUBLIC_OPEN_ACTIVITY_GUEST_LIST_PATH = 'open-activities/:activityId/guests/';
5313
5531
  const PUBLIC_OPEN_ACTIVITY_GUEST_DETAIL_PATH = 'open-activities/:activityId/guests/:guestId/';
5532
+ const MEMBER_ACTIVITY_WAITING_LIST_PATH = ':memberId/activities/activity/:activityId/waiting-list/';
5533
+ const MEMBER_WAITING_LIST_ENTRY_PATH = ':memberId/activities/waiting-list/:entryId/';
5534
+ const TEAM_ACTIVITY_WAITING_LIST_PATH = ':teamId/activities/:activityId/waiting-list/';
5535
+ const TEAM_ACTIVITY_WAITING_LIST_OPEN_PLACE_PATH = ':teamId/activities/:activityId/waiting-list/open-place/';
5536
+ const TEAM_ACTIVITY_WAITING_LIST_ENTRY_PATH = ':teamId/activities/:activityId/waiting-list/:entryId/';
5537
+ const TEAM_ACTIVITY_WAITING_LIST_ENTRY_ADMIT_PATH = ':teamId/activities/:activityId/waiting-list/:entryId/admit/';
5538
+ const TEAM_ACTIVITY_WAITING_LIST_ENTRY_REORDER_PATH = ':teamId/activities/:activityId/waiting-list/:entryId/reorder/';
5539
+ const TEAM_ACTIVITY_WAITING_LIST_ENTRY_REMIND_PATH = ':teamId/activities/:activityId/waiting-list/:entryId/remind/';
5540
+ const TEAM_ACTIVITY_WAITING_LIST_ENTRY_OFFER_PATH = ':teamId/activities/:activityId/waiting-list/:entryId/offer/';
5541
+ const TEAM_ACTIVITY_WAITING_LIST_ENTRY_PASS_PATH = ':teamId/activities/:activityId/waiting-list/:entryId/pass/';
5542
+ const PUBLIC_ACTIVITY_INVITE_WAITING_LIST_PATH = 'activities/invites/:id/:token/waiting-list/';
5543
+ const PUBLIC_WAITING_LIST_OFFER_PATH = 'activities/waiting-list-offers/:id/:token/';
5544
+ const PUBLIC_WAITING_LIST_OFFER_OPEN_ACTIVITY_PATH = 'activities/waiting-list-offers/:id/:token/open-activity/';
5545
+ const PUBLIC_WAITING_LIST_OFFER_RESPOND_PATH = 'activities/waiting-list-offers/:id/:token/open-activity/respond/';
5314
5546
  class ActivityService {
5315
5547
  apiService;
5316
5548
  activityLocationCollection;
@@ -5599,6 +5831,90 @@ class ActivityService {
5599
5831
  return this.apiService
5600
5832
  .deleteResource(Role.MemberAdmin, MEMBER_ACTIVITY_INVITE_GUEST_PATH, { memberId, inviteId, guestId });
5601
5833
  }
5834
+ getMemberActivityWaitingListEntry(memberId, activityId) {
5835
+ return this.apiService
5836
+ .getResource(activityWaitingListEntryFactory, Role.MemberAdmin, MEMBER_ACTIVITY_WAITING_LIST_PATH, { memberId, activityId });
5837
+ }
5838
+ joinMemberActivityWaitingList(memberId, activityId) {
5839
+ return this.apiService
5840
+ .postResource(activityWaitingListEntryFactory, Role.MemberAdmin, MEMBER_ACTIVITY_WAITING_LIST_PATH, { memberId, activityId }, {});
5841
+ }
5842
+ leaveMemberActivityWaitingList(memberId, activityId) {
5843
+ return this.apiService
5844
+ .deleteResource(Role.MemberAdmin, MEMBER_ACTIVITY_WAITING_LIST_PATH, { memberId, activityId });
5845
+ }
5846
+ getMemberWaitingListEntry(memberId, entryId) {
5847
+ return this.apiService
5848
+ .getResource(activityWaitingListEntryFactory, Role.MemberAdmin, MEMBER_WAITING_LIST_ENTRY_PATH, { memberId, entryId });
5849
+ }
5850
+ getTeamActivityWaitingList(teamId, activityId) {
5851
+ return this.apiService
5852
+ .getResource((api) => ({
5853
+ entries: (api.entries || []).map((entry) => activityWaitingListEntryFactory(entry)),
5854
+ outstandingOffer: api.outstanding_offer ? activityWaitingListEntryFactory(api.outstanding_offer) : null
5855
+ }), Role.TeamAdmin, TEAM_ACTIVITY_WAITING_LIST_PATH, { teamId, activityId });
5856
+ }
5857
+ openTeamActivityWaitlistPlace(teamId, activityId) {
5858
+ return this.apiService
5859
+ .postResourceNoResponse(Role.TeamAdmin, TEAM_ACTIVITY_WAITING_LIST_OPEN_PLACE_PATH, { teamId, activityId }, {});
5860
+ }
5861
+ admitTeamActivityWaitlistEntry(teamId, activityId, entryId) {
5862
+ return this.apiService
5863
+ .postResourceNoResponse(Role.TeamAdmin, TEAM_ACTIVITY_WAITING_LIST_ENTRY_ADMIT_PATH, { teamId, activityId, entryId }, {});
5864
+ }
5865
+ reorderTeamActivityWaitlistEntry(teamId, activityId, entryId, direction) {
5866
+ return this.apiService
5867
+ .postResourceNoResponse(Role.TeamAdmin, TEAM_ACTIVITY_WAITING_LIST_ENTRY_REORDER_PATH, { teamId, activityId, entryId }, { direction });
5868
+ }
5869
+ remindTeamActivityWaitlistEntry(teamId, activityId, entryId) {
5870
+ return this.apiService
5871
+ .postResourceNoResponse(Role.TeamAdmin, TEAM_ACTIVITY_WAITING_LIST_ENTRY_REMIND_PATH, { teamId, activityId, entryId }, {});
5872
+ }
5873
+ offerTeamActivityWaitlistEntry(teamId, activityId, entryId) {
5874
+ return this.apiService
5875
+ .postResource(activityWaitingListEntryFactory, Role.TeamAdmin, TEAM_ACTIVITY_WAITING_LIST_ENTRY_OFFER_PATH, { teamId, activityId, entryId }, {});
5876
+ }
5877
+ passTeamActivityWaitlistOffer(teamId, activityId, entryId) {
5878
+ return this.apiService
5879
+ .postResourceNoResponse(Role.TeamAdmin, TEAM_ACTIVITY_WAITING_LIST_ENTRY_PASS_PATH, { teamId, activityId, entryId }, {});
5880
+ }
5881
+ deleteTeamActivityWaitlistEntry(teamId, activityId, entryId) {
5882
+ return this.apiService
5883
+ .deleteResource(Role.TeamAdmin, TEAM_ACTIVITY_WAITING_LIST_ENTRY_PATH, { teamId, activityId, entryId });
5884
+ }
5885
+ getPublicWaitingListState(id, token) {
5886
+ return this.apiService
5887
+ .getResource(activityWaitingListEntryFactory, Role.Public, PUBLIC_ACTIVITY_INVITE_WAITING_LIST_PATH, { id, token });
5888
+ }
5889
+ joinPublicWaitingList(id, token) {
5890
+ return this.apiService
5891
+ .postResource(activityWaitingListEntryFactory, Role.Public, PUBLIC_ACTIVITY_INVITE_WAITING_LIST_PATH, { id, token }, {});
5892
+ }
5893
+ leavePublicWaitingList(id, token) {
5894
+ return this.apiService
5895
+ .deleteResource(Role.Public, PUBLIC_ACTIVITY_INVITE_WAITING_LIST_PATH, { id, token });
5896
+ }
5897
+ getPublicWaitingListOffer(id, token) {
5898
+ return this.apiService
5899
+ .getResource(activityWaitingListEntryFactory, Role.Public, PUBLIC_WAITING_LIST_OFFER_PATH, { id, token });
5900
+ }
5901
+ getPublicOpenActivityWaitlistOffer(id, token) {
5902
+ return this.apiService
5903
+ .getResource(openActivityFactory, Role.Public, PUBLIC_WAITING_LIST_OFFER_OPEN_ACTIVITY_PATH, { id, token });
5904
+ }
5905
+ respondPublicOpenActivityWaitlistOffer(id, token, comment, optionalFees, responses, guests = []) {
5906
+ return this.apiService
5907
+ .postResource(openActivityFactory, Role.Public, PUBLIC_WAITING_LIST_OFFER_RESPOND_PATH, { id, token }, {
5908
+ comment,
5909
+ optional_fees: optionalFees,
5910
+ responses,
5911
+ guests
5912
+ });
5913
+ }
5914
+ declinePublicOpenActivityWaitlistOffer(id, token) {
5915
+ return this.apiService
5916
+ .deleteResource(Role.Public, PUBLIC_WAITING_LIST_OFFER_RESPOND_PATH, { id, token });
5917
+ }
5602
5918
  getActivitySettings(role, itemId) {
5603
5919
  switch (role) {
5604
5920
  case Role.ClubAdmin:
@@ -5757,29 +6073,31 @@ class ActivityService {
5757
6073
  guests
5758
6074
  });
5759
6075
  }
6076
+ // Denying an open-activity invite deletes it and answers 204 No Content, so the response may be
6077
+ // null (the invite is gone). Callers must handle a null result as "the invite was removed".
5760
6078
  updateMemberActivity(memberId, activityInviteId, activityInvite) {
5761
6079
  return this.apiService
5762
- .updateResource(activityInviteFactory, Role.MemberAdmin, MEMBER_ACTIVITY_INVITE_PATH, {
6080
+ .updateResourceOrNull(activityInviteFactory, Role.MemberAdmin, MEMBER_ACTIVITY_INVITE_PATH, {
5763
6081
  memberId,
5764
6082
  activityInviteId
5765
6083
  }, activityInvite);
5766
6084
  }
5767
6085
  updatePublicMemberActivityInvite(activityInviteId, activityInvite) {
5768
6086
  return this.apiService
5769
- .updateResource(activityInviteFactory, Role.Public, PUBLIC_MEMBER_ACTIVITY_INVITE_PATH, {
6087
+ .updateResourceOrNull(activityInviteFactory, Role.Public, PUBLIC_MEMBER_ACTIVITY_INVITE_PATH, {
5770
6088
  activityInviteId
5771
6089
  }, activityInvite);
5772
6090
  }
5773
6091
  updatePublicActivityInvite(id, token, activityInvite) {
5774
6092
  return this.apiService
5775
- .updateResource(activityInviteFactory, Role.Public, PUBLIC_ACTIVITY_INVITE_PATH, {
6093
+ .updateResourceOrNull(activityInviteFactory, Role.Public, PUBLIC_ACTIVITY_INVITE_PATH, {
5776
6094
  id,
5777
6095
  token
5778
6096
  }, activityInvite);
5779
6097
  }
5780
6098
  updatePublicOpenActivityInvite(id, activityInvite) {
5781
6099
  return this.apiService
5782
- .updateResource(activityInviteFactory, Role.Public, PUBLIC_OPEN_ACTIVITY_INVITE_PATH, {
6100
+ .updateResourceOrNull(activityInviteFactory, Role.Public, PUBLIC_OPEN_ACTIVITY_INVITE_PATH, {
5783
6101
  id
5784
6102
  }, activityInvite);
5785
6103
  }
@@ -8770,7 +9088,9 @@ class ActivityEffects extends ExtraMembersMixin {
8770
9088
  guests: [],
8771
9089
  members,
8772
9090
  participants,
8773
- team
9091
+ team,
9092
+ waitingList: [],
9093
+ waitlistOutstandingOffer: null
8774
9094
  }
8775
9095
  }),
8776
9096
  retrieveTeamLeaderGroupSuccessAction({ payload: team }),
@@ -8841,7 +9161,9 @@ class ActivityEffects extends ExtraMembersMixin {
8841
9161
  .pipe(catchError(() => of(null)))
8842
9162
  : of(null);
8843
9163
  return reconcile$.pipe(mergeMap(() => this.activityService.updateMemberActivity(payload.memberId, payload.activityInvite.id, { ...payload.activityInvite, guests: newGuests(payload.guests) })
8844
- .pipe(map((activityInvite) => updateMemberActivityInviteSuccessAction({ payload: activityInvite })), catchError((error) => of(updateMemberActivityInviteFailureAction({ payload: error }))))));
9164
+ .pipe(map((activityInvite) => activityInvite
9165
+ ? updateMemberActivityInviteSuccessAction({ payload: activityInvite })
9166
+ : removeMemberActivityInviteSuccessAction({ payload: { activityInvite: payload.activityInvite } })), catchError((error) => of(updateMemberActivityInviteFailureAction({ payload: error }))))));
8845
9167
  })));
8846
9168
  updateMemberOpenActivity$ = createEffect(() => this.actions$
8847
9169
  .pipe(ofType(updateMemberOpenActivityAction), exhaustMap(({ payload }) => this.activityService.signUpMemberOpenActivity(payload.memberId, payload.activityId, payload.comment, payload.optional_fees, payload.responses, newGuests(payload.guests))
@@ -8854,7 +9176,9 @@ class ActivityEffects extends ExtraMembersMixin {
8854
9176
  .pipe(catchError(() => of(null)))
8855
9177
  : of(null);
8856
9178
  return reconcile$.pipe(mergeMap(() => this.activityService.updatePublicActivityInvite(payload.activityInvite.id, payload.token, { ...payload.activityInvite, guests: newGuests(payload.guests) })
8857
- .pipe(map((activityInvite) => updatePublicActivityInviteSuccessAction({ payload: activityInvite })), catchError((error) => of(updatePublicActivityInviteFailureAction({ payload: error }))))));
9179
+ .pipe(map((activityInvite) => activityInvite
9180
+ ? updatePublicActivityInviteSuccessAction({ payload: activityInvite })
9181
+ : removePublicActivityInviteSuccessAction({ payload: { activityInvite: payload.activityInvite } })), catchError((error) => of(updatePublicActivityInviteFailureAction({ payload: error }))))));
8858
9182
  })));
8859
9183
  updatePublicMemberActivityInvite$ = createEffect(() => this.actions$
8860
9184
  .pipe(ofType(updatePublicMemberActivityInviteAction), exhaustMap(({ payload }) => {
@@ -8864,7 +9188,9 @@ class ActivityEffects extends ExtraMembersMixin {
8864
9188
  .pipe(catchError(() => of(null)))
8865
9189
  : of(null);
8866
9190
  return reconcile$.pipe(mergeMap(() => this.activityService.updatePublicMemberActivityInvite(payload.activityInvite.id, { ...payload.activityInvite, guests: newGuests(payload.guests) })
8867
- .pipe(map((activityInvite) => updatePublicMemberActivityInviteSuccessAction({ payload: activityInvite })), catchError((error) => of(updatePublicMemberActivityInviteFailureAction({ payload: error }))))));
9191
+ .pipe(map((activityInvite) => activityInvite
9192
+ ? updatePublicMemberActivityInviteSuccessAction({ payload: activityInvite })
9193
+ : removePublicMemberActivityInviteSuccessAction({ payload: { activityInvite: payload.activityInvite } })), catchError((error) => of(updatePublicMemberActivityInviteFailureAction({ payload: error }))))));
8868
9194
  })));
8869
9195
  updatePublicMemberOpenActivity$ = createEffect(() => this.actions$
8870
9196
  .pipe(ofType(updatePublicMemberOpenActivityAction), exhaustMap(({ payload }) => this.activityService.signUpPublicOpenActivity(payload.activityId, payload.comment, payload.optional_fees, payload.responses, newGuests(payload.guests))
@@ -8881,12 +9207,119 @@ class ActivityEffects extends ExtraMembersMixin {
8881
9207
  updateTeamActivityQuestion$ = createEffect(() => this.actions$
8882
9208
  .pipe(ofType(updateTeamActivityQuestionAction), exhaustMap(({ payload }) => this.activityService.updateTeamActivityQuestion(payload.teamId, payload.question)
8883
9209
  .pipe(map((activityQuestion) => updateTeamActivityQuestionSuccessAction({ payload: activityQuestion })), catchError((error) => of(updateTeamActivityQuestionFailureAction({ payload: error })))))));
9210
+ joinWaitingList$ = createEffect(() => this.actions$
9211
+ .pipe(ofType(joinWaitingListAction), exhaustMap(({ payload }) => this.activityService.joinMemberActivityWaitingList(payload.memberId, payload.activityId)
9212
+ .pipe(mergeMap((entry) => [
9213
+ joinWaitingListSuccessAction({ payload: entry }),
9214
+ ...memberWaitlistRefreshActions(payload)
9215
+ ]), catchError((error) => of(joinWaitingListFailureAction({ payload: error })))))));
9216
+ leaveWaitingList$ = createEffect(() => this.actions$
9217
+ .pipe(ofType(leaveWaitingListAction), exhaustMap(({ payload }) => this.activityService.leaveMemberActivityWaitingList(payload.memberId, payload.activityId)
9218
+ .pipe(mergeMap(() => [
9219
+ leaveWaitingListSuccessAction({ payload: { memberId: payload.memberId, activityId: payload.activityId } }),
9220
+ ...memberWaitlistRefreshActions(payload)
9221
+ ]), catchError((error) => of(leaveWaitingListFailureAction({ payload: error })))))));
9222
+ retrieveMemberWaitingListEntry$ = createEffect(() => this.actions$
9223
+ .pipe(ofType(retrieveMemberWaitingListEntryAction), exhaustMap(({ payload }) => this.activityService.getMemberActivityWaitingListEntry(payload.memberId, payload.activityId)
9224
+ .pipe(map((entry) => retrieveMemberWaitingListEntrySuccessAction({ payload: entry })), catchError((error) => of(retrieveMemberWaitingListEntryFailureAction({ payload: error })))))));
9225
+ loadTeamActivityWaitingList$ = createEffect(() => this.actions$
9226
+ .pipe(ofType(loadTeamActivityWaitingListAction), exhaustMap(({ payload }) => this.activityService.getTeamActivityWaitingList(payload.teamId, payload.activityId)
9227
+ .pipe(map(({ entries, outstandingOffer }) => loadTeamActivityWaitingListSuccessAction({
9228
+ payload: { activityId: payload.activityId, entries, outstandingOffer }
9229
+ })), catchError((error) => of(loadTeamActivityWaitingListFailureAction({ payload: error })))))));
9230
+ admitWaitlistEntry$ = createEffect(() => this.actions$
9231
+ .pipe(ofType(admitWaitlistEntryAction), exhaustMap(({ payload }) => this.activityService.admitTeamActivityWaitlistEntry(payload.teamId, payload.activityId, payload.entryId)
9232
+ .pipe(mergeMap(() => [
9233
+ admitWaitlistEntrySuccessAction(),
9234
+ loadTeamActivityWaitingListAction({ payload: { teamId: payload.teamId, activityId: payload.activityId } })
9235
+ ]), catchError((error) => of(admitWaitlistEntryFailureAction({ payload: error })))))));
9236
+ reorderWaitlistEntry$ = createEffect(() => this.actions$
9237
+ .pipe(ofType(reorderWaitlistEntryAction), exhaustMap(({ payload }) => this.activityService.reorderTeamActivityWaitlistEntry(payload.teamId, payload.activityId, payload.entryId, payload.direction)
9238
+ .pipe(mergeMap(() => [
9239
+ reorderWaitlistEntrySuccessAction(),
9240
+ loadTeamActivityWaitingListAction({ payload: { teamId: payload.teamId, activityId: payload.activityId } })
9241
+ ]), catchError((error) => of(reorderWaitlistEntryFailureAction({ payload: error })))))));
9242
+ remindWaitlistOffer$ = createEffect(() => this.actions$
9243
+ .pipe(ofType(remindWaitlistOfferAction), exhaustMap(({ payload }) => this.activityService.remindTeamActivityWaitlistEntry(payload.teamId, payload.activityId, payload.entryId)
9244
+ .pipe(mergeMap(() => [
9245
+ remindWaitlistOfferSuccessAction(),
9246
+ loadTeamActivityWaitingListAction({ payload: { teamId: payload.teamId, activityId: payload.activityId } })
9247
+ ]), catchError((error) => of(remindWaitlistOfferFailureAction({ payload: error })))))));
9248
+ offerWaitlistEntry$ = createEffect(() => this.actions$
9249
+ .pipe(ofType(offerWaitlistEntryAction), exhaustMap(({ payload }) => this.activityService.offerTeamActivityWaitlistEntry(payload.teamId, payload.activityId, payload.entryId)
9250
+ .pipe(mergeMap((entry) => [
9251
+ offerWaitlistEntrySuccessAction({ payload: entry }),
9252
+ loadTeamActivityWaitingListAction({ payload: { teamId: payload.teamId, activityId: payload.activityId } })
9253
+ ]), catchError((error) => of(offerWaitlistEntryFailureAction({ payload: error })))))));
9254
+ passWaitlistOffer$ = createEffect(() => this.actions$
9255
+ .pipe(ofType(passWaitlistOfferAction), exhaustMap(({ payload }) => this.activityService.passTeamActivityWaitlistOffer(payload.teamId, payload.activityId, payload.entryId)
9256
+ .pipe(mergeMap(() => [
9257
+ passWaitlistOfferSuccessAction(),
9258
+ loadTeamActivityWaitingListAction({ payload: { teamId: payload.teamId, activityId: payload.activityId } })
9259
+ ]), catchError((error) => of(passWaitlistOfferFailureAction({ payload: error })))))));
9260
+ openWaitlistPlace$ = createEffect(() => this.actions$
9261
+ .pipe(ofType(openWaitlistPlaceAction), exhaustMap(({ payload }) => this.activityService.openTeamActivityWaitlistPlace(payload.teamId, payload.activityId)
9262
+ .pipe(mergeMap(() => [
9263
+ openWaitlistPlaceSuccessAction(),
9264
+ loadTeamActivityWaitingListAction({ payload: { teamId: payload.teamId, activityId: payload.activityId } })
9265
+ ]), catchError((error) => of(openWaitlistPlaceFailureAction({ payload: error })))))));
9266
+ removeWaitlistEntry$ = createEffect(() => this.actions$
9267
+ .pipe(ofType(removeWaitlistEntryAction), exhaustMap(({ payload }) => this.activityService.deleteTeamActivityWaitlistEntry(payload.teamId, payload.activityId, payload.entryId)
9268
+ .pipe(mergeMap(() => [
9269
+ removeWaitlistEntrySuccessAction(),
9270
+ loadTeamActivityWaitingListAction({ payload: { teamId: payload.teamId, activityId: payload.activityId } })
9271
+ ]), catchError((error) => of(removeWaitlistEntryFailureAction({ payload: error })))))));
9272
+ retrievePublicWaitingListState$ = createEffect(() => this.actions$
9273
+ .pipe(ofType(retrievePublicWaitingListStateAction), exhaustMap(({ payload }) => this.activityService.getPublicWaitingListState(payload.activityInviteId, payload.token)
9274
+ .pipe(map((entry) => retrievePublicWaitingListStateSuccessAction({ payload: entry })), catchError((error) => of(retrievePublicWaitingListStateFailureAction({ payload: error })))))));
9275
+ joinPublicWaitingList$ = createEffect(() => this.actions$
9276
+ .pipe(ofType(joinPublicWaitingListAction), exhaustMap(({ payload }) => this.activityService.joinPublicWaitingList(payload.activityInviteId, payload.token)
9277
+ .pipe(mergeMap((entry) => [
9278
+ joinPublicWaitingListSuccessAction({ payload: entry }),
9279
+ retrievePublicActivityInviteAction({ payload: { activityInviteId: payload.activityInviteId, token: payload.token } })
9280
+ ]), catchError((error) => of(joinPublicWaitingListFailureAction({ payload: error })))))));
9281
+ leavePublicWaitingList$ = createEffect(() => this.actions$
9282
+ .pipe(ofType(leavePublicWaitingListAction), exhaustMap(({ payload }) => this.activityService.leavePublicWaitingList(payload.activityInviteId, payload.token)
9283
+ .pipe(mergeMap(() => [
9284
+ leavePublicWaitingListSuccessAction(),
9285
+ retrievePublicActivityInviteAction({ payload: { activityInviteId: payload.activityInviteId, token: payload.token } })
9286
+ ]), catchError((error) => of(leavePublicWaitingListFailureAction({ payload: error })))))));
9287
+ retrievePublicWaitingListOffer$ = createEffect(() => this.actions$
9288
+ .pipe(ofType(retrievePublicWaitingListOfferAction), exhaustMap(({ payload }) => this.activityService.getPublicWaitingListOffer(payload.id, payload.token)
9289
+ .pipe(map((entry) => retrievePublicWaitingListOfferSuccessAction({ payload: entry })), catchError((error) => of(retrievePublicWaitingListOfferFailureAction({ payload: error })))))));
9290
+ retrievePublicOpenActivityWaitlistOffer$ = createEffect(() => this.actions$
9291
+ .pipe(ofType(retrievePublicOpenActivityWaitlistOfferAction), exhaustMap(({ payload }) => this.activityService.getPublicOpenActivityWaitlistOffer(payload.id, payload.token)
9292
+ .pipe(map((openActivity) => retrievePublicOpenActivityWaitlistOfferSuccessAction({ payload: openActivity })), catchError((error) => of(retrievePublicOpenActivityWaitlistOfferFailureAction({ payload: error })))))));
9293
+ respondPublicOpenActivityWaitlistOffer$ = createEffect(() => this.actions$
9294
+ .pipe(ofType(respondPublicOpenActivityWaitlistOfferAction), exhaustMap(({ payload }) => this.activityService.respondPublicOpenActivityWaitlistOffer(payload.id, payload.token, payload.comment, payload.optional_fees, payload.responses, newGuests(payload.guests))
9295
+ .pipe(map((openActivity) => respondPublicOpenActivityWaitlistOfferSuccessAction({ payload: openActivity })), catchError((error) => of(respondPublicOpenActivityWaitlistOfferFailureAction({ payload: error })))))));
9296
+ declinePublicOpenActivityWaitlistOffer$ = createEffect(() => this.actions$
9297
+ .pipe(ofType(declinePublicOpenActivityWaitlistOfferAction), exhaustMap(({ payload }) => this.activityService.declinePublicOpenActivityWaitlistOffer(payload.id, payload.token)
9298
+ .pipe(map((success) => success
9299
+ ? declinePublicOpenActivityWaitlistOfferSuccessAction()
9300
+ : declinePublicOpenActivityWaitlistOfferFailureAction({ payload: new HttpErrorResponse({ status: 400 }) })), catchError((error) => of(declinePublicOpenActivityWaitlistOfferFailureAction({ payload: error })))))));
8884
9301
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ActivityEffects, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
8885
9302
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ActivityEffects });
8886
9303
  }
8887
9304
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ActivityEffects, decorators: [{
8888
9305
  type: Injectable
8889
9306
  }] });
9307
+ // Member join/leave both refresh the activity (or open activity) so the
9308
+ // member_waiting_list_* serializer fields stay in sync, plus the invite when
9309
+ // the member came through an invitation.
9310
+ function memberWaitlistRefreshActions(payload) {
9311
+ const actions = [];
9312
+ if (payload.isOpenActivity) {
9313
+ actions.push(retrieveMemberOpenActivityAction({ payload: { memberId: payload.memberId, activityId: payload.activityId } }));
9314
+ }
9315
+ else {
9316
+ actions.push(retrieveMemberActivityAction({ payload: { memberId: payload.memberId, activityId: payload.activityId } }));
9317
+ }
9318
+ if (payload.activityInviteId) {
9319
+ actions.push(retrieveMemberActivityInviteAction({ payload: { memberId: payload.memberId, activityInviteId: payload.activityInviteId } }));
9320
+ }
9321
+ return actions;
9322
+ }
8890
9323
  // New guests (no id yet) are sent inline with the respond request, so the
8891
9324
  // backend creates them before the invoice and includes their guest fees.
8892
9325
  function newGuests(guests) {
@@ -8975,12 +9408,19 @@ class AuthEffects {
8975
9408
  else {
8976
9409
  const sectionsTeams$ = payload.sections.map((section) => this.teamService.getSectionTeams(section.id));
8977
9410
  return forkJoin(sectionsTeams$).pipe(map((results) => {
8978
- const sortedTeams = results
8979
- .flatMap((result) => result.toArray())
8980
- .sort((a, b) => a.name.localeCompare(b.name));
9411
+ const sectionTeams = results
9412
+ .flatMap((result) => result.toArray());
9413
+ // Union the fetched section teams with any teams already on the auth (e.g. a team the
9414
+ // user admins outside the sections they administer), keyed by id. Fetched SearchTeams
9415
+ // win on duplicates so the richer section_name is kept.
9416
+ const teamsById = new Map();
9417
+ [...payload.teams, ...sectionTeams].forEach((team) => teamsById.set(team.id, team));
9418
+ const mergedTeams = [...teamsById.values()].sort((a, b) => a.name.localeCompare(b.name));
8981
9419
  const auth = {
8982
9420
  ...payload,
8983
- teams: sortedTeams,
9421
+ // teams is typed as AuthTeam[] | SearchTeam[]; the merged list may mix both shapes,
9422
+ // which consumers already handle (they read id/name/section_name | section?.name).
9423
+ teams: mergedTeams,
8984
9424
  };
8985
9425
  return listAuthTeamsSuccessAction({ payload: auth });
8986
9426
  }), catchError((error) => of(listAuthTeamsFailureAction({ payload: error }))));
@@ -9393,6 +9833,11 @@ const selectNewTeamActivity = createSelector(calendarState, (state) => state.new
9393
9833
  const selectTeamActivitySettings = createSelector(calendarState, (state) => state.activitySettings);
9394
9834
  const selectTeamCalendarEvents = createSelector(calendarState, (state) => state.teamEvents);
9395
9835
  const selectTeamActivityGuests = createSelector(selectCurrentTeamActivity, (teamActivity) => teamActivity?.result?.guests ?? []);
9836
+ const selectTeamActivityWaitingList = createSelector(selectCurrentTeamActivity, (teamActivity) => ({
9837
+ entries: teamActivity?.result?.waitingList ?? [],
9838
+ outstandingOffer: teamActivity?.result?.waitlistOutstandingOffer ?? null
9839
+ }));
9840
+ const selectMemberWaitingListEntry = createSelector(calendarState, (state) => state.currentMemberWaitingListEntry);
9396
9841
 
9397
9842
  const pluginState$h = createFeatureSelector('dataAccess');
9398
9843
  const clubInfoState = createSelector(pluginState$h, (state) => state.clubInfo);
@@ -9505,6 +9950,7 @@ const selectAllPublicForms = createSelector(publicFormState, (state) => state.pu
9505
9950
  const pluginState$4 = createFeatureSelector('dataAccess');
9506
9951
  const publicState = createSelector(pluginState$4, (state) => state.public);
9507
9952
  const selectPublicActivityInvite = createSelector(publicState, (state) => state.activityInvitation);
9953
+ const selectPublicOpenActivityWaitlistOffer = createSelector(publicState, (state) => state.publicOpenActivityWaitlistOffer);
9508
9954
  const selectPublicInvoice = createSelector(publicState, (state) => state.invoice);
9509
9955
  const selectPublicInvoiceLogo = createSelector(publicState, (state) => state.invoiceLogo);
9510
9956
  const selectPublicPaymentOrder = createSelector(publicState, (state) => state.paymentOrder);
@@ -9518,6 +9964,8 @@ const selectPublicClubInfo = createSelector(publicState, (state) => state.public
9518
9964
  const selectPublicMemberActivities = createSelector(publicState, (state) => state.publicMemberActivities);
9519
9965
  const selectPublicMemberActivity = createSelector(publicState, (state) => state.publicMemberActivity);
9520
9966
  const selectPublicMemberActivityInvite = createSelector(publicState, (state) => state.publicMemberActivityInvite);
9967
+ const selectPublicWaitingListState = createSelector(publicState, (state) => state.publicWaitingListState);
9968
+ const selectPublicWaitingListOffer = createSelector(publicState, (state) => state.publicWaitingListOffer);
9521
9969
 
9522
9970
  const pluginState$3 = createFeatureSelector('dataAccess');
9523
9971
  const registrationQRCodeState = createSelector(pluginState$3, (state) => state.registrationQRCodes);
@@ -10666,6 +11114,7 @@ const initialBookingState = {
10666
11114
  };
10667
11115
 
10668
11116
  const initialCalendarState = {
11117
+ currentMemberWaitingListEntry: undefined,
10669
11118
  activityQuestions: undefined,
10670
11119
  activitySettings: undefined,
10671
11120
  activityInvites: undefined,
@@ -10791,7 +11240,10 @@ const initialPublicState = {
10791
11240
  publicClubInfo: undefined,
10792
11241
  publicMemberActivities: undefined,
10793
11242
  publicMemberActivity: undefined,
11243
+ publicOpenActivityWaitlistOffer: undefined,
10794
11244
  publicMemberActivityInvite: undefined,
11245
+ publicWaitingListState: undefined,
11246
+ publicWaitingListOffer: undefined,
10795
11247
  };
10796
11248
 
10797
11249
  const initialRegistrationQRCodeState = {
@@ -10957,11 +11409,70 @@ const updateMemberActivityInvites = (invites, payload) => {
10957
11409
  const updateEventInvites = (events, payload) => {
10958
11410
  return events.map((event) => {
10959
11411
  if (event.invitation_id === payload.id) {
10960
- return new Event(event.id, event.activity_id, event.activity_type, event.base_background_color, event.base_color, event.base_name, event.calendar_name, event.description, event.end, event.invitation_id, payload.status, event.invited_members ? [...event.invited_members] : event.invited_members, event.location, event.meet_up_place, event.meet_up_time, event.member_id, event.open_activity, [...event.participants], event.start, event.title, event.type);
11412
+ return new Event(event.id, event.activity_id, event.activity_type, event.base_background_color, event.base_color, event.base_name, event.calendar_name, event.description, event.end, event.invitation_id, payload.status, event.invited_members ? [...event.invited_members] : event.invited_members, event.location, event.meet_up_place, event.meet_up_time, event.member_id, event.open_activity, [...event.participants], event.start, event.title, event.type,
11413
+ // Carry the waiting-list state from the (re-fetched) invite's activity so the calendar
11414
+ // event keeps/updates its queue status — e.g. after joining or leaving the waiting list,
11415
+ // or responding — instead of being reset to the Event defaults.
11416
+ payload.activity.allow_waiting_list, payload.activity.member_waiting_list_status, payload.activity.member_waiting_list_position, payload.activity.waiting_list_offer_expires_at, payload.activity.waiting_list_offered_slots);
10961
11417
  }
10962
11418
  return event;
10963
11419
  });
10964
11420
  };
11421
+ // Clear the member's invitation from a calendar event after their open-activity invite was deleted,
11422
+ // so the event stops rendering as attending (the green check) and falls back to the open-activity
11423
+ // (not-responded) look. Member-specific waiting-list state is reset too — they left the activity.
11424
+ const removeEventInvite = (events, invite) => {
11425
+ return events.map((event) => {
11426
+ if (event.invitation_id === invite.id) {
11427
+ return new Event(event.id, event.activity_id, event.activity_type, event.base_background_color, event.base_color, event.base_name, event.calendar_name, event.description, event.end, null, null, (event.invited_members ?? []).filter((member) => member.id !== invite.id), event.location, event.meet_up_place, event.meet_up_time, event.member_id, event.open_activity, [...event.participants], event.start, event.title, event.type, event.allow_waiting_list, null, null, null, event.waiting_list_offered_slots);
11428
+ }
11429
+ return event;
11430
+ });
11431
+ };
11432
+ // Rebuilds an Event preserving everything except the member's waiting-list state. An optional
11433
+ // `invite` also updates the member's invite id + response (e.g. after responding to an open
11434
+ // activity); when omitted the existing invite is kept (join/leave the queue must not touch it).
11435
+ const cloneEventWithWaitlist = (event, waitlist, invite) => new Event(event.id, event.activity_id, event.activity_type, event.base_background_color, event.base_color, event.base_name, event.calendar_name, event.description, event.end, invite ? invite.invitation_id : event.invitation_id, invite ? invite.invitation_response : event.invitation_response, event.invited_members ? [...event.invited_members] : event.invited_members, event.location, event.meet_up_place, event.meet_up_time, event.member_id, event.open_activity, [...event.participants], event.start, event.title, event.type, waitlist.allow_waiting_list, waitlist.member_waiting_list_status, waitlist.member_waiting_list_position, waitlist.waiting_list_offer_expires_at, waitlist.waiting_list_offered_slots);
11436
+ // Updates the waiting-list state of a member's calendar event for a given activity. Open
11437
+ // activities have no invite, so the event is matched on the activity id (within that member's
11438
+ // events). Used to keep the calendar in sync after joining/leaving the queue, since the
11439
+ // authoritative join entry / leave action carries a reliable member id (unlike the open-activity
11440
+ // resource), and so the change shows synchronously without waiting for a follow-up fetch.
11441
+ const setMemberEventWaitlist = (state, memberId, activityId, waitlist, invite) => {
11442
+ if (!state.memberEvents?.value?.result) {
11443
+ return state;
11444
+ }
11445
+ const existingEvents = state.memberEvents.value.result.get(memberId);
11446
+ if (!existingEvents) {
11447
+ return state;
11448
+ }
11449
+ return {
11450
+ ...state,
11451
+ memberEvents: {
11452
+ ...state.memberEvents,
11453
+ value: {
11454
+ ...state.memberEvents.value,
11455
+ result: new Map(state.memberEvents.value.result).set(memberId, existingEvents.map((event) => event.activity_id === activityId ? cloneEventWithWaitlist(event, waitlist, invite) : event)),
11456
+ },
11457
+ },
11458
+ };
11459
+ };
11460
+ const updateMemberEventsFromOpenActivity = (state, payload) => {
11461
+ // The member's own invite (created when they respond) carries the response that the calendar
11462
+ // icon shows. Open activities have no invite until then, so only update it when one exists —
11463
+ // otherwise keep the event's current invite (e.g. on a join/leave-the-queue refresh).
11464
+ const memberInvite = (payload.invited_members ?? []).find((member) => member.member_id === payload.member_id);
11465
+ const invite = memberInvite
11466
+ ? { invitation_id: memberInvite.id, invitation_response: memberInvite.status }
11467
+ : undefined;
11468
+ return setMemberEventWaitlist(state, payload.member_id, payload.id, {
11469
+ allow_waiting_list: payload.allow_waiting_list,
11470
+ member_waiting_list_status: payload.member_waiting_list_status,
11471
+ member_waiting_list_position: payload.member_waiting_list_position,
11472
+ waiting_list_offer_expires_at: payload.waiting_list_offer_expires_at,
11473
+ waiting_list_offered_slots: payload.waiting_list_offered_slots,
11474
+ }, invite);
11475
+ };
10965
11476
  const updateInvitedMembers = (invitedMembers, payload) => {
10966
11477
  return invitedMembers.map((value) => {
10967
11478
  if (value.id === payload.id) {
@@ -11054,12 +11565,52 @@ const updateMemberActivityInvite = (state, payload) => {
11054
11565
  }
11055
11566
  return currentState;
11056
11567
  };
11568
+ // Denying an open-activity invite deletes it server-side. Drop it from the store so the page falls
11569
+ // back to the open activity (the register UI) instead of holding a now-stale "denied" invite. The
11570
+ // current-invite holder is cleared to a success-with-null result (not undefined) so the page does not
11571
+ // re-fetch an invite that would now 404.
11572
+ const removeMemberActivityInvite = (state, invite) => {
11573
+ let currentState = {
11574
+ ...state,
11575
+ currentMemberActivityInvite: retrieveLoadSuccess(null)
11576
+ };
11577
+ if (currentState.activityInvites?.results) {
11578
+ currentState.activityInvites = {
11579
+ ...currentState.activityInvites,
11580
+ results: currentState.activityInvites.results.filter((item) => item.id !== invite.id)
11581
+ };
11582
+ }
11583
+ if (currentState.currentMemberActivity?.result?.id === invite.activity.id) {
11584
+ currentState.currentMemberActivity = {
11585
+ ...currentState.currentMemberActivity,
11586
+ result: {
11587
+ ...currentState.currentMemberActivity.result,
11588
+ invited_members: (currentState.currentMemberActivity.result.invited_members ?? [])
11589
+ .filter((member) => member.id !== invite.id)
11590
+ }
11591
+ };
11592
+ }
11593
+ // Update the calendar event so it no longer shows the member as attending.
11594
+ if (currentState.memberEvents?.value?.result) {
11595
+ const existingEvents = currentState.memberEvents.value.result.get(invite.member.id);
11596
+ if (existingEvents) {
11597
+ currentState.memberEvents = {
11598
+ ...currentState.memberEvents,
11599
+ value: {
11600
+ ...currentState.memberEvents.value,
11601
+ result: new Map(currentState.memberEvents.value.result).set(invite.member.id, removeEventInvite(existingEvents, invite))
11602
+ }
11603
+ };
11604
+ }
11605
+ }
11606
+ return currentState;
11607
+ };
11057
11608
  // --- Reducer ---
11058
11609
  const calendarReducer = createReducer(initialCalendarState,
11059
11610
  // Clear Actions
11060
11611
  on(clearStoreAction, () => initialCalendarState), on(clearMemberActivityAction, (state) => ({ ...state, currentMemberActivity: undefined })), on(clearMemberActivityInviteAction, (state) => ({ ...state, currentMemberActivityInvite: undefined })), on(clearMemberOpenActivityAction, (state) => ({ ...state, currentMemberOpenActivity: undefined })), on(clearTeamActivityAction, (state) => ({ ...state, currentTeamActivity: undefined })), on(clearTeamActivitiesAction, (state) => ({ ...state, teamEvents: undefined })),
11061
11612
  // Member Activity Invites
11062
- on(retrieveMemberActivityInviteAction, state => ({ ...state, currentMemberActivityInvite: retrieveStartLoading(state.currentMemberActivityInvite) })), on(retrieveMemberActivityInviteFailureAction, (state, { payload }) => ({ ...state, currentMemberActivityInvite: retrieveLoadFailure(payload) })), on(retrieveMemberActivityInviteSuccessAction, (state, { payload }) => updateMemberActivityInvite(state, payload)),
11613
+ on(retrieveMemberActivityInviteAction, state => ({ ...state, currentMemberActivityInvite: retrieveStartLoading(state.currentMemberActivityInvite) })), on(retrieveMemberActivityInviteFailureAction, (state, { payload }) => ({ ...state, currentMemberActivityInvite: retrieveLoadFailure(payload) })), on(retrieveMemberActivityInviteSuccessAction, (state, { payload }) => updateMemberActivityInvite(state, payload)), on(removeMemberActivityInviteSuccessAction, (state, { payload }) => removeMemberActivityInvite(state, payload.activityInvite)),
11063
11614
  // Member Activities
11064
11615
  on(retrieveMemberActivityAction, state => ({ ...state, currentMemberActivity: retrieveStartLoading(state.currentMemberActivity) })), on(retrieveMemberActivityFailureAction, (state, { payload }) => ({ ...state, currentMemberActivity: retrieveLoadFailure(payload) })), on(retrieveMemberActivitySuccessAction, (state, { payload }) => ({ ...state, currentMemberActivity: retrieveLoadSuccess(payload) })),
11065
11616
  // Member Open Activities
@@ -11081,7 +11632,7 @@ on(retrieveMemberOpenActivityAction, state => ({ ...state, currentMemberOpenActi
11081
11632
  }
11082
11633
  };
11083
11634
  }
11084
- return newState;
11635
+ return updateMemberEventsFromOpenActivity(newState, payload);
11085
11636
  }),
11086
11637
  // List All Member Open Activity Locations
11087
11638
  on(listAllMemberOpenActivityLocationsAction, state => ({ ...state, allOpenActivityLocations: listStartLoading(state.allOpenActivityLocations) })), on(listAllMemberOpenActivityLocationsFailureAction, (state, { payload }) => ({ ...state, allOpenActivityLocations: listLoadFailure(payload) })), on(listAllMemberOpenActivityLocationsSuccessAction, (state, { payload }) => ({ ...state, allOpenActivityLocations: listLoadSuccess(payload) })),
@@ -11320,6 +11871,44 @@ on(listTeamActivityGuestsSuccessAction, (state, { payload }) => {
11320
11871
  }
11321
11872
  return state;
11322
11873
  }),
11874
+ // Member Waiting List Entry
11875
+ on(retrieveMemberWaitingListEntryAction, state => ({ ...state, currentMemberWaitingListEntry: retrieveStartLoading(state.currentMemberWaitingListEntry) })), on(retrieveMemberWaitingListEntryFailureAction, (state, { payload }) => ({ ...state, currentMemberWaitingListEntry: retrieveLoadFailure(payload) })), on(retrieveMemberWaitingListEntrySuccessAction, joinWaitingListSuccessAction, (state, { payload }) => ({ ...state, currentMemberWaitingListEntry: retrieveLoadSuccess(payload) })),
11876
+ // Reflect the queue change on the calendar event straight away (covers open activities, whose
11877
+ // resource fetch does not carry a reliable member id), using the authoritative join entry.
11878
+ on(joinWaitingListSuccessAction, (state, { payload }) => setMemberEventWaitlist(state, payload.member_id, payload.activity_id, {
11879
+ allow_waiting_list: true,
11880
+ member_waiting_list_status: payload.status,
11881
+ member_waiting_list_position: payload.position,
11882
+ waiting_list_offer_expires_at: payload.offer_expires_at,
11883
+ waiting_list_offered_slots: payload.offered_slots,
11884
+ })), on(leaveWaitingListSuccessAction, (state, { payload }) => {
11885
+ const cleared = setMemberEventWaitlist(state, payload.memberId, payload.activityId, {
11886
+ allow_waiting_list: true,
11887
+ member_waiting_list_status: null,
11888
+ member_waiting_list_position: null,
11889
+ waiting_list_offer_expires_at: null,
11890
+ waiting_list_offered_slots: null,
11891
+ });
11892
+ return { ...cleared, currentMemberWaitingListEntry: undefined };
11893
+ }),
11894
+ // Team Activity Waiting List
11895
+ on(loadTeamActivityWaitingListSuccessAction, (state, { payload }) => {
11896
+ if (state.currentTeamActivity?.result && state.currentTeamActivity.result.activity.id === payload.activityId) {
11897
+ return {
11898
+ ...state,
11899
+ currentTeamActivity: {
11900
+ ...state.currentTeamActivity,
11901
+ result: {
11902
+ ...state.currentTeamActivity.result,
11903
+ waitingList: payload.entries,
11904
+ waitlistOutstandingOffer: payload.outstandingOffer
11905
+ },
11906
+ loading: false
11907
+ }
11908
+ };
11909
+ }
11910
+ return state;
11911
+ }),
11323
11912
  // Team Leader Extra Members
11324
11913
  on(listTeamLeaderExtraMembersSuccessAction, (state, { payload }) => {
11325
11914
  if (state.currentTeamActivity?.result && payload.teamId === state.currentTeamActivity.result.team.id) {
@@ -11417,7 +12006,7 @@ on(updateMemberOpenActivitySuccessAction, (state, { payload }) => {
11417
12006
  })
11418
12007
  };
11419
12008
  }
11420
- return currentState;
12009
+ return updateMemberEventsFromOpenActivity(currentState, payload);
11421
12010
  }),
11422
12011
  // Remove member open activity
11423
12012
  on(removeMemberOpenActivityAction, (state, { payload }) => {
@@ -12080,7 +12669,27 @@ const publicReducer = createReducer(initialPublicState, on(clearStoreAction, ()
12080
12669
  endDate: payload.endDate,
12081
12670
  value: listLoadSuccess(payload.results)
12082
12671
  }
12083
- })), on(listPublicMembersAction, (state) => ({ ...state, members: listStartLoading(state.members) })), on(listPublicMembersFailureAction, (state, { payload }) => ({ ...state, members: listLoadFailure(payload) })), on(listPublicMembersSuccessAction, (state, { payload }) => ({ ...state, members: listLoadSuccess(payload) })), on(retrievePublicMemberActivityAction, (state) => ({ ...state, publicMemberActivity: retrieveStartLoading(state.publicMemberActivity) })), on(retrievePublicMemberActivityFailureAction, (state, { payload }) => ({ ...state, publicMemberActivity: retrieveLoadFailure(payload) })), on(retrievePublicMemberActivitySuccessAction, (state, { payload }) => ({ ...state, publicMemberActivity: retrieveLoadSuccess(payload) })), on(retrievePublicMemberActivityInviteAction, (state) => ({ ...state, publicMemberActivityInvite: retrieveStartLoading(state.publicMemberActivityInvite) })), on(retrievePublicMemberActivityInviteFailureAction, (state, { payload }) => ({ ...state, publicMemberActivityInvite: retrieveLoadFailure(payload) })), on(retrievePublicMemberActivityInviteSuccessAction, (state, { payload }) => ({ ...state, publicMemberActivityInvite: retrieveLoadSuccess(payload) })), on(retrievePublicActivityInviteAction, (state) => ({ ...state, publicActivityInvite: retrieveStartLoading(state.activityInvitation) })), on(retrievePublicActivityInviteFailureAction, (state, { payload }) => ({ ...state, activityInvitation: retrieveLoadFailure(payload) })), on(retrievePublicActivityInviteSuccessAction, updatePublicActivityInviteSuccessAction, (state, { payload }) => ({ ...state, activityInvitation: retrieveLoadSuccess(payload) })), on(retrievePublicInvoiceAction, (state) => ({ ...state, invoice: retrieveStartLoading(state.invoice) })), on(retrievePublicInvoiceFailureAction, (state, { payload }) => ({ ...state, invoice: retrieveLoadFailure(payload) })), on(retrievePublicInvoiceSuccessAction, (state, { payload }) => ({ ...state, invoice: retrieveLoadSuccess(payload) })), on(retrievePublicInvoiceLogoAction, (state) => ({ ...state, invoiceLogo: retrieveStartLoading(state.invoiceLogo) })), on(retrievePublicInvoiceLogoFailureAction, (state, { payload }) => ({ ...state, invoiceLogo: retrieveLoadFailure(payload) })), on(retrievePublicInvoiceLogoSuccessAction, (state, { payload }) => ({ ...state, invoiceLogo: retrieveLoadSuccess(payload) })), on(retrievePublicPaymentOrderAction, (state) => ({ ...state, paymentOrder: retrieveStartLoading(state.paymentOrder) })), on(retrievePublicPaymentOrderFailureAction, (state, { payload }) => ({ ...state, paymentOrder: retrieveLoadFailure(payload) })), on(retrievePublicPaymentOrderSuccessAction, (state, { payload }) => ({ ...state, paymentOrder: retrieveLoadSuccess(payload) })), on(retrievePublicPaymentOrderLogoAction, (state) => ({ ...state, paymentOrderLogo: retrieveStartLoading(state.paymentOrderLogo) })), on(retrievePublicPaymentOrderLogoFailureAction, (state, { payload }) => ({ ...state, paymentOrderLogo: retrieveLoadFailure(payload) })), on(retrievePublicPaymentOrderLogoSuccessAction, (state, { payload }) => ({ ...state, paymentOrderLogo: retrieveLoadSuccess(payload) })), on(retrievePublicMemberCardAction, retrievePublicMemberCardRegisterAction, (state) => ({ ...state, currentMemberCard: retrieveStartLoading(state.currentMemberCard) })), on(retrievePublicMemberCardFailureAction, retrievePublicMemberCardRegisterFailureAction, (state, { payload }) => ({ ...state, currentMemberCard: retrieveLoadFailure(payload) })), on(retrievePublicMemberCardSuccessAction, retrievePublicMemberCardQRCodeSuccessAction, retrievePublicMemberCardRegisterSuccessAction, (state, { payload }) => ({ ...state, currentMemberCard: retrieveLoadSuccess(payload) })), on(retrievePublicMemberCardDealsAction, (state) => ({
12672
+ })), on(listPublicMembersAction, (state) => ({ ...state, members: listStartLoading(state.members) })), on(listPublicMembersFailureAction, (state, { payload }) => ({ ...state, members: listLoadFailure(payload) })), on(listPublicMembersSuccessAction, (state, { payload }) => ({ ...state, members: listLoadSuccess(payload) })), on(retrievePublicMemberActivityAction, (state) => ({ ...state, publicMemberActivity: retrieveStartLoading(state.publicMemberActivity) })), on(retrievePublicMemberActivityFailureAction, (state, { payload }) => ({ ...state, publicMemberActivity: retrieveLoadFailure(payload) })), on(retrievePublicMemberActivitySuccessAction, (state, { payload }) => ({ ...state, publicMemberActivity: retrieveLoadSuccess(payload) })), on(retrievePublicOpenActivityWaitlistOfferAction, (state) => ({ ...state, publicOpenActivityWaitlistOffer: retrieveStartLoading(state.publicOpenActivityWaitlistOffer) })), on(retrievePublicOpenActivityWaitlistOfferFailureAction, respondPublicOpenActivityWaitlistOfferFailureAction, (state, { payload }) => ({ ...state, publicOpenActivityWaitlistOffer: retrieveLoadFailure(payload) })), on(retrievePublicOpenActivityWaitlistOfferSuccessAction, respondPublicOpenActivityWaitlistOfferSuccessAction, (state, { payload }) => ({ ...state, publicOpenActivityWaitlistOffer: retrieveLoadSuccess(payload) })), on(retrievePublicMemberActivityInviteAction, (state) => ({ ...state, publicMemberActivityInvite: retrieveStartLoading(state.publicMemberActivityInvite) })), on(retrievePublicMemberActivityInviteFailureAction, (state, { payload }) => ({ ...state, publicMemberActivityInvite: retrieveLoadFailure(payload) })), on(retrievePublicMemberActivityInviteSuccessAction, (state, { payload }) => ({ ...state, publicMemberActivityInvite: retrieveLoadSuccess(payload) })), on(retrievePublicWaitingListStateAction, (state) => ({ ...state, publicWaitingListState: retrieveStartLoading(state.publicWaitingListState) })), on(retrievePublicWaitingListStateFailureAction, (state, { payload }) => ({ ...state, publicWaitingListState: retrieveLoadFailure(payload) })), on(retrievePublicWaitingListStateSuccessAction, joinPublicWaitingListSuccessAction, (state, { payload }) => ({ ...state, publicWaitingListState: retrieveLoadSuccess(payload) })), on(leavePublicWaitingListSuccessAction, (state) => ({ ...state, publicWaitingListState: undefined })), on(retrievePublicWaitingListOfferAction, (state) => ({ ...state, publicWaitingListOffer: retrieveStartLoading(state.publicWaitingListOffer) })), on(retrievePublicWaitingListOfferFailureAction, (state, { payload }) => ({ ...state, publicWaitingListOffer: retrieveLoadFailure(payload) })), on(retrievePublicWaitingListOfferSuccessAction, (state, { payload }) => ({ ...state, publicWaitingListOffer: retrieveLoadSuccess(payload) })), on(retrievePublicActivityInviteAction, (state) => ({ ...state, publicActivityInvite: retrieveStartLoading(state.activityInvitation) })), on(retrievePublicActivityInviteFailureAction, (state, { payload }) => ({ ...state, activityInvitation: retrieveLoadFailure(payload) })), on(retrievePublicActivityInviteSuccessAction, updatePublicActivityInviteSuccessAction, (state, { payload }) => ({ ...state, activityInvitation: retrieveLoadSuccess(payload) })),
12673
+ // Denying an open-activity invite deletes it (204): clear the held invite (success-with-null, so the
12674
+ // page does not re-fetch a now-404 invite) and let the page fall back to the open activity.
12675
+ on(removePublicActivityInviteSuccessAction, (state, { payload }) => {
12676
+ let currentState = {
12677
+ ...state,
12678
+ activityInvitation: retrieveLoadSuccess(null)
12679
+ };
12680
+ if (currentState.publicMemberActivities?.value.results) {
12681
+ currentState.publicMemberActivities = {
12682
+ ...currentState.publicMemberActivities,
12683
+ value: {
12684
+ ...currentState.publicMemberActivities.value,
12685
+ results: currentState.publicMemberActivities.value.results.map((memberActivity) => memberActivity.id === payload.activityInvite.activity.id && memberActivity.member_id === payload.activityInvite.member.id
12686
+ ? { ...memberActivity, invitation_id: null, invitation_response: null }
12687
+ : memberActivity)
12688
+ }
12689
+ };
12690
+ }
12691
+ return currentState;
12692
+ }), on(retrievePublicInvoiceAction, (state) => ({ ...state, invoice: retrieveStartLoading(state.invoice) })), on(retrievePublicInvoiceFailureAction, (state, { payload }) => ({ ...state, invoice: retrieveLoadFailure(payload) })), on(retrievePublicInvoiceSuccessAction, (state, { payload }) => ({ ...state, invoice: retrieveLoadSuccess(payload) })), on(retrievePublicInvoiceLogoAction, (state) => ({ ...state, invoiceLogo: retrieveStartLoading(state.invoiceLogo) })), on(retrievePublicInvoiceLogoFailureAction, (state, { payload }) => ({ ...state, invoiceLogo: retrieveLoadFailure(payload) })), on(retrievePublicInvoiceLogoSuccessAction, (state, { payload }) => ({ ...state, invoiceLogo: retrieveLoadSuccess(payload) })), on(retrievePublicPaymentOrderAction, (state) => ({ ...state, paymentOrder: retrieveStartLoading(state.paymentOrder) })), on(retrievePublicPaymentOrderFailureAction, (state, { payload }) => ({ ...state, paymentOrder: retrieveLoadFailure(payload) })), on(retrievePublicPaymentOrderSuccessAction, (state, { payload }) => ({ ...state, paymentOrder: retrieveLoadSuccess(payload) })), on(retrievePublicPaymentOrderLogoAction, (state) => ({ ...state, paymentOrderLogo: retrieveStartLoading(state.paymentOrderLogo) })), on(retrievePublicPaymentOrderLogoFailureAction, (state, { payload }) => ({ ...state, paymentOrderLogo: retrieveLoadFailure(payload) })), on(retrievePublicPaymentOrderLogoSuccessAction, (state, { payload }) => ({ ...state, paymentOrderLogo: retrieveLoadSuccess(payload) })), on(retrievePublicMemberCardAction, retrievePublicMemberCardRegisterAction, (state) => ({ ...state, currentMemberCard: retrieveStartLoading(state.currentMemberCard) })), on(retrievePublicMemberCardFailureAction, retrievePublicMemberCardRegisterFailureAction, (state, { payload }) => ({ ...state, currentMemberCard: retrieveLoadFailure(payload) })), on(retrievePublicMemberCardSuccessAction, retrievePublicMemberCardQRCodeSuccessAction, retrievePublicMemberCardRegisterSuccessAction, (state, { payload }) => ({ ...state, currentMemberCard: retrieveLoadSuccess(payload) })), on(retrievePublicMemberCardDealsAction, (state) => ({
12084
12693
  ...state,
12085
12694
  cardDeals: retrieveStartLoading(state.cardDeals)
12086
12695
  })), on(retrievePublicMemberCardDealsFailureAction, (state, { payload }) => ({ ...state, cardDeals: retrieveLoadFailure(payload) })), on(retrievePublicMemberCardDealsSuccessAction, (state, { payload }) => ({ ...state, cardDeals: retrieveLoadSuccess(payload) })), on(retrievePublicMemberCardTicketsAction, (state) => ({
@@ -12110,6 +12719,25 @@ const publicReducer = createReducer(initialPublicState, on(clearStoreAction, ()
12110
12719
  };
12111
12720
  }
12112
12721
  return currentState;
12722
+ }), on(removePublicMemberActivityInviteSuccessAction, (state, { payload }) => {
12723
+ let currentState = {
12724
+ ...state,
12725
+ publicMemberActivityInvite: retrieveLoadSuccess(null)
12726
+ };
12727
+ // The open-activity invite was deleted — clear the member's invitation on the matching list event
12728
+ // so it no longer shows as attending.
12729
+ if (currentState.publicMemberActivities?.value.results) {
12730
+ currentState.publicMemberActivities = {
12731
+ ...currentState.publicMemberActivities,
12732
+ value: {
12733
+ ...currentState.publicMemberActivities.value,
12734
+ results: currentState.publicMemberActivities.value.results.map((memberActivity) => memberActivity.id === payload.activityInvite.activity.id && memberActivity.member_id === payload.activityInvite.member.id
12735
+ ? { ...memberActivity, invitation_id: null, invitation_response: null }
12736
+ : memberActivity)
12737
+ }
12738
+ };
12739
+ }
12740
+ return currentState;
12113
12741
  }), on(updatePublicMemberOpenActivityAction, (state) => ({ ...state, publicMemberActivity: retrieveStartLoading(state.publicMemberActivity) })), on(updatePublicMemberOpenActivityFailureAction, (state, { payload }) => ({ ...state, publicMemberActivity: retrieveLoadFailure(payload) })), on(updatePublicMemberOpenActivitySuccessAction, (state, { payload }) => ({ ...state, publicMemberActivity: retrieveLoadSuccess(payload) })), on(updatePublicActivityInviteSuccessAction, (state, { payload }) => {
12114
12742
  let currentState = {
12115
12743
  ...state
@@ -12736,6 +13364,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
12736
13364
  }]
12737
13365
  }] });
12738
13366
 
13367
+ const OFFERED = 'OFFERED';
13368
+ /**
13369
+ * Mirror of the backend rule: when an activity has a non-empty waiting list and there
13370
+ * are open seats, those seats are reserved for the queue. Returns `true` when the
13371
+ * current member must NOT be allowed to take an open seat because it is reserved.
13372
+ *
13373
+ * The leader exemption is the caller's responsibility — a leader does not consume
13374
+ * participant capacity, so callers that know the invite is a leader should skip this
13375
+ * check (see the backend `booking_blocked_by_waitlist` selector).
13376
+ */
13377
+ function isBookingReservedForWaitlist(activity) {
13378
+ const freeSpots = activity.max_num_attendants > 0
13379
+ ? Math.max(0, activity.max_num_attendants - activity.current_num_attendants)
13380
+ : 0;
13381
+ return activity.allow_waiting_list
13382
+ && activity.waiting_list_count > 0
13383
+ && freeSpots > 0
13384
+ && activity.member_waiting_list_status !== OFFERED;
13385
+ }
13386
+
12739
13387
  /*
12740
13388
  * Public API Surface of data-access
12741
13389
  */
@@ -12744,5 +13392,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
12744
13392
  * Generated bundle index. Do not edit.
12745
13393
  */
12746
13394
 
12747
- export { APP, Activity, ActivityActionTypes, ActivityExtraMember, ActivityInvite, ActivityLocation, ActivityLocationGroup, ActivityLocationPart, ActivityLocationTag, ActivityParticipant, ActivityQuestion, ActivityQuestionConnection, ActivityQuestionResponse, ActivityRule, ActivityRuleRelation, ActivityService, ActivitySettings, ActivityType, ApiService, AppSettings, Auth, AuthActionType, AuthMember, AuthSection, AuthService, AuthTeam, AuthTeamSection, AuthenticatedGuard, Authentication, AuthenticationInterceptor, AuthenticationService, BookableItem, BookablePart, BookableService, BookableTag, BookingActionTypes, BookingCalendar, BookingCalendarApplicationTime, BookingCalendarService, BookingCalendarSlot, BookingCalendarSlotSession, BookingCalendarSlotValidateCopyResult, BookingCalendarSlotValidateCopyResultItem, BookingSettings, BookingSlotFilter, Calendar, CalendarActionTypes, CalendarEvent, Card, CardDeal, CardLogo, CardLogoUrls, CardMemberTicket, CardTheme, CardTicket, CardTicketLocation, Club, ClubImage, ClubInfoActionType, ClubSection, ClubService, Collection, ConstantActionType, ConstantService, Contact, CreditCard, DOMAIN, DataAccessModule, DatabankActionType, DatabankCategory, DatabankItem, DatabankService, Directory, Email, EmailActionTypes, EmailService, Event, ExternalLink, ExternalLinkActionType, ExternalLinkService, FeatureFlags, FeatureFlagsService, FileActionTypes, FileObject, FileService, GeneralImage, Giro, GroupRole, Guest, HandleGrantTokenGuard, HomeTeam, ImageUrls, InvoiceActionType, InvoiceService, LeaderActivity, LeaderNotificationService, MaintenanceModeService, Member, MemberActionType, MemberActivityInvite, MemberAttribute, MemberCard, MemberCardActionType, MemberCardService, MemberContact, MemberFee, MemberFeeActionType, MemberFeeService, MemberFunction, MemberInvoice, MemberInvoiceRow, MemberPublicForm, MemberPublicFormField, MemberPublicFormFieldOption, MemberPublicFormService, MemberService, MemberTeam, MemberTeamThrough, MemberType, MemberValidationSettings, MypagesMenuItem, News, NewsActionType, NewsService, OpenActivity, OptionalFee, OtherMember, OtherMemberField, OverbookedBookableItem, OverbookedLocation, Partner, PaymentAttempt, PaymentAttemptService, PaymentOrder, PaymentOrderRow, PaymentOrderService, PublicAuthentication, PublicFormActionType, RegistrationQRCode, RegistrationQRCodeActionTypes, RegistrationQRCodeService, Retrieve2fa, Role, STORAGE_SELECTED_AUTH, STORAGE_SELECTED_MEMBERS, STORAGE_TOKEN, SavedSearch, SavedSearchActionType, SavedSearchService, SearchAttribute, SearchClub, SearchMember, SearchMemberCard, SearchMemberInvoice, SearchTeam, Section, SectionService, SelectedField, StorageService, StoreActionTypes, Swish, SwishIncident, SwishIncidentActionTypes, SwishQrCode, TEAM_ADMIN_NOTIFICATIONS_PATH, TeamActionTypes, TeamService, Token, TokenActionType, TokenService, USER_NOTIFICATIONS_PATH, UnpaidMemberInvoice, User, UserActionType, UserNotification, UserNotificationService, UserService, Zimpler, activate2FAUserAction, activate2FAUserFailureAction, activate2FAUserSuccessAction, activateCardTicketAction, activateCardTicketFailureAction, activateCardTicketSuccessAction, activatePublicCardTicketAction, activatePublicCardTicketFailureAction, activatePublicCardTicketSuccessAction, activateUserAction, activateUserFailureAction, activateUserSuccessAction, addEmailRecipientsAction, addTeamActivityGuestAction, addTeamActivityGuestFailureAction, addTeamActivityGuestSuccessAction, addTeamLeaderActivityInviteAction, addTeamLeaderActivityInviteFailureAction, addTeamLeaderActivityInviteSuccessAction, authState, bookingState, calendarState, clearAuthenticationAction, clearAuthenticationSuccessAction, clearCurrentAuthAction, clearCurrentAuthSuccessAction, clearCurrentExtraMemberAction, clearCurrentMemberAction, clearCurrentPublicTokenAction, clearCurrentTeamAction, clearCurrentTokenAction, clearEmailAction, clearMemberActivityAction, clearMemberActivityInviteAction, clearMemberCardAction, clearMemberInvoiceAction, clearMemberOpenActivityAction, clearMemberOtherMemberAction, clearMemberTeamsAction, clearPaymentOrderAction, clearPublicMemberActivityAction, clearPublicPaymentOrderAction, clearStoreAction, clearTeamActivitiesAction, clearTeamActivityAction, clearTeamOtherMemberAction, clearUserNotificationsAction, clubInfoState, constantState, createBookableItemAction, createBookableItemFailureAction, createBookableItemSuccessAction, createBookableTagAction, createBookableTagFailureAction, createBookableTagSuccessAction, createBookingCalendarAction, createBookingCalendarFailureAction, createBookingCalendarSlotAction, createBookingCalendarSlotFailureAction, createBookingCalendarSlotSessionAction, createBookingCalendarSlotSessionFailureAction, createBookingCalendarSlotSessionSuccessAction, createBookingCalendarSlotSuccessAction, createBookingCalendarSuccessAction, createBulkBookingCalendarSlotAction, createBulkBookingCalendarSlotFailureAction, createBulkBookingCalendarSlotSessionsAction, createBulkBookingCalendarSlotSessionsFailureAction, createBulkBookingCalendarSlotSessionsSuccessAction, createBulkBookingCalendarSlotSuccessAction, createFritidskortetInvoicePaymentFailureAction, createFritidskortetInvoicePaymentSuccessAction, createFritidskortetMemberInvoicePaymentAction, createFritidskortetPublicInvoicePaymentAction, createMondidoInvoicePaymentFailureAction, createMondidoInvoicePaymentSuccessAction, createMondidoMemberInvoicePaymentAction, createMondidoMemberPaymentOrderPaymentAction, createMondidoPaymentOrderPaymentFailureAction, createMondidoPaymentOrderPaymentSuccessAction, createMondidoPublicInvoicePaymentAction, createMondidoPublicPaymentOrderPaymentAction, createPingCreditCardMemberInvoicePaymentAction, createPingCreditCardMemberPaymentOrderPaymentAction, createPingCreditCardPaymentFailureAction, createPingCreditCardPaymentOrderPaymentFailureAction, createPingCreditCardPaymentOrderPaymentSuccessAction, createPingCreditCardPaymentSuccessAction, createPingCreditCardPublicInvoicePaymentAction, createPingCreditCardPublicPaymentOrderPaymentAction, createPingSwishMemberInvoicePaymentAction, createPingSwishMemberPaymentOrderPaymentAction, createPingSwishPaymentFailureAction, createPingSwishPaymentOrderPaymentFailureAction, createPingSwishPaymentOrderPaymentSuccessAction, createPingSwishPaymentSuccessAction, createPingSwishPublicInvoicePaymentAction, createPingSwishPublicPaymentOrderPaymentAction, createSwishInvoicePaymentFailureAction, createSwishInvoicePaymentSuccessAction, createSwishMemberInvoicePaymentAction, createSwishMemberPaymentOrderPaymentAction, createSwishPaymentOrderPaymentFailureAction, createSwishPaymentOrderPaymentSuccessAction, createSwishPublicInvoicePaymentAction, createSwishPublicPaymentOrderPaymentAction, createTeamActivityAction, createTeamActivityFailureAction, createTeamActivityQuestionAction, createTeamActivityQuestionFailureAction, createTeamActivityQuestionSuccessAction, createTeamActivitySuccessAction, createTeamDirectoryAction, createTeamDirectoryFailureAction, createTeamDirectorySuccessAction, createTeamFileAction, createTeamFileFailureAction, createTeamFileSuccessAction, createTeamNewsAction, createTeamNewsFailureAction, createTeamNewsSuccessAction, createUserAction, createUserFailureAction, createUserSuccessAction, createZimplerMemberPaymentAction, createZimplerPaymentFailureAction, createZimplerPaymentSuccessAction, createZimplerPublicPaymentAction, dataAccessEffects, dataAccessReducer, databankState, deactivate2FAUserAction, deactivate2FAUserFailureAction, deactivate2FAUserSuccessAction, deleteBookableTagAction, deleteBookableTagFailureAction, deleteBookableTagSuccessAction, deleteBookingCalendarAction, deleteBookingCalendarFailureAction, deleteBookingCalendarRepeatableSlotAction, deleteBookingCalendarRepeatableSlotFailureAction, deleteBookingCalendarRepeatableSlotSessionAction, deleteBookingCalendarRepeatableSlotSessionFailureAction, deleteBookingCalendarRepeatableSlotSessionSuccessAction, deleteBookingCalendarRepeatableSlotSuccessAction, deleteBookingCalendarSlotAction, deleteBookingCalendarSlotFailureAction, deleteBookingCalendarSlotSessionAction, deleteBookingCalendarSlotSessionFailureAction, deleteBookingCalendarSlotSessionSuccessAction, deleteBookingCalendarSlotSuccessAction, deleteBookingCalendarSuccessAction, deleteCurrentUserAction, deleteCurrentUserFailureAction, deleteCurrentUserSuccessAction, deleteEmailRecipientAction, deletePaymentOrderAction, deletePaymentOrderFailureAction, deletePaymentOrderSuccessAction, deletePublicPaymentOrderAction, deletePublicPaymentOrderFailureAction, deletePublicPaymentOrderSuccessAction, deleteTeamActivityAction, deleteTeamActivityFailureAction, deleteTeamActivityGuestAction, deleteTeamActivityGuestFailureAction, deleteTeamActivityGuestSuccessAction, deleteTeamActivityInviteAction, deleteTeamActivityInviteFailureAction, deleteTeamActivityInviteSuccessAction, deleteTeamActivityQuestionAction, deleteTeamActivityQuestionFailureAction, deleteTeamActivityQuestionSuccessAction, deleteTeamActivitySuccessAction, deleteTeamDirectoryAction, deleteTeamDirectoryFailureAction, deleteTeamDirectorySuccessAction, deleteTeamFileAction, deleteTeamFileFailureAction, deleteTeamFileSuccessAction, deleteTeamLeaderMemberAction, deleteTeamLeaderMemberFailureAction, deleteTeamLeaderMemberSuccessAction, deleteTeamNewsAction, deleteTeamNewsFailureAction, deleteTeamNewsSuccessAction, emailState, emptyListResultFactory, emptyRetrieveResultFactory, ensureAuths, ensureConstants, ensureCurrentAuth, ensureCurrentUser, ensureItemLoadingDone, ensureListLoadingDone, ensureMemberCalendarEventsLoadingDone, ensureOpenActivitiesLoadingDone, ensureOpenActivityLocationLoadingDone, ensureOpenActivityTypeLoadingDone, ensurePublicMemberActivitiesLoadingDone, ensurePublicOpenActivitiesLoadingDone, ensureTeamCalendarEventsLoadingDone, ensureUpdatedData, externalLinkState, fileState, getCurrentAuthAction, getCurrentAuthSuccessAction, getCurrentMemberClubInfoAction, getCurrentMemberClubInfoFailureAction, getCurrentMemberClubInfoSuccessAction, getCurrentPublicClubInfoAction, getCurrentPublicClubInfoFailureAction, getCurrentPublicClubInfoSuccessAction, getCurrentTeamClubInfoAction, getCurrentTeamClubInfoFailureAction, getCurrentTeamClubInfoSuccessAction, getCurrentTokenAction, getCurrentTokenSuccessAction, getCurrentUserAction, getCurrentUserFailureAction, getCurrentUserSuccessAction, getMemberDatabankCategoriesAction, getMemberDatabankCategoriesFailureAction, getMemberDatabankCategoriesSuccessAction, getMemberExternalLinksAction, getMemberExternalLinksFailureAction, getMemberExternalLinksSuccessAction, initialAuthState, initialBookingState, initialCalendarState, initialClubInfoState, initialConstantState, initialDatabankState, initialEmailState, initialExternalLinkState, initialFileState, initialInvoiceState, initialMemberCardState, initialMemberFeeState, initialMemberState, initialNewsState, initialPublicFormState, initialPublicState, initialRegistrationQRCodeState, initialSavedSearchState, initialTeamState, initialTokenState, initialUserState, invoiceState, listActivityTypeAction, listActivityTypeFailureAction, listActivityTypeSuccessAction, listAllMemberOpenActivityLocationsAction, listAllMemberOpenActivityLocationsFailureAction, listAllMemberOpenActivityLocationsSuccessAction, listAllMemberOpenActivityTypesAction, listAllMemberOpenActivityTypesFailureAction, listAllMemberOpenActivityTypesSuccessAction, listAllPublicOpenActivityLocationsAction, listAllPublicOpenActivityLocationsFailureAction, listAllPublicOpenActivityLocationsSuccessAction, listAllPublicOpenActivityTypesAction, listAllPublicOpenActivityTypesFailureAction, listAllPublicOpenActivityTypesSuccessAction, listAuthAction, listAuthFailureAction, listAuthSuccessAction, listAuthTeamsAction, listAuthTeamsFailureAction, listAuthTeamsSuccessAction, listBookableItemAction, listBookableItemFailureAction, listBookableItemSuccessAction, listBookableTagAction, listBookableTagFailureAction, listBookableTagSuccessAction, listCalendarAction, listCalendarFailureAction, listCalendarSuccessAction, listGenerallyAvailableTeamsAction, listGenerallyAvailableTeamsFailureAction, listGenerallyAvailableTeamsSuccessAction, listLeaderNotificationsAction, listLeaderNotificationsFailureAction, listLeaderNotificationsSuccessAction, listLoadFailure, listLoadSuccess, listLocationAction, listLocationFailureAction, listLocationSuccessAction, listMemberActivitiesAction, listMemberActivitiesFailureAction, listMemberActivitiesSuccessAction, listMemberActivityInvitesAction, listMemberActivityInvitesFailureAction, listMemberActivityInvitesSuccessAction, listMemberBookingCalendarBookableSlotsAction, listMemberBookingCalendarBookableSlotsFailureAction, listMemberBookingCalendarBookableSlotsSuccessAction, listMemberBookingCalendarSlotSessionAction, listMemberBookingCalendarSlotSessionFailureAction, listMemberBookingCalendarSlotSessionSuccessAction, listMemberCalendarAction, listMemberCalendarFailureAction, listMemberCalendarSuccessAction, listMemberCardsAction, listMemberCardsFailureAction, listMemberCardsSuccessAction, listMemberFeesAction, listMemberFeesFailureAction, listMemberFeesSuccessAction, listMemberInvoicesAction, listMemberInvoicesFailureAction, listMemberInvoicesSuccessAction, listMemberLeaderExtraMembersAction, listMemberLeaderExtraMembersFailureAction, listMemberLeaderExtraMembersSuccessAction, listMemberLeaderMembersAction, listMemberLeaderMembersFailureAction, listMemberLeaderMembersSuccessAction, listMemberNewsAction, listMemberNewsFailureAction, listMemberNewsSuccessAction, listMemberOpenActivitiesAction, listMemberOpenActivitiesFailureAction, listMemberOpenActivitiesSuccessAction, listMemberOpenActivityLocationsAction, listMemberOpenActivityLocationsFailureAction, listMemberOpenActivityLocationsSuccessAction, listMemberOpenActivityTypesAction, listMemberOpenActivityTypesFailureAction, listMemberOpenActivityTypesSuccessAction, listMemberOtherMembersAction, listMemberOtherMembersFailureAction, listMemberOtherMembersSuccessAction, listMemberPaymentOrdersAction, listMemberPaymentOrdersFailureAction, listMemberPaymentOrdersSuccessAction, listMemberTeamsAction, listMemberTeamsFailureAction, listMemberTeamsSuccessAction, listMembersAction, listMembersFailureAction, listMembersSuccessAction, listPublicFormAction, listPublicFormFailureAction, listPublicFormSuccessAction, listPublicMemberActivitiesAction, listPublicMemberActivitiesFailureAction, listPublicMemberActivitiesSuccessAction, listPublicMembersAction, listPublicMembersFailureAction, listPublicMembersSuccessAction, listPublicOpenActivitiesAction, listPublicOpenActivitiesFailureAction, listPublicOpenActivitiesSuccessAction, listPublicOpenActivityLocationsAction, listPublicOpenActivityLocationsFailureAction, listPublicOpenActivityLocationsSuccessAction, listPublicOpenActivityTypesAction, listPublicOpenActivityTypesFailureAction, listPublicOpenActivityTypesSuccessAction, listSavedSearchesAction, listSavedSearchesFailureAction, listSavedSearchesSuccessAction, listStartLoading, listSwishIncidentsAction, listSwishIncidentsFailureAction, listSwishIncidentsSuccessAction, listTeamAction, listTeamActivitiesAction, listTeamActivitiesFailureAction, listTeamActivitiesSuccessAction, listTeamActivityGuestsAction, listTeamActivityGuestsFailureAction, listTeamActivityGuestsSuccessAction, listTeamActivityParticipantsAction, listTeamActivityParticipantsFailureAction, listTeamActivityParticipantsSuccessAction, listTeamActivityQuestionsAction, listTeamActivityQuestionsFailureAction, listTeamActivityQuestionsSuccessAction, listTeamFailureAction, listTeamLeaderExtraMembersAction, listTeamLeaderExtraMembersFailureAction, listTeamLeaderExtraMembersSuccessAction, listTeamLeaderMembersAction, listTeamLeaderMembersFailureAction, listTeamLeaderMembersSuccessAction, listTeamNewsAction, listTeamNewsFailureAction, listTeamNewsSuccessAction, listTeamOtherMembersAction, listTeamOtherMembersFailureAction, listTeamOtherMembersSuccessAction, listTeamSuccessAction, listUserNotificationsAction, listUserNotificationsFailureAction, listUserNotificationsSuccessAction, loginTokenAction, loginTokenFailureAction, loginTokenSuccessAction, loginWithSessionAction, loginWithSessionFailureAction, loginWithTokenAction, loginWithTokenFailureAction, memberCardState, memberFeeState, memberLoginAction, memberLoginFailureAction, memberLoginSuccessAction, memberSendCodeAction, memberSendCodeFailureAction, memberSendCodeSuccessAction, memberState, newsState, publicFormState, publicState, reauthenticateTokenAction, reauthenticateTokenFailureAction, reauthenticateTokenSuccessAction, refreshAuthsAction, refreshAuthsFailureAction, refreshAuthsSuccessAction, registerMemberRegistrationQRCodeAction, registerMemberRegistrationQRCodeFailureAction, registerMemberRegistrationQRCodeSuccessAction, registrationQRCodeState, removeMemberAuthAction, removeMemberAuthFailureAction, removeMemberAuthSuccessAction, removeMemberOpenActivityAction, removeMemberOpenActivityFailureAction, removeMemberOpenActivitySuccessAction, removeMemberProfileContactAction, removeMemberProfileContactFailureAction, removeMemberProfileContactSuccessAction, removeTeamAuthAction, removeTeamAuthFailureAction, removeTeamAuthSuccessAction, removeTeamMemberProfileContactAction, removeTeamMemberProfileContactFailureAction, removeTeamMemberProfileContactSuccessAction, resendTeamActivityMemberInviteAction, resendTeamActivityMemberInviteFailureAction, resendTeamActivityMemberInviteSuccessAction, resetBookingStateAction, resetPasswordAction, resetPasswordFailureAction, resetPasswordSuccessAction, retrieve2FACodeUserAction, retrieve2FACodeUserFailureAction, retrieve2FACodeUserSuccessAction, retrieve2FAMethodsAction, retrieve2FAMethodsFailureAction, retrieve2FAMethodsSuccessAction, retrieveActivityMaxAttendantsTypesConstantsAction, retrieveActivityMaxAttendantsTypesConstantsFailureAction, retrieveActivityMaxAttendantsTypesConstantsSuccessAction, retrieveActivityMeetUpTimesConstantsAction, retrieveActivityMeetUpTimesConstantsFailureAction, retrieveActivityMeetUpTimesConstantsSuccessAction, retrieveActivityQuestionTypesConstantsAction, retrieveActivityQuestionTypesConstantsFailureAction, retrieveActivityQuestionTypesConstantsSuccessAction, retrieveActivityReminderDaysConstantsAction, retrieveActivityReminderDaysConstantsFailureAction, retrieveActivityReminderDaysConstantsSuccessAction, retrieveActivityReminderReceiversConstantsAction, retrieveActivityReminderReceiversConstantsFailureAction, retrieveActivityReminderReceiversConstantsSuccessAction, retrieveActivityReminderTimesConstantsAction, retrieveActivityReminderTimesConstantsFailureAction, retrieveActivityReminderTimesConstantsSuccessAction, retrieveActivityRepeatOptionsConstantsAction, retrieveActivityRepeatOptionsConstantsFailureAction, retrieveActivityRepeatOptionsConstantsSuccessAction, retrieveActivityRepeatTypeOptionsConstantsAction, retrieveActivityRepeatTypeOptionsConstantsFailureAction, retrieveActivityRepeatTypeOptionsConstantsSuccessAction, retrieveActivityRuleRelationTypesAction, retrieveActivityRuleRelationTypesFailureAction, retrieveActivityRuleRelationTypesSuccessAction, retrieveActivityRuleTypesAction, retrieveActivityRuleTypesFailureAction, retrieveActivityRuleTypesSuccessAction, retrieveActivitySettingsConstantsAction, retrieveActivitySettingsConstantsFailureAction, retrieveActivitySettingsConstantsSuccessAction, retrieveBookingCalendarStatusesAction, retrieveBookingCalendarStatusesFailureAction, retrieveBookingCalendarStatusesSuccessAction, retrieveBookingCalendarTypesAction, retrieveBookingCalendarTypesFailureAction, retrieveBookingCalendarTypesSuccessAction, retrieveBookingSettingsAction, retrieveBookingSettingsFailureAction, retrieveBookingSettingsSuccessAction, retrieveBookingSlotReservedTimePositionsAction, retrieveBookingSlotReservedTimePositionsFailureAction, retrieveBookingSlotReservedTimePositionsSuccessAction, retrieveBookingSlotSessionTypesAction, retrieveBookingSlotSessionTypesFailureAction, retrieveBookingSlotSessionTypesSuccessAction, retrieveBookingSlotTypesAction, retrieveBookingSlotTypesFailureAction, retrieveBookingSlotTypesSuccessAction, retrieveCountriesConstantsAction, retrieveCountriesConstantsFailureAction, retrieveCountriesConstantsSuccessAction, retrieveFeatureFlagsAction, retrieveFeatureFlagsFailureAction, retrieveFeatureFlagsSuccessAction, retrieveInvoiceSwishQRCodeFailureAction, retrieveInvoiceSwishQRCodeSuccessAction, retrieveLanguagesConstantsAction, retrieveLanguagesConstantsFailureAction, retrieveLanguagesConstantsSuccessAction, retrieveLoadFailure, retrieveLoadSuccess, retrieveMemberActivityAction, retrieveMemberActivityFailureAction, retrieveMemberActivityInviteAction, retrieveMemberActivityInviteFailureAction, retrieveMemberActivityInviteSuccessAction, retrieveMemberActivitySuccessAction, retrieveMemberBookingSlotTypesAction, retrieveMemberBookingSlotTypesFailureAction, retrieveMemberBookingSlotTypesSuccessAction, retrieveMemberCardAction, retrieveMemberCardDealsAction, retrieveMemberCardDealsFailureAction, retrieveMemberCardDealsSuccessAction, retrieveMemberCardFailureAction, retrieveMemberCardQRCodeAction, retrieveMemberCardQRCodeFailureAction, retrieveMemberCardQRCodeSuccessAction, retrieveMemberCardSuccessAction, retrieveMemberCardTicketsAction, retrieveMemberCardTicketsFailureAction, retrieveMemberCardTicketsSuccessAction, retrieveMemberContactTypesConstantsAction, retrieveMemberContactTypesConstantsFailureAction, retrieveMemberContactTypesConstantsSuccessAction, retrieveMemberDirectoriesAction, retrieveMemberDirectoriesFailureAction, retrieveMemberDirectoriesSuccessAction, retrieveMemberInvoiceAction, retrieveMemberInvoiceFailureAction, retrieveMemberInvoicePaymentAttemptAction, retrieveMemberInvoicePaymentAttemptFailureAction, retrieveMemberInvoicePaymentAttemptSuccessAction, retrieveMemberInvoiceSuccessAction, retrieveMemberInvoiceSwishQRCodeAction, retrieveMemberLeaderExtraMemberAction, retrieveMemberLeaderExtraMemberFailureAction, retrieveMemberLeaderExtraMemberSuccessAction, retrieveMemberLeaderGroupAction, retrieveMemberLeaderGroupFailureAction, retrieveMemberLeaderGroupSuccessAction, retrieveMemberLeaderMemberAction, retrieveMemberLeaderMemberFailureAction, retrieveMemberLeaderMemberSuccessAction, retrieveMemberNewsAction, retrieveMemberNewsFailureAction, retrieveMemberNewsSuccessAction, retrieveMemberOpenActivityAction, retrieveMemberOpenActivityFailureAction, retrieveMemberOpenActivitySuccessAction, retrieveMemberOtherMemberAction, retrieveMemberOtherMemberFailureAction, retrieveMemberOtherMemberSuccessAction, retrieveMemberPaymentOrderPaymentAttemptAction, retrieveMemberPaymentOrderPaymentAttemptFailureAction, retrieveMemberPaymentOrderPaymentAttemptSuccessAction, retrieveMemberPaymentOrderSwishQRCodeAction, retrieveMemberProfileAction, retrieveMemberProfileFailureAction, retrieveMemberProfileSuccessAction, retrievePaymentOrderAction, retrievePaymentOrderFailureAction, retrievePaymentOrderSuccessAction, retrievePaymentOrderSwishQRCodeFailureAction, retrievePaymentOrderSwishQRCodeSuccessAction, retrievePublicActivityInviteAction, retrievePublicActivityInviteFailureAction, retrievePublicActivityInviteSuccessAction, retrievePublicFormAction, retrievePublicFormFailureAction, retrievePublicFormSuccessAction, retrievePublicInvoiceAction, retrievePublicInvoiceFailureAction, retrievePublicInvoiceLogoAction, retrievePublicInvoiceLogoFailureAction, retrievePublicInvoiceLogoSuccessAction, retrievePublicInvoicePaymentAttemptAction, retrievePublicInvoicePaymentAttemptFailureAction, retrievePublicInvoicePaymentAttemptSuccessAction, retrievePublicInvoiceSuccessAction, retrievePublicInvoiceSwishQRCodeAction, retrievePublicMemberActivityAction, retrievePublicMemberActivityFailureAction, retrievePublicMemberActivityInviteAction, retrievePublicMemberActivityInviteFailureAction, retrievePublicMemberActivityInviteSuccessAction, retrievePublicMemberActivitySuccessAction, retrievePublicMemberCardAction, retrievePublicMemberCardDealsAction, retrievePublicMemberCardDealsFailureAction, retrievePublicMemberCardDealsSuccessAction, retrievePublicMemberCardFailureAction, retrievePublicMemberCardQRCodeAction, retrievePublicMemberCardQRCodeFailureAction, retrievePublicMemberCardQRCodeSuccessAction, retrievePublicMemberCardRegisterAction, retrievePublicMemberCardRegisterFailureAction, retrievePublicMemberCardRegisterSuccessAction, retrievePublicMemberCardSuccessAction, retrievePublicMemberCardTicketsAction, retrievePublicMemberCardTicketsFailureAction, retrievePublicMemberCardTicketsSuccessAction, retrievePublicPaymentOrderAction, retrievePublicPaymentOrderFailureAction, retrievePublicPaymentOrderLogoAction, retrievePublicPaymentOrderLogoFailureAction, retrievePublicPaymentOrderLogoSuccessAction, retrievePublicPaymentOrderPaymentAttemptAction, retrievePublicPaymentOrderPaymentAttemptFailureAction, retrievePublicPaymentOrderPaymentAttemptSuccessAction, retrievePublicPaymentOrderSuccessAction, retrievePublicPaymentOrderSwishQRCodeAction, retrieveRegistrationQRCodeAction, retrieveRegistrationQRCodeFailureAction, retrieveRegistrationQRCodeSuccessAction, retrieveSettingsAction, retrieveSettingsFailureAction, retrieveSettingsSuccessAction, retrieveStartLoading, retrieveTeamActivityAction, retrieveTeamActivityFailureAction, retrieveTeamActivityQRCodeAction, retrieveTeamActivityQRCodeFailureAction, retrieveTeamActivityQRCodeSuccessAction, retrieveTeamActivityQuestionAction, retrieveTeamActivityQuestionFailureAction, retrieveTeamActivityQuestionSuccessAction, retrieveTeamActivitySettingsAction, retrieveTeamActivitySettingsFailureAction, retrieveTeamActivitySettingsSuccessAction, retrieveTeamActivitySuccessAction, retrieveTeamBookingSlotTypesAction, retrieveTeamBookingSlotTypesFailureAction, retrieveTeamBookingSlotTypesSuccessAction, retrieveTeamDefaultActivitySettingsAction, retrieveTeamDefaultActivitySettingsFailureAction, retrieveTeamDefaultActivitySettingsSuccessAction, retrieveTeamDirectoriesAction, retrieveTeamDirectoriesFailureAction, retrieveTeamDirectoriesSuccessAction, retrieveTeamLeaderExtraMemberAction, retrieveTeamLeaderExtraMemberFailureAction, retrieveTeamLeaderExtraMemberSuccessAction, retrieveTeamLeaderGroupAction, retrieveTeamLeaderGroupFailureAction, retrieveTeamLeaderGroupSuccessAction, retrieveTeamLeaderMemberAction, retrieveTeamLeaderMemberFailureAction, retrieveTeamLeaderMemberSuccessAction, retrieveTeamNewsAction, retrieveTeamNewsFailureAction, retrieveTeamNewsSuccessAction, retrieveTeamOtherMemberAction, retrieveTeamOtherMemberFailureAction, retrieveTeamOtherMemberSuccessAction, savedSearchState, selectActivityInvites, selectActivityMaxAttendees, selectActivityMeetUpTimes, selectActivityReminderDays, selectActivityReminderReceivers, selectActivityReminderTimes, selectActivityRepeatOptions, selectActivityRepeatTypeOptions, selectActivityRuleRelationTypeOptions, selectActivityRuleTypeOptions, selectActivitySettings, selectActivityTypes, selectAllAuths, selectAllMemberCards, selectAllOpenActivityLocations, selectAllOpenActivityTypes, selectAllPublicForms, selectAppSettings, selectBookableItems, selectBookableTags, selectBookingActivitySettings, selectBookingCalendarStatuses, selectBookingCalendarTypes, selectBookingSettings, selectBookingSlotFilter, selectBookingSlotReservedTimePositions, selectBookingSlotSessionTypes, selectBookingSlotTypes, selectBookingTeams, selectCalendars, selectCardDeals, selectCardTickets, selectClubInfo, selectCountries, selectCurrentAuth, selectCurrentCalendar, selectCurrentCalendarAction, selectCurrentExtraMember, selectCurrentMember, selectCurrentMemberActivity, selectCurrentMemberActivityInvite, selectCurrentMemberNewsItem, selectCurrentMemberOpenActivity, selectCurrentPublicToken, selectCurrentTeam, selectCurrentTeamActivity, selectCurrentTeamNewsItem, selectCurrentToken, selectCurrentUser, selectDatabankCategories, selectEmailSettings, selectExternalLinks, selectFeatureFlags, selectGenerallyAvailableTeams, selectInvoice, selectInvoiceList, selectLanguages, selectLeaderNotifications, selectLocations, selectMemberBookingSlotTypes, selectMemberCalendarEvents, selectMemberCalendars, selectMemberCard, selectMemberContactTypes, selectMemberDirectories, selectMemberFees, selectMemberNewsList, selectMemberOpenActivities, selectMemberOpenActivityLocations, selectMemberOpenActivityTypes, selectMemberOtherMember, selectMemberOtherMembers, selectMemberProfile, selectMemberSessions, selectMemberSlots, selectMemberTeams, selectMembers, selectNewTeamActivity, selectPaymentOrder, selectPaymentOrderList, selectPublicActivityInvite, selectPublicCardDeals, selectPublicCardTickets, selectPublicClubInfo, selectPublicInvoice, selectPublicInvoiceLogo, selectPublicMember, selectPublicMemberAction, selectPublicMemberActivities, selectPublicMemberActivity, selectPublicMemberActivityInvite, selectPublicMemberCard, selectPublicMemberFailureAction, selectPublicMemberSuccessAction, selectPublicMembers, selectPublicPaymentOrder, selectPublicPaymentOrderLogo, selectRegistrationQRCode, selectSavedSearches, selectTeamActivityGuests, selectTeamActivityQuestion, selectTeamActivityQuestions, selectTeamActivitySettings, selectTeamBookingSlotTypes, selectTeamCalendarEvents, selectTeamDirectories, selectTeamExtraMembers, selectTeamExtraMembersId, selectTeamMembers, selectTeamMembersId, selectTeamNewsList, selectTeamOtherMember, selectTeamOtherMembers, selectTwoFaMethods, selectUserNotifications, sendEmailAction, sendEmailFailureAction, sendEmailSuccessAction, setCurrentAuthAction, setCurrentTokenAction, setEmailSettingsAction, swishIncidentGetMostSevereStatus, teamState, tokenState, unblockMemberAuthAction, unblockMemberAuthFailureAction, unblockMemberAuthSuccessAction, updateActivityTypeAction, updateActivityTypeFailureAction, updateActivityTypeSuccessAction, updateApplicationTimeAction, updateBookableItemAction, updateBookableItemFailureAction, updateBookableItemSuccessAction, updateBookableTagAction, updateBookableTagFailureAction, updateBookableTagSuccessAction, updateBookingCalendarAction, updateBookingCalendarFailureAction, updateBookingCalendarSlotAction, updateBookingCalendarSlotFailureAction, updateBookingCalendarSlotSessionAction, updateBookingCalendarSlotSessionFailureAction, updateBookingCalendarSlotSessionSuccessAction, updateBookingCalendarSlotSuccessAction, updateBookingCalendarSuccessAction, updateBookingFilterAction, updateBookingSettingsAction, updateBookingSettingsFailureAction, updateBookingSettingsSuccessAction, updateCurrentUserAction, updateCurrentUserFailureAction, updateCurrentUserSuccessAction, updateMemberActivityAttendanceAction, updateMemberActivityAttendanceFailureAction, updateMemberActivityAttendanceSuccessAction, updateMemberActivityInviteAction, updateMemberActivityInviteFailureAction, updateMemberActivityInviteSuccessAction, updateMemberOpenActivityAction, updateMemberOpenActivityFailureAction, updateMemberOpenActivitySuccessAction, updateMemberProfileAction, updateMemberProfileFailureAction, updateMemberProfileSuccessAction, updatePublicActivityInviteAction, updatePublicActivityInviteFailureAction, updatePublicActivityInviteSuccessAction, updatePublicMemberActivityInviteAction, updatePublicMemberActivityInviteFailureAction, updatePublicMemberActivityInviteSuccessAction, updatePublicMemberOpenActivityAction, updatePublicMemberOpenActivityFailureAction, updatePublicMemberOpenActivitySuccessAction, updateTeamActivityAction, updateTeamActivityAttendanceAction, updateTeamActivityAttendanceFailureAction, updateTeamActivityAttendanceSuccessAction, updateTeamActivityFailureAction, updateTeamActivityGuestAction, updateTeamActivityGuestFailureAction, updateTeamActivityGuestSuccessAction, updateTeamActivityQuestionAction, updateTeamActivityQuestionFailureAction, updateTeamActivityQuestionSuccessAction, updateTeamActivitySuccessAction, updateTeamLeaderMemberAction, updateTeamLeaderMemberFailureAction, updateTeamLeaderMemberSuccessAction, updateTeamMemberActivityInviteAction, updateTeamMemberActivityInviteFailureAction, updateTeamMemberActivityInviteSuccessAction, updateTeamNewsAction, updateTeamNewsFailureAction, updateTeamNewsSuccessAction, userState, verify2FAUserAction, verify2FAUserFailureAction, verify2FAUserSuccessAction };
13395
+ export { APP, Activity, ActivityActionTypes, ActivityExtraMember, ActivityInvite, ActivityLocation, ActivityLocationGroup, ActivityLocationPart, ActivityLocationTag, ActivityParticipant, ActivityQuestion, ActivityQuestionConnection, ActivityQuestionResponse, ActivityRule, ActivityRuleRelation, ActivityService, ActivitySettings, ActivityType, ActivityWaitingListEntry, ApiService, AppSettings, Auth, AuthActionType, AuthMember, AuthSection, AuthService, AuthTeam, AuthTeamSection, AuthenticatedGuard, Authentication, AuthenticationInterceptor, AuthenticationService, BookableItem, BookablePart, BookableService, BookableTag, BookingActionTypes, BookingCalendar, BookingCalendarApplicationTime, BookingCalendarService, BookingCalendarSlot, BookingCalendarSlotSession, BookingCalendarSlotValidateCopyResult, BookingCalendarSlotValidateCopyResultItem, BookingSettings, BookingSlotFilter, Calendar, CalendarActionTypes, CalendarEvent, Card, CardDeal, CardLogo, CardLogoUrls, CardMemberTicket, CardTheme, CardTicket, CardTicketLocation, Club, ClubImage, ClubInfoActionType, ClubSection, ClubService, Collection, ConstantActionType, ConstantService, Contact, CreditCard, DOMAIN, DataAccessModule, DatabankActionType, DatabankCategory, DatabankItem, DatabankService, Directory, Email, EmailActionTypes, EmailService, Event, ExternalLink, ExternalLinkActionType, ExternalLinkService, FeatureFlags, FeatureFlagsService, FileActionTypes, FileObject, FileService, GeneralImage, Giro, GroupRole, Guest, HandleGrantTokenGuard, HomeTeam, ImageUrls, InvoiceActionType, InvoiceService, LeaderActivity, LeaderNotificationService, MaintenanceModeService, Member, MemberActionType, MemberActivityInvite, MemberAttribute, MemberCard, MemberCardActionType, MemberCardService, MemberContact, MemberFee, MemberFeeActionType, MemberFeeService, MemberFunction, MemberInvoice, MemberInvoiceRow, MemberPublicForm, MemberPublicFormField, MemberPublicFormFieldOption, MemberPublicFormService, MemberService, MemberTeam, MemberTeamThrough, MemberType, MemberValidationSettings, MypagesMenuItem, News, NewsActionType, NewsService, OpenActivity, OptionalFee, OtherMember, OtherMemberField, OverbookedBookableItem, OverbookedLocation, Partner, PaymentAttempt, PaymentAttemptService, PaymentOrder, PaymentOrderRow, PaymentOrderService, PublicAuthentication, PublicFormActionType, RegistrationQRCode, RegistrationQRCodeActionTypes, RegistrationQRCodeService, Retrieve2fa, Role, STORAGE_SELECTED_AUTH, STORAGE_SELECTED_MEMBERS, STORAGE_TOKEN, SavedSearch, SavedSearchActionType, SavedSearchService, SearchAttribute, SearchClub, SearchMember, SearchMemberCard, SearchMemberInvoice, SearchTeam, Section, SectionService, SelectedField, StorageService, StoreActionTypes, Swish, SwishIncident, SwishIncidentActionTypes, SwishQrCode, TEAM_ADMIN_NOTIFICATIONS_PATH, TeamActionTypes, TeamService, Token, TokenActionType, TokenService, USER_NOTIFICATIONS_PATH, UnpaidMemberInvoice, User, UserActionType, UserNotification, UserNotificationService, UserService, Zimpler, activate2FAUserAction, activate2FAUserFailureAction, activate2FAUserSuccessAction, activateCardTicketAction, activateCardTicketFailureAction, activateCardTicketSuccessAction, activatePublicCardTicketAction, activatePublicCardTicketFailureAction, activatePublicCardTicketSuccessAction, activateUserAction, activateUserFailureAction, activateUserSuccessAction, addEmailRecipientsAction, addTeamActivityGuestAction, addTeamActivityGuestFailureAction, addTeamActivityGuestSuccessAction, addTeamLeaderActivityInviteAction, addTeamLeaderActivityInviteFailureAction, addTeamLeaderActivityInviteSuccessAction, admitWaitlistEntryAction, admitWaitlistEntryFailureAction, admitWaitlistEntrySuccessAction, authState, bookingState, calendarState, clearAuthenticationAction, clearAuthenticationSuccessAction, clearCurrentAuthAction, clearCurrentAuthSuccessAction, clearCurrentExtraMemberAction, clearCurrentMemberAction, clearCurrentPublicTokenAction, clearCurrentTeamAction, clearCurrentTokenAction, clearEmailAction, clearMemberActivityAction, clearMemberActivityInviteAction, clearMemberCardAction, clearMemberInvoiceAction, clearMemberOpenActivityAction, clearMemberOtherMemberAction, clearMemberTeamsAction, clearPaymentOrderAction, clearPublicMemberActivityAction, clearPublicPaymentOrderAction, clearStoreAction, clearTeamActivitiesAction, clearTeamActivityAction, clearTeamOtherMemberAction, clearUserNotificationsAction, clubInfoState, constantState, createBookableItemAction, createBookableItemFailureAction, createBookableItemSuccessAction, createBookableTagAction, createBookableTagFailureAction, createBookableTagSuccessAction, createBookingCalendarAction, createBookingCalendarFailureAction, createBookingCalendarSlotAction, createBookingCalendarSlotFailureAction, createBookingCalendarSlotSessionAction, createBookingCalendarSlotSessionFailureAction, createBookingCalendarSlotSessionSuccessAction, createBookingCalendarSlotSuccessAction, createBookingCalendarSuccessAction, createBulkBookingCalendarSlotAction, createBulkBookingCalendarSlotFailureAction, createBulkBookingCalendarSlotSessionsAction, createBulkBookingCalendarSlotSessionsFailureAction, createBulkBookingCalendarSlotSessionsSuccessAction, createBulkBookingCalendarSlotSuccessAction, createFritidskortetInvoicePaymentFailureAction, createFritidskortetInvoicePaymentSuccessAction, createFritidskortetMemberInvoicePaymentAction, createFritidskortetPublicInvoicePaymentAction, createMondidoInvoicePaymentFailureAction, createMondidoInvoicePaymentSuccessAction, createMondidoMemberInvoicePaymentAction, createMondidoMemberPaymentOrderPaymentAction, createMondidoPaymentOrderPaymentFailureAction, createMondidoPaymentOrderPaymentSuccessAction, createMondidoPublicInvoicePaymentAction, createMondidoPublicPaymentOrderPaymentAction, createPingCreditCardMemberInvoicePaymentAction, createPingCreditCardMemberPaymentOrderPaymentAction, createPingCreditCardPaymentFailureAction, createPingCreditCardPaymentOrderPaymentFailureAction, createPingCreditCardPaymentOrderPaymentSuccessAction, createPingCreditCardPaymentSuccessAction, createPingCreditCardPublicInvoicePaymentAction, createPingCreditCardPublicPaymentOrderPaymentAction, createPingSwishMemberInvoicePaymentAction, createPingSwishMemberPaymentOrderPaymentAction, createPingSwishPaymentFailureAction, createPingSwishPaymentOrderPaymentFailureAction, createPingSwishPaymentOrderPaymentSuccessAction, createPingSwishPaymentSuccessAction, createPingSwishPublicInvoicePaymentAction, createPingSwishPublicPaymentOrderPaymentAction, createSwishInvoicePaymentFailureAction, createSwishInvoicePaymentSuccessAction, createSwishMemberInvoicePaymentAction, createSwishMemberPaymentOrderPaymentAction, createSwishPaymentOrderPaymentFailureAction, createSwishPaymentOrderPaymentSuccessAction, createSwishPublicInvoicePaymentAction, createSwishPublicPaymentOrderPaymentAction, createTeamActivityAction, createTeamActivityFailureAction, createTeamActivityQuestionAction, createTeamActivityQuestionFailureAction, createTeamActivityQuestionSuccessAction, createTeamActivitySuccessAction, createTeamDirectoryAction, createTeamDirectoryFailureAction, createTeamDirectorySuccessAction, createTeamFileAction, createTeamFileFailureAction, createTeamFileSuccessAction, createTeamNewsAction, createTeamNewsFailureAction, createTeamNewsSuccessAction, createUserAction, createUserFailureAction, createUserSuccessAction, createZimplerMemberPaymentAction, createZimplerPaymentFailureAction, createZimplerPaymentSuccessAction, createZimplerPublicPaymentAction, dataAccessEffects, dataAccessReducer, databankState, deactivate2FAUserAction, deactivate2FAUserFailureAction, deactivate2FAUserSuccessAction, declinePublicOpenActivityWaitlistOfferAction, declinePublicOpenActivityWaitlistOfferFailureAction, declinePublicOpenActivityWaitlistOfferSuccessAction, deleteBookableTagAction, deleteBookableTagFailureAction, deleteBookableTagSuccessAction, deleteBookingCalendarAction, deleteBookingCalendarFailureAction, deleteBookingCalendarRepeatableSlotAction, deleteBookingCalendarRepeatableSlotFailureAction, deleteBookingCalendarRepeatableSlotSessionAction, deleteBookingCalendarRepeatableSlotSessionFailureAction, deleteBookingCalendarRepeatableSlotSessionSuccessAction, deleteBookingCalendarRepeatableSlotSuccessAction, deleteBookingCalendarSlotAction, deleteBookingCalendarSlotFailureAction, deleteBookingCalendarSlotSessionAction, deleteBookingCalendarSlotSessionFailureAction, deleteBookingCalendarSlotSessionSuccessAction, deleteBookingCalendarSlotSuccessAction, deleteBookingCalendarSuccessAction, deleteCurrentUserAction, deleteCurrentUserFailureAction, deleteCurrentUserSuccessAction, deleteEmailRecipientAction, deletePaymentOrderAction, deletePaymentOrderFailureAction, deletePaymentOrderSuccessAction, deletePublicPaymentOrderAction, deletePublicPaymentOrderFailureAction, deletePublicPaymentOrderSuccessAction, deleteTeamActivityAction, deleteTeamActivityFailureAction, deleteTeamActivityGuestAction, deleteTeamActivityGuestFailureAction, deleteTeamActivityGuestSuccessAction, deleteTeamActivityInviteAction, deleteTeamActivityInviteFailureAction, deleteTeamActivityInviteSuccessAction, deleteTeamActivityQuestionAction, deleteTeamActivityQuestionFailureAction, deleteTeamActivityQuestionSuccessAction, deleteTeamActivitySuccessAction, deleteTeamDirectoryAction, deleteTeamDirectoryFailureAction, deleteTeamDirectorySuccessAction, deleteTeamFileAction, deleteTeamFileFailureAction, deleteTeamFileSuccessAction, deleteTeamLeaderMemberAction, deleteTeamLeaderMemberFailureAction, deleteTeamLeaderMemberSuccessAction, deleteTeamNewsAction, deleteTeamNewsFailureAction, deleteTeamNewsSuccessAction, emailState, emptyListResultFactory, emptyRetrieveResultFactory, ensureAuths, ensureConstants, ensureCurrentAuth, ensureCurrentUser, ensureItemLoadingDone, ensureListLoadingDone, ensureMemberCalendarEventsLoadingDone, ensureOpenActivitiesLoadingDone, ensureOpenActivityLocationLoadingDone, ensureOpenActivityTypeLoadingDone, ensurePublicMemberActivitiesLoadingDone, ensurePublicOpenActivitiesLoadingDone, ensureTeamCalendarEventsLoadingDone, ensureUpdatedData, externalLinkState, fileState, getCurrentAuthAction, getCurrentAuthSuccessAction, getCurrentMemberClubInfoAction, getCurrentMemberClubInfoFailureAction, getCurrentMemberClubInfoSuccessAction, getCurrentPublicClubInfoAction, getCurrentPublicClubInfoFailureAction, getCurrentPublicClubInfoSuccessAction, getCurrentTeamClubInfoAction, getCurrentTeamClubInfoFailureAction, getCurrentTeamClubInfoSuccessAction, getCurrentTokenAction, getCurrentTokenSuccessAction, getCurrentUserAction, getCurrentUserFailureAction, getCurrentUserSuccessAction, getMemberDatabankCategoriesAction, getMemberDatabankCategoriesFailureAction, getMemberDatabankCategoriesSuccessAction, getMemberExternalLinksAction, getMemberExternalLinksFailureAction, getMemberExternalLinksSuccessAction, initialAuthState, initialBookingState, initialCalendarState, initialClubInfoState, initialConstantState, initialDatabankState, initialEmailState, initialExternalLinkState, initialFileState, initialInvoiceState, initialMemberCardState, initialMemberFeeState, initialMemberState, initialNewsState, initialPublicFormState, initialPublicState, initialRegistrationQRCodeState, initialSavedSearchState, initialTeamState, initialTokenState, initialUserState, invoiceState, isBookingReservedForWaitlist, joinPublicWaitingListAction, joinPublicWaitingListFailureAction, joinPublicWaitingListSuccessAction, joinWaitingListAction, joinWaitingListFailureAction, joinWaitingListSuccessAction, leavePublicWaitingListAction, leavePublicWaitingListFailureAction, leavePublicWaitingListSuccessAction, leaveWaitingListAction, leaveWaitingListFailureAction, leaveWaitingListSuccessAction, listActivityTypeAction, listActivityTypeFailureAction, listActivityTypeSuccessAction, listAllMemberOpenActivityLocationsAction, listAllMemberOpenActivityLocationsFailureAction, listAllMemberOpenActivityLocationsSuccessAction, listAllMemberOpenActivityTypesAction, listAllMemberOpenActivityTypesFailureAction, listAllMemberOpenActivityTypesSuccessAction, listAllPublicOpenActivityLocationsAction, listAllPublicOpenActivityLocationsFailureAction, listAllPublicOpenActivityLocationsSuccessAction, listAllPublicOpenActivityTypesAction, listAllPublicOpenActivityTypesFailureAction, listAllPublicOpenActivityTypesSuccessAction, listAuthAction, listAuthFailureAction, listAuthSuccessAction, listAuthTeamsAction, listAuthTeamsFailureAction, listAuthTeamsSuccessAction, listBookableItemAction, listBookableItemFailureAction, listBookableItemSuccessAction, listBookableTagAction, listBookableTagFailureAction, listBookableTagSuccessAction, listCalendarAction, listCalendarFailureAction, listCalendarSuccessAction, listGenerallyAvailableTeamsAction, listGenerallyAvailableTeamsFailureAction, listGenerallyAvailableTeamsSuccessAction, listLeaderNotificationsAction, listLeaderNotificationsFailureAction, listLeaderNotificationsSuccessAction, listLoadFailure, listLoadSuccess, listLocationAction, listLocationFailureAction, listLocationSuccessAction, listMemberActivitiesAction, listMemberActivitiesFailureAction, listMemberActivitiesSuccessAction, listMemberActivityInvitesAction, listMemberActivityInvitesFailureAction, listMemberActivityInvitesSuccessAction, listMemberBookingCalendarBookableSlotsAction, listMemberBookingCalendarBookableSlotsFailureAction, listMemberBookingCalendarBookableSlotsSuccessAction, listMemberBookingCalendarSlotSessionAction, listMemberBookingCalendarSlotSessionFailureAction, listMemberBookingCalendarSlotSessionSuccessAction, listMemberCalendarAction, listMemberCalendarFailureAction, listMemberCalendarSuccessAction, listMemberCardsAction, listMemberCardsFailureAction, listMemberCardsSuccessAction, listMemberFeesAction, listMemberFeesFailureAction, listMemberFeesSuccessAction, listMemberInvoicesAction, listMemberInvoicesFailureAction, listMemberInvoicesSuccessAction, listMemberLeaderExtraMembersAction, listMemberLeaderExtraMembersFailureAction, listMemberLeaderExtraMembersSuccessAction, listMemberLeaderMembersAction, listMemberLeaderMembersFailureAction, listMemberLeaderMembersSuccessAction, listMemberNewsAction, listMemberNewsFailureAction, listMemberNewsSuccessAction, listMemberOpenActivitiesAction, listMemberOpenActivitiesFailureAction, listMemberOpenActivitiesSuccessAction, listMemberOpenActivityLocationsAction, listMemberOpenActivityLocationsFailureAction, listMemberOpenActivityLocationsSuccessAction, listMemberOpenActivityTypesAction, listMemberOpenActivityTypesFailureAction, listMemberOpenActivityTypesSuccessAction, listMemberOtherMembersAction, listMemberOtherMembersFailureAction, listMemberOtherMembersSuccessAction, listMemberPaymentOrdersAction, listMemberPaymentOrdersFailureAction, listMemberPaymentOrdersSuccessAction, listMemberTeamsAction, listMemberTeamsFailureAction, listMemberTeamsSuccessAction, listMembersAction, listMembersFailureAction, listMembersSuccessAction, listPublicFormAction, listPublicFormFailureAction, listPublicFormSuccessAction, listPublicMemberActivitiesAction, listPublicMemberActivitiesFailureAction, listPublicMemberActivitiesSuccessAction, listPublicMembersAction, listPublicMembersFailureAction, listPublicMembersSuccessAction, listPublicOpenActivitiesAction, listPublicOpenActivitiesFailureAction, listPublicOpenActivitiesSuccessAction, listPublicOpenActivityLocationsAction, listPublicOpenActivityLocationsFailureAction, listPublicOpenActivityLocationsSuccessAction, listPublicOpenActivityTypesAction, listPublicOpenActivityTypesFailureAction, listPublicOpenActivityTypesSuccessAction, listSavedSearchesAction, listSavedSearchesFailureAction, listSavedSearchesSuccessAction, listStartLoading, listSwishIncidentsAction, listSwishIncidentsFailureAction, listSwishIncidentsSuccessAction, listTeamAction, listTeamActivitiesAction, listTeamActivitiesFailureAction, listTeamActivitiesSuccessAction, listTeamActivityGuestsAction, listTeamActivityGuestsFailureAction, listTeamActivityGuestsSuccessAction, listTeamActivityParticipantsAction, listTeamActivityParticipantsFailureAction, listTeamActivityParticipantsSuccessAction, listTeamActivityQuestionsAction, listTeamActivityQuestionsFailureAction, listTeamActivityQuestionsSuccessAction, listTeamFailureAction, listTeamLeaderExtraMembersAction, listTeamLeaderExtraMembersFailureAction, listTeamLeaderExtraMembersSuccessAction, listTeamLeaderMembersAction, listTeamLeaderMembersFailureAction, listTeamLeaderMembersSuccessAction, listTeamNewsAction, listTeamNewsFailureAction, listTeamNewsSuccessAction, listTeamOtherMembersAction, listTeamOtherMembersFailureAction, listTeamOtherMembersSuccessAction, listTeamSuccessAction, listUserNotificationsAction, listUserNotificationsFailureAction, listUserNotificationsSuccessAction, loadTeamActivityWaitingListAction, loadTeamActivityWaitingListFailureAction, loadTeamActivityWaitingListSuccessAction, loginTokenAction, loginTokenFailureAction, loginTokenSuccessAction, loginWithSessionAction, loginWithSessionFailureAction, loginWithTokenAction, loginWithTokenFailureAction, memberCardState, memberFeeState, memberLoginAction, memberLoginFailureAction, memberLoginSuccessAction, memberSendCodeAction, memberSendCodeFailureAction, memberSendCodeSuccessAction, memberState, newsState, offerWaitlistEntryAction, offerWaitlistEntryFailureAction, offerWaitlistEntrySuccessAction, openWaitlistPlaceAction, openWaitlistPlaceFailureAction, openWaitlistPlaceSuccessAction, passWaitlistOfferAction, passWaitlistOfferFailureAction, passWaitlistOfferSuccessAction, publicFormState, publicState, reauthenticateTokenAction, reauthenticateTokenFailureAction, reauthenticateTokenSuccessAction, refreshAuthsAction, refreshAuthsFailureAction, refreshAuthsSuccessAction, registerMemberRegistrationQRCodeAction, registerMemberRegistrationQRCodeFailureAction, registerMemberRegistrationQRCodeSuccessAction, registrationQRCodeState, remindWaitlistOfferAction, remindWaitlistOfferFailureAction, remindWaitlistOfferSuccessAction, removeMemberActivityInviteSuccessAction, removeMemberAuthAction, removeMemberAuthFailureAction, removeMemberAuthSuccessAction, removeMemberOpenActivityAction, removeMemberOpenActivityFailureAction, removeMemberOpenActivitySuccessAction, removeMemberProfileContactAction, removeMemberProfileContactFailureAction, removeMemberProfileContactSuccessAction, removePublicActivityInviteSuccessAction, removePublicMemberActivityInviteSuccessAction, removeTeamAuthAction, removeTeamAuthFailureAction, removeTeamAuthSuccessAction, removeTeamMemberProfileContactAction, removeTeamMemberProfileContactFailureAction, removeTeamMemberProfileContactSuccessAction, removeWaitlistEntryAction, removeWaitlistEntryFailureAction, removeWaitlistEntrySuccessAction, reorderWaitlistEntryAction, reorderWaitlistEntryFailureAction, reorderWaitlistEntrySuccessAction, resendTeamActivityMemberInviteAction, resendTeamActivityMemberInviteFailureAction, resendTeamActivityMemberInviteSuccessAction, resetBookingStateAction, resetPasswordAction, resetPasswordFailureAction, resetPasswordSuccessAction, respondPublicOpenActivityWaitlistOfferAction, respondPublicOpenActivityWaitlistOfferFailureAction, respondPublicOpenActivityWaitlistOfferSuccessAction, retrieve2FACodeUserAction, retrieve2FACodeUserFailureAction, retrieve2FACodeUserSuccessAction, retrieve2FAMethodsAction, retrieve2FAMethodsFailureAction, retrieve2FAMethodsSuccessAction, retrieveActivityMaxAttendantsTypesConstantsAction, retrieveActivityMaxAttendantsTypesConstantsFailureAction, retrieveActivityMaxAttendantsTypesConstantsSuccessAction, retrieveActivityMeetUpTimesConstantsAction, retrieveActivityMeetUpTimesConstantsFailureAction, retrieveActivityMeetUpTimesConstantsSuccessAction, retrieveActivityQuestionTypesConstantsAction, retrieveActivityQuestionTypesConstantsFailureAction, retrieveActivityQuestionTypesConstantsSuccessAction, retrieveActivityReminderDaysConstantsAction, retrieveActivityReminderDaysConstantsFailureAction, retrieveActivityReminderDaysConstantsSuccessAction, retrieveActivityReminderReceiversConstantsAction, retrieveActivityReminderReceiversConstantsFailureAction, retrieveActivityReminderReceiversConstantsSuccessAction, retrieveActivityReminderTimesConstantsAction, retrieveActivityReminderTimesConstantsFailureAction, retrieveActivityReminderTimesConstantsSuccessAction, retrieveActivityRepeatOptionsConstantsAction, retrieveActivityRepeatOptionsConstantsFailureAction, retrieveActivityRepeatOptionsConstantsSuccessAction, retrieveActivityRepeatTypeOptionsConstantsAction, retrieveActivityRepeatTypeOptionsConstantsFailureAction, retrieveActivityRepeatTypeOptionsConstantsSuccessAction, retrieveActivityRuleRelationTypesAction, retrieveActivityRuleRelationTypesFailureAction, retrieveActivityRuleRelationTypesSuccessAction, retrieveActivityRuleTypesAction, retrieveActivityRuleTypesFailureAction, retrieveActivityRuleTypesSuccessAction, retrieveActivitySettingsConstantsAction, retrieveActivitySettingsConstantsFailureAction, retrieveActivitySettingsConstantsSuccessAction, retrieveBookingCalendarStatusesAction, retrieveBookingCalendarStatusesFailureAction, retrieveBookingCalendarStatusesSuccessAction, retrieveBookingCalendarTypesAction, retrieveBookingCalendarTypesFailureAction, retrieveBookingCalendarTypesSuccessAction, retrieveBookingSettingsAction, retrieveBookingSettingsFailureAction, retrieveBookingSettingsSuccessAction, retrieveBookingSlotReservedTimePositionsAction, retrieveBookingSlotReservedTimePositionsFailureAction, retrieveBookingSlotReservedTimePositionsSuccessAction, retrieveBookingSlotSessionTypesAction, retrieveBookingSlotSessionTypesFailureAction, retrieveBookingSlotSessionTypesSuccessAction, retrieveBookingSlotTypesAction, retrieveBookingSlotTypesFailureAction, retrieveBookingSlotTypesSuccessAction, retrieveCountriesConstantsAction, retrieveCountriesConstantsFailureAction, retrieveCountriesConstantsSuccessAction, retrieveFeatureFlagsAction, retrieveFeatureFlagsFailureAction, retrieveFeatureFlagsSuccessAction, retrieveInvoiceSwishQRCodeFailureAction, retrieveInvoiceSwishQRCodeSuccessAction, retrieveLanguagesConstantsAction, retrieveLanguagesConstantsFailureAction, retrieveLanguagesConstantsSuccessAction, retrieveLoadFailure, retrieveLoadSuccess, retrieveMemberActivityAction, retrieveMemberActivityFailureAction, retrieveMemberActivityInviteAction, retrieveMemberActivityInviteFailureAction, retrieveMemberActivityInviteSuccessAction, retrieveMemberActivitySuccessAction, retrieveMemberBookingSlotTypesAction, retrieveMemberBookingSlotTypesFailureAction, retrieveMemberBookingSlotTypesSuccessAction, retrieveMemberCardAction, retrieveMemberCardDealsAction, retrieveMemberCardDealsFailureAction, retrieveMemberCardDealsSuccessAction, retrieveMemberCardFailureAction, retrieveMemberCardQRCodeAction, retrieveMemberCardQRCodeFailureAction, retrieveMemberCardQRCodeSuccessAction, retrieveMemberCardSuccessAction, retrieveMemberCardTicketsAction, retrieveMemberCardTicketsFailureAction, retrieveMemberCardTicketsSuccessAction, retrieveMemberContactTypesConstantsAction, retrieveMemberContactTypesConstantsFailureAction, retrieveMemberContactTypesConstantsSuccessAction, retrieveMemberDirectoriesAction, retrieveMemberDirectoriesFailureAction, retrieveMemberDirectoriesSuccessAction, retrieveMemberInvoiceAction, retrieveMemberInvoiceFailureAction, retrieveMemberInvoicePaymentAttemptAction, retrieveMemberInvoicePaymentAttemptFailureAction, retrieveMemberInvoicePaymentAttemptSuccessAction, retrieveMemberInvoiceSuccessAction, retrieveMemberInvoiceSwishQRCodeAction, retrieveMemberLeaderExtraMemberAction, retrieveMemberLeaderExtraMemberFailureAction, retrieveMemberLeaderExtraMemberSuccessAction, retrieveMemberLeaderGroupAction, retrieveMemberLeaderGroupFailureAction, retrieveMemberLeaderGroupSuccessAction, retrieveMemberLeaderMemberAction, retrieveMemberLeaderMemberFailureAction, retrieveMemberLeaderMemberSuccessAction, retrieveMemberNewsAction, retrieveMemberNewsFailureAction, retrieveMemberNewsSuccessAction, retrieveMemberOpenActivityAction, retrieveMemberOpenActivityFailureAction, retrieveMemberOpenActivitySuccessAction, retrieveMemberOtherMemberAction, retrieveMemberOtherMemberFailureAction, retrieveMemberOtherMemberSuccessAction, retrieveMemberPaymentOrderPaymentAttemptAction, retrieveMemberPaymentOrderPaymentAttemptFailureAction, retrieveMemberPaymentOrderPaymentAttemptSuccessAction, retrieveMemberPaymentOrderSwishQRCodeAction, retrieveMemberProfileAction, retrieveMemberProfileFailureAction, retrieveMemberProfileSuccessAction, retrieveMemberWaitingListEntryAction, retrieveMemberWaitingListEntryFailureAction, retrieveMemberWaitingListEntrySuccessAction, retrievePaymentOrderAction, retrievePaymentOrderFailureAction, retrievePaymentOrderSuccessAction, retrievePaymentOrderSwishQRCodeFailureAction, retrievePaymentOrderSwishQRCodeSuccessAction, retrievePublicActivityInviteAction, retrievePublicActivityInviteFailureAction, retrievePublicActivityInviteSuccessAction, retrievePublicFormAction, retrievePublicFormFailureAction, retrievePublicFormSuccessAction, retrievePublicInvoiceAction, retrievePublicInvoiceFailureAction, retrievePublicInvoiceLogoAction, retrievePublicInvoiceLogoFailureAction, retrievePublicInvoiceLogoSuccessAction, retrievePublicInvoicePaymentAttemptAction, retrievePublicInvoicePaymentAttemptFailureAction, retrievePublicInvoicePaymentAttemptSuccessAction, retrievePublicInvoiceSuccessAction, retrievePublicInvoiceSwishQRCodeAction, retrievePublicMemberActivityAction, retrievePublicMemberActivityFailureAction, retrievePublicMemberActivityInviteAction, retrievePublicMemberActivityInviteFailureAction, retrievePublicMemberActivityInviteSuccessAction, retrievePublicMemberActivitySuccessAction, retrievePublicMemberCardAction, retrievePublicMemberCardDealsAction, retrievePublicMemberCardDealsFailureAction, retrievePublicMemberCardDealsSuccessAction, retrievePublicMemberCardFailureAction, retrievePublicMemberCardQRCodeAction, retrievePublicMemberCardQRCodeFailureAction, retrievePublicMemberCardQRCodeSuccessAction, retrievePublicMemberCardRegisterAction, retrievePublicMemberCardRegisterFailureAction, retrievePublicMemberCardRegisterSuccessAction, retrievePublicMemberCardSuccessAction, retrievePublicMemberCardTicketsAction, retrievePublicMemberCardTicketsFailureAction, retrievePublicMemberCardTicketsSuccessAction, retrievePublicOpenActivityWaitlistOfferAction, retrievePublicOpenActivityWaitlistOfferFailureAction, retrievePublicOpenActivityWaitlistOfferSuccessAction, retrievePublicPaymentOrderAction, retrievePublicPaymentOrderFailureAction, retrievePublicPaymentOrderLogoAction, retrievePublicPaymentOrderLogoFailureAction, retrievePublicPaymentOrderLogoSuccessAction, retrievePublicPaymentOrderPaymentAttemptAction, retrievePublicPaymentOrderPaymentAttemptFailureAction, retrievePublicPaymentOrderPaymentAttemptSuccessAction, retrievePublicPaymentOrderSuccessAction, retrievePublicPaymentOrderSwishQRCodeAction, retrievePublicWaitingListOfferAction, retrievePublicWaitingListOfferFailureAction, retrievePublicWaitingListOfferSuccessAction, retrievePublicWaitingListStateAction, retrievePublicWaitingListStateFailureAction, retrievePublicWaitingListStateSuccessAction, retrieveRegistrationQRCodeAction, retrieveRegistrationQRCodeFailureAction, retrieveRegistrationQRCodeSuccessAction, retrieveSettingsAction, retrieveSettingsFailureAction, retrieveSettingsSuccessAction, retrieveStartLoading, retrieveTeamActivityAction, retrieveTeamActivityFailureAction, retrieveTeamActivityQRCodeAction, retrieveTeamActivityQRCodeFailureAction, retrieveTeamActivityQRCodeSuccessAction, retrieveTeamActivityQuestionAction, retrieveTeamActivityQuestionFailureAction, retrieveTeamActivityQuestionSuccessAction, retrieveTeamActivitySettingsAction, retrieveTeamActivitySettingsFailureAction, retrieveTeamActivitySettingsSuccessAction, retrieveTeamActivitySuccessAction, retrieveTeamBookingSlotTypesAction, retrieveTeamBookingSlotTypesFailureAction, retrieveTeamBookingSlotTypesSuccessAction, retrieveTeamDefaultActivitySettingsAction, retrieveTeamDefaultActivitySettingsFailureAction, retrieveTeamDefaultActivitySettingsSuccessAction, retrieveTeamDirectoriesAction, retrieveTeamDirectoriesFailureAction, retrieveTeamDirectoriesSuccessAction, retrieveTeamLeaderExtraMemberAction, retrieveTeamLeaderExtraMemberFailureAction, retrieveTeamLeaderExtraMemberSuccessAction, retrieveTeamLeaderGroupAction, retrieveTeamLeaderGroupFailureAction, retrieveTeamLeaderGroupSuccessAction, retrieveTeamLeaderMemberAction, retrieveTeamLeaderMemberFailureAction, retrieveTeamLeaderMemberSuccessAction, retrieveTeamNewsAction, retrieveTeamNewsFailureAction, retrieveTeamNewsSuccessAction, retrieveTeamOtherMemberAction, retrieveTeamOtherMemberFailureAction, retrieveTeamOtherMemberSuccessAction, savedSearchState, selectActivityInvites, selectActivityMaxAttendees, selectActivityMeetUpTimes, selectActivityReminderDays, selectActivityReminderReceivers, selectActivityReminderTimes, selectActivityRepeatOptions, selectActivityRepeatTypeOptions, selectActivityRuleRelationTypeOptions, selectActivityRuleTypeOptions, selectActivitySettings, selectActivityTypes, selectAllAuths, selectAllMemberCards, selectAllOpenActivityLocations, selectAllOpenActivityTypes, selectAllPublicForms, selectAppSettings, selectBookableItems, selectBookableTags, selectBookingActivitySettings, selectBookingCalendarStatuses, selectBookingCalendarTypes, selectBookingSettings, selectBookingSlotFilter, selectBookingSlotReservedTimePositions, selectBookingSlotSessionTypes, selectBookingSlotTypes, selectBookingTeams, selectCalendars, selectCardDeals, selectCardTickets, selectClubInfo, selectCountries, selectCurrentAuth, selectCurrentCalendar, selectCurrentCalendarAction, selectCurrentExtraMember, selectCurrentMember, selectCurrentMemberActivity, selectCurrentMemberActivityInvite, selectCurrentMemberNewsItem, selectCurrentMemberOpenActivity, selectCurrentPublicToken, selectCurrentTeam, selectCurrentTeamActivity, selectCurrentTeamNewsItem, selectCurrentToken, selectCurrentUser, selectDatabankCategories, selectEmailSettings, selectExternalLinks, selectFeatureFlags, selectGenerallyAvailableTeams, selectInvoice, selectInvoiceList, selectLanguages, selectLeaderNotifications, selectLocations, selectMemberBookingSlotTypes, selectMemberCalendarEvents, selectMemberCalendars, selectMemberCard, selectMemberContactTypes, selectMemberDirectories, selectMemberFees, selectMemberNewsList, selectMemberOpenActivities, selectMemberOpenActivityLocations, selectMemberOpenActivityTypes, selectMemberOtherMember, selectMemberOtherMembers, selectMemberProfile, selectMemberSessions, selectMemberSlots, selectMemberTeams, selectMemberWaitingListEntry, selectMembers, selectNewTeamActivity, selectPaymentOrder, selectPaymentOrderList, selectPublicActivityInvite, selectPublicCardDeals, selectPublicCardTickets, selectPublicClubInfo, selectPublicInvoice, selectPublicInvoiceLogo, selectPublicMember, selectPublicMemberAction, selectPublicMemberActivities, selectPublicMemberActivity, selectPublicMemberActivityInvite, selectPublicMemberCard, selectPublicMemberFailureAction, selectPublicMemberSuccessAction, selectPublicMembers, selectPublicOpenActivityWaitlistOffer, selectPublicPaymentOrder, selectPublicPaymentOrderLogo, selectPublicWaitingListOffer, selectPublicWaitingListState, selectRegistrationQRCode, selectSavedSearches, selectTeamActivityGuests, selectTeamActivityQuestion, selectTeamActivityQuestions, selectTeamActivitySettings, selectTeamActivityWaitingList, selectTeamBookingSlotTypes, selectTeamCalendarEvents, selectTeamDirectories, selectTeamExtraMembers, selectTeamExtraMembersId, selectTeamMembers, selectTeamMembersId, selectTeamNewsList, selectTeamOtherMember, selectTeamOtherMembers, selectTwoFaMethods, selectUserNotifications, sendEmailAction, sendEmailFailureAction, sendEmailSuccessAction, setCurrentAuthAction, setCurrentTokenAction, setEmailSettingsAction, swishIncidentGetMostSevereStatus, teamState, tokenState, unblockMemberAuthAction, unblockMemberAuthFailureAction, unblockMemberAuthSuccessAction, updateActivityTypeAction, updateActivityTypeFailureAction, updateActivityTypeSuccessAction, updateApplicationTimeAction, updateBookableItemAction, updateBookableItemFailureAction, updateBookableItemSuccessAction, updateBookableTagAction, updateBookableTagFailureAction, updateBookableTagSuccessAction, updateBookingCalendarAction, updateBookingCalendarFailureAction, updateBookingCalendarSlotAction, updateBookingCalendarSlotFailureAction, updateBookingCalendarSlotSessionAction, updateBookingCalendarSlotSessionFailureAction, updateBookingCalendarSlotSessionSuccessAction, updateBookingCalendarSlotSuccessAction, updateBookingCalendarSuccessAction, updateBookingFilterAction, updateBookingSettingsAction, updateBookingSettingsFailureAction, updateBookingSettingsSuccessAction, updateCurrentUserAction, updateCurrentUserFailureAction, updateCurrentUserSuccessAction, updateMemberActivityAttendanceAction, updateMemberActivityAttendanceFailureAction, updateMemberActivityAttendanceSuccessAction, updateMemberActivityInviteAction, updateMemberActivityInviteFailureAction, updateMemberActivityInviteSuccessAction, updateMemberOpenActivityAction, updateMemberOpenActivityFailureAction, updateMemberOpenActivitySuccessAction, updateMemberProfileAction, updateMemberProfileFailureAction, updateMemberProfileSuccessAction, updatePublicActivityInviteAction, updatePublicActivityInviteFailureAction, updatePublicActivityInviteSuccessAction, updatePublicMemberActivityInviteAction, updatePublicMemberActivityInviteFailureAction, updatePublicMemberActivityInviteSuccessAction, updatePublicMemberOpenActivityAction, updatePublicMemberOpenActivityFailureAction, updatePublicMemberOpenActivitySuccessAction, updateTeamActivityAction, updateTeamActivityAttendanceAction, updateTeamActivityAttendanceFailureAction, updateTeamActivityAttendanceSuccessAction, updateTeamActivityFailureAction, updateTeamActivityGuestAction, updateTeamActivityGuestFailureAction, updateTeamActivityGuestSuccessAction, updateTeamActivityQuestionAction, updateTeamActivityQuestionFailureAction, updateTeamActivityQuestionSuccessAction, updateTeamActivitySuccessAction, updateTeamLeaderMemberAction, updateTeamLeaderMemberFailureAction, updateTeamLeaderMemberSuccessAction, updateTeamMemberActivityInviteAction, updateTeamMemberActivityInviteFailureAction, updateTeamMemberActivityInviteSuccessAction, updateTeamNewsAction, updateTeamNewsFailureAction, updateTeamNewsSuccessAction, userState, verify2FAUserAction, verify2FAUserFailureAction, verify2FAUserSuccessAction };
12748
13396
  //# sourceMappingURL=myclub_se-data-access.mjs.map