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 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 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