landing desktop
This commit is contained in:
+82
-103
@@ -1,3 +1,5 @@
|
||||
export type BookingStatus = 'pending' | 'confirmed' | 'cancelled' | 'completed';
|
||||
|
||||
export type BusinessCategory = {
|
||||
id: string;
|
||||
slug: string;
|
||||
@@ -8,94 +10,68 @@ export type BusinessCategory = {
|
||||
export type BusinessImage = {
|
||||
id: string;
|
||||
url: string;
|
||||
isCover: boolean;
|
||||
originalName?: string | null;
|
||||
sortOrder: number;
|
||||
isCover: boolean;
|
||||
};
|
||||
|
||||
export type Business = {
|
||||
id: string;
|
||||
title: string;
|
||||
subtitle?: string | null;
|
||||
slug: string;
|
||||
description: string | null;
|
||||
contactPhone: string | null;
|
||||
address: string | null;
|
||||
latitude: number | null;
|
||||
longitude: number | null;
|
||||
description?: string | null;
|
||||
address?: string | null;
|
||||
phone?: string | null;
|
||||
isActive: boolean;
|
||||
serviceClassesEnabled?: boolean;
|
||||
concurrentCapacity?: number;
|
||||
slotStepMinutes?: number;
|
||||
categoryId: string;
|
||||
ownerId?: string | null;
|
||||
category?: BusinessCategory;
|
||||
images?: BusinessImage[];
|
||||
};
|
||||
|
||||
export type BusinessRegistrationStatus = 'pending' | 'approved' | 'rejected';
|
||||
|
||||
export type BusinessRegistrationRequest = {
|
||||
id: string;
|
||||
applicantId: string;
|
||||
status: BusinessRegistrationStatus;
|
||||
title: string;
|
||||
slug: string;
|
||||
categoryId: string;
|
||||
description: string | null;
|
||||
contactPhone: string | null;
|
||||
address: string | null;
|
||||
adminNote: string | null;
|
||||
businessId: string | null;
|
||||
createdAt: string;
|
||||
category?: BusinessCategory;
|
||||
applicant?: { id: string; mobile: string; fullName: string | null };
|
||||
};
|
||||
|
||||
export type CreateBusinessRegistrationPayload = {
|
||||
title: string;
|
||||
categoryId: string;
|
||||
slug?: string;
|
||||
description?: string;
|
||||
contactPhone?: string;
|
||||
address?: string;
|
||||
concurrentCapacity?: number;
|
||||
slotStepMinutes?: number;
|
||||
serviceClassesEnabled?: boolean;
|
||||
createdAt?: string;
|
||||
updatedAt?: string;
|
||||
};
|
||||
|
||||
export type UpdateBusinessPayload = {
|
||||
title?: string;
|
||||
subtitle?: string | null;
|
||||
description?: string | null;
|
||||
contactPhone?: string | null;
|
||||
address?: string | null;
|
||||
latitude?: number | null;
|
||||
longitude?: number | null;
|
||||
serviceClassesEnabled?: boolean;
|
||||
phone?: string | null;
|
||||
isActive?: boolean;
|
||||
concurrentCapacity?: number;
|
||||
slotStepMinutes?: number;
|
||||
};
|
||||
|
||||
export type BusinessServiceClass = {
|
||||
id: string;
|
||||
businessId: string;
|
||||
title: string;
|
||||
description: string | null;
|
||||
sortOrder: number;
|
||||
isActive: boolean;
|
||||
};
|
||||
|
||||
export type BusinessServiceClassPrice = {
|
||||
id: string;
|
||||
businessServiceId: string;
|
||||
classId: string;
|
||||
price: string;
|
||||
durationMinutes: number | null;
|
||||
isActive: boolean;
|
||||
serviceClass?: BusinessServiceClass;
|
||||
serviceClassesEnabled?: boolean;
|
||||
};
|
||||
|
||||
export type ServiceTemplate = {
|
||||
id: string;
|
||||
title: string;
|
||||
slug: string;
|
||||
description: string | null;
|
||||
defaultDurationMinutes: number | null;
|
||||
description?: string | null;
|
||||
defaultDurationMinutes?: number | null;
|
||||
isActive: boolean;
|
||||
categoryId: string;
|
||||
};
|
||||
|
||||
export type BusinessServiceClassPrice = {
|
||||
id: string;
|
||||
classId: string;
|
||||
price: string;
|
||||
durationMinutes?: number | null;
|
||||
isActive: boolean;
|
||||
};
|
||||
|
||||
export type BusinessServiceClass = {
|
||||
id: string;
|
||||
businessId: string;
|
||||
title: string;
|
||||
description?: string | null;
|
||||
sortOrder: number;
|
||||
isActive: boolean;
|
||||
classPrices?: BusinessServiceClassPrice[];
|
||||
};
|
||||
|
||||
export type BusinessService = {
|
||||
@@ -103,43 +79,12 @@ export type BusinessService = {
|
||||
businessId: string;
|
||||
serviceTemplateId: string;
|
||||
price: string;
|
||||
durationMinutes: number | null;
|
||||
durationMinutes?: number | null;
|
||||
isActive: boolean;
|
||||
serviceTemplate?: ServiceTemplate;
|
||||
classPrices?: BusinessServiceClassPrice[];
|
||||
};
|
||||
|
||||
export type BusinessServiceRequestStatus = 'pending' | 'approved' | 'rejected';
|
||||
|
||||
export type BusinessServiceRequest = {
|
||||
id: string;
|
||||
businessId: string;
|
||||
requestedById: string;
|
||||
status: BusinessServiceRequestStatus;
|
||||
title: string;
|
||||
description: string | null;
|
||||
price: string;
|
||||
durationMinutes: number | null;
|
||||
adminNote: string | null;
|
||||
serviceTemplateId: string | null;
|
||||
businessServiceId: string | null;
|
||||
createdAt?: string;
|
||||
business?: Business;
|
||||
};
|
||||
|
||||
export type CreateBusinessServiceRequestPayload = {
|
||||
title: string;
|
||||
description?: string;
|
||||
price: number;
|
||||
durationMinutes?: number;
|
||||
};
|
||||
|
||||
export type BookingStatus =
|
||||
| 'pending'
|
||||
| 'confirmed'
|
||||
| 'cancelled'
|
||||
| 'completed';
|
||||
|
||||
export type Booking = {
|
||||
id: string;
|
||||
customerId: string;
|
||||
@@ -149,15 +94,49 @@ export type Booking = {
|
||||
bookingGroupId?: string | null;
|
||||
scheduledAt: string;
|
||||
status: BookingStatus;
|
||||
note: string | null;
|
||||
createdAt?: string;
|
||||
updatedAt?: string;
|
||||
customer?: {
|
||||
id: string;
|
||||
mobile: string;
|
||||
fullName: string | null;
|
||||
};
|
||||
note?: string | null;
|
||||
business?: Business;
|
||||
businessService?: BusinessService;
|
||||
serviceClass?: BusinessServiceClass;
|
||||
customer?: {
|
||||
id: string;
|
||||
mobile: string;
|
||||
fullName?: string | null;
|
||||
};
|
||||
};
|
||||
|
||||
export type BusinessRegistrationRequest = {
|
||||
id: string;
|
||||
status: string;
|
||||
businessTitle: string;
|
||||
categoryId: string;
|
||||
ownerMobile: string;
|
||||
createdAt: string;
|
||||
};
|
||||
|
||||
export type CreateBusinessRegistrationPayload = {
|
||||
businessTitle: string;
|
||||
categoryId: string;
|
||||
description?: string;
|
||||
address?: string;
|
||||
phone?: string;
|
||||
};
|
||||
|
||||
export type BusinessServiceRequest = {
|
||||
id: string;
|
||||
businessId: string;
|
||||
status: string;
|
||||
title: string;
|
||||
description?: string | null;
|
||||
price: string;
|
||||
durationMinutes?: number | null;
|
||||
createdAt: string;
|
||||
};
|
||||
|
||||
export type CreateBusinessServiceRequestPayload = {
|
||||
businessId: string;
|
||||
title: string;
|
||||
description?: string;
|
||||
price: number;
|
||||
durationMinutes?: number;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user