Untitled
unknown
plain_text
a year ago
2.5 kB
8
Indexable
export type Customer = {
token: Customer.Token;
email: string;
profileUrl: string;
firstName: string;
lastName: string;
phoneNumber: string;
birthDate: string;
address: string;
lastSeen: string;
dateJoined: string;
numberOfVisits: number;
age: number;
paymentMethod: string;
moneyCredit: number;
classCredit: number;
activities: Customer.Activity[];
memberships: Customer.Membership[];
bundles: Customer.Bundle[];
bookings: Customer.Booking[];
histories: Customer.History[];
visits: Customer.Visit[];
payments: Customer.Payment[];
};
export namespace Customer {
export type Token = `c_${string}`;
export type Params = UObject.PartialBy<Omit<Customer, "token">, "email">;
export type Activity = {
className: string;
location: string;
temperature: string;
status: string;
profileUrl: string;
assigneeName: string;
lastActivityDate: string;
eventDate?: string;
};
export type Membership = {
token: Organization.Token;
name: string;
activatedAt: Date;
expiresAt: Date;
userToken: string;
membershipPlanToken: Organization.MembershipPlan.Token;
renewsOn: Date;
price: number;
};
export type Bundle = {
token: Organization.Token;
name: string;
activatedAt: Date;
userToken: string;
bundlePlanToken: Organization.BundlePlan.Token;
renewsOn: Date;
price: number;
};
export type Booking = {
token: Organization.Token;
status: "pending" | "confirmed";
checkedInAt: Date;
bookableToken: Bookable.Token;
userToken: string;
schedule: string; // e.g. Every Tuesday 1:00 - 2:00 PM
name: string;
};
export type History = {
className: string;
location: string;
temperature: string;
profileUrl: string;
assigneeName: string;
lastActivityDate: Date;
eventDate?: Date;
purchasedBy?: string;
subscriptionBought?: string;
status: "Checked In" | "Cancelled";
};
export type Visit = {
className: string;
location: string;
temperature: string;
lastActivityDate: Date;
};
export type Payment = {
itemName: string;
price: number;
lastActivityDate: Date;
status: "Paid" | "Unpaid";
};
}Editor is loading...
Leave a Comment