@managesome/knotr-toolkit 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/dist/constants/index.d.ts +103 -0
  2. package/dist/constants/index.d.ts.map +1 -0
  3. package/dist/constants/index.js +92 -0
  4. package/dist/constants/index.js.map +1 -0
  5. package/dist/constants/marketplace.d.ts +130 -0
  6. package/dist/constants/marketplace.d.ts.map +1 -0
  7. package/dist/constants/marketplace.js +195 -0
  8. package/dist/constants/marketplace.js.map +1 -0
  9. package/dist/i18n/ar.json +368 -0
  10. package/dist/i18n/en.json +369 -0
  11. package/dist/i18n/index.d.ts +20 -0
  12. package/dist/i18n/index.d.ts.map +1 -0
  13. package/dist/i18n/index.js +22 -0
  14. package/dist/i18n/index.js.map +1 -0
  15. package/dist/i18n/ur.json +368 -0
  16. package/dist/index.d.ts +4 -0
  17. package/dist/index.d.ts.map +1 -0
  18. package/dist/index.js +4 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/types/account.d.ts +55 -0
  21. package/dist/types/account.d.ts.map +1 -0
  22. package/dist/types/account.js +3 -0
  23. package/dist/types/account.js.map +1 -0
  24. package/dist/types/admin.d.ts +70 -0
  25. package/dist/types/admin.d.ts.map +1 -0
  26. package/dist/types/admin.js +117 -0
  27. package/dist/types/admin.js.map +1 -0
  28. package/dist/types/api.d.ts +210 -0
  29. package/dist/types/api.d.ts.map +1 -0
  30. package/dist/types/api.js +5 -0
  31. package/dist/types/api.js.map +1 -0
  32. package/dist/types/chat.d.ts +92 -0
  33. package/dist/types/chat.d.ts.map +1 -0
  34. package/dist/types/chat.js +8 -0
  35. package/dist/types/chat.js.map +1 -0
  36. package/dist/types/common.d.ts +50 -0
  37. package/dist/types/common.d.ts.map +1 -0
  38. package/dist/types/common.js +3 -0
  39. package/dist/types/common.js.map +1 -0
  40. package/dist/types/company.d.ts +110 -0
  41. package/dist/types/company.d.ts.map +1 -0
  42. package/dist/types/company.js +3 -0
  43. package/dist/types/company.js.map +1 -0
  44. package/dist/types/flag.d.ts +67 -0
  45. package/dist/types/flag.d.ts.map +1 -0
  46. package/dist/types/flag.js +3 -0
  47. package/dist/types/flag.js.map +1 -0
  48. package/dist/types/index.d.ts +14 -0
  49. package/dist/types/index.d.ts.map +1 -0
  50. package/dist/types/index.js +16 -0
  51. package/dist/types/index.js.map +1 -0
  52. package/dist/types/marketplace.d.ts +583 -0
  53. package/dist/types/marketplace.d.ts.map +1 -0
  54. package/dist/types/marketplace.js +3 -0
  55. package/dist/types/marketplace.js.map +1 -0
  56. package/dist/types/match.d.ts +71 -0
  57. package/dist/types/match.d.ts.map +1 -0
  58. package/dist/types/match.js +8 -0
  59. package/dist/types/match.js.map +1 -0
  60. package/dist/types/payment.d.ts +176 -0
  61. package/dist/types/payment.d.ts.map +1 -0
  62. package/dist/types/payment.js +112 -0
  63. package/dist/types/payment.js.map +1 -0
  64. package/dist/types/policy.d.ts +347 -0
  65. package/dist/types/policy.d.ts.map +1 -0
  66. package/dist/types/policy.js +52 -0
  67. package/dist/types/policy.js.map +1 -0
  68. package/dist/types/profile.d.ts +196 -0
  69. package/dist/types/profile.d.ts.map +1 -0
  70. package/dist/types/profile.js +3 -0
  71. package/dist/types/profile.js.map +1 -0
  72. package/dist/types/verification.d.ts +57 -0
  73. package/dist/types/verification.d.ts.map +1 -0
  74. package/dist/types/verification.js +3 -0
  75. package/dist/types/verification.js.map +1 -0
  76. package/package.json +67 -0
@@ -0,0 +1,583 @@
1
+ import type { Location, TimestampFields } from './common';
2
+ export type ServiceCategory = 'full_service' | 'profile_management' | 'search_only' | 'verification' | 'consultation' | 'event_based';
3
+ export type PricingModel = 'fixed' | 'monthly' | 'success_based' | 'hybrid';
4
+ export interface ServicePackage {
5
+ id: string;
6
+ name: string;
7
+ description: string;
8
+ price: number;
9
+ currency: string;
10
+ duration: number;
11
+ features: string[];
12
+ maxProfiles: number;
13
+ guaranteedMatches?: number;
14
+ refundPolicy?: string;
15
+ }
16
+ export interface ServiceListing extends TimestampFields {
17
+ id: string;
18
+ companyId: string;
19
+ title: string;
20
+ description: string;
21
+ category: ServiceCategory;
22
+ specializations: string[];
23
+ packages: ServicePackage[];
24
+ pricingModel: PricingModel;
25
+ successFeePercentage?: number;
26
+ targetSects: string[];
27
+ targetRegions: Location[];
28
+ targetProfessions: string[];
29
+ termsAndConditions: string;
30
+ privacyPolicy: string;
31
+ exclusivityRequired: boolean;
32
+ minimumCommitment: number;
33
+ totalContracts: number;
34
+ activeContracts: number;
35
+ successfulMatches: number;
36
+ averageRating: number;
37
+ totalReviews: number;
38
+ isActive: boolean;
39
+ isFeatured: boolean;
40
+ featuredUntil?: Date;
41
+ verificationLevel: 'basic' | 'verified' | 'trusted' | 'premium' | 'elite';
42
+ }
43
+ export interface ServiceListingCreateInput {
44
+ title: string;
45
+ description: string;
46
+ category: ServiceCategory;
47
+ specializations: string[];
48
+ packages: Omit<ServicePackage, 'id'>[];
49
+ pricingModel: PricingModel;
50
+ successFeePercentage?: number;
51
+ targetSects?: string[];
52
+ targetRegions?: Location[];
53
+ targetProfessions?: string[];
54
+ termsAndConditions: string;
55
+ privacyPolicy?: string;
56
+ exclusivityRequired?: boolean;
57
+ minimumCommitment?: number;
58
+ }
59
+ export type RequirementStatus = 'draft' | 'active' | 'paused' | 'in_contract' | 'completed' | 'cancelled' | 'filled' | 'closed';
60
+ export type RequirementVisibility = 'public' | 'invited' | 'private';
61
+ export interface RequirementPreferences {
62
+ gender: 'male' | 'female';
63
+ ageRange: {
64
+ min: number;
65
+ max: number;
66
+ };
67
+ sects: string[];
68
+ educationLevels: string[];
69
+ professions: string[];
70
+ locations: Location[];
71
+ maritalStatuses: string[];
72
+ additionalRequirements?: string;
73
+ }
74
+ export interface RequirementPost extends TimestampFields {
75
+ id: string;
76
+ accountId: string;
77
+ profileId?: string;
78
+ title: string;
79
+ description: string;
80
+ candidateOverview: string;
81
+ candidateGender: 'male' | 'female';
82
+ candidateAge: number;
83
+ candidateProfession: string;
84
+ candidateEducation: string;
85
+ candidateLocation: Location;
86
+ candidateSect: string;
87
+ preferences: RequirementPreferences;
88
+ budgetMin: number;
89
+ budgetMax: number;
90
+ currency: string;
91
+ timeline: number;
92
+ urgency: 'flexible' | 'moderate' | 'urgent';
93
+ preferredCompanyTypes?: string[];
94
+ preferredRegions?: Location[];
95
+ requireVerifiedCompany: boolean;
96
+ minimumRating?: number;
97
+ status: RequirementStatus;
98
+ visibility: RequirementVisibility;
99
+ invitedCompanyIds?: string[];
100
+ viewCount: number;
101
+ proposalCount: number;
102
+ shortlistedCount: number;
103
+ publishedAt?: Date;
104
+ expiresAt?: Date;
105
+ closedAt?: Date;
106
+ closedReason?: string;
107
+ selectedContractId?: string;
108
+ filledAt?: Date;
109
+ }
110
+ export interface RequirementPostCreateInput {
111
+ title: string;
112
+ description: string;
113
+ candidateOverview: string;
114
+ candidateGender: 'male' | 'female';
115
+ candidateAge: number;
116
+ candidateProfession: string;
117
+ candidateEducation: string;
118
+ candidateLocation: Location;
119
+ candidateSect: string;
120
+ preferences: RequirementPreferences;
121
+ budgetMin: number;
122
+ budgetMax: number;
123
+ currency?: string;
124
+ timeline: number;
125
+ urgency?: 'flexible' | 'moderate' | 'urgent';
126
+ preferredCompanyTypes?: string[];
127
+ preferredRegions?: Location[];
128
+ requireVerifiedCompany?: boolean;
129
+ minimumRating?: number;
130
+ visibility?: RequirementVisibility;
131
+ invitedCompanyIds?: string[];
132
+ profileId?: string;
133
+ }
134
+ export type ProposalStatus = 'pending' | 'shortlisted' | 'accepted' | 'rejected' | 'withdrawn' | 'expired';
135
+ export interface ProposalMilestone {
136
+ id: string;
137
+ title: string;
138
+ description: string;
139
+ amount: number;
140
+ dueDate?: Date;
141
+ deliverables: string[];
142
+ }
143
+ export interface Proposal extends TimestampFields {
144
+ id: string;
145
+ requirementId: string;
146
+ companyId: string;
147
+ listingId?: string;
148
+ coverLetter: string;
149
+ proposedPackage?: ServicePackage;
150
+ customPrice: number;
151
+ currency: string;
152
+ proposedDuration: number;
153
+ proposedMilestones: ProposalMilestone[];
154
+ relevantExperience: string;
155
+ potentialMatches?: number;
156
+ guarantees: string[];
157
+ uniqueSellingPoints: string[];
158
+ exclusivityRequired: boolean;
159
+ termsAccepted: boolean;
160
+ customTerms?: string;
161
+ status: ProposalStatus;
162
+ shortlistedAt?: Date;
163
+ acceptedAt?: Date;
164
+ rejectedAt?: Date;
165
+ rejectionReason?: string;
166
+ lastMessageAt?: Date;
167
+ messageCount: number;
168
+ viewedByClient: boolean;
169
+ viewedAt?: Date;
170
+ }
171
+ export interface ProposalCreateInput {
172
+ requirementId: string;
173
+ listingId?: string;
174
+ coverLetter: string;
175
+ proposedPackage?: ServicePackage;
176
+ customPrice: number;
177
+ currency?: string;
178
+ proposedDuration: number;
179
+ proposedMilestones: Omit<ProposalMilestone, 'id'>[];
180
+ relevantExperience: string;
181
+ potentialMatches?: number;
182
+ guarantees?: string[];
183
+ uniqueSellingPoints?: string[];
184
+ exclusivityRequired?: boolean;
185
+ customTerms?: string;
186
+ }
187
+ export type ContractStatus = 'pending_payment' | 'active' | 'paused' | 'completed' | 'disputed' | 'cancelled' | 'terminated';
188
+ export interface Contract extends TimestampFields {
189
+ id: string;
190
+ proposalId: string;
191
+ requirementId: string;
192
+ companyId: string;
193
+ accountId: string;
194
+ profileId?: string;
195
+ title: string;
196
+ description: string;
197
+ totalAmount: number;
198
+ currency: string;
199
+ startDate: Date;
200
+ endDate: Date;
201
+ duration: number;
202
+ terms: string;
203
+ exclusivityAgreed: boolean;
204
+ guarantees: string[];
205
+ refundPolicy: string;
206
+ status: ContractStatus;
207
+ pausedAt?: Date;
208
+ pauseReason?: string;
209
+ completedAt?: Date;
210
+ cancelledAt?: Date;
211
+ cancellationReason?: string;
212
+ cancelledBy?: 'family' | 'company' | 'admin';
213
+ currentMilestoneId?: string;
214
+ completedMilestones: string[];
215
+ progressPercentage: number;
216
+ matchesIntroduced: number;
217
+ matchesAccepted: number;
218
+ successfulMatch: boolean;
219
+ successMatchId?: string;
220
+ totalPaid: number;
221
+ totalRefunded: number;
222
+ platformFee: number;
223
+ companyEarnings: number;
224
+ milestoneIds?: string[];
225
+ startedAt?: Date;
226
+ }
227
+ export type MilestoneStatus = 'upcoming' | 'in_progress' | 'pending_approval' | 'approved' | 'disputed' | 'paid' | 'refunded';
228
+ export interface Milestone extends TimestampFields {
229
+ id: string;
230
+ contractId: string;
231
+ proposalMilestoneId?: string;
232
+ companyId?: string;
233
+ clientAccountId?: string;
234
+ title: string;
235
+ description: string;
236
+ deliverables: string[];
237
+ amount: number;
238
+ currency: string;
239
+ dueDate: Date;
240
+ startedAt?: Date;
241
+ submittedAt?: Date;
242
+ approvedAt?: Date;
243
+ paidAt?: Date;
244
+ status: MilestoneStatus;
245
+ order: number;
246
+ submissionNotes?: string;
247
+ submissionEvidence?: string[];
248
+ reviewNotes?: string;
249
+ disputeReason?: string;
250
+ disputeResolvedAt?: Date;
251
+ }
252
+ export type CollaborationType = 'match_request' | 'referral' | 'partnership' | 'pool_join' | 'event_collab';
253
+ export type CollaborationStatus = 'pending' | 'accepted' | 'rejected' | 'active' | 'completed' | 'cancelled';
254
+ export interface CollaborationTerms {
255
+ revenueShare: number;
256
+ leadCompany: string;
257
+ communicationRules: string;
258
+ exclusivityPeriod?: number;
259
+ }
260
+ export interface CollaborationRequest extends TimestampFields {
261
+ id: string;
262
+ fromCompanyId: string;
263
+ toCompanyId: string;
264
+ type: CollaborationType;
265
+ title: string;
266
+ description: string;
267
+ profileId?: string;
268
+ requirementId?: string;
269
+ terms: CollaborationTerms;
270
+ status: CollaborationStatus;
271
+ respondedAt?: Date;
272
+ responseMessage?: string;
273
+ matchId?: string;
274
+ revenueGenerated?: number;
275
+ }
276
+ export interface CollaborationRequestCreateInput {
277
+ toCompanyId: string;
278
+ type: CollaborationType;
279
+ title: string;
280
+ description: string;
281
+ profileId?: string;
282
+ requirementId?: string;
283
+ terms: CollaborationTerms;
284
+ }
285
+ export type ReviewType = 'contract_review' | 'collaboration_review' | 'success_story';
286
+ export interface Review extends TimestampFields {
287
+ id: string;
288
+ type: ReviewType;
289
+ reviewerId: string;
290
+ reviewerType: 'family' | 'company';
291
+ reviewerName: string;
292
+ reviewedId: string;
293
+ contractId?: string;
294
+ collaborationId?: string;
295
+ overallRating: number;
296
+ communicationRating: number;
297
+ professionalismRating: number;
298
+ valueRating: number;
299
+ resultRating: number;
300
+ title: string;
301
+ content: string;
302
+ pros: string[];
303
+ cons: string[];
304
+ matchDate?: Date;
305
+ testimonialConsent: boolean;
306
+ photoConsent: boolean;
307
+ photos?: string[];
308
+ isVerified: boolean;
309
+ isPublic: boolean;
310
+ moderatedAt?: Date;
311
+ moderatedBy?: string;
312
+ }
313
+ export interface ReviewCreateInput {
314
+ type: ReviewType;
315
+ reviewedId: string;
316
+ contractId?: string;
317
+ collaborationId?: string;
318
+ overallRating: number;
319
+ communicationRating: number;
320
+ professionalismRating: number;
321
+ valueRating: number;
322
+ resultRating: number;
323
+ title: string;
324
+ content: string;
325
+ pros?: string[];
326
+ cons?: string[];
327
+ matchDate?: Date;
328
+ testimonialConsent?: boolean;
329
+ photoConsent?: boolean;
330
+ photos?: string[];
331
+ }
332
+ export type EscrowStatus = 'pending' | 'funded' | 'partially_released' | 'released' | 'refunded' | 'disputed';
333
+ export interface EscrowTransaction {
334
+ id: string;
335
+ type: 'deposit' | 'release' | 'refund';
336
+ amount: number;
337
+ milestoneId?: string;
338
+ description: string;
339
+ createdAt: Date;
340
+ processedAt?: Date;
341
+ }
342
+ export interface Escrow extends TimestampFields {
343
+ id: string;
344
+ contractId: string;
345
+ accountId: string;
346
+ companyId: string;
347
+ totalAmount: number;
348
+ fundedAmount: number;
349
+ releasedAmount: number;
350
+ refundedAmount: number;
351
+ availableBalance: number;
352
+ currency: string;
353
+ status: EscrowStatus;
354
+ transactions: EscrowTransaction[];
355
+ platformFeePercentage: number;
356
+ platformFeeAmount: number;
357
+ disputeId?: string;
358
+ disputeReason?: string;
359
+ disputeResolvedAt?: Date;
360
+ stripePaymentIntentId?: string;
361
+ }
362
+ export type TMCStatus = 'none' | 'pending' | 'approved' | 'suspended';
363
+ export type TMCTier = 'standard' | 'gold' | 'platinum';
364
+ export type TMCApprovalMethod = 'manual' | 'criteria';
365
+ export interface TMCFields {
366
+ isTrustManagementCompany: boolean;
367
+ tmcStatus: TMCStatus;
368
+ tmcTier?: TMCTier;
369
+ tmcApprovalMethod?: TMCApprovalMethod;
370
+ tmcApprovedAt?: Date;
371
+ tmcApprovedBy?: string;
372
+ isPreSeededPartner: boolean;
373
+ managedCompanyCount: number;
374
+ totalProfitSharedReceived: number;
375
+ pendingProfitShareBalance: number;
376
+ maxManagedCompanies: number;
377
+ }
378
+ export type TMCApplicationStatus = 'pending' | 'under_review' | 'approved' | 'rejected';
379
+ export interface TMCApplication extends TimestampFields {
380
+ id: string;
381
+ companyId: string;
382
+ companyName: string;
383
+ applicationLetter: string;
384
+ yearsInBusiness: number;
385
+ totalMatchesFacilitated: number;
386
+ currentTrustLevel: string;
387
+ specializations: string[];
388
+ geographicCoverage: string[];
389
+ documents: {
390
+ type: 'business_license' | 'track_record' | 'reference_letter' | 'other';
391
+ url: string;
392
+ name: string;
393
+ uploadedAt: Date;
394
+ }[];
395
+ references: {
396
+ name: string;
397
+ company: string;
398
+ email: string;
399
+ phone?: string;
400
+ relationship: string;
401
+ }[];
402
+ status: TMCApplicationStatus;
403
+ reviewedAt?: Date;
404
+ reviewedBy?: string;
405
+ reviewNotes?: string;
406
+ rejectionReason?: string;
407
+ approvedTier?: TMCTier;
408
+ }
409
+ export interface TMCApplicationCreateInput {
410
+ applicationLetter: string;
411
+ yearsInBusiness: number;
412
+ totalMatchesFacilitated: number;
413
+ specializations: string[];
414
+ geographicCoverage: string[];
415
+ documents: {
416
+ type: 'business_license' | 'track_record' | 'reference_letter' | 'other';
417
+ url: string;
418
+ name: string;
419
+ }[];
420
+ references: {
421
+ name: string;
422
+ company: string;
423
+ email: string;
424
+ phone?: string;
425
+ relationship: string;
426
+ }[];
427
+ }
428
+ export type TMCMembershipStatus = 'pending' | 'active' | 'suspended' | 'revoked';
429
+ export type VouchLevel = 'basic' | 'standard' | 'full';
430
+ export interface TMCMembership extends TimestampFields {
431
+ id: string;
432
+ companyId: string;
433
+ tmcCompanyId: string;
434
+ status: TMCMembershipStatus;
435
+ vouchLevel: VouchLevel;
436
+ profitSharePercentage: number;
437
+ profitShareEnabled: boolean;
438
+ contractTerms?: string;
439
+ startDate: Date;
440
+ endDate?: Date;
441
+ invitedAt: Date;
442
+ invitedBy?: string;
443
+ acceptedAt?: Date;
444
+ rejectedAt?: Date;
445
+ rejectionReason?: string;
446
+ totalProfitShared: number;
447
+ lastProfitShareDate?: Date;
448
+ }
449
+ export interface TMCMembershipInviteInput {
450
+ companyId: string;
451
+ vouchLevel: VouchLevel;
452
+ profitSharePercentage: number;
453
+ contractTerms?: string;
454
+ }
455
+ export type BadgeType = 'verified' | 'endorsed' | 'premium_partner' | 'top_performer' | 'founding_partner';
456
+ export interface TrustBadge extends TimestampFields {
457
+ id: string;
458
+ companyId: string;
459
+ tmcCompanyId?: string;
460
+ tmcName?: string;
461
+ tmcLogo?: string;
462
+ issuedByAdmin: boolean;
463
+ badgeType: BadgeType;
464
+ displayText: string;
465
+ description?: string;
466
+ issuedAt: Date;
467
+ expiresAt?: Date;
468
+ isActive: boolean;
469
+ displayOrder: number;
470
+ showOnProfile: boolean;
471
+ showOnListing: boolean;
472
+ showOnSearch: boolean;
473
+ }
474
+ export interface ProfitShareAgreement extends TimestampFields {
475
+ id: string;
476
+ companyId: string;
477
+ tmcCompanyId: string;
478
+ membershipId: string;
479
+ sharePercentage: number;
480
+ appliesTo: ('contracts' | 'subscriptions' | 'profile_packs')[];
481
+ minimumEarningThreshold?: number;
482
+ monthlyCapAmount?: number;
483
+ startDate: Date;
484
+ endDate?: Date;
485
+ isActive: boolean;
486
+ totalShared: number;
487
+ lastShareDate?: Date;
488
+ transactionCount: number;
489
+ }
490
+ export type ProfitShareStatus = 'pending' | 'processing' | 'completed' | 'failed';
491
+ export interface ProfitShare extends TimestampFields {
492
+ id: string;
493
+ agreementId: string;
494
+ companyId: string;
495
+ tmcCompanyId: string;
496
+ triggerType: 'contract_payment' | 'milestone_release' | 'subscription';
497
+ triggerId: string;
498
+ originalAmount: number;
499
+ sharePercentage: number;
500
+ grossShareAmount: number;
501
+ platformFee: number;
502
+ netShareAmount: number;
503
+ currency: string;
504
+ status: ProfitShareStatus;
505
+ processedAt?: Date;
506
+ paidAt?: Date;
507
+ failureReason?: string;
508
+ payoutMethod: 'stripe_connect' | 'manual';
509
+ stripeTransferId?: string;
510
+ }
511
+ export type DisputePhase = 'discussion' | 'mediation' | 'admin_review' | 'resolved';
512
+ export type DisputeStatus = 'open' | 'awaiting_response' | 'in_mediation' | 'escalated' | 'resolved' | 'closed';
513
+ export type DisputeResolution = 'full_refund' | 'partial_refund' | 'release_to_company' | 'split' | 'withdrawn' | 'mutual_agreement';
514
+ export type EvidenceType = 'text' | 'file' | 'image' | 'video' | 'chat_log' | 'contract_doc';
515
+ export interface DisputeEvidence extends TimestampFields {
516
+ id: string;
517
+ disputeId: string;
518
+ submittedBy: string;
519
+ submitterType: 'family' | 'company';
520
+ type: EvidenceType;
521
+ title: string;
522
+ description: string;
523
+ content?: string;
524
+ fileUrl?: string;
525
+ fileName?: string;
526
+ fileSize?: number;
527
+ submittedAt: Date;
528
+ isVisible: boolean;
529
+ adminOnly: boolean;
530
+ }
531
+ export interface Dispute extends TimestampFields {
532
+ id: string;
533
+ contractId: string;
534
+ escrowId: string;
535
+ accountId: string;
536
+ companyId: string;
537
+ initiatedBy: 'family' | 'company';
538
+ initiatedAt: Date;
539
+ title: string;
540
+ description: string;
541
+ category: 'service_not_delivered' | 'quality_issue' | 'communication_problem' | 'misrepresentation' | 'timeline_breach' | 'refund_request' | 'other';
542
+ amountInDispute: number;
543
+ currency: string;
544
+ currentPhase: DisputePhase;
545
+ phaseStartedAt: Date;
546
+ autoEscalateAt: Date;
547
+ phaseHistory: {
548
+ phase: DisputePhase;
549
+ startedAt: Date;
550
+ endedAt?: Date;
551
+ escalatedBy: 'auto' | 'family' | 'company' | 'admin';
552
+ notes?: string;
553
+ }[];
554
+ familyEvidenceSubmitted: boolean;
555
+ companyEvidenceSubmitted: boolean;
556
+ evidenceDeadline?: Date;
557
+ status: DisputeStatus;
558
+ resolution?: DisputeResolution;
559
+ resolvedAt?: Date;
560
+ resolvedBy?: string;
561
+ resolutionNotes?: string;
562
+ refundAmount?: number;
563
+ releaseAmount?: number;
564
+ assignedAdminId?: string;
565
+ assignedAt?: Date;
566
+ adminNotes?: string;
567
+ }
568
+ export interface DisputeCreateInput {
569
+ contractId: string;
570
+ title: string;
571
+ description: string;
572
+ category: Dispute['category'];
573
+ amountInDispute?: number;
574
+ initialEvidence?: {
575
+ type: EvidenceType;
576
+ title: string;
577
+ description: string;
578
+ content?: string;
579
+ fileUrl?: string;
580
+ fileName?: string;
581
+ }[];
582
+ }
583
+ //# sourceMappingURL=marketplace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marketplace.d.ts","sourceRoot":"","sources":["../../src/types/marketplace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ // Marketplace Types - Service Listings, Requirements, Proposals, Contracts
2
+ export {};
3
+ //# sourceMappingURL=marketplace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marketplace.js","sourceRoot":"","sources":["../../src/types/marketplace.ts"],"names":[],"mappings":"AAAA,2EAA2E"}
@@ -0,0 +1,71 @@
1
+ import { TimestampFields } from './common';
2
+ export type InterestStatus = 'pending' | 'accepted' | 'declined' | 'expired' | 'withdrawn' | 'blocked';
3
+ export type MatchStatus = 'active' | 'in_progress' | 'successful' | 'ended' | 'expired';
4
+ export interface Interest extends TimestampFields {
5
+ id: string;
6
+ senderProfileId: string;
7
+ senderAccountId: string;
8
+ recipientProfileId: string;
9
+ recipientAccountId: string;
10
+ status: InterestStatus;
11
+ introMessage?: string;
12
+ sentAt: Date;
13
+ responseDeadline: Date;
14
+ respondedAt?: Date;
15
+ declineReason?: string;
16
+ senderIsCompany: boolean;
17
+ recipientIsCompany: boolean;
18
+ }
19
+ export interface Match extends TimestampFields {
20
+ id: string;
21
+ interestId: string;
22
+ profile1Id: string;
23
+ profile1AccountId: string;
24
+ profile2Id: string;
25
+ profile2AccountId: string;
26
+ status: MatchStatus;
27
+ chatId: string;
28
+ endedAt?: Date;
29
+ endedBy?: string;
30
+ endReason?: 'not_compatible' | 'found_other' | 'no_response' | 'other';
31
+ successfulAt?: Date;
32
+ nikahDate?: Date;
33
+ testimonialProvided: boolean;
34
+ lastActivityAt: Date;
35
+ totalMessages: number;
36
+ }
37
+ export interface InterestSendInput {
38
+ recipientProfileId: string;
39
+ introMessage?: string;
40
+ }
41
+ export interface InterestResponseInput {
42
+ interestId: string;
43
+ action: 'accept' | 'decline';
44
+ declineReason?: string;
45
+ }
46
+ export interface MatchEndInput {
47
+ matchId: string;
48
+ reason: 'not_compatible' | 'found_other' | 'no_response' | 'other';
49
+ feedback?: string;
50
+ }
51
+ export interface MatchSuccessInput {
52
+ matchId: string;
53
+ nikahDate?: string;
54
+ testimonial?: string;
55
+ allowPublicTestimonial: boolean;
56
+ }
57
+ export interface ResponseWindowConfig {
58
+ activeStartHour: number;
59
+ activeEndHour: number;
60
+ graceHoursNextDay: number;
61
+ maxHours: number;
62
+ }
63
+ export declare const DEFAULT_RESPONSE_WINDOW: ResponseWindowConfig;
64
+ export interface ActiveApproachStatus {
65
+ hasActiveApproach: boolean;
66
+ activeInterestId?: string;
67
+ activeMatchId?: string;
68
+ canSendNewInterest: boolean;
69
+ reason?: string;
70
+ }
71
+ //# sourceMappingURL=match.d.ts.map