@gymspace/sdk 1.2.13 → 1.2.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/index.d.mts +515 -18
- package/dist/index.d.ts +515 -18
- package/dist/index.js +239 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +236 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/models/activities.ts +139 -0
- package/src/models/clients.ts +6 -0
- package/src/models/contracts.ts +127 -9
- package/src/models/gyms.ts +7 -6
- package/src/models/index.ts +2 -0
- package/src/models/tags.ts +151 -0
- package/src/resources/activities.ts +113 -0
- package/src/resources/check-ins.ts +42 -10
- package/src/resources/contracts.ts +53 -1
- package/src/resources/index.ts +2 -0
- package/src/resources/tags.ts +147 -0
- package/src/sdk.ts +6 -0
package/dist/index.d.ts
CHANGED
|
@@ -432,11 +432,10 @@ interface CreateGymDto {
|
|
|
432
432
|
postalCode?: string;
|
|
433
433
|
phone?: string;
|
|
434
434
|
email?: string;
|
|
435
|
-
openingTime?: string;
|
|
436
|
-
closingTime?: string;
|
|
437
435
|
capacity?: number;
|
|
438
436
|
amenities?: GymAmenities;
|
|
439
437
|
settings?: GymSettings;
|
|
438
|
+
schedule?: GymSchedule;
|
|
440
439
|
}
|
|
441
440
|
interface UpdateGymDto {
|
|
442
441
|
name?: string;
|
|
@@ -446,11 +445,10 @@ interface UpdateGymDto {
|
|
|
446
445
|
postalCode?: string;
|
|
447
446
|
phone?: string;
|
|
448
447
|
email?: string;
|
|
449
|
-
openingTime?: string;
|
|
450
|
-
closingTime?: string;
|
|
451
448
|
capacity?: number;
|
|
452
449
|
amenities?: GymAmenities;
|
|
453
450
|
settings?: GymSettings;
|
|
451
|
+
schedule?: GymSchedule;
|
|
454
452
|
}
|
|
455
453
|
interface GymAmenities {
|
|
456
454
|
hasParking?: boolean;
|
|
@@ -508,8 +506,6 @@ interface Gym {
|
|
|
508
506
|
postalCode?: string;
|
|
509
507
|
phone?: string;
|
|
510
508
|
email?: string;
|
|
511
|
-
openingTime?: string;
|
|
512
|
-
closingTime?: string;
|
|
513
509
|
capacity?: number;
|
|
514
510
|
amenities?: GymAmenities;
|
|
515
511
|
settings?: GymSettings;
|
|
@@ -518,6 +514,11 @@ interface Gym {
|
|
|
518
514
|
isActive: boolean;
|
|
519
515
|
createdAt: string;
|
|
520
516
|
updatedAt: string;
|
|
517
|
+
_count?: {
|
|
518
|
+
gymClients: number;
|
|
519
|
+
collaborators: number;
|
|
520
|
+
contracts: number;
|
|
521
|
+
};
|
|
521
522
|
}
|
|
522
523
|
interface TimeSlot {
|
|
523
524
|
open: string;
|
|
@@ -673,6 +674,9 @@ interface CreateClientDto {
|
|
|
673
674
|
occupation?: string;
|
|
674
675
|
notes?: string;
|
|
675
676
|
profilePhotoId?: string;
|
|
677
|
+
emergencyContactName?: string;
|
|
678
|
+
emergencyContactPhone?: string;
|
|
679
|
+
medicalConditions?: string;
|
|
676
680
|
customData?: Record<string, any>;
|
|
677
681
|
}
|
|
678
682
|
interface UpdateClientDto {
|
|
@@ -691,6 +695,9 @@ interface UpdateClientDto {
|
|
|
691
695
|
occupation?: string;
|
|
692
696
|
notes?: string;
|
|
693
697
|
profilePhotoId?: string;
|
|
698
|
+
emergencyContactName?: string;
|
|
699
|
+
emergencyContactPhone?: string;
|
|
700
|
+
medicalConditions?: string;
|
|
694
701
|
customData?: Record<string, any>;
|
|
695
702
|
}
|
|
696
703
|
interface Client {
|
|
@@ -877,6 +884,21 @@ declare class MembershipPlansResource extends BaseResource {
|
|
|
877
884
|
getMembershipPlanStats(id: string, options?: RequestOptions): Promise<MembershipPlanStats>;
|
|
878
885
|
}
|
|
879
886
|
|
|
887
|
+
declare enum CancellationReason {
|
|
888
|
+
PRICE_TOO_HIGH = "PRICE_TOO_HIGH",
|
|
889
|
+
NOT_USING_SERVICE = "NOT_USING_SERVICE",
|
|
890
|
+
MOVING_LOCATION = "MOVING_LOCATION",
|
|
891
|
+
FINANCIAL_ISSUES = "FINANCIAL_ISSUES",
|
|
892
|
+
SERVICE_DISSATISFACTION = "SERVICE_DISSATISFACTION",
|
|
893
|
+
TEMPORARY_BREAK = "TEMPORARY_BREAK",
|
|
894
|
+
OTHER = "OTHER"
|
|
895
|
+
}
|
|
896
|
+
declare enum SuspensionType {
|
|
897
|
+
VACATION = "vacation",
|
|
898
|
+
MEDICAL = "medical",
|
|
899
|
+
FINANCIAL = "financial",
|
|
900
|
+
OTHER = "other"
|
|
901
|
+
}
|
|
880
902
|
interface CreateContractDto {
|
|
881
903
|
gymClientId: string;
|
|
882
904
|
gymMembershipPlanId: string;
|
|
@@ -902,6 +924,32 @@ interface FreezeContractDto {
|
|
|
902
924
|
freezeEndDate: string;
|
|
903
925
|
reason?: string;
|
|
904
926
|
}
|
|
927
|
+
interface CancelContractDto {
|
|
928
|
+
reason: CancellationReason;
|
|
929
|
+
detailedFeedback?: string;
|
|
930
|
+
offeredAlternatives?: boolean;
|
|
931
|
+
wouldRecommend?: boolean;
|
|
932
|
+
satisfactionScore?: number;
|
|
933
|
+
}
|
|
934
|
+
interface SuspendContractDto {
|
|
935
|
+
suspensionType: SuspensionType;
|
|
936
|
+
startDate: string;
|
|
937
|
+
endDate?: string;
|
|
938
|
+
reason?: string;
|
|
939
|
+
maintainBenefits?: boolean;
|
|
940
|
+
autoReactivate?: boolean;
|
|
941
|
+
}
|
|
942
|
+
interface ResumeContractDto {
|
|
943
|
+
resumeDate?: string;
|
|
944
|
+
notes?: string;
|
|
945
|
+
}
|
|
946
|
+
interface ReactivateContractDto {
|
|
947
|
+
newPlanId?: string;
|
|
948
|
+
startDate: string;
|
|
949
|
+
applyWinBackOffer?: boolean;
|
|
950
|
+
paymentMethodId: string;
|
|
951
|
+
notes?: string;
|
|
952
|
+
}
|
|
905
953
|
interface Contract {
|
|
906
954
|
id: string;
|
|
907
955
|
gymId: string;
|
|
@@ -913,34 +961,70 @@ interface Contract {
|
|
|
913
961
|
startDate: string;
|
|
914
962
|
endDate: string;
|
|
915
963
|
status: ContractStatus;
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
finalAmount:
|
|
919
|
-
|
|
920
|
-
|
|
964
|
+
basePrice: string;
|
|
965
|
+
customPrice?: string | null;
|
|
966
|
+
finalAmount: string;
|
|
967
|
+
currency: string;
|
|
968
|
+
discountPercentage?: number | null;
|
|
969
|
+
discountAmount?: string | null;
|
|
970
|
+
paymentFrequency: string;
|
|
971
|
+
notes?: string | null;
|
|
972
|
+
termsAndConditions?: string | null;
|
|
973
|
+
freezeStartDate?: string | null;
|
|
974
|
+
freezeEndDate?: string | null;
|
|
975
|
+
contractDocumentId?: string | null;
|
|
976
|
+
paymentReceiptIds?: string[] | null;
|
|
921
977
|
receiptIds?: string[];
|
|
922
978
|
metadata?: Record<string, any>;
|
|
979
|
+
createdByUserId?: string;
|
|
980
|
+
updatedByUserId?: string | null;
|
|
981
|
+
approvedByUserId?: string | null;
|
|
982
|
+
approvedAt?: string | null;
|
|
983
|
+
cancelledByUserId?: string | null;
|
|
984
|
+
cancelledAt?: string | null;
|
|
923
985
|
createdAt: string;
|
|
924
986
|
updatedAt: string;
|
|
987
|
+
deletedAt?: string | null;
|
|
925
988
|
gymClient?: {
|
|
926
989
|
id: string;
|
|
927
990
|
name: string;
|
|
928
|
-
email: string;
|
|
991
|
+
email: string | null;
|
|
992
|
+
phone?: string;
|
|
993
|
+
gym?: {
|
|
994
|
+
id: string;
|
|
995
|
+
name: string;
|
|
996
|
+
};
|
|
929
997
|
};
|
|
930
998
|
gymMembershipPlan?: {
|
|
931
999
|
id: string;
|
|
1000
|
+
gymId: string;
|
|
932
1001
|
name: string;
|
|
933
|
-
basePrice
|
|
934
|
-
durationMonths?: number;
|
|
1002
|
+
basePrice: string;
|
|
1003
|
+
durationMonths?: number | null;
|
|
1004
|
+
durationDays?: number | null;
|
|
1005
|
+
description?: string;
|
|
1006
|
+
features?: string[];
|
|
1007
|
+
termsAndConditions?: string;
|
|
1008
|
+
allowsCustomPricing?: boolean;
|
|
1009
|
+
includesAdvisor?: boolean;
|
|
1010
|
+
showInCatalog?: boolean;
|
|
1011
|
+
assetsIds?: string[];
|
|
1012
|
+
status?: string;
|
|
935
1013
|
};
|
|
936
1014
|
paymentMethod?: {
|
|
937
1015
|
id: string;
|
|
1016
|
+
organizationId: string;
|
|
938
1017
|
name: string;
|
|
939
1018
|
description?: string;
|
|
940
1019
|
code: string;
|
|
941
1020
|
enabled: boolean;
|
|
1021
|
+
metadata?: Record<string, any>;
|
|
942
1022
|
};
|
|
943
1023
|
renewals?: Contract[];
|
|
1024
|
+
createdBy?: {
|
|
1025
|
+
id: string;
|
|
1026
|
+
email: string;
|
|
1027
|
+
};
|
|
944
1028
|
}
|
|
945
1029
|
interface GetContractsParams extends PaginationQueryDto {
|
|
946
1030
|
status?: ContractStatus;
|
|
@@ -951,6 +1035,38 @@ interface GetContractsParams extends PaginationQueryDto {
|
|
|
951
1035
|
endDateFrom?: string;
|
|
952
1036
|
endDateTo?: string;
|
|
953
1037
|
}
|
|
1038
|
+
interface ContractLifecycleEvent {
|
|
1039
|
+
id: string;
|
|
1040
|
+
contractId: string;
|
|
1041
|
+
eventType: string;
|
|
1042
|
+
previousStatus?: string;
|
|
1043
|
+
newStatus?: string;
|
|
1044
|
+
reason?: string;
|
|
1045
|
+
metadata?: Record<string, any>;
|
|
1046
|
+
createdAt: string;
|
|
1047
|
+
createdBy?: {
|
|
1048
|
+
id: string;
|
|
1049
|
+
name: string;
|
|
1050
|
+
email: string;
|
|
1051
|
+
};
|
|
1052
|
+
}
|
|
1053
|
+
interface CancellationAnalytics {
|
|
1054
|
+
total: number;
|
|
1055
|
+
reasonBreakdown: Record<string, number>;
|
|
1056
|
+
averageSatisfaction: number | null;
|
|
1057
|
+
recommendationRate: number;
|
|
1058
|
+
feedbacks: Array<{
|
|
1059
|
+
id: string;
|
|
1060
|
+
contractId: string;
|
|
1061
|
+
contractNumber: string;
|
|
1062
|
+
clientName: string;
|
|
1063
|
+
reason: string;
|
|
1064
|
+
detailedFeedback?: string;
|
|
1065
|
+
satisfactionScore?: number;
|
|
1066
|
+
wouldRecommend?: boolean;
|
|
1067
|
+
createdAt: string;
|
|
1068
|
+
}>;
|
|
1069
|
+
}
|
|
954
1070
|
|
|
955
1071
|
declare class ContractsResource extends BaseResource {
|
|
956
1072
|
private basePath;
|
|
@@ -960,9 +1076,15 @@ declare class ContractsResource extends BaseResource {
|
|
|
960
1076
|
getClientContracts(clientId: string, options?: RequestOptions): Promise<Contract[]>;
|
|
961
1077
|
renewContract(id: string, data: RenewContractDto, options?: RequestOptions): Promise<Contract>;
|
|
962
1078
|
freezeContract(id: string, data: FreezeContractDto, options?: RequestOptions): Promise<Contract>;
|
|
963
|
-
cancelContract(id: string, data:
|
|
964
|
-
|
|
965
|
-
|
|
1079
|
+
cancelContract(id: string, data: CancelContractDto, options?: RequestOptions): Promise<Contract>;
|
|
1080
|
+
suspendContract(id: string, data: SuspendContractDto, options?: RequestOptions): Promise<Contract>;
|
|
1081
|
+
resumeContract(id: string, data: ResumeContractDto, options?: RequestOptions): Promise<Contract>;
|
|
1082
|
+
reactivateContract(id: string, data: ReactivateContractDto, options?: RequestOptions): Promise<Contract>;
|
|
1083
|
+
getLifecycleHistory(id: string, options?: RequestOptions): Promise<ContractLifecycleEvent[]>;
|
|
1084
|
+
getCancellationAnalytics(params?: {
|
|
1085
|
+
startDate?: string;
|
|
1086
|
+
endDate?: string;
|
|
1087
|
+
}, options?: RequestOptions): Promise<CancellationAnalytics>;
|
|
966
1088
|
resendWhatsAppNotification(contractId: string, options?: RequestOptions): Promise<{
|
|
967
1089
|
success: boolean;
|
|
968
1090
|
message: string;
|
|
@@ -1171,10 +1293,42 @@ interface ClientCheckInHistory {
|
|
|
1171
1293
|
|
|
1172
1294
|
declare class CheckInsResource extends BaseResource {
|
|
1173
1295
|
private basePath;
|
|
1296
|
+
/**
|
|
1297
|
+
* Creates a new check-in for a client.
|
|
1298
|
+
*
|
|
1299
|
+
* **Permissions Required:**
|
|
1300
|
+
* - Gym owners with full gym access
|
|
1301
|
+
* - Active collaborators with CHECKINS_CREATE permission
|
|
1302
|
+
*
|
|
1303
|
+
* @param data - The check-in data including client ID and optional notes
|
|
1304
|
+
* @param options - Optional request configuration
|
|
1305
|
+
* @returns The created check-in record with client and user details
|
|
1306
|
+
* @throws {ValidationError} When client is not found or already checked in
|
|
1307
|
+
* @throws {AuthorizationError} When user lacks required permissions
|
|
1308
|
+
*/
|
|
1174
1309
|
createCheckIn(data: CreateCheckInDto, options?: RequestOptions): Promise<CheckIn>;
|
|
1175
1310
|
searchCheckIns(params?: SearchCheckInsParams, options?: RequestOptions): Promise<CheckInListResponse>;
|
|
1176
1311
|
getCurrentlyInGym(options?: RequestOptions): Promise<CurrentlyInGymResponse>;
|
|
1177
1312
|
getCheckIn(id: string, options?: RequestOptions): Promise<CheckIn>;
|
|
1313
|
+
/**
|
|
1314
|
+
* Deletes a check-in record.
|
|
1315
|
+
*
|
|
1316
|
+
* **Permissions Required:**
|
|
1317
|
+
* - Gym owners with full gym access
|
|
1318
|
+
* - Active collaborators with CHECKINS_CREATE permission
|
|
1319
|
+
*
|
|
1320
|
+
* **Business Rules:**
|
|
1321
|
+
* - Only check-ins from today can be deleted
|
|
1322
|
+
* - The same permission level required for creation is required for deletion
|
|
1323
|
+
* - Cannot delete check-ins from previous days
|
|
1324
|
+
*
|
|
1325
|
+
* @param id - The ID of the check-in to delete
|
|
1326
|
+
* @param options - Optional request configuration
|
|
1327
|
+
* @returns Promise that resolves when the check-in is successfully deleted
|
|
1328
|
+
* @throws {NotFoundError} When the check-in is not found
|
|
1329
|
+
* @throws {AuthorizationError} When user lacks required permissions
|
|
1330
|
+
* @throws {ValidationError} When trying to delete a check-in from a previous day
|
|
1331
|
+
*/
|
|
1178
1332
|
deleteCheckIn(id: string, options?: RequestOptions): Promise<void>;
|
|
1179
1333
|
getGymCheckInStats(params: GetCheckInStatsParams, options?: RequestOptions): Promise<CheckInStats>;
|
|
1180
1334
|
getClientCheckInHistory(clientId: string, params?: GetClientCheckInHistoryParams, options?: RequestOptions): Promise<ClientCheckInHistory>;
|
|
@@ -2522,6 +2676,347 @@ declare class BulkMessagingResource extends BaseResource {
|
|
|
2522
2676
|
getLogs(sendId: string, options?: RequestOptions): Promise<BulkLogsResponseDto>;
|
|
2523
2677
|
}
|
|
2524
2678
|
|
|
2679
|
+
interface CreateActivityDto {
|
|
2680
|
+
name: string;
|
|
2681
|
+
description?: string;
|
|
2682
|
+
imageId?: string;
|
|
2683
|
+
startDateTime: string;
|
|
2684
|
+
durationMinutes: number;
|
|
2685
|
+
maxParticipants?: number;
|
|
2686
|
+
recurrenceType?: 'daily' | 'weekly' | 'monthly';
|
|
2687
|
+
recurrenceEndDate?: string;
|
|
2688
|
+
planRestrictions?: string[];
|
|
2689
|
+
}
|
|
2690
|
+
interface UpdateActivityDto {
|
|
2691
|
+
name?: string;
|
|
2692
|
+
description?: string;
|
|
2693
|
+
imageId?: string;
|
|
2694
|
+
startDateTime?: string;
|
|
2695
|
+
durationMinutes?: number;
|
|
2696
|
+
maxParticipants?: number;
|
|
2697
|
+
recurrenceType?: 'daily' | 'weekly' | 'monthly';
|
|
2698
|
+
recurrenceEndDate?: string;
|
|
2699
|
+
planRestrictions?: string[];
|
|
2700
|
+
isActive?: boolean;
|
|
2701
|
+
}
|
|
2702
|
+
interface Activity {
|
|
2703
|
+
id: string;
|
|
2704
|
+
gymId: string;
|
|
2705
|
+
name: string;
|
|
2706
|
+
description?: string;
|
|
2707
|
+
imageId?: string;
|
|
2708
|
+
startDateTime: string;
|
|
2709
|
+
durationMinutes: number;
|
|
2710
|
+
maxParticipants?: number;
|
|
2711
|
+
recurrenceType?: 'daily' | 'weekly' | 'monthly';
|
|
2712
|
+
recurrenceEndDate?: string;
|
|
2713
|
+
isActive: boolean;
|
|
2714
|
+
planRestrictions: ActivityPlanRestriction[];
|
|
2715
|
+
notifications?: ActivityNotification[];
|
|
2716
|
+
createdByUserId: string;
|
|
2717
|
+
updatedByUserId?: string;
|
|
2718
|
+
createdAt: string;
|
|
2719
|
+
updatedAt: string;
|
|
2720
|
+
deletedAt?: string;
|
|
2721
|
+
}
|
|
2722
|
+
interface ActivityPlanRestriction {
|
|
2723
|
+
id: string;
|
|
2724
|
+
membershipPlanId: string;
|
|
2725
|
+
membershipPlan: {
|
|
2726
|
+
id: string;
|
|
2727
|
+
name: string;
|
|
2728
|
+
};
|
|
2729
|
+
}
|
|
2730
|
+
interface SearchActivitiesParams {
|
|
2731
|
+
page?: number;
|
|
2732
|
+
limit?: number;
|
|
2733
|
+
search?: string;
|
|
2734
|
+
startDate?: string;
|
|
2735
|
+
endDate?: string;
|
|
2736
|
+
recurrenceType?: 'daily' | 'weekly' | 'monthly';
|
|
2737
|
+
planId?: string;
|
|
2738
|
+
isActive?: boolean;
|
|
2739
|
+
}
|
|
2740
|
+
interface CreateActivityNotificationDto {
|
|
2741
|
+
templateId?: string;
|
|
2742
|
+
customMessage?: string;
|
|
2743
|
+
advanceTimeMinutes: number;
|
|
2744
|
+
}
|
|
2745
|
+
interface UpdateActivityNotificationDto {
|
|
2746
|
+
templateId?: string;
|
|
2747
|
+
customMessage?: string;
|
|
2748
|
+
advanceTimeMinutes?: number;
|
|
2749
|
+
isActive?: boolean;
|
|
2750
|
+
}
|
|
2751
|
+
interface ActivityNotification {
|
|
2752
|
+
id: string;
|
|
2753
|
+
activityId: string;
|
|
2754
|
+
templateId?: string;
|
|
2755
|
+
customMessage?: string;
|
|
2756
|
+
advanceTimeMinutes: number;
|
|
2757
|
+
isActive: boolean;
|
|
2758
|
+
template?: {
|
|
2759
|
+
id: string;
|
|
2760
|
+
name: string;
|
|
2761
|
+
message: string;
|
|
2762
|
+
};
|
|
2763
|
+
sentNotifications?: SentActivityNotification[];
|
|
2764
|
+
createdByUserId: string;
|
|
2765
|
+
createdAt: string;
|
|
2766
|
+
updatedAt: string;
|
|
2767
|
+
}
|
|
2768
|
+
interface SentActivityNotification {
|
|
2769
|
+
id: string;
|
|
2770
|
+
sendId: string;
|
|
2771
|
+
recipientsCount: number;
|
|
2772
|
+
sentAt: string;
|
|
2773
|
+
status: string;
|
|
2774
|
+
}
|
|
2775
|
+
interface ActivityStats {
|
|
2776
|
+
totalActivities: number;
|
|
2777
|
+
activeActivities: number;
|
|
2778
|
+
upcomingActivities: number;
|
|
2779
|
+
totalNotificationsSent: number;
|
|
2780
|
+
notificationsByActivity: {
|
|
2781
|
+
activityId: string;
|
|
2782
|
+
activityName: string;
|
|
2783
|
+
notificationsSent: number;
|
|
2784
|
+
lastSentAt: string;
|
|
2785
|
+
}[];
|
|
2786
|
+
}
|
|
2787
|
+
interface ActivityStatsParams {
|
|
2788
|
+
startDate?: string;
|
|
2789
|
+
endDate?: string;
|
|
2790
|
+
}
|
|
2791
|
+
interface EligibleClient {
|
|
2792
|
+
id: string;
|
|
2793
|
+
name: string;
|
|
2794
|
+
phone: string;
|
|
2795
|
+
email: string;
|
|
2796
|
+
planName: string;
|
|
2797
|
+
}
|
|
2798
|
+
interface EligibleClientsResponse {
|
|
2799
|
+
total: number;
|
|
2800
|
+
clients: EligibleClient[];
|
|
2801
|
+
}
|
|
2802
|
+
interface DeleteActivityParams {
|
|
2803
|
+
deleteRecurrence?: boolean;
|
|
2804
|
+
}
|
|
2805
|
+
|
|
2806
|
+
declare class ActivitiesResource extends BaseResource {
|
|
2807
|
+
private basePath;
|
|
2808
|
+
createActivity(data: CreateActivityDto, options?: RequestOptions): Promise<Activity>;
|
|
2809
|
+
searchActivities(params?: SearchActivitiesParams, options?: RequestOptions): Promise<PaginatedResponseDto<Activity>>;
|
|
2810
|
+
getActivity(id: string, options?: RequestOptions): Promise<Activity>;
|
|
2811
|
+
updateActivity(id: string, data: UpdateActivityDto, options?: RequestOptions): Promise<Activity>;
|
|
2812
|
+
deleteActivity(id: string, params?: DeleteActivityParams, options?: RequestOptions): Promise<void>;
|
|
2813
|
+
createNotification(activityId: string, data: CreateActivityNotificationDto, options?: RequestOptions): Promise<ActivityNotification>;
|
|
2814
|
+
getNotifications(activityId: string, options?: RequestOptions): Promise<{
|
|
2815
|
+
data: ActivityNotification[];
|
|
2816
|
+
}>;
|
|
2817
|
+
updateNotification(activityId: string, notificationId: string, data: UpdateActivityNotificationDto, options?: RequestOptions): Promise<ActivityNotification>;
|
|
2818
|
+
deleteNotification(activityId: string, notificationId: string, options?: RequestOptions): Promise<void>;
|
|
2819
|
+
getStats(params?: ActivityStatsParams, options?: RequestOptions): Promise<ActivityStats>;
|
|
2820
|
+
getEligibleClients(activityId: string, options?: RequestOptions): Promise<EligibleClientsResponse>;
|
|
2821
|
+
}
|
|
2822
|
+
|
|
2823
|
+
interface CreateTagDto {
|
|
2824
|
+
name: string;
|
|
2825
|
+
color?: string;
|
|
2826
|
+
description?: string;
|
|
2827
|
+
}
|
|
2828
|
+
interface UpdateTagDto {
|
|
2829
|
+
name?: string;
|
|
2830
|
+
color?: string;
|
|
2831
|
+
description?: string;
|
|
2832
|
+
}
|
|
2833
|
+
interface AssignTagsDto {
|
|
2834
|
+
tagIds: string[];
|
|
2835
|
+
}
|
|
2836
|
+
interface RemoveTagsDto {
|
|
2837
|
+
tagIds: string[];
|
|
2838
|
+
}
|
|
2839
|
+
interface Tag {
|
|
2840
|
+
id: string;
|
|
2841
|
+
gymId: string;
|
|
2842
|
+
name: string;
|
|
2843
|
+
color?: string;
|
|
2844
|
+
description?: string;
|
|
2845
|
+
clientCount?: number;
|
|
2846
|
+
createdAt: string;
|
|
2847
|
+
updatedAt: string;
|
|
2848
|
+
createdBy?: {
|
|
2849
|
+
id: string;
|
|
2850
|
+
name: string;
|
|
2851
|
+
};
|
|
2852
|
+
}
|
|
2853
|
+
interface TagWithAssignment extends Tag {
|
|
2854
|
+
assignedAt?: string;
|
|
2855
|
+
assignedBy?: {
|
|
2856
|
+
id: string;
|
|
2857
|
+
name: string;
|
|
2858
|
+
};
|
|
2859
|
+
}
|
|
2860
|
+
interface SearchTagsParams {
|
|
2861
|
+
page?: number;
|
|
2862
|
+
limit?: number;
|
|
2863
|
+
search?: string;
|
|
2864
|
+
includeCount?: boolean;
|
|
2865
|
+
sortBy?: 'name' | 'createdAt' | 'clientCount';
|
|
2866
|
+
sortOrder?: 'asc' | 'desc';
|
|
2867
|
+
}
|
|
2868
|
+
interface GetTagClientsParams {
|
|
2869
|
+
page?: number;
|
|
2870
|
+
limit?: number;
|
|
2871
|
+
search?: string;
|
|
2872
|
+
status?: 'active' | 'inactive';
|
|
2873
|
+
}
|
|
2874
|
+
interface AssignTagsResponse {
|
|
2875
|
+
message: string;
|
|
2876
|
+
assigned: number;
|
|
2877
|
+
skipped: number;
|
|
2878
|
+
client: {
|
|
2879
|
+
id: string;
|
|
2880
|
+
name: string;
|
|
2881
|
+
tags: TagWithAssignment[];
|
|
2882
|
+
};
|
|
2883
|
+
}
|
|
2884
|
+
interface RemoveTagsResponse {
|
|
2885
|
+
message: string;
|
|
2886
|
+
removed: number;
|
|
2887
|
+
notFound: number;
|
|
2888
|
+
client: {
|
|
2889
|
+
id: string;
|
|
2890
|
+
name: string;
|
|
2891
|
+
tags: TagWithAssignment[];
|
|
2892
|
+
};
|
|
2893
|
+
}
|
|
2894
|
+
interface DeleteTagResponse {
|
|
2895
|
+
message: string;
|
|
2896
|
+
deletedCount: number;
|
|
2897
|
+
affectedClients: number;
|
|
2898
|
+
}
|
|
2899
|
+
interface ClientTagsResponse {
|
|
2900
|
+
client: {
|
|
2901
|
+
id: string;
|
|
2902
|
+
name: string;
|
|
2903
|
+
clientNumber: string;
|
|
2904
|
+
};
|
|
2905
|
+
tags: TagWithAssignment[];
|
|
2906
|
+
total: number;
|
|
2907
|
+
}
|
|
2908
|
+
interface TagClientsResponse {
|
|
2909
|
+
data: Array<{
|
|
2910
|
+
id: string;
|
|
2911
|
+
clientNumber: string;
|
|
2912
|
+
name: string;
|
|
2913
|
+
email?: string;
|
|
2914
|
+
phone?: string;
|
|
2915
|
+
status: string;
|
|
2916
|
+
assignedAt: string;
|
|
2917
|
+
assignedBy: {
|
|
2918
|
+
id: string;
|
|
2919
|
+
name: string;
|
|
2920
|
+
};
|
|
2921
|
+
}>;
|
|
2922
|
+
meta: {
|
|
2923
|
+
total: number;
|
|
2924
|
+
page: number;
|
|
2925
|
+
limit: number;
|
|
2926
|
+
totalPages: number;
|
|
2927
|
+
};
|
|
2928
|
+
tag: {
|
|
2929
|
+
id: string;
|
|
2930
|
+
name: string;
|
|
2931
|
+
color?: string;
|
|
2932
|
+
};
|
|
2933
|
+
}
|
|
2934
|
+
interface TagStatsResponse {
|
|
2935
|
+
totalTags: number;
|
|
2936
|
+
totalAssignments: number;
|
|
2937
|
+
averageTagsPerClient: number;
|
|
2938
|
+
mostUsedTags: Array<{
|
|
2939
|
+
id: string;
|
|
2940
|
+
name: string;
|
|
2941
|
+
color?: string;
|
|
2942
|
+
clientCount: number;
|
|
2943
|
+
}>;
|
|
2944
|
+
leastUsedTags: Array<{
|
|
2945
|
+
id: string;
|
|
2946
|
+
name: string;
|
|
2947
|
+
color?: string;
|
|
2948
|
+
clientCount: number;
|
|
2949
|
+
}>;
|
|
2950
|
+
unusedTags: Array<{
|
|
2951
|
+
id: string;
|
|
2952
|
+
name: string;
|
|
2953
|
+
color?: string;
|
|
2954
|
+
clientCount: number;
|
|
2955
|
+
}>;
|
|
2956
|
+
}
|
|
2957
|
+
|
|
2958
|
+
declare class TagsResource extends BaseResource {
|
|
2959
|
+
private basePath;
|
|
2960
|
+
/**
|
|
2961
|
+
* Create a new tag
|
|
2962
|
+
* POST /api/v1/tags
|
|
2963
|
+
*/
|
|
2964
|
+
createTag(data: CreateTagDto, options?: RequestOptions): Promise<Tag>;
|
|
2965
|
+
/**
|
|
2966
|
+
* List all tags with optional filters and pagination
|
|
2967
|
+
* GET /api/v1/tags
|
|
2968
|
+
*/
|
|
2969
|
+
searchTags(params?: SearchTagsParams, options?: RequestOptions): Promise<PaginatedResponseDto<Tag>>;
|
|
2970
|
+
/**
|
|
2971
|
+
* Get a specific tag by ID
|
|
2972
|
+
* GET /api/v1/tags/:id
|
|
2973
|
+
*/
|
|
2974
|
+
getTag(id: string, options?: RequestOptions): Promise<Tag>;
|
|
2975
|
+
/**
|
|
2976
|
+
* Update an existing tag
|
|
2977
|
+
* PUT /api/v1/tags/:id
|
|
2978
|
+
*/
|
|
2979
|
+
updateTag(id: string, data: UpdateTagDto, options?: RequestOptions): Promise<Tag>;
|
|
2980
|
+
/**
|
|
2981
|
+
* Delete a tag (soft delete)
|
|
2982
|
+
* DELETE /api/v1/tags/:id
|
|
2983
|
+
* @param id - Tag ID
|
|
2984
|
+
* @param force - Force deletion even if tag has assigned clients
|
|
2985
|
+
*/
|
|
2986
|
+
deleteTag(id: string, force?: boolean, options?: RequestOptions): Promise<DeleteTagResponse>;
|
|
2987
|
+
/**
|
|
2988
|
+
* Get clients with a specific tag
|
|
2989
|
+
* GET /api/v1/tags/:id/clients
|
|
2990
|
+
*/
|
|
2991
|
+
getTagClients(id: string, params?: GetTagClientsParams, options?: RequestOptions): Promise<TagClientsResponse>;
|
|
2992
|
+
/**
|
|
2993
|
+
* Get tag statistics
|
|
2994
|
+
* GET /api/v1/tags/stats
|
|
2995
|
+
*/
|
|
2996
|
+
getTagStats(options?: RequestOptions): Promise<TagStatsResponse>;
|
|
2997
|
+
/**
|
|
2998
|
+
* Assign one or multiple tags to a client
|
|
2999
|
+
* POST /api/v1/clients/:clientId/tags
|
|
3000
|
+
*/
|
|
3001
|
+
assignTagsToClient(clientId: string, data: AssignTagsDto, options?: RequestOptions): Promise<AssignTagsResponse>;
|
|
3002
|
+
/**
|
|
3003
|
+
* Remove a specific tag from a client
|
|
3004
|
+
* DELETE /api/v1/clients/:clientId/tags/:tagId
|
|
3005
|
+
*/
|
|
3006
|
+
removeTagFromClient(clientId: string, tagId: string, options?: RequestOptions): Promise<RemoveTagsResponse>;
|
|
3007
|
+
/**
|
|
3008
|
+
* Remove multiple tags from a client
|
|
3009
|
+
* DELETE /api/v1/clients/:clientId/tags
|
|
3010
|
+
* Note: This endpoint requires sending tagIds in the request body
|
|
3011
|
+
*/
|
|
3012
|
+
removeTagsFromClient(clientId: string, tagIds: string[], options?: RequestOptions): Promise<RemoveTagsResponse>;
|
|
3013
|
+
/**
|
|
3014
|
+
* Get all tags assigned to a client
|
|
3015
|
+
* GET /api/v1/clients/:clientId/tags
|
|
3016
|
+
*/
|
|
3017
|
+
getClientTags(clientId: string, options?: RequestOptions): Promise<ClientTagsResponse>;
|
|
3018
|
+
}
|
|
3019
|
+
|
|
2525
3020
|
declare class GymSpaceSdk {
|
|
2526
3021
|
client: ApiClient;
|
|
2527
3022
|
private expoFetch?;
|
|
@@ -2552,6 +3047,8 @@ declare class GymSpaceSdk {
|
|
|
2552
3047
|
whatsapp: WhatsAppResource;
|
|
2553
3048
|
whatsappTemplates: WhatsAppTemplatesResource;
|
|
2554
3049
|
bulkMessaging: BulkMessagingResource;
|
|
3050
|
+
activities: ActivitiesResource;
|
|
3051
|
+
tags: TagsResource;
|
|
2555
3052
|
constructor(config: GymSpaceConfig);
|
|
2556
3053
|
/**
|
|
2557
3054
|
* Set the authentication token
|
|
@@ -2621,4 +3118,4 @@ declare class NetworkError extends GymSpaceError {
|
|
|
2621
3118
|
constructor(message?: string);
|
|
2622
3119
|
}
|
|
2623
3120
|
|
|
2624
|
-
export { type ActivateRenewalDto, AdminSubscriptionManagementResource, type AdminSubscriptionStatusDto, type AffiliateOrganizationDto, type Amenities, ApiClient, type ApiResponse, type AssetResponseDto, AssetsResource, AuthResource, AuthenticationError, AuthorizationError, type AvailablePlanDto, type BulkLogsResponse, type BulkLogsResponseDto, type BulkMessageLog, type BulkMessageLogDto, type BulkMessageResult, type BulkMessageResultDto, type BulkMessageVariable, BulkMessagingResource, type BulkTemplate, type BusinessHours, type CancelSubscriptionDto, type CatalogGym, type ChangePasswordDto, type ChangePasswordResponseDto, type CheckIn, type CheckInDetail, type CheckInListResponse, type CheckInStats, type CheckInSystemFeatures, type CheckIns, type CheckInsList, CheckInsResource, type CheckLimitResponse, type CityWithGyms, type Client, type ClientCheckInHistory, type ClientManagementFeatures, type ClientStat, type ClientStats, ClientsResource, type CollaboratorRoleDto, CollaboratorsResource, type CompleteGuidedSetupData, type ConfigureFeaturesData, type ConnectionStatusResponse, type Contact, type Contract, type ContractSettings, ContractsResource, type ContractsRevenue, type CreateBulkTemplateDto, type CreateCheckInDto, type CreateClientDto, type CreateContractDto, type CreateGymDto, type CreateMembershipPlanDto, type CreatePaymentMethodDto, type CreateProductCategoryDto, type CreateProductDto, type CreateSaleDto, type CreateServiceDto, type CreateSubscriptionPlanDto, type CreateSupplierDto, type CreateTemplateDto, type CreateWhatsAppConfigDto, type CurrentSessionResponse, type CurrentlyInGymResponse, type CustomerSalesReport, DashboardResource, type DashboardStats, type DateRangeParams, type DaySchedule, type Debts, type DisconnectResponse, type ExpiringContract, type FileResponseDto, FilesResource, type FreezeContractDto, type GenerateAIMessageDto, type GenerateAIMessageParams, type GenerateAIMessageResponse, type GenerateAIMessageResponseDto, type GetBulkLogsQueryDto, type GetCheckInStatsParams, type GetClientCheckInHistoryParams, type GetContractsParams, type GetFeaturedGymsParams, type GetGymInvitationsParams, type GetMembershipPlansParams, type Gym, type GymAmenities, type GymSchedule, type GymSettings, type GymSocialMedia, type GymSpaceConfig, GymSpaceError, GymSpaceSdk, type GymStats, GymsResource, HealthResource, type HealthResponse, type InitializeConnectionResponse, type InventorySettings, type InvitationValidationResponse, InvitationsResource, type ListContactsResponse, type LoginDto, type LoginResponseDto, type MembershipManagementFeatures, type MembershipPlan, type MembershipPlanStats, MembershipPlansResource, NetworkError, type NewClients, NotFoundError, type NotificationSettings, OnboardingResource, type OnboardingResponse, type OnboardingStatus, OnboardingStep, type Organization, type OrganizationAdminDetails, type OrganizationStats, type OrganizationWithDetails, OrganizationsResource, type PaginatedResponse, type PaginatedResponseDto, type PaginationParams, type PaginationQueryDto, type PaySaleDto, type PaymentMethod, type PaymentMethodStats, PaymentMethodsResource, type PermissionsGroup, type PreviewTemplateResponse, type PriceDto, type PricingDto, type Product, type ProductCategory, ProductsResource, PublicCatalogResource, type ReadyResponse, type RegisterCollaboratorDto, type RegisterOwnerDto, type RejectedClient, type RejectedClientDto, type RenewContractDto, type RequestOptions, type RequestPasswordResetDto, type RequestPasswordResetResponseDto, type ResendResetCodeDto, type ResendResetCodeResponseDto, type ResendVerificationDto, type ResetPasswordDto, type ResetPasswordResponseDto, RolesResource, type Sale, type SaleItem, type SaleItemDto, SalesResource, type SalesRevenue, type SalesStats, type SearchCatalogParams, type SearchCheckInsParams, type SearchClientsParams, type SearchPaymentMethodsParams, type SearchProductsParams, type SearchSalesParams, type SearchSuppliersParams, type SearchTemplatesDto, type SearchWhatsAppMessagesDto, type SendBulkMessagesDto, type SendWhatsAppMessageDto, type SocialMedia, type StartOnboardingData, type StartOnboardingResponse, type StockMovement, type Subscription, type SubscriptionHistoryDto, type SubscriptionPlan, type SubscriptionPlanDto, SubscriptionPlansResource, type SubscriptionStatusDto, SubscriptionsResource, type Supplier, SuppliersResource, type SuppliersStats, type TimeSlot, type TopSellingProduct, type UpdateBulkTemplateDto, type UpdateClientDto, type UpdateGymContractSettingsDto, type UpdateGymDto, type UpdateGymInventorySettingsDto, type UpdateGymScheduleDto, type UpdateGymSettingsData, type UpdateGymSocialMediaDto, type UpdateMembershipPlanDto, type UpdateOrganizationDto, type UpdatePaymentMethodDto, type UpdatePaymentStatusDto, type UpdateProductCategoryDto, type UpdateProductDto, type UpdateProfileDto, type UpdateSaleDto, type UpdateStockDto, type UpdateSubscriptionPlanDto, type UpdateSupplierDto, type UpdateTemplateDto, type UpdateWhatsAppConfigDto, type UpgradeSubscriptionDto, type UploadAssetDto, type UploadFileDto, type UserProfileDto, UsersResource, ValidationError, type VerifyEmailDto, type VerifyResetCodeDto, type VerifyResetCodeResponseDto, type WeeklySchedule, type WhatsAppConfig, type WhatsAppMessage, WhatsAppResource, type WhatsAppTemplate, WhatsAppTemplatesResource };
|
|
3121
|
+
export { type ActivateRenewalDto, ActivitiesResource, type Activity, type ActivityNotification, type ActivityPlanRestriction, type ActivityStats, type ActivityStatsParams, AdminSubscriptionManagementResource, type AdminSubscriptionStatusDto, type AffiliateOrganizationDto, type Amenities, ApiClient, type ApiResponse, type AssetResponseDto, AssetsResource, type AssignTagsDto, type AssignTagsResponse, AuthResource, AuthenticationError, AuthorizationError, type AvailablePlanDto, type BulkLogsResponse, type BulkLogsResponseDto, type BulkMessageLog, type BulkMessageLogDto, type BulkMessageResult, type BulkMessageResultDto, type BulkMessageVariable, BulkMessagingResource, type BulkTemplate, type BusinessHours, type CancelContractDto, type CancelSubscriptionDto, type CancellationAnalytics, CancellationReason, type CatalogGym, type ChangePasswordDto, type ChangePasswordResponseDto, type CheckIn, type CheckInDetail, type CheckInListResponse, type CheckInStats, type CheckInSystemFeatures, type CheckIns, type CheckInsList, CheckInsResource, type CheckLimitResponse, type CityWithGyms, type Client, type ClientCheckInHistory, type ClientManagementFeatures, type ClientStat, type ClientStats, type ClientTagsResponse, ClientsResource, type CollaboratorRoleDto, CollaboratorsResource, type CompleteGuidedSetupData, type ConfigureFeaturesData, type ConnectionStatusResponse, type Contact, type Contract, type ContractLifecycleEvent, type ContractSettings, ContractsResource, type ContractsRevenue, type CreateActivityDto, type CreateActivityNotificationDto, type CreateBulkTemplateDto, type CreateCheckInDto, type CreateClientDto, type CreateContractDto, type CreateGymDto, type CreateMembershipPlanDto, type CreatePaymentMethodDto, type CreateProductCategoryDto, type CreateProductDto, type CreateSaleDto, type CreateServiceDto, type CreateSubscriptionPlanDto, type CreateSupplierDto, type CreateTagDto, type CreateTemplateDto, type CreateWhatsAppConfigDto, type CurrentSessionResponse, type CurrentlyInGymResponse, type CustomerSalesReport, DashboardResource, type DashboardStats, type DateRangeParams, type DaySchedule, type Debts, type DeleteActivityParams, type DeleteTagResponse, type DisconnectResponse, type EligibleClient, type EligibleClientsResponse, type ExpiringContract, type FileResponseDto, FilesResource, type FreezeContractDto, type GenerateAIMessageDto, type GenerateAIMessageParams, type GenerateAIMessageResponse, type GenerateAIMessageResponseDto, type GetBulkLogsQueryDto, type GetCheckInStatsParams, type GetClientCheckInHistoryParams, type GetContractsParams, type GetFeaturedGymsParams, type GetGymInvitationsParams, type GetMembershipPlansParams, type GetTagClientsParams, type Gym, type GymAmenities, type GymSchedule, type GymSettings, type GymSocialMedia, type GymSpaceConfig, GymSpaceError, GymSpaceSdk, type GymStats, GymsResource, HealthResource, type HealthResponse, type InitializeConnectionResponse, type InventorySettings, type InvitationValidationResponse, InvitationsResource, type ListContactsResponse, type LoginDto, type LoginResponseDto, type MembershipManagementFeatures, type MembershipPlan, type MembershipPlanStats, MembershipPlansResource, NetworkError, type NewClients, NotFoundError, type NotificationSettings, OnboardingResource, type OnboardingResponse, type OnboardingStatus, OnboardingStep, type Organization, type OrganizationAdminDetails, type OrganizationStats, type OrganizationWithDetails, OrganizationsResource, type PaginatedResponse, type PaginatedResponseDto, type PaginationParams, type PaginationQueryDto, type PaySaleDto, type PaymentMethod, type PaymentMethodStats, PaymentMethodsResource, type PermissionsGroup, type PreviewTemplateResponse, type PriceDto, type PricingDto, type Product, type ProductCategory, ProductsResource, PublicCatalogResource, type ReactivateContractDto, type ReadyResponse, type RegisterCollaboratorDto, type RegisterOwnerDto, type RejectedClient, type RejectedClientDto, type RemoveTagsDto, type RemoveTagsResponse, type RenewContractDto, type RequestOptions, type RequestPasswordResetDto, type RequestPasswordResetResponseDto, type ResendResetCodeDto, type ResendResetCodeResponseDto, type ResendVerificationDto, type ResetPasswordDto, type ResetPasswordResponseDto, type ResumeContractDto, RolesResource, type Sale, type SaleItem, type SaleItemDto, SalesResource, type SalesRevenue, type SalesStats, type SearchActivitiesParams, type SearchCatalogParams, type SearchCheckInsParams, type SearchClientsParams, type SearchPaymentMethodsParams, type SearchProductsParams, type SearchSalesParams, type SearchSuppliersParams, type SearchTagsParams, type SearchTemplatesDto, type SearchWhatsAppMessagesDto, type SendBulkMessagesDto, type SendWhatsAppMessageDto, type SentActivityNotification, type SocialMedia, type StartOnboardingData, type StartOnboardingResponse, type StockMovement, type Subscription, type SubscriptionHistoryDto, type SubscriptionPlan, type SubscriptionPlanDto, SubscriptionPlansResource, type SubscriptionStatusDto, SubscriptionsResource, type Supplier, SuppliersResource, type SuppliersStats, type SuspendContractDto, SuspensionType, type Tag, type TagClientsResponse, type TagStatsResponse, type TagWithAssignment, TagsResource, type TimeSlot, type TopSellingProduct, type UpdateActivityDto, type UpdateActivityNotificationDto, type UpdateBulkTemplateDto, type UpdateClientDto, type UpdateGymContractSettingsDto, type UpdateGymDto, type UpdateGymInventorySettingsDto, type UpdateGymScheduleDto, type UpdateGymSettingsData, type UpdateGymSocialMediaDto, type UpdateMembershipPlanDto, type UpdateOrganizationDto, type UpdatePaymentMethodDto, type UpdatePaymentStatusDto, type UpdateProductCategoryDto, type UpdateProductDto, type UpdateProfileDto, type UpdateSaleDto, type UpdateStockDto, type UpdateSubscriptionPlanDto, type UpdateSupplierDto, type UpdateTagDto, type UpdateTemplateDto, type UpdateWhatsAppConfigDto, type UpgradeSubscriptionDto, type UploadAssetDto, type UploadFileDto, type UserProfileDto, UsersResource, ValidationError, type VerifyEmailDto, type VerifyResetCodeDto, type VerifyResetCodeResponseDto, type WeeklySchedule, type WhatsAppConfig, type WhatsAppMessage, WhatsAppResource, type WhatsAppTemplate, WhatsAppTemplatesResource };
|