jsq-ticket-type
Version:
TypeScript type definitions for ticket system - microservices types with comprehensive settings management
417 lines (374 loc) • 8.46 kB
text/typescript
// Exported enums for frontend use
export enum UserRole {
ADMIN = 'ADMIN',
PROMOTOR = 'PROMOTOR',
ARTIST = 'ARTIST',
USER = 'USER',
}
export enum ArtistGenre {
POP = 'POP',
ROCK = 'ROCK',
JAZZ = 'JAZZ',
CLASSICAL = 'CLASSICAL',
ELECTRONIC = 'ELECTRONIC',
HIP_HOP = 'HIP_HOP',
R_AND_B = 'R_AND_B',
COUNTRY = 'COUNTRY',
FOLK = 'FOLK',
REGGAE = 'REGGAE',
BLUES = 'BLUES',
METAL = 'METAL',
PUNK = 'PUNK',
INDIE = 'INDIE',
ALTERNATIVE = 'ALTERNATIVE',
WORLD = 'WORLD',
OTHER = 'OTHER',
}
export enum EventStatus {
DRAFT = 'DRAFT',
PENDING_APPROVAL = 'PENDING_APPROVAL',
PUBLISHED = 'PUBLISHED',
CANCELLED = 'CANCELLED',
COMPLETED = 'COMPLETED',
POSTPONED = 'POSTPONED',
}
export enum EventCategory {
CONCERT = 'CONCERT',
FESTIVAL = 'FESTIVAL',
THEATER = 'THEATER',
COMEDY = 'COMEDY',
SPORTS = 'SPORTS',
CONFERENCE = 'CONFERENCE',
WORKSHOP = 'WORKSHOP',
EXHIBITION = 'EXHIBITION',
OTHER = 'OTHER',
}
export enum TicketStatus {
ACTIVE = 'ACTIVE',
USED = 'USED',
CANCELLED = 'CANCELLED',
EXPIRED = 'EXPIRED',
REFUNDED = 'REFUNDED',
}
export enum TicketTypeStatus {
ACTIVE = 'ACTIVE',
SOLD_OUT = 'SOLD_OUT',
INACTIVE = 'INACTIVE',
CANCELLED = 'CANCELLED',
}
export enum ReservationStatus {
PENDING = 'PENDING',
CONFIRMED = 'CONFIRMED',
EXPIRED = 'EXPIRED',
CANCELLED = 'CANCELLED',
}
export enum OrderStatus {
PENDING = 'PENDING',
PAID = 'PAID',
CONFIRMED = 'CONFIRMED',
CANCELLED = 'CANCELLED',
REFUNDED = 'REFUNDED',
EXPIRED = 'EXPIRED',
}
export enum OrderItemType {
TICKET = 'TICKET',
MERCHANDISE = 'MERCHANDISE',
}
export enum DiscountType {
PERCENTAGE = 'PERCENTAGE',
FIXED_AMOUNT = 'FIXED_AMOUNT',
FREE_SHIPPING = 'FREE_SHIPPING',
}
export enum DiscountStatus {
ACTIVE = 'ACTIVE',
INACTIVE = 'INACTIVE',
EXPIRED = 'EXPIRED',
USED_UP = 'USED_UP',
}
export enum PaymentStatus {
PENDING = 'PENDING',
PROCESSING = 'PROCESSING',
COMPLETED = 'COMPLETED',
FAILED = 'FAILED',
CANCELLED = 'CANCELLED',
REFUNDED = 'REFUNDED',
PARTIALLY_REFUNDED = 'PARTIALLY_REFUNDED',
}
export enum PaymentMethod {
CREDIT_CARD = 'CREDIT_CARD',
DEBIT_CARD = 'DEBIT_CARD',
BANK_TRANSFER = 'BANK_TRANSFER',
VIRTUAL_ACCOUNT = 'VIRTUAL_ACCOUNT',
E_WALLET = 'E_WALLET',
QRIS = 'QRIS',
CASH = 'CASH',
INSTALLMENT = 'INSTALLMENT',
}
export enum PaymentProvider {
MIDTRANS = 'MIDTRANS',
XENDIT = 'XENDIT',
DOKU = 'DOKU',
FASPAY = 'FASPAY',
GOPAY = 'GOPAY',
OVO = 'OVO',
DANA = 'DANA',
LINKAJA = 'LINKAJA',
SHOPEEPAY = 'SHOPEEPAY',
BCA = 'BCA',
MANDIRI = 'MANDIRI',
BNI = 'BNI',
BRI = 'BRI',
PERMATA = 'PERMATA',
OTHER = 'OTHER',
}
export enum RefundStatus {
PENDING = 'PENDING',
PROCESSING = 'PROCESSING',
COMPLETED = 'COMPLETED',
FAILED = 'FAILED',
CANCELLED = 'CANCELLED',
}
export enum WebhookStatus {
PENDING = 'PENDING',
PROCESSED = 'PROCESSED',
FAILED = 'FAILED',
IGNORED = 'IGNORED',
}
export enum ShippingStatus {
PENDING = 'PENDING',
PROCESSING = 'PROCESSING',
SHIPPED = 'SHIPPED',
IN_TRANSIT = 'IN_TRANSIT',
OUT_FOR_DELIVERY = 'OUT_FOR_DELIVERY',
DELIVERED = 'DELIVERED',
FAILED_DELIVERY = 'FAILED_DELIVERY',
RETURNED = 'RETURNED',
CANCELLED = 'CANCELLED',
}
export enum InstallmentStatus {
PENDING = 'PENDING',
DUE = 'DUE',
PAID = 'PAID',
OVERDUE = 'OVERDUE',
CANCELLED = 'CANCELLED',
FAILED = 'FAILED',
}
export enum DisputeStatus {
OPENED = 'OPENED',
UNDER_REVIEW = 'UNDER_REVIEW',
EVIDENCE_REQUIRED = 'EVIDENCE_REQUIRED',
RESOLVED = 'RESOLVED',
LOST = 'LOST',
WON = 'WON',
CANCELLED = 'CANCELLED',
}
export enum DisputeType {
CHARGEBACK = 'CHARGEBACK',
INQUIRY = 'INQUIRY',
RETRIEVAL = 'RETRIEVAL',
FRAUD = 'FRAUD',
AUTHORIZATION = 'AUTHORIZATION',
PROCESSING_ERROR = 'PROCESSING_ERROR',
DUPLICATE_PROCESSING = 'DUPLICATE_PROCESSING',
CREDIT_NOT_PROCESSED = 'CREDIT_NOT_PROCESSED',
CANCELLED_RECURRING = 'CANCELLED_RECURRING',
PRODUCT_NOT_RECEIVED = 'PRODUCT_NOT_RECEIVED',
PRODUCT_UNACCEPTABLE = 'PRODUCT_UNACCEPTABLE',
OTHER = 'OTHER',
}
export enum NotificationType {
EMAIL = 'EMAIL',
SMS = 'SMS',
PUSH = 'PUSH',
IN_APP = 'IN_APP',
WHATSAPP = 'WHATSAPP',
}
export enum NotificationStatus {
PENDING = 'PENDING',
SENT = 'SENT',
DELIVERED = 'DELIVERED',
FAILED = 'FAILED',
CANCELLED = 'CANCELLED',
BOUNCED = 'BOUNCED',
OPENED = 'OPENED',
CLICKED = 'CLICKED',
}
export enum NotificationPriority {
LOW = 'LOW',
NORMAL = 'NORMAL',
HIGH = 'HIGH',
URGENT = 'URGENT',
}
export enum TemplateStatus {
DRAFT = 'DRAFT',
ACTIVE = 'ACTIVE',
INACTIVE = 'INACTIVE',
ARCHIVED = 'ARCHIVED',
}
export enum DeliveryProvider {
SENDGRID = 'SENDGRID',
MAILGUN = 'MAILGUN',
SES = 'SES',
TWILIO = 'TWILIO',
NEXMO = 'NEXMO',
FIREBASE = 'FIREBASE',
ONESIGNAL = 'ONESIGNAL',
WHATSAPP_BUSINESS = 'WHATSAPP_BUSINESS',
INTERNAL = 'INTERNAL',
}
export enum MerchandiseCategory {
CLOTHING = 'CLOTHING',
ACCESSORIES = 'ACCESSORIES',
COLLECTIBLES = 'COLLECTIBLES',
MUSIC = 'MUSIC',
BOOKS = 'BOOKS',
ELECTRONICS = 'ELECTRONICS',
HOME_DECOR = 'HOME_DECOR',
STATIONERY = 'STATIONERY',
BAGS = 'BAGS',
SHOES = 'SHOES',
JEWELRY = 'JEWELRY',
OTHER = 'OTHER',
}
export enum MerchandiseStatus {
DRAFT = 'DRAFT',
ACTIVE = 'ACTIVE',
INACTIVE = 'INACTIVE',
OUT_OF_STOCK = 'OUT_OF_STOCK',
DISCONTINUED = 'DISCONTINUED',
ARCHIVED = 'ARCHIVED',
}
export enum MerchandiseOrderStatus {
PENDING = 'PENDING',
CONFIRMED = 'CONFIRMED',
PROCESSING = 'PROCESSING',
SHIPPED = 'SHIPPED',
DELIVERED = 'DELIVERED',
CANCELLED = 'CANCELLED',
REFUNDED = 'REFUNDED',
RETURNED = 'RETURNED',
}
export enum VariantType {
SIZE = 'SIZE',
COLOR = 'COLOR',
MATERIAL = 'MATERIAL',
STYLE = 'STYLE',
EDITION = 'EDITION',
OTHER = 'OTHER',
}
export enum ShippingMethod {
STANDARD = 'STANDARD',
EXPRESS = 'EXPRESS',
OVERNIGHT = 'OVERNIGHT',
PICKUP = 'PICKUP',
DIGITAL = 'DIGITAL',
}
export enum EventMediaType {
IMAGE = 'IMAGE',
VIDEO = 'VIDEO',
AUDIO = 'AUDIO',
DOCUMENT = 'DOCUMENT',
}
export enum EventArtistRole {
HEADLINER = 'HEADLINER',
SUPPORTING = 'SUPPORTING',
OPENING = 'OPENING',
PERFORMER = 'PERFORMER',
GUEST = 'GUEST',
HOST = 'HOST',
MODERATOR = 'MODERATOR',
}
export enum ApprovalStatus {
PENDING = 'PENDING',
APPROVED = 'APPROVED',
REJECTED = 'REJECTED',
CANCELLED = 'CANCELLED',
}
// Settings System Enums
export enum SettingCategory {
SECURITY = 'SECURITY',
EMAIL = 'EMAIL',
PAYMENT = 'PAYMENT',
PLATFORM = 'PLATFORM',
NOTIFICATION = 'NOTIFICATION',
DATABASE = 'DATABASE',
FEATURE_FLAGS = 'FEATURE_FLAGS',
API = 'API',
INTEGRATION = 'INTEGRATION',
ANALYTICS = 'ANALYTICS',
}
export enum SettingDataType {
STRING = 'STRING',
NUMBER = 'NUMBER',
BOOLEAN = 'BOOLEAN',
JSON = 'JSON',
ARRAY = 'ARRAY',
ENCRYPTED = 'ENCRYPTED',
URL = 'URL',
EMAIL = 'EMAIL',
}
export enum SettingEnvironment {
DEVELOPMENT = 'DEVELOPMENT',
STAGING = 'STAGING',
PRODUCTION = 'PRODUCTION',
ALL = 'ALL',
}
export enum SettingChangeType {
CREATE = 'CREATE',
UPDATE = 'UPDATE',
DELETE = 'DELETE',
RESTORE = 'RESTORE',
BULK_UPDATE = 'BULK_UPDATE',
}
export enum SettingChangeSource {
ADMIN_PANEL = 'ADMIN_PANEL',
API = 'API',
SYSTEM = 'SYSTEM',
MIGRATION = 'MIGRATION',
IMPORT = 'IMPORT',
WEBHOOK = 'WEBHOOK',
}
export enum FeatureFlagStatus {
ACTIVE = 'ACTIVE',
INACTIVE = 'INACTIVE',
TESTING = 'TESTING',
DEPRECATED = 'DEPRECATED',
ARCHIVED = 'ARCHIVED',
}
export enum FeatureFlagType {
BOOLEAN = 'BOOLEAN',
PERCENTAGE = 'PERCENTAGE',
USER_LIST = 'USER_LIST',
ROLE_BASED = 'ROLE_BASED',
GEOGRAPHIC = 'GEOGRAPHIC',
TIME_BASED = 'TIME_BASED',
}
export enum FeatureFlagScope {
GLOBAL = 'GLOBAL',
SERVICE = 'SERVICE',
FEATURE = 'FEATURE',
EXPERIMENT = 'EXPERIMENT',
}
export enum EmailTemplateType {
SYSTEM = 'SYSTEM',
MARKETING = 'MARKETING',
TRANSACTIONAL = 'TRANSACTIONAL',
NOTIFICATION = 'NOTIFICATION',
REMINDER = 'REMINDER',
CONFIRMATION = 'CONFIRMATION',
INVITATION = 'INVITATION',
WELCOME = 'WELCOME',
RESET_PASSWORD = 'RESET_PASSWORD',
VERIFICATION = 'VERIFICATION',
}
export enum EmailTemplateFormat {
HTML = 'HTML',
TEXT = 'TEXT',
MIXED = 'MIXED',
}
export enum EmailTemplatePriority {
LOW = 'LOW',
NORMAL = 'NORMAL',
HIGH = 'HIGH',
URGENT = 'URGENT',
}