flutter_shared_model library
Flutter Shared Model Package
This package contains all shared data models, interfaces, enums, and types for the Insach food delivery platform in Flutter/Dart.
@version 1.0.0 @author Insach Team
Classes
- Address
- Address interface
-
ApiResponse<
T> - Generic response type
- AuditLog
- AuditLog interface
- Banner
- Banner interface
- BaseEntity
- Base interface for all entities
- Campaign
- Campaign interface
- Category
- Category interface
- CollectionGroups
- Collection Groups for complex queries
- Collections
- Database collection constants - synchronized with TypeScript shared model
- Coordinates
- Generic coordinates type
- Delivery
- Delivery interface
- DeliveryPerson
- DeliveryPerson interface
- Dish
- Dish interface
- DishCustomization
- DishCustomization interface
- DishCustomizationOption
- DishCustomizationOption interface
- DishVariant
- DishVariant interface
- DocumentFields
- Document field constants
- DynamicCategory
-
- DYNAMIC CATEGORY (managed from admin panel)
- EnumHelper
- Helper class for enum parsing and conversion
- FAQ
- FAQ interface
- Filter
- Generic filter type
- Kitchen
- Kitchen interface
- KitchenDocument
- KitchenDocument interface
- KitchenPrepSheet
-
- KITCHEN PREP SHEET (operations)
-
ListResponse<
T> - Generic list response type
- MealCategory
-
- MEAL CATEGORY (for customizable lunchboxes)
- MealComponent
-
- MEAL COMPONENT (individual items in a meal)
- MealPlan
-
- MEAL PLAN (replaces separate Thali/Lunchbox models)
- MealRecommendation
-
- MEAL RECOMMENDATION (for smart suggestions)
- MenuCategory
- MenuCategory interface
- NotificationTemplate
- NotificationTemplate interface
- Offer
- Offer interface
- Order
- Order interface
- OrderCutoffLog
-
- ORDER CUTOFF LOG (for tracking cutoff enforcement)
- OrderDirections
- Order directions
- OrderItem
- OrderItem interface
- Pagination
- Generic pagination type
- Payment
- Payment interface
- PricingCalculation
-
- PRICING CALCULATION (for audit trail)
- Query
- Generic query type
- QueryOperators
- Query operators
- Refund
- Refund interface
- Review
- Review interface
- ReviewReport
- ReviewReport interface
- Sort
- Generic sort type
- Subcollections
- Subcollection patterns
- SupportMessage
- SupportMessage interface
- SupportNote
- SupportNote interface
- SupportTicket
- SupportTicket interface
- TimeRange
- Generic time range type
- User
- User interface
- UserMealSelection
-
- USER MEAL SELECTION (daily customization)
- UserNotification
- Notification interface
- UserSubscription
-
- SUBSCRIPTION PLAN
Enums
- AddressType
- Common utility enums - synchronized with TypeScript shared model
- AdminLevel
- AdminLevel - synchronized with TypeScript shared model
- AllergenType
- AllergenType - synchronized with TypeScript shared model
- AnalyticsMetric
- AnalyticsMetric - synchronized with TypeScript shared model
- AuditAction
- AuditAction - synchronized with TypeScript shared model
- BadgeClass
- BadgeClass - synchronized with TypeScript shared model
- BannerActionType
- BannerActionType - synchronized with TypeScript shared model
- BannerPosition
- BannerPosition - synchronized with TypeScript shared model
- BannerType
- BannerType - synchronized with TypeScript shared model
- BillingCycle
- BillingCycle - synchronized with TypeScript shared model
- BulkAction
- BulkAction - synchronized with TypeScript shared model
- BusinessType
- BusinessType - synchronized with TypeScript shared model
- CampaignType
- Marketing and campaign-related enums - synchronized with TypeScript shared model
- CategoryType
- CategoryType - synchronized with TypeScript shared model
- City
- City - synchronized with TypeScript shared model (FIXED: using lowercase values)
- ComponentCategory
- Component Categories (for meal structure) - synchronized with TypeScript shared model
- ContactType
- ContactType - synchronized with TypeScript shared model
- Country
- Country - synchronized with TypeScript shared model (FIXED: using lowercase values)
- CuisineType
- CuisineType - synchronized with TypeScript shared model
- Currency
- Currency - synchronized with TypeScript shared model
- CustomizationRuleType
- CustomizationRuleType - synchronized with TypeScript shared model
- CustomizationType
- Menu and food-related enums - synchronized with TypeScript shared model
- DayOfWeek
- DayOfWeek - synchronized with TypeScript shared model
- DeliveryStatus
- DeliveryStatus - synchronized with TypeScript shared model
- DeliveryTimeSlot
- Delivery Time Slots - synchronized with TypeScript shared model
- DietaryType
- DietaryType - synchronized with TypeScript shared model
- DiscountType
- DiscountType - synchronized with TypeScript shared model
- DishCategory
- DishCategory - synchronized with TypeScript shared model
- DocumentStatus
- DocumentStatus - synchronized with TypeScript shared model
- DocumentType
- Document and verification enums - synchronized with TypeScript shared model DocumentType - synchronized with TypeScript shared model
- FeedbackType
- Feedback Types - synchronized with TypeScript shared model
- FuelType
- FuelType - synchronized with TypeScript shared model
- Gender
- Gender - synchronized with TypeScript shared model
- IngredientCategory
- IngredientCategory - synchronized with TypeScript shared model
- InvoiceStatus
- InvoiceStatus - synchronized with TypeScript shared model
- KitchenStatus
- KitchenStatus - synchronized with TypeScript shared model
- KitchenType
- KitchenType - synchronized with TypeScript shared model
- LoyaltyRewardType
- LoyaltyRewardType - synchronized with TypeScript shared model
- LunchboxComponentCategory
- LunchboxComponentCategory - synchronized with TypeScript shared model
- LunchboxStatus
- LunchboxStatus - synchronized with TypeScript shared model
- MealNotificationType
- Notification Types - synchronized with TypeScript shared model
- MealPlanStatus
- Meal Plan Status - synchronized with TypeScript shared model
- MealPlanTier
- Meal Plan Tiers - synchronized with TypeScript shared model
- MealPlanType
- MVP Meal Plan Enums - Unified system for Thali and Lunchbox Phase 1: MVP (Months 1-2) - Fixed Thali, Fixed Lunchbox, Simple Customization
- MealType
- MealType - synchronized with TypeScript shared model
- NotificationActionType
- NotificationActionType - synchronized with TypeScript shared model
- NotificationCategory
- NotificationCategory - synchronized with TypeScript shared model
- NotificationChannel
- NotificationChannel - synchronized with TypeScript shared model
- NotificationPriority
- NotificationPriority - synchronized with TypeScript shared model
- NotificationTemplateType
- NotificationTemplateType - synchronized with TypeScript shared model
- NotificationType
- Notification-related enums - synchronized with TypeScript shared model
- OfferType
- OfferType - synchronized with TypeScript shared model
- OrderPrefix
- StoragePathType - synchronized with TypeScript shared model OrderPrefix - synchronized with TypeScript shared model (FIXED: matching core.enums.ts values)
- OrderSource
- Order Sources - synchronized with TypeScript shared model
- OrderStatus
- OrderStatus - synchronized with TypeScript shared model
- OrderType
- OrderType - synchronized with TypeScript shared model
- PackagingType
- Packaging Types - synchronized with TypeScript shared model
- PaymentCycle
- PaymentCycle - synchronized with TypeScript shared model
- PaymentMethod
- PaymentMethod - synchronized with TypeScript shared model
- PaymentStatus
- PaymentStatus - synchronized with TypeScript shared model
- PayoutBatchStatus
- PayoutBatchStatus - synchronized with TypeScript shared model
- PayoutBatchType
- PayoutBatchType - synchronized with TypeScript shared model
- PayoutStatus
- PayoutStatus - synchronized with TypeScript shared model
- PerformanceLevel
- PerformanceLevel - synchronized with TypeScript shared model
- PlanType
- PlanType - synchronized with TypeScript shared model
- Platform
- Platform - synchronized with TypeScript shared model
- PortionSize
- PortionSize - synchronized with TypeScript shared model
- PrepStatus
- Kitchen Prep Status - synchronized with TypeScript shared model
- PriceDisplayFormat
- PriceDisplayFormat - synchronized with TypeScript shared model
- Priority
- ProcessingStatus
- ProcessingStatus - synchronized with TypeScript shared model
- RatingCategory
- Rating Categories - synchronized with TypeScript shared model
- RatingScale
- RecipeDifficulty
- RecipeDifficulty - synchronized with TypeScript shared model
- RecipientType
- RecipientType - synchronized with TypeScript shared model
- RefundCategory
- RefundCategory - synchronized with TypeScript shared model
- RefundStatus
- RefundStatus - synchronized with TypeScript shared model
- RegistrationStatus
- RegistrationStatus - synchronized with TypeScript shared model
- ReviewEntityType
- ReviewEntityType - synchronized with TypeScript shared model
- ReviewModerationStatus
- ReviewModerationStatus - synchronized with TypeScript shared model
- ReviewReportReason
- ReviewReportReason - synchronized with TypeScript shared model
- ReviewReportStatus
- ReviewReportStatus - synchronized with TypeScript shared model
- RoleType
- Flutter Shared Model Package - Auto-generated from TypeScript
- SelectionStatus
- Selection Status (for user meal selections) - synchronized with TypeScript shared model
- SelectionType
- SelectionType - synchronized with TypeScript shared model
- SortBy
- SortBy - synchronized with TypeScript shared model
- SortOrder
- SortOrder - synchronized with TypeScript shared model
- SpiceLevel
- SpiceLevel - synchronized with TypeScript shared model
- StatusType
- StatusType - synchronized with TypeScript shared model
- StoragePathType
- StoragePathType - synchronized with TypeScript shared model
- SubscriptionPlanType
- SubscriptionPlanType - synchronized with TypeScript shared model
- SubscriptionStatus
- SubscriptionStatus - synchronized with TypeScript shared model
- SubscriptionType
- SubscriptionType - synchronized with TypeScript shared model
- SupportCategory
- SupportCategory - synchronized with TypeScript shared model
- SupportMessageType
- SupportMessageType - synchronized with TypeScript shared model
- SupportPriority
- Support and system-related enums - synchronized with TypeScript shared model
- SupportResolutionType
- SupportResolutionType - synchronized with TypeScript shared model
- SupportSenderType
- SupportSenderType - synchronized with TypeScript shared model
- SupportSeverity
- SupportSeverity - synchronized with TypeScript shared model
- SupportStatus
- SupportStatus - synchronized with TypeScript shared model
- TaxType
- TaxType - synchronized with TypeScript shared model
- ThaliComponentCategory
- ThaliComponentCategory - synchronized with TypeScript shared model
- ThaliMealType
- ThaliMealType - synchronized with TypeScript shared model
- TimeSlotType
- TimeSlotType - synchronized with TypeScript shared model
- Unit
- Unit - synchronized with TypeScript shared model
- VehicleType
- VehicleType - synchronized with TypeScript shared model
- VerificationStatus
- VerificationStatus - synchronized with TypeScript shared model
- VerificationType
- VerificationType - synchronized with TypeScript shared model
Extensions
- EnumExtensions on Enum
- Extension methods for enums to get string representations
Typedefs
- CurrencyAmount = double
- Generic currency amount type
- Email = String
- Generic email type
- ID = String
- Generic ID type
- Percentage = double
- Generic percentage type
- Phone = String
- Generic phone type
- Rating = double
- Generic rating type
- Timestamp = DateTime
- Type definitions - synchronized with TypeScript shared model
- URL = String
- Generic URL type