@tabres/react 1.0.54 → 1.0.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/index.esm.js +1 -1
  2. package/dist/index.esm.js.map +1 -1
  3. package/dist/index.js +1 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/models/index.esm.js +1 -1
  6. package/dist/models/index.esm.js.map +1 -1
  7. package/dist/models/index.js +1 -1
  8. package/dist/models/index.js.map +1 -1
  9. package/dist/models/modules/branch/constants.d.ts +1 -0
  10. package/dist/models/modules/branch/models.d.ts +33 -0
  11. package/dist/models/modules/branch/utils.d.ts +43 -0
  12. package/dist/models/modules/order/hooks.d.ts +15 -0
  13. package/dist/models/modules/order/models.d.ts +8 -0
  14. package/dist/models/services/translation/locales/az/error.d.ts +1 -0
  15. package/dist/models/services/translation/locales/az/index.d.ts +1 -0
  16. package/dist/models/services/translation/locales/en/error.d.ts +1 -0
  17. package/dist/models/services/translation/locales/en/index.d.ts +1 -0
  18. package/dist/models/services/translation/locales/es/error.d.ts +1 -0
  19. package/dist/models/services/translation/locales/es/index.d.ts +1 -0
  20. package/dist/models/services/translation/locales/et/error.d.ts +1 -0
  21. package/dist/models/services/translation/locales/et/index.d.ts +1 -0
  22. package/dist/models/services/translation/locales/hr/error.d.ts +1 -0
  23. package/dist/models/services/translation/locales/hr/index.d.ts +1 -0
  24. package/dist/models/services/translation/locales/index.d.ts +10 -0
  25. package/dist/models/services/translation/locales/nl/error.d.ts +1 -0
  26. package/dist/models/services/translation/locales/nl/index.d.ts +1 -0
  27. package/dist/models/services/translation/locales/pl/error.d.ts +1 -0
  28. package/dist/models/services/translation/locales/pl/index.d.ts +1 -0
  29. package/dist/models/services/translation/locales/pt/error.d.ts +1 -0
  30. package/dist/models/services/translation/locales/pt/index.d.ts +1 -0
  31. package/dist/models/services/translation/locales/ru/error.d.ts +1 -0
  32. package/dist/models/services/translation/locales/ru/index.d.ts +1 -0
  33. package/dist/models/services/translation/locales/tr/error.d.ts +1 -0
  34. package/dist/models/services/translation/locales/tr/index.d.ts +1 -0
  35. package/dist/modules/branch/constants.d.ts +1 -0
  36. package/dist/modules/branch/models.d.ts +33 -0
  37. package/dist/modules/branch/utils.d.ts +43 -0
  38. package/dist/modules/order/hooks.d.ts +15 -0
  39. package/dist/modules/order/models.d.ts +8 -0
  40. package/dist/services/translation/locales/az/error.d.ts +1 -0
  41. package/dist/services/translation/locales/az/index.d.ts +1 -0
  42. package/dist/services/translation/locales/en/error.d.ts +1 -0
  43. package/dist/services/translation/locales/en/index.d.ts +1 -0
  44. package/dist/services/translation/locales/es/error.d.ts +1 -0
  45. package/dist/services/translation/locales/es/index.d.ts +1 -0
  46. package/dist/services/translation/locales/et/error.d.ts +1 -0
  47. package/dist/services/translation/locales/et/index.d.ts +1 -0
  48. package/dist/services/translation/locales/hr/error.d.ts +1 -0
  49. package/dist/services/translation/locales/hr/index.d.ts +1 -0
  50. package/dist/services/translation/locales/index.d.ts +10 -0
  51. package/dist/services/translation/locales/nl/error.d.ts +1 -0
  52. package/dist/services/translation/locales/nl/index.d.ts +1 -0
  53. package/dist/services/translation/locales/pl/error.d.ts +1 -0
  54. package/dist/services/translation/locales/pl/index.d.ts +1 -0
  55. package/dist/services/translation/locales/pt/error.d.ts +1 -0
  56. package/dist/services/translation/locales/pt/index.d.ts +1 -0
  57. package/dist/services/translation/locales/ru/error.d.ts +1 -0
  58. package/dist/services/translation/locales/ru/index.d.ts +1 -0
  59. package/dist/services/translation/locales/tr/error.d.ts +1 -0
  60. package/dist/services/translation/locales/tr/index.d.ts +1 -0
  61. package/dist/utils/index.esm.js.map +1 -1
  62. package/dist/utils/index.js.map +1 -1
  63. package/dist/utils/modules/branch/constants.d.ts +1 -0
  64. package/dist/utils/modules/branch/models.d.ts +33 -0
  65. package/dist/utils/modules/branch/utils.d.ts +43 -0
  66. package/dist/utils/modules/order/hooks.d.ts +15 -0
  67. package/dist/utils/modules/order/models.d.ts +8 -0
  68. package/dist/utils/services/translation/locales/az/error.d.ts +1 -0
  69. package/dist/utils/services/translation/locales/az/index.d.ts +1 -0
  70. package/dist/utils/services/translation/locales/en/error.d.ts +1 -0
  71. package/dist/utils/services/translation/locales/en/index.d.ts +1 -0
  72. package/dist/utils/services/translation/locales/es/error.d.ts +1 -0
  73. package/dist/utils/services/translation/locales/es/index.d.ts +1 -0
  74. package/dist/utils/services/translation/locales/et/error.d.ts +1 -0
  75. package/dist/utils/services/translation/locales/et/index.d.ts +1 -0
  76. package/dist/utils/services/translation/locales/hr/error.d.ts +1 -0
  77. package/dist/utils/services/translation/locales/hr/index.d.ts +1 -0
  78. package/dist/utils/services/translation/locales/index.d.ts +10 -0
  79. package/dist/utils/services/translation/locales/nl/error.d.ts +1 -0
  80. package/dist/utils/services/translation/locales/nl/index.d.ts +1 -0
  81. package/dist/utils/services/translation/locales/pl/error.d.ts +1 -0
  82. package/dist/utils/services/translation/locales/pl/index.d.ts +1 -0
  83. package/dist/utils/services/translation/locales/pt/error.d.ts +1 -0
  84. package/dist/utils/services/translation/locales/pt/index.d.ts +1 -0
  85. package/dist/utils/services/translation/locales/ru/error.d.ts +1 -0
  86. package/dist/utils/services/translation/locales/ru/index.d.ts +1 -0
  87. package/dist/utils/services/translation/locales/tr/error.d.ts +1 -0
  88. package/dist/utils/services/translation/locales/tr/index.d.ts +1 -0
  89. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- var E,A,R,_,T,I,N,D,O,C,S,L,P,U,M,V,n,H,Y,e,B,G,W,i,F;!function(E){E.SINGLE="SINGLE",E.MULTIPLE="MULTIPLE"}(E||(E={})),function(E){E.MAX_DELIVERY_DISTANCE="maxDeliveryDistance",E.DELIVERY_ORDER_ENABLED="deliveryOrderEnabled",E.PICKUP_ORDER_ENABLED="pickupOrderEnabled",E.DINE_IN_ORDER_ENABLED="dineInOrderEnabled",E.MIN_DELIVERY_AMOUNT="minDeliveryAmount",E.DELIVERY_FEE_AMOUNT="deliveryFeeAmount",E.SERVICE_CHARGE_ENABLED="serviceChargeEnabled",E.SERVICE_CHARGE_PERCENTAGE="serviceChargePercentage",E.ADD_TO_ORDER_ENABLED="addToOrderEnabled",E.GUEST_ORDER_ENABLED="guestOrderEnabled",E.PRIMARY_PAYMENT_METHODS="primaryPaymentMethods",E.SECONDARY_PAYMENT_METHODS="secondaryPaymentMethods"}(A||(A={})),function(E){E.PERCENTAGE="percentage",E.FIXED_AMOUNT="fixed"}(R||(R={})),function(E){E.ENTIRE_MENU="entire_menu",E.CLASS="class"}(_||(_={})),function(E){E.DELIVERY="delivery",E.TAKEAWAY="takeaway",E.DINE_IN="dine_in",E.ALL="ALL"}(T||(T={})),function(E){E.MAX_DELIVERY_DISTANCE="maxDeliveryDistance",E.DELIVERY_ORDER_ENABLED="deliveryOrderEnabled",E.PICKUP_ORDER_ENABLED="pickupOrderEnabled",E.DINE_IN_ORDER_ENABLED="dineInOrderEnabled",E.MIN_DELIVERY_AMOUNT="minDeliveryAmount"}(I||(I={})),function(E){E.PHONE="PHONE",E.OTP="OTP",E.EMAIL="EMAIL"}(N||(N={})),function(E){E.HOME="HOME",E.WORK="WORK",E.TRAVEL="TRAVEL"}(D||(D={})),function(E){E.UPLOAD_VIDEO="UPLOAD_VIDEO"}(O||(O={})),function(E){E.ALPHA="ALPHA",E.BETA="BETA",E.ALL="ALL"}(C||(C={})),function(E){E.DINE_IN="DINE_IN",E.PICK_UP="PICK_UP",E.DELIVERY="DELIVERY"}(S||(S={})),function(E){E.DRAFT="DRAFT",E.PENDING="PENDING",E.CONFIRMED="CONFIRMED",E.PREPARING="PREPARING",E.READY="READY",E.OUT_FOR_DELIVERY="OUT_FOR_DELIVERY",E.DELIVERED="DELIVERED",E.COMPLETED="COMPLETED",E.CANCELLED="CANCELLED",E.FAILED="FAILED"}(L||(L={})),function(E){E.PENDING="PENDING",E.PREPARING="PREPARING",E.READY="READY",E.SERVED="SERVED"}(P||(P={})),function(E){E.CASH="CASH",E.CARD="CARD",E.BANK_TRANSFER="BANK_TRANSFER",E.MOBILE="MOBILE",E.QR="QR",E.VOUCHER="VOUCHER",E.COMP="COMP",E.MIXED="MIXED"}(U||(U={})),function(E){E.CART="CART",E.DETAILS="DETAILS",E.COMPLETED="COMPLETED"}(M||(M={})),function(E){E.GLUTEN="GLUTEN",E.CRUSTACEANS="CRUSTACEANS",E.EGGS="EGGS",E.FISH="FISH",E.PEANUTS="PEANUTS",E.SOY="SOY",E.MILK="MILK",E.TREE_NUTS="TREE_NUTS",E.CELERY="CELERY",E.MUSTARD="MUSTARD",E.SESAME="SESAME",E.SULPHITES="SULPHITES",E.LUPIN="LUPIN",E.MOLLUSCS="MOLLUSCS",E.BUCKWHEAT="BUCKWHEAT"}(V||(V={})),function(E){E.LIST="list",E.GRID="grid"}(n||(n={})),function(E){E.PIECE="PIECE",E.WEIGHT="WEIGHT",E.VOLUME="VOLUME"}(H||(H={})),function(E){E.APPETIZER="appetizer",E.MAIN_COURSE="mainCourse",E.CHEFS_SPECIAL="chefsSpecial",E.LIFETIME="lifeTime"}(Y||(Y={})),function(E){E.ACTIVE="ACTIVE",E.EXPIRED="EXPIRED",E.CANCELLED="CANCELLED"}(e||(e={})),function(E){E.SQUARE="SQUARE",E.CIRCLE="CIRCLE",E.RECTANGLE="RECTANGLE",E.RECTANGLE_VERTICAL="RECTANGLE_VERTICAL",E.SINGLE_AT_BAR="SINGLE_AT_BAR",E.OTHER="OTHER"}(B||(B={})),function(E){E.VACANT="VACANT",E.RESERVED="RESERVED",E.OCCUPIED="OCCUPIED",E.BLOCKED="BLOCKED",E.NEEDS_CLEANING="NEEDS_CLEANING",E.OUT_OF_SERVICE="OUT_OF_SERVICE",E.PENDING_CONFIRMATION="PENDING_CONFIRMATION",E.NO_SHOW="NO_SHOW"}(G||(G={})),function(E){E.MAIN_HALL="MAIN_HALL",E.PRIVATE_DINING="PRIVATE_DINING",E.VIP_ROOM="VIP_ROOM",E.BANQUET_HALL="BANQUET_HALL",E.BAR_AREA="BAR_AREA",E.LOUNGE="LOUNGE",E.OPEN_KITCHEN="OPEN_KITCHEN",E.BOOTH_SECTION="BOOTH_SECTION",E.MEZZANINE="MEZZANINE",E.WINE_CELLAR="WINE_CELLAR",E.TERRACE="TERRACE",E.PATIO="PATIO",E.GARDEN="GARDEN",E.COURTYARD="COURTYARD",E.ROOFTOP="ROOFTOP",E.BALCONY="BALCONY",E.SIDEWALK="SIDEWALK",E.POOLSIDE="POOLSIDE",E.SMOKING_AREA="SMOKING_AREA",E.NON_SMOKING="NON_SMOKING",E.FAMILY_SECTION="FAMILY_SECTION",E.KIDS_AREA="KIDS_AREA",E.WAITING_AREA="WAITING_AREA",E.DANCE_FLOOR="DANCE_FLOOR"}(W||(W={})),function(E){E.VIEW_BUSINESS="VIEW_BUSINESS",E.UPDATE_BUSINESS="UPDATE_BUSINESS",E.VIEW_BUSINESS_FINANCIALS="VIEW_BUSINESS_FINANCIALS",E.VIEW_ORDERS="VIEW_ORDERS",E.UPDATE_ORDER="UPDATE_ORDER",E.CREATE_ORDER="CREATE_ORDER",E.APPLY_DISCOUNT="APPLY_DISCOUNT",E.VIEW_QR_MENU="VIEW_QR_MENU",E.UPDATE_QR_MENU="UPDATE_QR_MENU",E.VIEW_MENU="VIEW_MENU",E.VIEW_MENU_ITEMS="VIEW_MENU_ITEMS",E.CREATE_MENU_ITEM="CREATE_MENU_ITEM",E.UPDATE_MENU_ITEM="UPDATE_MENU_ITEM",E.DELETE_MENU_ITEM="DELETE_MENU_ITEM",E.VIEW_CATEGORIES="VIEW_CATEGORIES",E.UPDATE_CATEGORY="UPDATE_CATEGORY",E.CREATE_CATEGORY="CREATE_CATEGORY",E.DELETE_CATEGORY="DELETE_CATEGORY",E.VIEW_ADDONS="VIEW_ADDONS",E.UPDATE_ADDON="UPDATE_ADDON",E.CREATE_ADDON="CREATE_ADDON",E.DELETE_ADDON="DELETE_ADDON",E.VIEW_TABLES="VIEW_TABLES",E.UPDATE_TABLE="UPDATE_TABLE",E.UPDATE_TABLE_STATUS="UPDATE_TABLE_STATUS",E.CREATE_TABLE="CREATE_TABLE",E.DELETE_TABLE="DELETE_TABLE",E.VIEW_BRANCHES="VIEW_BRANCHES",E.UPDATE_BRANCH="UPDATE_BRANCH",E.CREATE_BRANCH="CREATE_BRANCH",E.DELETE_BRANCH="DELETE_BRANCH",E.VIEW_EMPLOYEES="VIEW_EMPLOYEES",E.UPDATE_EMPLOYEE="UPDATE_EMPLOYEE",E.CREATE_EMPLOYEE="CREATE_EMPLOYEE",E.DELETE_EMPLOYEE="DELETE_EMPLOYEE",E.VIEW_ANALYTICS="VIEW_ANALYTICS",E.VIEW_SALES_REPORTS="VIEW_SALES_REPORTS",E.VIEW_SUBSCRIPTION="VIEW_SUBSCRIPTION",E.UPDATE_SUBSCRIPTION="UPDATE_SUBSCRIPTION",E.VIEW_QR_CODES="VIEW_QR_CODES",E.CREATE_QR_CODE="CREATE_QR_CODE",E.DELETE_QR_CODE="DELETE_QR_CODE",E.ALL="ALL",E.VIEW_INVENTORY="VIEW_INVENTORY",E.VIEW_PURCHASES="VIEW_PURCHASES",E.VIEW_PURCHASE_DETAIL="VIEW_PURCHASE_DETAIL",E.CREATE_PURCHASE="CREATE_PURCHASE",E.UPDATE_PURCHASE="UPDATE_PURCHASE",E.DELETE_PURCHASE="DELETE_PURCHASE",E.VIEW_INVENTORY_PRODUCTS="VIEW_INVENTORY_PRODUCTS",E.CREATE_INVENTORY_PRODUCT="CREATE_INVENTORY_PRODUCT",E.UPDATE_INVENTORY_PRODUCT="UPDATE_INVENTORY_PRODUCT",E.DELETE_INVENTORY_PRODUCT="DELETE_INVENTORY_PRODUCT",E.VIEW_BUSINESS_BALANCE="VIEW_BUSINESS_BALANCE",E.VIEW_BRANCH_BALANCE="VIEW_BRANCH_BALANCE",E.UPDATE_PRODUCT_INGREDIENTS="UPDATE_PRODUCT_INGREDIENTS",E.DELETE_PRODUCT_INGREDIENTS="DELETE_PRODUCT_INGREDIENTS",E.AI_ASSISTANT="AI_ASSISTANT",E.VIEW_PAYMENTS="VIEW_PAYMENTS",E.TAKE_PAYMENT="TAKE_PAYMENT",E.REFUND_PAYMENT="REFUND_PAYMENT",E.PAYMENT_COMP="COMP"}(i||(i={})),function(E){E.OWNER="OWNER",E.BRANCH_MANAGER="BRANCH_MANAGER",E.GENERAL_MANAGER="GENERAL_MANAGER",E.CHEF="CHEF",E.SOUS_CHEF="SOUS_CHEF",E.PASTRY_CHEF="PASTRY_CHEF",E.LINE_COOK="LINE_COOK",E.PREP_COOK="PREP_COOK",E.KITCHEN_ASSISTANT="KITCHEN_ASSISTANT",E.DISHWASHER="DISHWASHER",E.HEAD_WAITER="HEAD_WAITER",E.WAITER="WAITER",E.RUNNER="RUNNER",E.BARISTA="BARISTA",E.BARTENDER="BARTENDER",E.SOMMELIER="SOMMELIER",E.ACCOUNTANT="ACCOUNTANT",E.ROOM_SERVICE_STAFF="ROOM_SERVICE_STAFF",E.DELIVERY_DRIVER="DELIVERY_DRIVER",E.INVENTORY_MANAGER="INVENTORY_MANAGER",E.PURCHASING_MANAGER="PURCHASING_MANAGER",E.WAREHOUSE_STAFF="WAREHOUSE_STAFF",E.CASHIER="CASHIER"}(F||(F={}));export{V as Allergen,A as BranchSetting,T as BranchTaxFulfillment,_ as BranchTaxScope,R as BranchTaxType,I as BusinessSetting,D as CustomerAddressType,N as CustomerAuthStep,i as EmployeePermission,O as Feature,C as FeatureSegment,E as MenuAddonSelectType,P as OrderItemStatus,L as OrderStatus,M as OrderStep,S as OrderType,U as PaymentMethod,Y as PlanType,n as ProductView,H as SellUnitType,e as SubscriptionStatus,W as TableLocation,B as TableShape,G as TableStatus,F as UserRole};
1
+ var E,A,R,_,T,I,N,D,O,C,S,L,P,U,M,V,n,e,H,Y,B,G,W,i,F,t;!function(E){E.SINGLE="SINGLE",E.MULTIPLE="MULTIPLE"}(E||(E={})),function(E){E.FIXED="FIXED",E.DISTANCE="DISTANCE"}(A||(A={})),function(E){E.MAX_DELIVERY_DISTANCE="maxDeliveryDistance",E.DELIVERY_ORDER_ENABLED="deliveryOrderEnabled",E.PICKUP_ORDER_ENABLED="pickupOrderEnabled",E.DINE_IN_ORDER_ENABLED="dineInOrderEnabled",E.MIN_DELIVERY_AMOUNT="minDeliveryAmount",E.DELIVERY_FEE_AMOUNT="deliveryFeeAmount",E.DELIVERY_FEE_TYPE="deliveryFeeType",E.DELIVERY_FEE_TIERS="deliveryFeeTiers",E.SERVICE_CHARGE_ENABLED="serviceChargeEnabled",E.SERVICE_CHARGE_PERCENTAGE="serviceChargePercentage",E.ADD_TO_ORDER_ENABLED="addToOrderEnabled",E.GUEST_ORDER_ENABLED="guestOrderEnabled",E.PRIMARY_PAYMENT_METHODS="primaryPaymentMethods",E.SECONDARY_PAYMENT_METHODS="secondaryPaymentMethods"}(R||(R={})),function(E){E.PERCENTAGE="percentage",E.FIXED_AMOUNT="fixed"}(_||(_={})),function(E){E.ENTIRE_MENU="entire_menu",E.CLASS="class"}(T||(T={})),function(E){E.DELIVERY="delivery",E.TAKEAWAY="takeaway",E.DINE_IN="dine_in",E.ALL="ALL"}(I||(I={})),function(E){E.MAX_DELIVERY_DISTANCE="maxDeliveryDistance",E.DELIVERY_ORDER_ENABLED="deliveryOrderEnabled",E.PICKUP_ORDER_ENABLED="pickupOrderEnabled",E.DINE_IN_ORDER_ENABLED="dineInOrderEnabled",E.MIN_DELIVERY_AMOUNT="minDeliveryAmount"}(N||(N={})),function(E){E.PHONE="PHONE",E.OTP="OTP",E.EMAIL="EMAIL"}(D||(D={})),function(E){E.HOME="HOME",E.WORK="WORK",E.TRAVEL="TRAVEL"}(O||(O={})),function(E){E.UPLOAD_VIDEO="UPLOAD_VIDEO"}(C||(C={})),function(E){E.ALPHA="ALPHA",E.BETA="BETA",E.ALL="ALL"}(S||(S={})),function(E){E.DINE_IN="DINE_IN",E.PICK_UP="PICK_UP",E.DELIVERY="DELIVERY"}(L||(L={})),function(E){E.DRAFT="DRAFT",E.PENDING="PENDING",E.CONFIRMED="CONFIRMED",E.PREPARING="PREPARING",E.READY="READY",E.OUT_FOR_DELIVERY="OUT_FOR_DELIVERY",E.DELIVERED="DELIVERED",E.COMPLETED="COMPLETED",E.CANCELLED="CANCELLED",E.FAILED="FAILED"}(P||(P={})),function(E){E.PENDING="PENDING",E.PREPARING="PREPARING",E.READY="READY",E.SERVED="SERVED"}(U||(U={})),function(E){E.CASH="CASH",E.CARD="CARD",E.BANK_TRANSFER="BANK_TRANSFER",E.MOBILE="MOBILE",E.QR="QR",E.VOUCHER="VOUCHER",E.COMP="COMP",E.MIXED="MIXED"}(M||(M={})),function(E){E.CART="CART",E.DETAILS="DETAILS",E.COMPLETED="COMPLETED"}(V||(V={})),function(E){E.GLUTEN="GLUTEN",E.CRUSTACEANS="CRUSTACEANS",E.EGGS="EGGS",E.FISH="FISH",E.PEANUTS="PEANUTS",E.SOY="SOY",E.MILK="MILK",E.TREE_NUTS="TREE_NUTS",E.CELERY="CELERY",E.MUSTARD="MUSTARD",E.SESAME="SESAME",E.SULPHITES="SULPHITES",E.LUPIN="LUPIN",E.MOLLUSCS="MOLLUSCS",E.BUCKWHEAT="BUCKWHEAT"}(n||(n={})),function(E){E.LIST="list",E.GRID="grid"}(e||(e={})),function(E){E.PIECE="PIECE",E.WEIGHT="WEIGHT",E.VOLUME="VOLUME"}(H||(H={})),function(E){E.APPETIZER="appetizer",E.MAIN_COURSE="mainCourse",E.CHEFS_SPECIAL="chefsSpecial",E.LIFETIME="lifeTime"}(Y||(Y={})),function(E){E.ACTIVE="ACTIVE",E.EXPIRED="EXPIRED",E.CANCELLED="CANCELLED"}(B||(B={})),function(E){E.SQUARE="SQUARE",E.CIRCLE="CIRCLE",E.RECTANGLE="RECTANGLE",E.RECTANGLE_VERTICAL="RECTANGLE_VERTICAL",E.SINGLE_AT_BAR="SINGLE_AT_BAR",E.OTHER="OTHER"}(G||(G={})),function(E){E.VACANT="VACANT",E.RESERVED="RESERVED",E.OCCUPIED="OCCUPIED",E.BLOCKED="BLOCKED",E.NEEDS_CLEANING="NEEDS_CLEANING",E.OUT_OF_SERVICE="OUT_OF_SERVICE",E.PENDING_CONFIRMATION="PENDING_CONFIRMATION",E.NO_SHOW="NO_SHOW"}(W||(W={})),function(E){E.MAIN_HALL="MAIN_HALL",E.PRIVATE_DINING="PRIVATE_DINING",E.VIP_ROOM="VIP_ROOM",E.BANQUET_HALL="BANQUET_HALL",E.BAR_AREA="BAR_AREA",E.LOUNGE="LOUNGE",E.OPEN_KITCHEN="OPEN_KITCHEN",E.BOOTH_SECTION="BOOTH_SECTION",E.MEZZANINE="MEZZANINE",E.WINE_CELLAR="WINE_CELLAR",E.TERRACE="TERRACE",E.PATIO="PATIO",E.GARDEN="GARDEN",E.COURTYARD="COURTYARD",E.ROOFTOP="ROOFTOP",E.BALCONY="BALCONY",E.SIDEWALK="SIDEWALK",E.POOLSIDE="POOLSIDE",E.SMOKING_AREA="SMOKING_AREA",E.NON_SMOKING="NON_SMOKING",E.FAMILY_SECTION="FAMILY_SECTION",E.KIDS_AREA="KIDS_AREA",E.WAITING_AREA="WAITING_AREA",E.DANCE_FLOOR="DANCE_FLOOR"}(i||(i={})),function(E){E.VIEW_BUSINESS="VIEW_BUSINESS",E.UPDATE_BUSINESS="UPDATE_BUSINESS",E.VIEW_BUSINESS_FINANCIALS="VIEW_BUSINESS_FINANCIALS",E.VIEW_ORDERS="VIEW_ORDERS",E.UPDATE_ORDER="UPDATE_ORDER",E.CREATE_ORDER="CREATE_ORDER",E.APPLY_DISCOUNT="APPLY_DISCOUNT",E.VIEW_QR_MENU="VIEW_QR_MENU",E.UPDATE_QR_MENU="UPDATE_QR_MENU",E.VIEW_MENU="VIEW_MENU",E.VIEW_MENU_ITEMS="VIEW_MENU_ITEMS",E.CREATE_MENU_ITEM="CREATE_MENU_ITEM",E.UPDATE_MENU_ITEM="UPDATE_MENU_ITEM",E.DELETE_MENU_ITEM="DELETE_MENU_ITEM",E.VIEW_CATEGORIES="VIEW_CATEGORIES",E.UPDATE_CATEGORY="UPDATE_CATEGORY",E.CREATE_CATEGORY="CREATE_CATEGORY",E.DELETE_CATEGORY="DELETE_CATEGORY",E.VIEW_ADDONS="VIEW_ADDONS",E.UPDATE_ADDON="UPDATE_ADDON",E.CREATE_ADDON="CREATE_ADDON",E.DELETE_ADDON="DELETE_ADDON",E.VIEW_TABLES="VIEW_TABLES",E.UPDATE_TABLE="UPDATE_TABLE",E.UPDATE_TABLE_STATUS="UPDATE_TABLE_STATUS",E.CREATE_TABLE="CREATE_TABLE",E.DELETE_TABLE="DELETE_TABLE",E.VIEW_BRANCHES="VIEW_BRANCHES",E.UPDATE_BRANCH="UPDATE_BRANCH",E.CREATE_BRANCH="CREATE_BRANCH",E.DELETE_BRANCH="DELETE_BRANCH",E.VIEW_EMPLOYEES="VIEW_EMPLOYEES",E.UPDATE_EMPLOYEE="UPDATE_EMPLOYEE",E.CREATE_EMPLOYEE="CREATE_EMPLOYEE",E.DELETE_EMPLOYEE="DELETE_EMPLOYEE",E.VIEW_ANALYTICS="VIEW_ANALYTICS",E.VIEW_SALES_REPORTS="VIEW_SALES_REPORTS",E.VIEW_SUBSCRIPTION="VIEW_SUBSCRIPTION",E.UPDATE_SUBSCRIPTION="UPDATE_SUBSCRIPTION",E.VIEW_QR_CODES="VIEW_QR_CODES",E.CREATE_QR_CODE="CREATE_QR_CODE",E.DELETE_QR_CODE="DELETE_QR_CODE",E.ALL="ALL",E.VIEW_INVENTORY="VIEW_INVENTORY",E.VIEW_PURCHASES="VIEW_PURCHASES",E.VIEW_PURCHASE_DETAIL="VIEW_PURCHASE_DETAIL",E.CREATE_PURCHASE="CREATE_PURCHASE",E.UPDATE_PURCHASE="UPDATE_PURCHASE",E.DELETE_PURCHASE="DELETE_PURCHASE",E.VIEW_INVENTORY_PRODUCTS="VIEW_INVENTORY_PRODUCTS",E.CREATE_INVENTORY_PRODUCT="CREATE_INVENTORY_PRODUCT",E.UPDATE_INVENTORY_PRODUCT="UPDATE_INVENTORY_PRODUCT",E.DELETE_INVENTORY_PRODUCT="DELETE_INVENTORY_PRODUCT",E.VIEW_BUSINESS_BALANCE="VIEW_BUSINESS_BALANCE",E.VIEW_BRANCH_BALANCE="VIEW_BRANCH_BALANCE",E.UPDATE_PRODUCT_INGREDIENTS="UPDATE_PRODUCT_INGREDIENTS",E.DELETE_PRODUCT_INGREDIENTS="DELETE_PRODUCT_INGREDIENTS",E.AI_ASSISTANT="AI_ASSISTANT",E.VIEW_PAYMENTS="VIEW_PAYMENTS",E.TAKE_PAYMENT="TAKE_PAYMENT",E.REFUND_PAYMENT="REFUND_PAYMENT",E.PAYMENT_COMP="COMP"}(F||(F={})),function(E){E.OWNER="OWNER",E.BRANCH_MANAGER="BRANCH_MANAGER",E.GENERAL_MANAGER="GENERAL_MANAGER",E.CHEF="CHEF",E.SOUS_CHEF="SOUS_CHEF",E.PASTRY_CHEF="PASTRY_CHEF",E.LINE_COOK="LINE_COOK",E.PREP_COOK="PREP_COOK",E.KITCHEN_ASSISTANT="KITCHEN_ASSISTANT",E.DISHWASHER="DISHWASHER",E.HEAD_WAITER="HEAD_WAITER",E.WAITER="WAITER",E.RUNNER="RUNNER",E.BARISTA="BARISTA",E.BARTENDER="BARTENDER",E.SOMMELIER="SOMMELIER",E.ACCOUNTANT="ACCOUNTANT",E.ROOM_SERVICE_STAFF="ROOM_SERVICE_STAFF",E.DELIVERY_DRIVER="DELIVERY_DRIVER",E.INVENTORY_MANAGER="INVENTORY_MANAGER",E.PURCHASING_MANAGER="PURCHASING_MANAGER",E.WAREHOUSE_STAFF="WAREHOUSE_STAFF",E.CASHIER="CASHIER"}(t||(t={}));export{n as Allergen,R as BranchSetting,I as BranchTaxFulfillment,T as BranchTaxScope,_ as BranchTaxType,N as BusinessSetting,O as CustomerAddressType,D as CustomerAuthStep,A as DeliveryFeeType,F as EmployeePermission,C as Feature,S as FeatureSegment,E as MenuAddonSelectType,U as OrderItemStatus,P as OrderStatus,V as OrderStep,L as OrderType,M as PaymentMethod,Y as PlanType,e as ProductView,H as SellUnitType,B as SubscriptionStatus,i as TableLocation,G as TableShape,W as TableStatus,t as UserRole};
2
2
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../src/modules/addon/models.ts","../../../src/modules/branch/models.ts","../../../src/modules/business/models.ts","../../../src/modules/customer/models.ts","../../../src/modules/feature/models.ts","../../../src/modules/order/models.ts","../../../src/modules/product/models.ts","../../../src/modules/subscription/models.ts","../../../src/modules/table/models.ts","../../../src/modules/user/models.ts"],"sourcesContent":["import { LocalizedText } from \"src/modules/localization/models\";\n\nexport enum MenuAddonSelectType {\n\tSINGLE = \"SINGLE\",\n\tMULTIPLE = \"MULTIPLE\",\n}\n\nexport interface MenuAddonOption {\n\tid?: number;\n\t/** Net price (tax-exclusive) — server-of-record value. */\n\tprice: number;\n\t/**\n\t * Gross price for menu display: net price plus the parent product's\n\t * `addToListingPrice` taxes. Equals `price` when no branch context is\n\t * supplied (e.g. addon detached from a branch tax setup).\n\t */\n\tlistingPrice: number;\n\ttitle: LocalizedText;\n\tremove?: boolean;\n}\n\nexport interface MenuAddon {\n\tid?: number;\n\tselectType: MenuAddonSelectType;\n\toptions: MenuAddonOption[];\n\tbusinessId?: number;\n\ttitle: LocalizedText;\n}\n","import { LocalizedText } from \"src/modules/localization/models\";\n\nexport type BranchWorkHour = {\n\topenAt: string;\n\tcloseAt: string;\n};\n\nexport type BranchWorkDay = {\n\tday: number;\n\thours: BranchWorkHour | null;\n};\n\nexport type BranchWorkDays = {\n\tdays: BranchWorkDay[];\n};\n\nexport interface BranchSettings {\n\tdeliveryOrderEnabled: boolean;\n\tpickupOrderEnabled: boolean;\n\tdineInOrderEnabled: boolean;\n\tmaxDeliveryDistance: number;\n\tminDeliveryAmount: number;\n\tdeliveryFeeAmount: number;\n\tserviceChargeEnabled: boolean;\n\tserviceChargePercentage: number;\n\taddToOrderEnabled: boolean;\n\tguestOrderEnabled: boolean;\n\tprimaryPaymentMethods?: string[] | null;\n\tsecondaryPaymentMethods?: string[] | null;\n}\n\nexport enum BranchSetting {\n\tMAX_DELIVERY_DISTANCE = \"maxDeliveryDistance\",\n\tDELIVERY_ORDER_ENABLED = \"deliveryOrderEnabled\",\n\tPICKUP_ORDER_ENABLED = \"pickupOrderEnabled\",\n\tDINE_IN_ORDER_ENABLED = \"dineInOrderEnabled\",\n\tMIN_DELIVERY_AMOUNT = \"minDeliveryAmount\",\n\tDELIVERY_FEE_AMOUNT = \"deliveryFeeAmount\",\n\tSERVICE_CHARGE_ENABLED = \"serviceChargeEnabled\",\n\tSERVICE_CHARGE_PERCENTAGE = \"serviceChargePercentage\",\n\tADD_TO_ORDER_ENABLED = \"addToOrderEnabled\",\n\tGUEST_ORDER_ENABLED = \"guestOrderEnabled\",\n\tPRIMARY_PAYMENT_METHODS = \"primaryPaymentMethods\",\n\tSECONDARY_PAYMENT_METHODS = \"secondaryPaymentMethods\",\n}\n\nexport interface Branch {\n\tid: number;\n\tname: string;\n\tbusinessId: number;\n\taddress: string;\n\tlongitude?: number;\n\tlatitude?: number;\n\tphone?: string;\n\twhatsApp?: string;\n\ttelegram?: string;\n\twifiPassword?: string;\n\tcreatedAt?: number;\n\tcoverPhoto?: string;\n\t// Trading currency (ISO-4217) of this branch. Currency lives on the branch,\n\t// not the business, so a franchise or foreign establishment can trade in a\n\t// different currency than the brand's default.\n\tcurrency?: string;\n\ttimezone?: string;\n\tbusinessDayStart?: string;\n\tsettings?: BranchSettings;\n\topeningHours?: BranchWorkDays;\n\tdeliveryHours?: BranchWorkDays;\n}\n\nexport type BranchServes = {\n\tisOpen: boolean;\n\tisDelivering: boolean;\n};\n\nexport enum BranchTaxType {\n\tPERCENTAGE = \"percentage\",\n\tFIXED_AMOUNT = \"fixed\",\n}\n\nexport enum BranchTaxScope {\n\tENTIRE_MENU = \"entire_menu\",\n\tCLASS = \"class\",\n}\n\nexport enum BranchTaxFulfillment {\n\tDELIVERY = \"delivery\",\n\tTAKEAWAY = \"takeaway\",\n\tDINE_IN = \"dine_in\",\n\tALL = \"ALL\",\n}\n\nexport type BranchTax = {\n\tid: number;\n\tbusinessId: number;\n\tbranchId: number;\n\ttaxClassId?: number;\n\tname: LocalizedText;\n\trate: number;\n\ttype: BranchTaxType;\n\tisActive: boolean;\n\tcreatedAt: number;\n\tupdatedAt: number;\n\tscope: BranchTaxScope;\n\taddToListingPrice: boolean;\n\tisDefault: boolean;\n\tcomputationOrder: number;\n\tappliesToFulfillment?: BranchTaxFulfillment;\n\ttaxClassCode?: string;\n};\n","import * as featureModels from \"../feature/models\";\nimport * as subscriptionModels from \"../subscription/models\";\n\nexport interface BusinessLanguage {\n\tid: number;\n\tcode: string;\n\tbusinessId: number;\n}\n\nexport enum BusinessSetting {\n\tMAX_DELIVERY_DISTANCE = \"maxDeliveryDistance\",\n\tDELIVERY_ORDER_ENABLED = \"deliveryOrderEnabled\",\n\tPICKUP_ORDER_ENABLED = \"pickupOrderEnabled\",\n\tDINE_IN_ORDER_ENABLED = \"dineInOrderEnabled\",\n\tMIN_DELIVERY_AMOUNT = \"minDeliveryAmount\",\n}\n\nexport interface Business {\n\tid: number;\n\tname: string;\n\tusername: string;\n\tavatar64?: string;\n\tavatar128?: string;\n\tavatar256?: string;\n\tcoverPhoto?: string;\n\tinstagram?: string;\n\tfacebook?: string;\n\ttiktok?: string;\n\tcreatedAt?: number;\n\tlanguages: BusinessLanguage[];\n\tsubscriptions?: subscriptionModels.Subscription[];\n\tsegment?: featureModels.FeatureSegment;\n}\n","export enum CustomerAuthStep {\n\tPHONE = \"PHONE\",\n\tOTP = \"OTP\",\n\tEMAIL = \"EMAIL\",\n}\n\nexport enum CustomerAddressType {\n\tHOME = \"HOME\",\n\tWORK = \"WORK\",\n\tTRAVEL = \"TRAVEL\",\n}\n\nexport interface CustomerAddress {\n\tid?: number;\n\taddressId?: number; // Update address temporary\n\tcountryCode: string;\n\tcityName: string;\n\tstreet: string;\n\thouseNumber: string;\n\tadditionalNumber?: string;\n\tpostCode?: string;\n\tinstructions?: string;\n\tfloor?: number;\n\tlongitude?: number;\n\tlatitude?: number;\n\ttitle?: string;\n\ttype?: CustomerAddressType;\n}\n\nexport interface CustomerAuthForm {\n\totp: string;\n\temail: string;\n}\n\nexport interface CustomerAuthPhoneForm {\n\tcountryCode: string;\n\tphoneNumber: string;\n}\n\nexport interface AuthResponse {\n\taccessToken: string;\n\trefreshToken: string;\n}\n\nexport interface Customer {\n\tid?: number;\n\temail: string;\n\tphoneNumber: string;\n\tfullName: string;\n\tsmsVerified?: boolean;\n\temailVerified?: boolean;\n\taddress?: CustomerAddress;\n\taddresses?: CustomerAddress[];\n}\n\nexport type CustomerUpdatePayload = Partial<Customer>;\n","export enum Feature {\n\tUPLOAD_VIDEO = \"UPLOAD_VIDEO\",\n}\nexport enum FeatureSegment {\n\tALPHA = \"ALPHA\",\n\tBETA = \"BETA\",\n\tALL = \"ALL\",\n}\n","import * as customerModels from \"../customer/models\";\nimport * as productModels from \"../product/models\";\nimport { LocalizedText } from \"src/modules/localization/models\";\n\nexport enum OrderType {\n\tDINE_IN = \"DINE_IN\",\n\tPICK_UP = \"PICK_UP\",\n\tDELIVERY = \"DELIVERY\",\n}\n\nexport enum OrderStatus {\n\tDRAFT = \"DRAFT\",\n\tPENDING = \"PENDING\",\n\tCONFIRMED = \"CONFIRMED\",\n\tPREPARING = \"PREPARING\",\n\tREADY = \"READY\",\n\tOUT_FOR_DELIVERY = \"OUT_FOR_DELIVERY\",\n\tDELIVERED = \"DELIVERED\",\n\tCOMPLETED = \"COMPLETED\",\n\tCANCELLED = \"CANCELLED\",\n\tFAILED = \"FAILED\",\n}\n\nexport enum OrderItemStatus {\n\tPENDING = \"PENDING\",\n\tPREPARING = \"PREPARING\",\n\tREADY = \"READY\",\n\tSERVED = \"SERVED\",\n}\n\nexport enum PaymentMethod {\n\tCASH = \"CASH\",\n\tCARD = \"CARD\",\n\tBANK_TRANSFER = \"BANK_TRANSFER\",\n\tMOBILE = \"MOBILE\",\n\tQR = \"QR\",\n\tVOUCHER = \"VOUCHER\",\n\tCOMP = \"COMP\",\n\tMIXED = \"MIXED\",\n}\n\n/**\n * The methods a customer can signal at checkout. COMP and MIXED are settlement\n * outcomes the venue records itself once money changes hands, so they are part\n * of the enum the API speaks but never an option in the public menu.\n */\nexport type CustomerPaymentMethod = Exclude<\n\tPaymentMethod,\n\tPaymentMethod.COMP | PaymentMethod.MIXED\n>;\n\nexport interface OrderAddonOption {\n\toptionId: number;\n\t/** Gross unit price (listingPrice from the menu listing). */\n\tprice: number;\n}\n\nexport interface OrderAddon {\n\tid?: number;\n\taddonId: number;\n\toptions: OrderAddonOption[];\n}\n\nexport interface SelectedAddons {\n\t[key: number]: number | number[];\n}\n\nexport interface OrderItemVariant {\n\tid?: number;\n\tvariantId: number;\n\t/** Gross unit price (listingPrice from the menu listing). */\n\tprice: number;\n}\n\nexport interface OrderItem {\n\tid?: number;\n\tproductId: number;\n\torderId?: number;\n\tquantity: number;\n\t/**\n\t * Gross unit price (listingPrice) at the moment the line was added. The\n\t * server recomputes authoritative totals on create/preview; this value is\n\t * what the cart UI displays.\n\t */\n\tprice?: number;\n\tvariant?: OrderItemVariant;\n\taddons: OrderAddon[];\n\tnote?: string;\n\tstatus?: OrderItemStatus;\n\tisPaid?: boolean;\n\tsellUnitType: productModels.SellUnitType;\n}\n\nexport interface Order {\n\tid?: number;\n\tbusinessId?: number;\n\tbranchId?: number;\n\tworkingDayId?: number;\n\ttableId?: number;\n\temployeeId?: number;\n\torderType: OrderType;\n\titems: OrderItem[];\n\tstatus?: OrderStatus;\n\tpreferredPaymentMethod?: PaymentMethod;\n\t/**\n\t * Customer's optional voluntary gratuity as a NUMERIC money string in the\n\t * branch currency (e.g. \"5.00\"). Honoured only on the customer and guest\n\t * create paths — POS ignores it. It is an unfinalized intent: the server\n\t * stores it but never adds it to the order total nor taxes it, so the\n\t * tip-inclusive total shown at checkout is computed client-side. Absent (or\n\t * zero) means no tip.\n\t */\n\tpreferredTipAmount?: string;\n\tnote?: string;\n\tcreatedAt?: number;\n\tupdatedAt?: number;\n\tcustomer?: customerModels.Customer;\n\tcurrency?: string;\n\ttrackingId?: string;\n}\n\nexport interface OrderItems {\n\t[key: string]: OrderItem;\n}\n\nexport enum OrderStep {\n\tCART = \"CART\",\n\tDETAILS = \"DETAILS\",\n\tCOMPLETED = \"COMPLETED\",\n}\n\nexport interface OrderPayload extends Order {\n\tcustomerAddressId: number;\n\tcustomerId: number;\n\tlanguage?: string;\n}\n\n/**\n * Contact + delivery snapshot an unregistered (\"guest\") visitor enters at\n * checkout. Mirrors the backend GuestContact: every field is optional, and an\n * address is only meaningful for DELIVERY orders. latitude/longitude are kept\n * as numbers here for the UI (they come from the address autocomplete); they're\n * serialized to strings in the wire payload — see GuestContactRequest.\n */\nexport interface GuestContact {\n\tfullName?: string;\n\tphoneNumber?: string;\n\temail?: string;\n\tstreet?: string;\n\thouseNumber?: string;\n\tadditionalNumber?: string;\n\tfloor?: number;\n\tlatitude?: number;\n\tlongitude?: number;\n\tcityName?: string;\n\tcountryCode?: string;\n\tpostCode?: string;\n\tinstructions?: string;\n}\n\n/**\n * Wire shape of the contact sent to POST /order/public. Matches the backend\n * GuestContact, where latitude/longitude are strings.\n */\nexport interface GuestContactRequest\n\textends Omit<GuestContact, \"latitude\" | \"longitude\"> {\n\tlatitude?: string;\n\tlongitude?: string;\n}\n\n/**\n * Payload for the public, non-authenticated create path (POST /order/public).\n * Unlike OrderPayload it carries no customerId/customerAddressId — an\n * unregistered visitor has no account or stored address book; the delivery\n * address (when given) travels inside the contact snapshot.\n */\nexport interface GuestOrderPayload extends Order {\n\tlanguage?: string;\n\tcontact?: GuestContactRequest;\n}\n\nexport interface CalculatePreviewItemRequest {\n\torderItemsId: string;\n\tproductId: number;\n\tquantity: number;\n\tvariant?: { variantId: number };\n\taddons?: Array<{\n\t\taddonId: number;\n\t\toptions: Array<{ optionId: number }>;\n\t}>;\n}\n\nexport interface CalculatePreviewRequest {\n\tbusinessId?: number;\n\tbranchId: number;\n\torderType: OrderType;\n\titems: CalculatePreviewItemRequest[];\n}\n\nexport interface CalculatePreviewTax {\n\tbranchTaxId: number;\n\tname: LocalizedText;\n\trate: number;\n\ttype: \"percentage\" | \"fixed\";\n\taddToListingPrice: boolean;\n\tamount: number;\n}\n\nexport interface CalculatePreviewLine {\n\torderItemsId: string;\n\tproductId: number;\n\tquantity: number;\n\tprice: number;\n\ttaxes: CalculatePreviewTax[];\n}\n\nexport interface CalculatePreviewResponse {\n\ttotalPriceWithoutTax: number;\n\ttotalPriceWithTax: number;\n\ttotalPriceWithTaxAndFees: number;\n\ttotalTax: number;\n\tdeliveryFee: number;\n\tserviceFee: number;\n\titems: CalculatePreviewLine[];\n\ttaxes: CalculatePreviewTax[];\n}\n\nexport interface OrderPreviewState {\n\tdata: CalculatePreviewResponse | null;\n\tisLoading: boolean;\n\terror: string | null;\n}\n","import { MenuAddon } from \"../addon/models\";\nimport { LocalizedText } from \"src/modules/localization/models\";\n\nexport interface LocalizedContent {\n\tname: string;\n\tdescription: string;\n}\n\nexport interface ProductVariant {\n\tid?: number;\n\t/** Net price (tax-exclusive) — server-of-record value. */\n\tprice: number;\n\t/**\n\t * Gross price for menu display: net price plus any branch taxes flagged\n\t * `addToListingPrice`. Equals `price` when no branch context is supplied.\n\t */\n\tlistingPrice: number;\n\t/** Title keyed by language code, e.g. { en: \"Large\", az: \"Böyük\" }. */\n\ttitle: LocalizedText;\n\tproductId?: number;\n\tremove?: boolean;\n}\n\nexport interface Product {\n\tid: number;\n\tcategoryId: number;\n\t/** Net price (tax-exclusive). Nullable when the product has no own price (variant-only). */\n\tprice: number;\n\t/**\n\t * Gross price for menu display: net price plus any branch taxes flagged\n\t * `addToListingPrice`. Equals `price` when no branch context is supplied,\n\t * and is null when `price` itself is null.\n\t */\n\tlistingPrice?: number | null;\n\tvolume?: string; // 100qr/250ml/1kq\n\timage160?: string;\n\timage580?: string;\n\timage1024?: string;\n\ttranslations: Record<string, LocalizedContent>;\n\tvariants: ProductVariant[];\n\taddons: MenuAddon[];\n\tavailable?: boolean;\n\tvisible?: boolean;\n\tposition?: number;\n\tvideoUrl?: string;\n\tsellUnitType?: SellUnitType;\n\ttaxClassId?: number | null;\n\t/**\n\t * The bare allergen codes the business declared, `[]` when none — the shape\n\t * a product is authored and saved in. Rendering reads `allergenDetails`\n\t * instead, since that carries the same codes plus their wording.\n\t */\n\tallergens?: AllergenCode[];\n\t/**\n\t * The declared allergens as the menu renders them: each code paired with its\n\t * label in every language the business publishes. The API owns the catalog\n\t * and translates it, so a code it adds is legible here without a release of\n\t * this package, and the list is taken as given — order included.\n\t */\n\tallergenDetails?: AllergenDetail[];\n}\n\n/**\n * One declared allergen: the standardized code plus its label per language\n * code. Labels arrive as a map rather than a single localized string because\n * the public menu is served from one language-agnostic cached payload — the\n * guest switches language locally and the row has to relabel without a\n * refetch. Mirrors `domains/product/types/allergen_detail.go`.\n */\nexport interface AllergenDetail {\n\tcode: AllergenCode;\n\t/** Label keyed by language code, e.g. `{ en: \"Gluten\", az: \"Qlüten\" }`. */\n\ttranslations: LocalizedText;\n}\n\n/**\n * An allergen code as it comes off the wire. Deliberately open: the API owns\n * the catalog, so it may send a code this package has never heard of, and that\n * code still has to reach the guest — a declared allergen going missing is the\n * one failure mode this feature cannot have. `Allergen` names the codes we\n * have a glyph for; everything else falls back to a generic mark (see\n * `AllergenIcons`). Wording never depends on this list.\n */\nexport type AllergenCode = Allergen | (string & Record<never, never>);\n\n/**\n * The 14 major food allergens of EU Regulation 1169/2011 (Annex II) plus\n * buckwheat — mirrors `domains/product/constants/allergens.go` on the API,\n * which is the server of record for the catalog. This is the subset with a\n * glyph of its own; it is not a limit on what the API may send, and it exists\n * in this package only because an icon cannot travel over the wire.\n */\nexport enum Allergen {\n\tGLUTEN = \"GLUTEN\",\n\tCRUSTACEANS = \"CRUSTACEANS\",\n\tEGGS = \"EGGS\",\n\tFISH = \"FISH\",\n\tPEANUTS = \"PEANUTS\",\n\tSOY = \"SOY\",\n\tMILK = \"MILK\",\n\tTREE_NUTS = \"TREE_NUTS\",\n\tCELERY = \"CELERY\",\n\tMUSTARD = \"MUSTARD\",\n\tSESAME = \"SESAME\",\n\tSULPHITES = \"SULPHITES\",\n\tLUPIN = \"LUPIN\",\n\tMOLLUSCS = \"MOLLUSCS\",\n\tBUCKWHEAT = \"BUCKWHEAT\",\n}\n\nexport enum ProductView {\n\tLIST = \"list\",\n\tGRID = \"grid\",\n}\n\nexport interface DashboardProduct extends Omit<Product, \"addons\"> {\n\taddons: number[];\n}\n\nexport enum SellUnitType {\n\tPIECE = \"PIECE\",\n\tWEIGHT = \"WEIGHT\",\n\tVOLUME = \"VOLUME\",\n}\n","export enum PlanType {\n\tAPPETIZER = \"appetizer\",\n\tMAIN_COURSE = \"mainCourse\",\n\tCHEFS_SPECIAL = \"chefsSpecial\",\n\tLIFETIME = \"lifeTime\",\n}\n\nexport interface PricingPlan {\n\ttitle: string;\n\tprice: {\n\t\tmonthly: number;\n\t\tannually: number;\n\t};\n\tdiscountedPrice?: number;\n\tribbonText?: string;\n}\n\nexport interface PricingPlans {\n\t[key: string]: PricingPlan;\n}\n\nexport type PricingInterval = \"monthly\" | \"annually\";\n\nexport enum SubscriptionStatus {\n\tACTIVE = \"ACTIVE\",\n\tEXPIRED = \"EXPIRED\",\n\tCANCELLED = \"CANCELLED\",\n}\n\nexport type BillingInterval = \"MONTH\" | \"YEAR\";\n\nexport interface Subscription {\n\tid: number;\n\tbillingInterval: BillingInterval;\n\tbillingIntervalCount: number;\n\tstartDate: string;\n\tendDate: string;\n\tinterval: PricingInterval;\n\tstatus: SubscriptionStatus;\n\tbusiness_id?: number;\n\tplanName: string;\n}\n","export enum TableShape {\n\tSQUARE = \"SQUARE\",\n\tCIRCLE = \"CIRCLE\",\n\tRECTANGLE = \"RECTANGLE\",\n\tRECTANGLE_VERTICAL = \"RECTANGLE_VERTICAL\",\n\tSINGLE_AT_BAR = \"SINGLE_AT_BAR\",\n\tOTHER = \"OTHER\",\n}\n\nexport enum TableStatus {\n\tVACANT = \"VACANT\", // Free and available\n\tRESERVED = \"RESERVED\", // Booked but not yet seated\n\tOCCUPIED = \"OCCUPIED\", // Currently in use\n\tBLOCKED = \"BLOCKED\", // Temporarily blocked/unavailable\n\tNEEDS_CLEANING = \"NEEDS_CLEANING\", // Dirty, awaiting cleanup\n\tOUT_OF_SERVICE = \"OUT_OF_SERVICE\", // Permanently unavailable repair/maintenance\n\tPENDING_CONFIRMATION = \"PENDING_CONFIRMATION\", // Reservation not yet confirmed\n\tNO_SHOW = \"NO_SHOW\", // Reserved but guest didn’t arrive\n}\n\nexport enum TableLocation {\n\t// Indoor\n\tMAIN_HALL = \"MAIN_HALL\",\n\tPRIVATE_DINING = \"PRIVATE_DINING\",\n\tVIP_ROOM = \"VIP_ROOM\",\n\tBANQUET_HALL = \"BANQUET_HALL\",\n\tBAR_AREA = \"BAR_AREA\",\n\tLOUNGE = \"LOUNGE\",\n\tOPEN_KITCHEN = \"OPEN_KITCHEN\",\n\tBOOTH_SECTION = \"BOOTH_SECTION\",\n\tMEZZANINE = \"MEZZANINE\",\n\tWINE_CELLAR = \"WINE_CELLAR\",\n\n\t// Outdoor\n\tTERRACE = \"TERRACE\",\n\tPATIO = \"PATIO\",\n\tGARDEN = \"GARDEN\",\n\tCOURTYARD = \"COURTYARD\",\n\tROOFTOP = \"ROOFTOP\",\n\tBALCONY = \"BALCONY\",\n\tSIDEWALK = \"SIDEWALK\",\n\tPOOLSIDE = \"POOLSIDE\",\n\n\t// Special Sections\n\tSMOKING_AREA = \"SMOKING_AREA\",\n\tNON_SMOKING = \"NON_SMOKING\",\n\tFAMILY_SECTION = \"FAMILY_SECTION\",\n\tKIDS_AREA = \"KIDS_AREA\",\n\tWAITING_AREA = \"WAITING_AREA\",\n\tDANCE_FLOOR = \"DANCE_FLOOR\",\n}\n\nexport interface Table {\n\tid: number;\n\tbusinessId: number;\n\tbranchId: number;\n\tname: string;\n\tseatCount: number;\n\tshape: TableShape;\n\tlocation: TableLocation;\n\tstatus: TableStatus;\n}\n\nexport interface TableState {\n\ttables: Table[];\n}\n\nexport type TableForm = Omit<Table, \"id\" | \"businessId\" | \"branchId\"> & {\n\tbranchId: string | number;\n};\n\nexport type TableUpdate = Partial<Omit<Table, \"id\" | \"businessId\">>;\n\nexport type TableFilter = Partial<Pick<Table, \"branchId\" | \"shape\" | \"location\" | \"status\">>;\n\nexport type TableFilterParams = { field: keyof TableFilter; value: TableFilter[keyof TableFilter] };\n","export enum EmployeePermission {\n\tVIEW_BUSINESS = \"VIEW_BUSINESS\",\n\tUPDATE_BUSINESS = \"UPDATE_BUSINESS\",\n\tVIEW_BUSINESS_FINANCIALS = \"VIEW_BUSINESS_FINANCIALS\",\n\tVIEW_ORDERS = \"VIEW_ORDERS\",\n\tUPDATE_ORDER = \"UPDATE_ORDER\",\n\tCREATE_ORDER = \"CREATE_ORDER\",\n\tAPPLY_DISCOUNT = \"APPLY_DISCOUNT\",\n\tVIEW_QR_MENU = \"VIEW_QR_MENU\",\n\tUPDATE_QR_MENU = \"UPDATE_QR_MENU\",\n\tVIEW_MENU = \"VIEW_MENU\",\n\tVIEW_MENU_ITEMS = \"VIEW_MENU_ITEMS\",\n\tCREATE_MENU_ITEM = \"CREATE_MENU_ITEM\",\n\tUPDATE_MENU_ITEM = \"UPDATE_MENU_ITEM\",\n\tDELETE_MENU_ITEM = \"DELETE_MENU_ITEM\",\n\tVIEW_CATEGORIES = \"VIEW_CATEGORIES\",\n\tUPDATE_CATEGORY = \"UPDATE_CATEGORY\",\n\tCREATE_CATEGORY = \"CREATE_CATEGORY\",\n\tDELETE_CATEGORY = \"DELETE_CATEGORY\",\n\tVIEW_ADDONS = \"VIEW_ADDONS\",\n\tUPDATE_ADDON = \"UPDATE_ADDON\",\n\tCREATE_ADDON = \"CREATE_ADDON\",\n\tDELETE_ADDON = \"DELETE_ADDON\",\n\tVIEW_TABLES = \"VIEW_TABLES\",\n\tUPDATE_TABLE = \"UPDATE_TABLE\",\n\tUPDATE_TABLE_STATUS = \"UPDATE_TABLE_STATUS\",\n\tCREATE_TABLE = \"CREATE_TABLE\",\n\tDELETE_TABLE = \"DELETE_TABLE\",\n\tVIEW_BRANCHES = \"VIEW_BRANCHES\",\n\tUPDATE_BRANCH = \"UPDATE_BRANCH\",\n\tCREATE_BRANCH = \"CREATE_BRANCH\",\n\tDELETE_BRANCH = \"DELETE_BRANCH\",\n\tVIEW_EMPLOYEES = \"VIEW_EMPLOYEES\",\n\tUPDATE_EMPLOYEE = \"UPDATE_EMPLOYEE\",\n\tCREATE_EMPLOYEE = \"CREATE_EMPLOYEE\",\n\tDELETE_EMPLOYEE = \"DELETE_EMPLOYEE\",\n\tVIEW_ANALYTICS = \"VIEW_ANALYTICS\",\n\tVIEW_SALES_REPORTS = \"VIEW_SALES_REPORTS\",\n\tVIEW_SUBSCRIPTION = \"VIEW_SUBSCRIPTION\",\n\tUPDATE_SUBSCRIPTION = \"UPDATE_SUBSCRIPTION\",\n\tVIEW_QR_CODES = \"VIEW_QR_CODES\",\n\tCREATE_QR_CODE = \"CREATE_QR_CODE\",\n\tDELETE_QR_CODE = \"DELETE_QR_CODE\",\n\tALL = \"ALL\",\n\t// Inventory\n\tVIEW_INVENTORY = \"VIEW_INVENTORY\",\n\tVIEW_PURCHASES = \"VIEW_PURCHASES\",\n\tVIEW_PURCHASE_DETAIL = \"VIEW_PURCHASE_DETAIL\",\n\tCREATE_PURCHASE = \"CREATE_PURCHASE\",\n\tUPDATE_PURCHASE = \"UPDATE_PURCHASE\",\n\tDELETE_PURCHASE = \"DELETE_PURCHASE\",\n\tVIEW_INVENTORY_PRODUCTS = \"VIEW_INVENTORY_PRODUCTS\",\n\tCREATE_INVENTORY_PRODUCT = \"CREATE_INVENTORY_PRODUCT\",\n\tUPDATE_INVENTORY_PRODUCT = \"UPDATE_INVENTORY_PRODUCT\",\n\tDELETE_INVENTORY_PRODUCT = \"DELETE_INVENTORY_PRODUCT\",\n\tVIEW_BUSINESS_BALANCE = \"VIEW_BUSINESS_BALANCE\",\n\tVIEW_BRANCH_BALANCE = \"VIEW_BRANCH_BALANCE\",\n\tUPDATE_PRODUCT_INGREDIENTS = \"UPDATE_PRODUCT_INGREDIENTS\",\n\tDELETE_PRODUCT_INGREDIENTS = \"DELETE_PRODUCT_INGREDIENTS\",\n\tAI_ASSISTANT = \"AI_ASSISTANT\",\n\tVIEW_PAYMENTS = \"VIEW_PAYMENTS\",\n\tTAKE_PAYMENT = \"TAKE_PAYMENT\",\n\tREFUND_PAYMENT = \"REFUND_PAYMENT\",\n\tPAYMENT_COMP = \"COMP\",\n}\n\nexport enum UserRole {\n\tOWNER = \"OWNER\",\n\tBRANCH_MANAGER = \"BRANCH_MANAGER\",\n\tGENERAL_MANAGER = \"GENERAL_MANAGER\",\n\tCHEF = \"CHEF\",\n\tSOUS_CHEF = \"SOUS_CHEF\",\n\tPASTRY_CHEF = \"PASTRY_CHEF\",\n\tLINE_COOK = \"LINE_COOK\",\n\tPREP_COOK = \"PREP_COOK\",\n\tKITCHEN_ASSISTANT = \"KITCHEN_ASSISTANT\",\n\tDISHWASHER = \"DISHWASHER\",\n\tHEAD_WAITER = \"HEAD_WAITER\",\n\tWAITER = \"WAITER\",\n\tRUNNER = \"RUNNER\",\n\tBARISTA = \"BARISTA\",\n\tBARTENDER = \"BARTENDER\",\n\tSOMMELIER = \"SOMMELIER\",\n\tACCOUNTANT = \"ACCOUNTANT\",\n\tROOM_SERVICE_STAFF = \"ROOM_SERVICE_STAFF\",\n\tDELIVERY_DRIVER = \"DELIVERY_DRIVER\",\n\tINVENTORY_MANAGER = \"INVENTORY_MANAGER\",\n\tPURCHASING_MANAGER = \"PURCHASING_MANAGER\",\n\tWAREHOUSE_STAFF = \"WAREHOUSE_STAFF\",\n\tCASHIER = \"CASHIER\"\n}\n\nexport interface User {\n\tid?: number;\n\temail: string;\n\tfullName: string;\n\trole?: UserRole;\n\tavatar64?: string | null;\n\tavatar128?: string | null;\n\tavatar256?: string | null;\n\tbusinessId?: number;\n\tbranchId?: number | null;\n\tcreatedAt: string;\n\temailVerified?: boolean;\n\tpermissions?: EmployeePermission[];\n}\n"],"names":["MenuAddonSelectType","BranchSetting","BranchTaxType","BranchTaxScope","BranchTaxFulfillment","BusinessSetting","CustomerAuthStep","CustomerAddressType","Feature","FeatureSegment","OrderType","OrderStatus","OrderItemStatus","PaymentMethod","OrderStep","Allergen","ProductView","SellUnitType","PlanType","SubscriptionStatus","TableShape","TableStatus","TableLocation","EmployeePermission","UserRole"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../src/modules/addon/models.ts","../../../src/modules/branch/models.ts","../../../src/modules/business/models.ts","../../../src/modules/customer/models.ts","../../../src/modules/feature/models.ts","../../../src/modules/order/models.ts","../../../src/modules/product/models.ts","../../../src/modules/subscription/models.ts","../../../src/modules/table/models.ts","../../../src/modules/user/models.ts"],"sourcesContent":["import { LocalizedText } from \"src/modules/localization/models\";\n\nexport enum MenuAddonSelectType {\n\tSINGLE = \"SINGLE\",\n\tMULTIPLE = \"MULTIPLE\",\n}\n\nexport interface MenuAddonOption {\n\tid?: number;\n\t/** Net price (tax-exclusive) — server-of-record value. */\n\tprice: number;\n\t/**\n\t * Gross price for menu display: net price plus the parent product's\n\t * `addToListingPrice` taxes. Equals `price` when no branch context is\n\t * supplied (e.g. addon detached from a branch tax setup).\n\t */\n\tlistingPrice: number;\n\ttitle: LocalizedText;\n\tremove?: boolean;\n}\n\nexport interface MenuAddon {\n\tid?: number;\n\tselectType: MenuAddonSelectType;\n\toptions: MenuAddonOption[];\n\tbusinessId?: number;\n\ttitle: LocalizedText;\n}\n","import { LocalizedText } from \"src/modules/localization/models\";\n\nexport type BranchWorkHour = {\n\topenAt: string;\n\tcloseAt: string;\n};\n\nexport type BranchWorkDay = {\n\tday: number;\n\thours: BranchWorkHour | null;\n};\n\nexport type BranchWorkDays = {\n\tdays: BranchWorkDay[];\n};\n\n/**\n * How a branch charges for delivery: one flat amount (`deliveryFeeAmount`) or a\n * fee picked from the branch's distance ranges (`deliveryFeeTiers`). Mirrors\n * the API's branch_settings.delivery_fee_type — extend both together. A branch\n * is FIXED until its owner opts into distance pricing.\n */\nexport enum DeliveryFeeType {\n\tFIXED = \"FIXED\",\n\tDISTANCE = \"DISTANCE\",\n}\n\n/**\n * One distance range of a branch's per-km delivery pricing, read as \"up to\n * `upToDistance` kilometres, charge `fee`\". Ranges carry no lower bound of\n * their own: the applicable one is the cheapest `upToDistance` that still\n * covers the delivery distance, so 5/10/20 km ranges describe 0-5, 5-10 and\n * 10-20 km. The API returns them sorted by `upToDistance` ascending.\n *\n * `upToDistance` is in KILOMETRES — unlike `BranchSettings.maxDeliveryDistance`,\n * which the API keeps in metres.\n */\nexport type DeliveryFeeTier = {\n\tupToDistance: number;\n\tfee: number;\n};\n\nexport interface BranchSettings {\n\tdeliveryOrderEnabled: boolean;\n\tpickupOrderEnabled: boolean;\n\tdineInOrderEnabled: boolean;\n\t/** In METRES, unlike the kilometres a DeliveryFeeTier is measured in. */\n\tmaxDeliveryDistance: number;\n\tminDeliveryAmount: number;\n\tdeliveryFeeAmount: number;\n\t/**\n\t * Absent on a payload cached before the branch gained distance pricing;\n\t * treated as FIXED, the same default the API stores.\n\t */\n\tdeliveryFeeType?: DeliveryFeeType;\n\tdeliveryFeeTiers?: DeliveryFeeTier[];\n\tserviceChargeEnabled: boolean;\n\tserviceChargePercentage: number;\n\taddToOrderEnabled: boolean;\n\tguestOrderEnabled: boolean;\n\tprimaryPaymentMethods?: string[] | null;\n\tsecondaryPaymentMethods?: string[] | null;\n}\n\nexport enum BranchSetting {\n\tMAX_DELIVERY_DISTANCE = \"maxDeliveryDistance\",\n\tDELIVERY_ORDER_ENABLED = \"deliveryOrderEnabled\",\n\tPICKUP_ORDER_ENABLED = \"pickupOrderEnabled\",\n\tDINE_IN_ORDER_ENABLED = \"dineInOrderEnabled\",\n\tMIN_DELIVERY_AMOUNT = \"minDeliveryAmount\",\n\tDELIVERY_FEE_AMOUNT = \"deliveryFeeAmount\",\n\tDELIVERY_FEE_TYPE = \"deliveryFeeType\",\n\tDELIVERY_FEE_TIERS = \"deliveryFeeTiers\",\n\tSERVICE_CHARGE_ENABLED = \"serviceChargeEnabled\",\n\tSERVICE_CHARGE_PERCENTAGE = \"serviceChargePercentage\",\n\tADD_TO_ORDER_ENABLED = \"addToOrderEnabled\",\n\tGUEST_ORDER_ENABLED = \"guestOrderEnabled\",\n\tPRIMARY_PAYMENT_METHODS = \"primaryPaymentMethods\",\n\tSECONDARY_PAYMENT_METHODS = \"secondaryPaymentMethods\",\n}\n\nexport interface Branch {\n\tid: number;\n\tname: string;\n\tbusinessId: number;\n\taddress: string;\n\tlongitude?: number;\n\tlatitude?: number;\n\tphone?: string;\n\twhatsApp?: string;\n\ttelegram?: string;\n\twifiPassword?: string;\n\tcreatedAt?: number;\n\tcoverPhoto?: string;\n\t// Trading currency (ISO-4217) of this branch. Currency lives on the branch,\n\t// not the business, so a franchise or foreign establishment can trade in a\n\t// different currency than the brand's default.\n\tcurrency?: string;\n\ttimezone?: string;\n\tbusinessDayStart?: string;\n\tsettings?: BranchSettings;\n\topeningHours?: BranchWorkDays;\n\tdeliveryHours?: BranchWorkDays;\n}\n\nexport type BranchServes = {\n\tisOpen: boolean;\n\tisDelivering: boolean;\n};\n\nexport enum BranchTaxType {\n\tPERCENTAGE = \"percentage\",\n\tFIXED_AMOUNT = \"fixed\",\n}\n\nexport enum BranchTaxScope {\n\tENTIRE_MENU = \"entire_menu\",\n\tCLASS = \"class\",\n}\n\nexport enum BranchTaxFulfillment {\n\tDELIVERY = \"delivery\",\n\tTAKEAWAY = \"takeaway\",\n\tDINE_IN = \"dine_in\",\n\tALL = \"ALL\",\n}\n\nexport type BranchTax = {\n\tid: number;\n\tbusinessId: number;\n\tbranchId: number;\n\ttaxClassId?: number;\n\tname: LocalizedText;\n\trate: number;\n\ttype: BranchTaxType;\n\tisActive: boolean;\n\tcreatedAt: number;\n\tupdatedAt: number;\n\tscope: BranchTaxScope;\n\taddToListingPrice: boolean;\n\tisDefault: boolean;\n\tcomputationOrder: number;\n\tappliesToFulfillment?: BranchTaxFulfillment;\n\ttaxClassCode?: string;\n};\n","import * as featureModels from \"../feature/models\";\nimport * as subscriptionModels from \"../subscription/models\";\n\nexport interface BusinessLanguage {\n\tid: number;\n\tcode: string;\n\tbusinessId: number;\n}\n\nexport enum BusinessSetting {\n\tMAX_DELIVERY_DISTANCE = \"maxDeliveryDistance\",\n\tDELIVERY_ORDER_ENABLED = \"deliveryOrderEnabled\",\n\tPICKUP_ORDER_ENABLED = \"pickupOrderEnabled\",\n\tDINE_IN_ORDER_ENABLED = \"dineInOrderEnabled\",\n\tMIN_DELIVERY_AMOUNT = \"minDeliveryAmount\",\n}\n\nexport interface Business {\n\tid: number;\n\tname: string;\n\tusername: string;\n\tavatar64?: string;\n\tavatar128?: string;\n\tavatar256?: string;\n\tcoverPhoto?: string;\n\tinstagram?: string;\n\tfacebook?: string;\n\ttiktok?: string;\n\tcreatedAt?: number;\n\tlanguages: BusinessLanguage[];\n\tsubscriptions?: subscriptionModels.Subscription[];\n\tsegment?: featureModels.FeatureSegment;\n}\n","export enum CustomerAuthStep {\n\tPHONE = \"PHONE\",\n\tOTP = \"OTP\",\n\tEMAIL = \"EMAIL\",\n}\n\nexport enum CustomerAddressType {\n\tHOME = \"HOME\",\n\tWORK = \"WORK\",\n\tTRAVEL = \"TRAVEL\",\n}\n\nexport interface CustomerAddress {\n\tid?: number;\n\taddressId?: number; // Update address temporary\n\tcountryCode: string;\n\tcityName: string;\n\tstreet: string;\n\thouseNumber: string;\n\tadditionalNumber?: string;\n\tpostCode?: string;\n\tinstructions?: string;\n\tfloor?: number;\n\tlongitude?: number;\n\tlatitude?: number;\n\ttitle?: string;\n\ttype?: CustomerAddressType;\n}\n\nexport interface CustomerAuthForm {\n\totp: string;\n\temail: string;\n}\n\nexport interface CustomerAuthPhoneForm {\n\tcountryCode: string;\n\tphoneNumber: string;\n}\n\nexport interface AuthResponse {\n\taccessToken: string;\n\trefreshToken: string;\n}\n\nexport interface Customer {\n\tid?: number;\n\temail: string;\n\tphoneNumber: string;\n\tfullName: string;\n\tsmsVerified?: boolean;\n\temailVerified?: boolean;\n\taddress?: CustomerAddress;\n\taddresses?: CustomerAddress[];\n}\n\nexport type CustomerUpdatePayload = Partial<Customer>;\n","export enum Feature {\n\tUPLOAD_VIDEO = \"UPLOAD_VIDEO\",\n}\nexport enum FeatureSegment {\n\tALPHA = \"ALPHA\",\n\tBETA = \"BETA\",\n\tALL = \"ALL\",\n}\n","import * as customerModels from \"../customer/models\";\nimport * as productModels from \"../product/models\";\nimport { LocalizedText } from \"src/modules/localization/models\";\n\nexport enum OrderType {\n\tDINE_IN = \"DINE_IN\",\n\tPICK_UP = \"PICK_UP\",\n\tDELIVERY = \"DELIVERY\",\n}\n\nexport enum OrderStatus {\n\tDRAFT = \"DRAFT\",\n\tPENDING = \"PENDING\",\n\tCONFIRMED = \"CONFIRMED\",\n\tPREPARING = \"PREPARING\",\n\tREADY = \"READY\",\n\tOUT_FOR_DELIVERY = \"OUT_FOR_DELIVERY\",\n\tDELIVERED = \"DELIVERED\",\n\tCOMPLETED = \"COMPLETED\",\n\tCANCELLED = \"CANCELLED\",\n\tFAILED = \"FAILED\",\n}\n\nexport enum OrderItemStatus {\n\tPENDING = \"PENDING\",\n\tPREPARING = \"PREPARING\",\n\tREADY = \"READY\",\n\tSERVED = \"SERVED\",\n}\n\nexport enum PaymentMethod {\n\tCASH = \"CASH\",\n\tCARD = \"CARD\",\n\tBANK_TRANSFER = \"BANK_TRANSFER\",\n\tMOBILE = \"MOBILE\",\n\tQR = \"QR\",\n\tVOUCHER = \"VOUCHER\",\n\tCOMP = \"COMP\",\n\tMIXED = \"MIXED\",\n}\n\n/**\n * The methods a customer can signal at checkout. COMP and MIXED are settlement\n * outcomes the venue records itself once money changes hands, so they are part\n * of the enum the API speaks but never an option in the public menu.\n */\nexport type CustomerPaymentMethod = Exclude<\n\tPaymentMethod,\n\tPaymentMethod.COMP | PaymentMethod.MIXED\n>;\n\nexport interface OrderAddonOption {\n\toptionId: number;\n\t/** Gross unit price (listingPrice from the menu listing). */\n\tprice: number;\n}\n\nexport interface OrderAddon {\n\tid?: number;\n\taddonId: number;\n\toptions: OrderAddonOption[];\n}\n\nexport interface SelectedAddons {\n\t[key: number]: number | number[];\n}\n\nexport interface OrderItemVariant {\n\tid?: number;\n\tvariantId: number;\n\t/** Gross unit price (listingPrice from the menu listing). */\n\tprice: number;\n}\n\nexport interface OrderItem {\n\tid?: number;\n\tproductId: number;\n\torderId?: number;\n\tquantity: number;\n\t/**\n\t * Gross unit price (listingPrice) at the moment the line was added. The\n\t * server recomputes authoritative totals on create/preview; this value is\n\t * what the cart UI displays.\n\t */\n\tprice?: number;\n\tvariant?: OrderItemVariant;\n\taddons: OrderAddon[];\n\tnote?: string;\n\tstatus?: OrderItemStatus;\n\tisPaid?: boolean;\n\tsellUnitType: productModels.SellUnitType;\n}\n\nexport interface Order {\n\tid?: number;\n\tbusinessId?: number;\n\tbranchId?: number;\n\tworkingDayId?: number;\n\ttableId?: number;\n\temployeeId?: number;\n\torderType: OrderType;\n\titems: OrderItem[];\n\tstatus?: OrderStatus;\n\tpreferredPaymentMethod?: PaymentMethod;\n\t/**\n\t * Customer's optional voluntary gratuity as a NUMERIC money string in the\n\t * branch currency (e.g. \"5.00\"). Honoured only on the customer and guest\n\t * create paths — POS ignores it. It is an unfinalized intent: the server\n\t * stores it but never adds it to the order total nor taxes it, so the\n\t * tip-inclusive total shown at checkout is computed client-side. Absent (or\n\t * zero) means no tip.\n\t */\n\tpreferredTipAmount?: string;\n\tnote?: string;\n\tcreatedAt?: number;\n\tupdatedAt?: number;\n\tcustomer?: customerModels.Customer;\n\tcurrency?: string;\n\ttrackingId?: string;\n}\n\nexport interface OrderItems {\n\t[key: string]: OrderItem;\n}\n\nexport enum OrderStep {\n\tCART = \"CART\",\n\tDETAILS = \"DETAILS\",\n\tCOMPLETED = \"COMPLETED\",\n}\n\nexport interface OrderPayload extends Order {\n\tcustomerAddressId: number;\n\tcustomerId: number;\n\tlanguage?: string;\n}\n\n/**\n * Contact + delivery snapshot an unregistered (\"guest\") visitor enters at\n * checkout. Mirrors the backend GuestContact: every field is optional, and an\n * address is only meaningful for DELIVERY orders. latitude/longitude are kept\n * as numbers here for the UI (they come from the address autocomplete); they're\n * serialized to strings in the wire payload — see GuestContactRequest.\n */\nexport interface GuestContact {\n\tfullName?: string;\n\tphoneNumber?: string;\n\temail?: string;\n\tstreet?: string;\n\thouseNumber?: string;\n\tadditionalNumber?: string;\n\tfloor?: number;\n\tlatitude?: number;\n\tlongitude?: number;\n\tcityName?: string;\n\tcountryCode?: string;\n\tpostCode?: string;\n\tinstructions?: string;\n}\n\n/**\n * Wire shape of the contact sent to POST /order/public. Matches the backend\n * GuestContact, where latitude/longitude are strings.\n */\nexport interface GuestContactRequest\n\textends Omit<GuestContact, \"latitude\" | \"longitude\"> {\n\tlatitude?: string;\n\tlongitude?: string;\n}\n\n/**\n * Payload for the public, non-authenticated create path (POST /order/public).\n * Unlike OrderPayload it carries no customerId/customerAddressId — an\n * unregistered visitor has no account or stored address book; the delivery\n * address (when given) travels inside the contact snapshot.\n */\nexport interface GuestOrderPayload extends Order {\n\tlanguage?: string;\n\tcontact?: GuestContactRequest;\n}\n\nexport interface CalculatePreviewItemRequest {\n\torderItemsId: string;\n\tproductId: number;\n\tquantity: number;\n\tvariant?: { variantId: number };\n\taddons?: Array<{\n\t\taddonId: number;\n\t\toptions: Array<{ optionId: number }>;\n\t}>;\n}\n\nexport interface CalculatePreviewRequest {\n\tbusinessId?: number;\n\tbranchId: number;\n\torderType: OrderType;\n\titems: CalculatePreviewItemRequest[];\n\t/**\n\t * Where the delivery is heading. They matter only for a DELIVERY order on a\n\t * branch that prices delivery by distance; without them such a cart previews\n\t * the branch's flat fee, and the real fee is resolved from the order's\n\t * address at create time.\n\t */\n\tlatitude?: number;\n\tlongitude?: number;\n}\n\nexport interface CalculatePreviewTax {\n\tbranchTaxId: number;\n\tname: LocalizedText;\n\trate: number;\n\ttype: \"percentage\" | \"fixed\";\n\taddToListingPrice: boolean;\n\tamount: number;\n}\n\nexport interface CalculatePreviewLine {\n\torderItemsId: string;\n\tproductId: number;\n\tquantity: number;\n\tprice: number;\n\ttaxes: CalculatePreviewTax[];\n}\n\nexport interface CalculatePreviewResponse {\n\ttotalPriceWithoutTax: number;\n\ttotalPriceWithTax: number;\n\ttotalPriceWithTaxAndFees: number;\n\ttotalTax: number;\n\tdeliveryFee: number;\n\tserviceFee: number;\n\titems: CalculatePreviewLine[];\n\ttaxes: CalculatePreviewTax[];\n}\n\nexport interface OrderPreviewState {\n\tdata: CalculatePreviewResponse | null;\n\tisLoading: boolean;\n\terror: string | null;\n}\n","import { MenuAddon } from \"../addon/models\";\nimport { LocalizedText } from \"src/modules/localization/models\";\n\nexport interface LocalizedContent {\n\tname: string;\n\tdescription: string;\n}\n\nexport interface ProductVariant {\n\tid?: number;\n\t/** Net price (tax-exclusive) — server-of-record value. */\n\tprice: number;\n\t/**\n\t * Gross price for menu display: net price plus any branch taxes flagged\n\t * `addToListingPrice`. Equals `price` when no branch context is supplied.\n\t */\n\tlistingPrice: number;\n\t/** Title keyed by language code, e.g. { en: \"Large\", az: \"Böyük\" }. */\n\ttitle: LocalizedText;\n\tproductId?: number;\n\tremove?: boolean;\n}\n\nexport interface Product {\n\tid: number;\n\tcategoryId: number;\n\t/** Net price (tax-exclusive). Nullable when the product has no own price (variant-only). */\n\tprice: number;\n\t/**\n\t * Gross price for menu display: net price plus any branch taxes flagged\n\t * `addToListingPrice`. Equals `price` when no branch context is supplied,\n\t * and is null when `price` itself is null.\n\t */\n\tlistingPrice?: number | null;\n\tvolume?: string; // 100qr/250ml/1kq\n\timage160?: string;\n\timage580?: string;\n\timage1024?: string;\n\ttranslations: Record<string, LocalizedContent>;\n\tvariants: ProductVariant[];\n\taddons: MenuAddon[];\n\tavailable?: boolean;\n\tvisible?: boolean;\n\tposition?: number;\n\tvideoUrl?: string;\n\tsellUnitType?: SellUnitType;\n\ttaxClassId?: number | null;\n\t/**\n\t * The bare allergen codes the business declared, `[]` when none — the shape\n\t * a product is authored and saved in. Rendering reads `allergenDetails`\n\t * instead, since that carries the same codes plus their wording.\n\t */\n\tallergens?: AllergenCode[];\n\t/**\n\t * The declared allergens as the menu renders them: each code paired with its\n\t * label in every language the business publishes. The API owns the catalog\n\t * and translates it, so a code it adds is legible here without a release of\n\t * this package, and the list is taken as given — order included.\n\t */\n\tallergenDetails?: AllergenDetail[];\n}\n\n/**\n * One declared allergen: the standardized code plus its label per language\n * code. Labels arrive as a map rather than a single localized string because\n * the public menu is served from one language-agnostic cached payload — the\n * guest switches language locally and the row has to relabel without a\n * refetch. Mirrors `domains/product/types/allergen_detail.go`.\n */\nexport interface AllergenDetail {\n\tcode: AllergenCode;\n\t/** Label keyed by language code, e.g. `{ en: \"Gluten\", az: \"Qlüten\" }`. */\n\ttranslations: LocalizedText;\n}\n\n/**\n * An allergen code as it comes off the wire. Deliberately open: the API owns\n * the catalog, so it may send a code this package has never heard of, and that\n * code still has to reach the guest — a declared allergen going missing is the\n * one failure mode this feature cannot have. `Allergen` names the codes we\n * have a glyph for; everything else falls back to a generic mark (see\n * `AllergenIcons`). Wording never depends on this list.\n */\nexport type AllergenCode = Allergen | (string & Record<never, never>);\n\n/**\n * The 14 major food allergens of EU Regulation 1169/2011 (Annex II) plus\n * buckwheat — mirrors `domains/product/constants/allergens.go` on the API,\n * which is the server of record for the catalog. This is the subset with a\n * glyph of its own; it is not a limit on what the API may send, and it exists\n * in this package only because an icon cannot travel over the wire.\n */\nexport enum Allergen {\n\tGLUTEN = \"GLUTEN\",\n\tCRUSTACEANS = \"CRUSTACEANS\",\n\tEGGS = \"EGGS\",\n\tFISH = \"FISH\",\n\tPEANUTS = \"PEANUTS\",\n\tSOY = \"SOY\",\n\tMILK = \"MILK\",\n\tTREE_NUTS = \"TREE_NUTS\",\n\tCELERY = \"CELERY\",\n\tMUSTARD = \"MUSTARD\",\n\tSESAME = \"SESAME\",\n\tSULPHITES = \"SULPHITES\",\n\tLUPIN = \"LUPIN\",\n\tMOLLUSCS = \"MOLLUSCS\",\n\tBUCKWHEAT = \"BUCKWHEAT\",\n}\n\nexport enum ProductView {\n\tLIST = \"list\",\n\tGRID = \"grid\",\n}\n\nexport interface DashboardProduct extends Omit<Product, \"addons\"> {\n\taddons: number[];\n}\n\nexport enum SellUnitType {\n\tPIECE = \"PIECE\",\n\tWEIGHT = \"WEIGHT\",\n\tVOLUME = \"VOLUME\",\n}\n","export enum PlanType {\n\tAPPETIZER = \"appetizer\",\n\tMAIN_COURSE = \"mainCourse\",\n\tCHEFS_SPECIAL = \"chefsSpecial\",\n\tLIFETIME = \"lifeTime\",\n}\n\nexport interface PricingPlan {\n\ttitle: string;\n\tprice: {\n\t\tmonthly: number;\n\t\tannually: number;\n\t};\n\tdiscountedPrice?: number;\n\tribbonText?: string;\n}\n\nexport interface PricingPlans {\n\t[key: string]: PricingPlan;\n}\n\nexport type PricingInterval = \"monthly\" | \"annually\";\n\nexport enum SubscriptionStatus {\n\tACTIVE = \"ACTIVE\",\n\tEXPIRED = \"EXPIRED\",\n\tCANCELLED = \"CANCELLED\",\n}\n\nexport type BillingInterval = \"MONTH\" | \"YEAR\";\n\nexport interface Subscription {\n\tid: number;\n\tbillingInterval: BillingInterval;\n\tbillingIntervalCount: number;\n\tstartDate: string;\n\tendDate: string;\n\tinterval: PricingInterval;\n\tstatus: SubscriptionStatus;\n\tbusiness_id?: number;\n\tplanName: string;\n}\n","export enum TableShape {\n\tSQUARE = \"SQUARE\",\n\tCIRCLE = \"CIRCLE\",\n\tRECTANGLE = \"RECTANGLE\",\n\tRECTANGLE_VERTICAL = \"RECTANGLE_VERTICAL\",\n\tSINGLE_AT_BAR = \"SINGLE_AT_BAR\",\n\tOTHER = \"OTHER\",\n}\n\nexport enum TableStatus {\n\tVACANT = \"VACANT\", // Free and available\n\tRESERVED = \"RESERVED\", // Booked but not yet seated\n\tOCCUPIED = \"OCCUPIED\", // Currently in use\n\tBLOCKED = \"BLOCKED\", // Temporarily blocked/unavailable\n\tNEEDS_CLEANING = \"NEEDS_CLEANING\", // Dirty, awaiting cleanup\n\tOUT_OF_SERVICE = \"OUT_OF_SERVICE\", // Permanently unavailable repair/maintenance\n\tPENDING_CONFIRMATION = \"PENDING_CONFIRMATION\", // Reservation not yet confirmed\n\tNO_SHOW = \"NO_SHOW\", // Reserved but guest didn’t arrive\n}\n\nexport enum TableLocation {\n\t// Indoor\n\tMAIN_HALL = \"MAIN_HALL\",\n\tPRIVATE_DINING = \"PRIVATE_DINING\",\n\tVIP_ROOM = \"VIP_ROOM\",\n\tBANQUET_HALL = \"BANQUET_HALL\",\n\tBAR_AREA = \"BAR_AREA\",\n\tLOUNGE = \"LOUNGE\",\n\tOPEN_KITCHEN = \"OPEN_KITCHEN\",\n\tBOOTH_SECTION = \"BOOTH_SECTION\",\n\tMEZZANINE = \"MEZZANINE\",\n\tWINE_CELLAR = \"WINE_CELLAR\",\n\n\t// Outdoor\n\tTERRACE = \"TERRACE\",\n\tPATIO = \"PATIO\",\n\tGARDEN = \"GARDEN\",\n\tCOURTYARD = \"COURTYARD\",\n\tROOFTOP = \"ROOFTOP\",\n\tBALCONY = \"BALCONY\",\n\tSIDEWALK = \"SIDEWALK\",\n\tPOOLSIDE = \"POOLSIDE\",\n\n\t// Special Sections\n\tSMOKING_AREA = \"SMOKING_AREA\",\n\tNON_SMOKING = \"NON_SMOKING\",\n\tFAMILY_SECTION = \"FAMILY_SECTION\",\n\tKIDS_AREA = \"KIDS_AREA\",\n\tWAITING_AREA = \"WAITING_AREA\",\n\tDANCE_FLOOR = \"DANCE_FLOOR\",\n}\n\nexport interface Table {\n\tid: number;\n\tbusinessId: number;\n\tbranchId: number;\n\tname: string;\n\tseatCount: number;\n\tshape: TableShape;\n\tlocation: TableLocation;\n\tstatus: TableStatus;\n}\n\nexport interface TableState {\n\ttables: Table[];\n}\n\nexport type TableForm = Omit<Table, \"id\" | \"businessId\" | \"branchId\"> & {\n\tbranchId: string | number;\n};\n\nexport type TableUpdate = Partial<Omit<Table, \"id\" | \"businessId\">>;\n\nexport type TableFilter = Partial<Pick<Table, \"branchId\" | \"shape\" | \"location\" | \"status\">>;\n\nexport type TableFilterParams = { field: keyof TableFilter; value: TableFilter[keyof TableFilter] };\n","export enum EmployeePermission {\n\tVIEW_BUSINESS = \"VIEW_BUSINESS\",\n\tUPDATE_BUSINESS = \"UPDATE_BUSINESS\",\n\tVIEW_BUSINESS_FINANCIALS = \"VIEW_BUSINESS_FINANCIALS\",\n\tVIEW_ORDERS = \"VIEW_ORDERS\",\n\tUPDATE_ORDER = \"UPDATE_ORDER\",\n\tCREATE_ORDER = \"CREATE_ORDER\",\n\tAPPLY_DISCOUNT = \"APPLY_DISCOUNT\",\n\tVIEW_QR_MENU = \"VIEW_QR_MENU\",\n\tUPDATE_QR_MENU = \"UPDATE_QR_MENU\",\n\tVIEW_MENU = \"VIEW_MENU\",\n\tVIEW_MENU_ITEMS = \"VIEW_MENU_ITEMS\",\n\tCREATE_MENU_ITEM = \"CREATE_MENU_ITEM\",\n\tUPDATE_MENU_ITEM = \"UPDATE_MENU_ITEM\",\n\tDELETE_MENU_ITEM = \"DELETE_MENU_ITEM\",\n\tVIEW_CATEGORIES = \"VIEW_CATEGORIES\",\n\tUPDATE_CATEGORY = \"UPDATE_CATEGORY\",\n\tCREATE_CATEGORY = \"CREATE_CATEGORY\",\n\tDELETE_CATEGORY = \"DELETE_CATEGORY\",\n\tVIEW_ADDONS = \"VIEW_ADDONS\",\n\tUPDATE_ADDON = \"UPDATE_ADDON\",\n\tCREATE_ADDON = \"CREATE_ADDON\",\n\tDELETE_ADDON = \"DELETE_ADDON\",\n\tVIEW_TABLES = \"VIEW_TABLES\",\n\tUPDATE_TABLE = \"UPDATE_TABLE\",\n\tUPDATE_TABLE_STATUS = \"UPDATE_TABLE_STATUS\",\n\tCREATE_TABLE = \"CREATE_TABLE\",\n\tDELETE_TABLE = \"DELETE_TABLE\",\n\tVIEW_BRANCHES = \"VIEW_BRANCHES\",\n\tUPDATE_BRANCH = \"UPDATE_BRANCH\",\n\tCREATE_BRANCH = \"CREATE_BRANCH\",\n\tDELETE_BRANCH = \"DELETE_BRANCH\",\n\tVIEW_EMPLOYEES = \"VIEW_EMPLOYEES\",\n\tUPDATE_EMPLOYEE = \"UPDATE_EMPLOYEE\",\n\tCREATE_EMPLOYEE = \"CREATE_EMPLOYEE\",\n\tDELETE_EMPLOYEE = \"DELETE_EMPLOYEE\",\n\tVIEW_ANALYTICS = \"VIEW_ANALYTICS\",\n\tVIEW_SALES_REPORTS = \"VIEW_SALES_REPORTS\",\n\tVIEW_SUBSCRIPTION = \"VIEW_SUBSCRIPTION\",\n\tUPDATE_SUBSCRIPTION = \"UPDATE_SUBSCRIPTION\",\n\tVIEW_QR_CODES = \"VIEW_QR_CODES\",\n\tCREATE_QR_CODE = \"CREATE_QR_CODE\",\n\tDELETE_QR_CODE = \"DELETE_QR_CODE\",\n\tALL = \"ALL\",\n\t// Inventory\n\tVIEW_INVENTORY = \"VIEW_INVENTORY\",\n\tVIEW_PURCHASES = \"VIEW_PURCHASES\",\n\tVIEW_PURCHASE_DETAIL = \"VIEW_PURCHASE_DETAIL\",\n\tCREATE_PURCHASE = \"CREATE_PURCHASE\",\n\tUPDATE_PURCHASE = \"UPDATE_PURCHASE\",\n\tDELETE_PURCHASE = \"DELETE_PURCHASE\",\n\tVIEW_INVENTORY_PRODUCTS = \"VIEW_INVENTORY_PRODUCTS\",\n\tCREATE_INVENTORY_PRODUCT = \"CREATE_INVENTORY_PRODUCT\",\n\tUPDATE_INVENTORY_PRODUCT = \"UPDATE_INVENTORY_PRODUCT\",\n\tDELETE_INVENTORY_PRODUCT = \"DELETE_INVENTORY_PRODUCT\",\n\tVIEW_BUSINESS_BALANCE = \"VIEW_BUSINESS_BALANCE\",\n\tVIEW_BRANCH_BALANCE = \"VIEW_BRANCH_BALANCE\",\n\tUPDATE_PRODUCT_INGREDIENTS = \"UPDATE_PRODUCT_INGREDIENTS\",\n\tDELETE_PRODUCT_INGREDIENTS = \"DELETE_PRODUCT_INGREDIENTS\",\n\tAI_ASSISTANT = \"AI_ASSISTANT\",\n\tVIEW_PAYMENTS = \"VIEW_PAYMENTS\",\n\tTAKE_PAYMENT = \"TAKE_PAYMENT\",\n\tREFUND_PAYMENT = \"REFUND_PAYMENT\",\n\tPAYMENT_COMP = \"COMP\",\n}\n\nexport enum UserRole {\n\tOWNER = \"OWNER\",\n\tBRANCH_MANAGER = \"BRANCH_MANAGER\",\n\tGENERAL_MANAGER = \"GENERAL_MANAGER\",\n\tCHEF = \"CHEF\",\n\tSOUS_CHEF = \"SOUS_CHEF\",\n\tPASTRY_CHEF = \"PASTRY_CHEF\",\n\tLINE_COOK = \"LINE_COOK\",\n\tPREP_COOK = \"PREP_COOK\",\n\tKITCHEN_ASSISTANT = \"KITCHEN_ASSISTANT\",\n\tDISHWASHER = \"DISHWASHER\",\n\tHEAD_WAITER = \"HEAD_WAITER\",\n\tWAITER = \"WAITER\",\n\tRUNNER = \"RUNNER\",\n\tBARISTA = \"BARISTA\",\n\tBARTENDER = \"BARTENDER\",\n\tSOMMELIER = \"SOMMELIER\",\n\tACCOUNTANT = \"ACCOUNTANT\",\n\tROOM_SERVICE_STAFF = \"ROOM_SERVICE_STAFF\",\n\tDELIVERY_DRIVER = \"DELIVERY_DRIVER\",\n\tINVENTORY_MANAGER = \"INVENTORY_MANAGER\",\n\tPURCHASING_MANAGER = \"PURCHASING_MANAGER\",\n\tWAREHOUSE_STAFF = \"WAREHOUSE_STAFF\",\n\tCASHIER = \"CASHIER\"\n}\n\nexport interface User {\n\tid?: number;\n\temail: string;\n\tfullName: string;\n\trole?: UserRole;\n\tavatar64?: string | null;\n\tavatar128?: string | null;\n\tavatar256?: string | null;\n\tbusinessId?: number;\n\tbranchId?: number | null;\n\tcreatedAt: string;\n\temailVerified?: boolean;\n\tpermissions?: EmployeePermission[];\n}\n"],"names":["MenuAddonSelectType","DeliveryFeeType","BranchSetting","BranchTaxType","BranchTaxScope","BranchTaxFulfillment","BusinessSetting","CustomerAuthStep","CustomerAddressType","Feature","FeatureSegment","OrderType","OrderStatus","OrderItemStatus","PaymentMethod","OrderStep","Allergen","ProductView","SellUnitType","PlanType","SubscriptionStatus","TableShape","TableStatus","TableLocation","EmployeePermission","UserRole"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";var E,A,T,R,_,e,I,N,S,D,O,C,L,r,t,P,U,o,s,p,M,V,a,i;exports.MenuAddonSelectType=void 0,(E=exports.MenuAddonSelectType||(exports.MenuAddonSelectType={})).SINGLE="SINGLE",E.MULTIPLE="MULTIPLE",exports.BranchSetting=void 0,(A=exports.BranchSetting||(exports.BranchSetting={})).MAX_DELIVERY_DISTANCE="maxDeliveryDistance",A.DELIVERY_ORDER_ENABLED="deliveryOrderEnabled",A.PICKUP_ORDER_ENABLED="pickupOrderEnabled",A.DINE_IN_ORDER_ENABLED="dineInOrderEnabled",A.MIN_DELIVERY_AMOUNT="minDeliveryAmount",A.DELIVERY_FEE_AMOUNT="deliveryFeeAmount",A.SERVICE_CHARGE_ENABLED="serviceChargeEnabled",A.SERVICE_CHARGE_PERCENTAGE="serviceChargePercentage",A.ADD_TO_ORDER_ENABLED="addToOrderEnabled",A.GUEST_ORDER_ENABLED="guestOrderEnabled",A.PRIMARY_PAYMENT_METHODS="primaryPaymentMethods",A.SECONDARY_PAYMENT_METHODS="secondaryPaymentMethods",exports.BranchTaxType=void 0,(T=exports.BranchTaxType||(exports.BranchTaxType={})).PERCENTAGE="percentage",T.FIXED_AMOUNT="fixed",exports.BranchTaxScope=void 0,(R=exports.BranchTaxScope||(exports.BranchTaxScope={})).ENTIRE_MENU="entire_menu",R.CLASS="class",exports.BranchTaxFulfillment=void 0,(_=exports.BranchTaxFulfillment||(exports.BranchTaxFulfillment={})).DELIVERY="delivery",_.TAKEAWAY="takeaway",_.DINE_IN="dine_in",_.ALL="ALL",exports.BusinessSetting=void 0,(e=exports.BusinessSetting||(exports.BusinessSetting={})).MAX_DELIVERY_DISTANCE="maxDeliveryDistance",e.DELIVERY_ORDER_ENABLED="deliveryOrderEnabled",e.PICKUP_ORDER_ENABLED="pickupOrderEnabled",e.DINE_IN_ORDER_ENABLED="dineInOrderEnabled",e.MIN_DELIVERY_AMOUNT="minDeliveryAmount",exports.CustomerAuthStep=void 0,(I=exports.CustomerAuthStep||(exports.CustomerAuthStep={})).PHONE="PHONE",I.OTP="OTP",I.EMAIL="EMAIL",exports.CustomerAddressType=void 0,(N=exports.CustomerAddressType||(exports.CustomerAddressType={})).HOME="HOME",N.WORK="WORK",N.TRAVEL="TRAVEL",exports.Feature=void 0,(exports.Feature||(exports.Feature={})).UPLOAD_VIDEO="UPLOAD_VIDEO",exports.FeatureSegment=void 0,(S=exports.FeatureSegment||(exports.FeatureSegment={})).ALPHA="ALPHA",S.BETA="BETA",S.ALL="ALL",exports.OrderType=void 0,(D=exports.OrderType||(exports.OrderType={})).DINE_IN="DINE_IN",D.PICK_UP="PICK_UP",D.DELIVERY="DELIVERY",exports.OrderStatus=void 0,(O=exports.OrderStatus||(exports.OrderStatus={})).DRAFT="DRAFT",O.PENDING="PENDING",O.CONFIRMED="CONFIRMED",O.PREPARING="PREPARING",O.READY="READY",O.OUT_FOR_DELIVERY="OUT_FOR_DELIVERY",O.DELIVERED="DELIVERED",O.COMPLETED="COMPLETED",O.CANCELLED="CANCELLED",O.FAILED="FAILED",exports.OrderItemStatus=void 0,(C=exports.OrderItemStatus||(exports.OrderItemStatus={})).PENDING="PENDING",C.PREPARING="PREPARING",C.READY="READY",C.SERVED="SERVED",exports.PaymentMethod=void 0,(L=exports.PaymentMethod||(exports.PaymentMethod={})).CASH="CASH",L.CARD="CARD",L.BANK_TRANSFER="BANK_TRANSFER",L.MOBILE="MOBILE",L.QR="QR",L.VOUCHER="VOUCHER",L.COMP="COMP",L.MIXED="MIXED",exports.OrderStep=void 0,(r=exports.OrderStep||(exports.OrderStep={})).CART="CART",r.DETAILS="DETAILS",r.COMPLETED="COMPLETED",exports.Allergen=void 0,(t=exports.Allergen||(exports.Allergen={})).GLUTEN="GLUTEN",t.CRUSTACEANS="CRUSTACEANS",t.EGGS="EGGS",t.FISH="FISH",t.PEANUTS="PEANUTS",t.SOY="SOY",t.MILK="MILK",t.TREE_NUTS="TREE_NUTS",t.CELERY="CELERY",t.MUSTARD="MUSTARD",t.SESAME="SESAME",t.SULPHITES="SULPHITES",t.LUPIN="LUPIN",t.MOLLUSCS="MOLLUSCS",t.BUCKWHEAT="BUCKWHEAT",exports.ProductView=void 0,(P=exports.ProductView||(exports.ProductView={})).LIST="list",P.GRID="grid",exports.SellUnitType=void 0,(U=exports.SellUnitType||(exports.SellUnitType={})).PIECE="PIECE",U.WEIGHT="WEIGHT",U.VOLUME="VOLUME",exports.PlanType=void 0,(o=exports.PlanType||(exports.PlanType={})).APPETIZER="appetizer",o.MAIN_COURSE="mainCourse",o.CHEFS_SPECIAL="chefsSpecial",o.LIFETIME="lifeTime",exports.SubscriptionStatus=void 0,(s=exports.SubscriptionStatus||(exports.SubscriptionStatus={})).ACTIVE="ACTIVE",s.EXPIRED="EXPIRED",s.CANCELLED="CANCELLED",exports.TableShape=void 0,(p=exports.TableShape||(exports.TableShape={})).SQUARE="SQUARE",p.CIRCLE="CIRCLE",p.RECTANGLE="RECTANGLE",p.RECTANGLE_VERTICAL="RECTANGLE_VERTICAL",p.SINGLE_AT_BAR="SINGLE_AT_BAR",p.OTHER="OTHER",exports.TableStatus=void 0,(M=exports.TableStatus||(exports.TableStatus={})).VACANT="VACANT",M.RESERVED="RESERVED",M.OCCUPIED="OCCUPIED",M.BLOCKED="BLOCKED",M.NEEDS_CLEANING="NEEDS_CLEANING",M.OUT_OF_SERVICE="OUT_OF_SERVICE",M.PENDING_CONFIRMATION="PENDING_CONFIRMATION",M.NO_SHOW="NO_SHOW",exports.TableLocation=void 0,(V=exports.TableLocation||(exports.TableLocation={})).MAIN_HALL="MAIN_HALL",V.PRIVATE_DINING="PRIVATE_DINING",V.VIP_ROOM="VIP_ROOM",V.BANQUET_HALL="BANQUET_HALL",V.BAR_AREA="BAR_AREA",V.LOUNGE="LOUNGE",V.OPEN_KITCHEN="OPEN_KITCHEN",V.BOOTH_SECTION="BOOTH_SECTION",V.MEZZANINE="MEZZANINE",V.WINE_CELLAR="WINE_CELLAR",V.TERRACE="TERRACE",V.PATIO="PATIO",V.GARDEN="GARDEN",V.COURTYARD="COURTYARD",V.ROOFTOP="ROOFTOP",V.BALCONY="BALCONY",V.SIDEWALK="SIDEWALK",V.POOLSIDE="POOLSIDE",V.SMOKING_AREA="SMOKING_AREA",V.NON_SMOKING="NON_SMOKING",V.FAMILY_SECTION="FAMILY_SECTION",V.KIDS_AREA="KIDS_AREA",V.WAITING_AREA="WAITING_AREA",V.DANCE_FLOOR="DANCE_FLOOR",exports.EmployeePermission=void 0,(a=exports.EmployeePermission||(exports.EmployeePermission={})).VIEW_BUSINESS="VIEW_BUSINESS",a.UPDATE_BUSINESS="UPDATE_BUSINESS",a.VIEW_BUSINESS_FINANCIALS="VIEW_BUSINESS_FINANCIALS",a.VIEW_ORDERS="VIEW_ORDERS",a.UPDATE_ORDER="UPDATE_ORDER",a.CREATE_ORDER="CREATE_ORDER",a.APPLY_DISCOUNT="APPLY_DISCOUNT",a.VIEW_QR_MENU="VIEW_QR_MENU",a.UPDATE_QR_MENU="UPDATE_QR_MENU",a.VIEW_MENU="VIEW_MENU",a.VIEW_MENU_ITEMS="VIEW_MENU_ITEMS",a.CREATE_MENU_ITEM="CREATE_MENU_ITEM",a.UPDATE_MENU_ITEM="UPDATE_MENU_ITEM",a.DELETE_MENU_ITEM="DELETE_MENU_ITEM",a.VIEW_CATEGORIES="VIEW_CATEGORIES",a.UPDATE_CATEGORY="UPDATE_CATEGORY",a.CREATE_CATEGORY="CREATE_CATEGORY",a.DELETE_CATEGORY="DELETE_CATEGORY",a.VIEW_ADDONS="VIEW_ADDONS",a.UPDATE_ADDON="UPDATE_ADDON",a.CREATE_ADDON="CREATE_ADDON",a.DELETE_ADDON="DELETE_ADDON",a.VIEW_TABLES="VIEW_TABLES",a.UPDATE_TABLE="UPDATE_TABLE",a.UPDATE_TABLE_STATUS="UPDATE_TABLE_STATUS",a.CREATE_TABLE="CREATE_TABLE",a.DELETE_TABLE="DELETE_TABLE",a.VIEW_BRANCHES="VIEW_BRANCHES",a.UPDATE_BRANCH="UPDATE_BRANCH",a.CREATE_BRANCH="CREATE_BRANCH",a.DELETE_BRANCH="DELETE_BRANCH",a.VIEW_EMPLOYEES="VIEW_EMPLOYEES",a.UPDATE_EMPLOYEE="UPDATE_EMPLOYEE",a.CREATE_EMPLOYEE="CREATE_EMPLOYEE",a.DELETE_EMPLOYEE="DELETE_EMPLOYEE",a.VIEW_ANALYTICS="VIEW_ANALYTICS",a.VIEW_SALES_REPORTS="VIEW_SALES_REPORTS",a.VIEW_SUBSCRIPTION="VIEW_SUBSCRIPTION",a.UPDATE_SUBSCRIPTION="UPDATE_SUBSCRIPTION",a.VIEW_QR_CODES="VIEW_QR_CODES",a.CREATE_QR_CODE="CREATE_QR_CODE",a.DELETE_QR_CODE="DELETE_QR_CODE",a.ALL="ALL",a.VIEW_INVENTORY="VIEW_INVENTORY",a.VIEW_PURCHASES="VIEW_PURCHASES",a.VIEW_PURCHASE_DETAIL="VIEW_PURCHASE_DETAIL",a.CREATE_PURCHASE="CREATE_PURCHASE",a.UPDATE_PURCHASE="UPDATE_PURCHASE",a.DELETE_PURCHASE="DELETE_PURCHASE",a.VIEW_INVENTORY_PRODUCTS="VIEW_INVENTORY_PRODUCTS",a.CREATE_INVENTORY_PRODUCT="CREATE_INVENTORY_PRODUCT",a.UPDATE_INVENTORY_PRODUCT="UPDATE_INVENTORY_PRODUCT",a.DELETE_INVENTORY_PRODUCT="DELETE_INVENTORY_PRODUCT",a.VIEW_BUSINESS_BALANCE="VIEW_BUSINESS_BALANCE",a.VIEW_BRANCH_BALANCE="VIEW_BRANCH_BALANCE",a.UPDATE_PRODUCT_INGREDIENTS="UPDATE_PRODUCT_INGREDIENTS",a.DELETE_PRODUCT_INGREDIENTS="DELETE_PRODUCT_INGREDIENTS",a.AI_ASSISTANT="AI_ASSISTANT",a.VIEW_PAYMENTS="VIEW_PAYMENTS",a.TAKE_PAYMENT="TAKE_PAYMENT",a.REFUND_PAYMENT="REFUND_PAYMENT",a.PAYMENT_COMP="COMP",exports.UserRole=void 0,(i=exports.UserRole||(exports.UserRole={})).OWNER="OWNER",i.BRANCH_MANAGER="BRANCH_MANAGER",i.GENERAL_MANAGER="GENERAL_MANAGER",i.CHEF="CHEF",i.SOUS_CHEF="SOUS_CHEF",i.PASTRY_CHEF="PASTRY_CHEF",i.LINE_COOK="LINE_COOK",i.PREP_COOK="PREP_COOK",i.KITCHEN_ASSISTANT="KITCHEN_ASSISTANT",i.DISHWASHER="DISHWASHER",i.HEAD_WAITER="HEAD_WAITER",i.WAITER="WAITER",i.RUNNER="RUNNER",i.BARISTA="BARISTA",i.BARTENDER="BARTENDER",i.SOMMELIER="SOMMELIER",i.ACCOUNTANT="ACCOUNTANT",i.ROOM_SERVICE_STAFF="ROOM_SERVICE_STAFF",i.DELIVERY_DRIVER="DELIVERY_DRIVER",i.INVENTORY_MANAGER="INVENTORY_MANAGER",i.PURCHASING_MANAGER="PURCHASING_MANAGER",i.WAREHOUSE_STAFF="WAREHOUSE_STAFF",i.CASHIER="CASHIER";
1
+ "use strict";var E,A,T,e,R,_,I,N,S,D,O,C,L,r,t,P,U,o,s,p,M,V,i,a,x;exports.MenuAddonSelectType=void 0,(E=exports.MenuAddonSelectType||(exports.MenuAddonSelectType={})).SINGLE="SINGLE",E.MULTIPLE="MULTIPLE",exports.DeliveryFeeType=void 0,(A=exports.DeliveryFeeType||(exports.DeliveryFeeType={})).FIXED="FIXED",A.DISTANCE="DISTANCE",exports.BranchSetting=void 0,(T=exports.BranchSetting||(exports.BranchSetting={})).MAX_DELIVERY_DISTANCE="maxDeliveryDistance",T.DELIVERY_ORDER_ENABLED="deliveryOrderEnabled",T.PICKUP_ORDER_ENABLED="pickupOrderEnabled",T.DINE_IN_ORDER_ENABLED="dineInOrderEnabled",T.MIN_DELIVERY_AMOUNT="minDeliveryAmount",T.DELIVERY_FEE_AMOUNT="deliveryFeeAmount",T.DELIVERY_FEE_TYPE="deliveryFeeType",T.DELIVERY_FEE_TIERS="deliveryFeeTiers",T.SERVICE_CHARGE_ENABLED="serviceChargeEnabled",T.SERVICE_CHARGE_PERCENTAGE="serviceChargePercentage",T.ADD_TO_ORDER_ENABLED="addToOrderEnabled",T.GUEST_ORDER_ENABLED="guestOrderEnabled",T.PRIMARY_PAYMENT_METHODS="primaryPaymentMethods",T.SECONDARY_PAYMENT_METHODS="secondaryPaymentMethods",exports.BranchTaxType=void 0,(e=exports.BranchTaxType||(exports.BranchTaxType={})).PERCENTAGE="percentage",e.FIXED_AMOUNT="fixed",exports.BranchTaxScope=void 0,(R=exports.BranchTaxScope||(exports.BranchTaxScope={})).ENTIRE_MENU="entire_menu",R.CLASS="class",exports.BranchTaxFulfillment=void 0,(_=exports.BranchTaxFulfillment||(exports.BranchTaxFulfillment={})).DELIVERY="delivery",_.TAKEAWAY="takeaway",_.DINE_IN="dine_in",_.ALL="ALL",exports.BusinessSetting=void 0,(I=exports.BusinessSetting||(exports.BusinessSetting={})).MAX_DELIVERY_DISTANCE="maxDeliveryDistance",I.DELIVERY_ORDER_ENABLED="deliveryOrderEnabled",I.PICKUP_ORDER_ENABLED="pickupOrderEnabled",I.DINE_IN_ORDER_ENABLED="dineInOrderEnabled",I.MIN_DELIVERY_AMOUNT="minDeliveryAmount",exports.CustomerAuthStep=void 0,(N=exports.CustomerAuthStep||(exports.CustomerAuthStep={})).PHONE="PHONE",N.OTP="OTP",N.EMAIL="EMAIL",exports.CustomerAddressType=void 0,(S=exports.CustomerAddressType||(exports.CustomerAddressType={})).HOME="HOME",S.WORK="WORK",S.TRAVEL="TRAVEL",exports.Feature=void 0,(exports.Feature||(exports.Feature={})).UPLOAD_VIDEO="UPLOAD_VIDEO",exports.FeatureSegment=void 0,(D=exports.FeatureSegment||(exports.FeatureSegment={})).ALPHA="ALPHA",D.BETA="BETA",D.ALL="ALL",exports.OrderType=void 0,(O=exports.OrderType||(exports.OrderType={})).DINE_IN="DINE_IN",O.PICK_UP="PICK_UP",O.DELIVERY="DELIVERY",exports.OrderStatus=void 0,(C=exports.OrderStatus||(exports.OrderStatus={})).DRAFT="DRAFT",C.PENDING="PENDING",C.CONFIRMED="CONFIRMED",C.PREPARING="PREPARING",C.READY="READY",C.OUT_FOR_DELIVERY="OUT_FOR_DELIVERY",C.DELIVERED="DELIVERED",C.COMPLETED="COMPLETED",C.CANCELLED="CANCELLED",C.FAILED="FAILED",exports.OrderItemStatus=void 0,(L=exports.OrderItemStatus||(exports.OrderItemStatus={})).PENDING="PENDING",L.PREPARING="PREPARING",L.READY="READY",L.SERVED="SERVED",exports.PaymentMethod=void 0,(r=exports.PaymentMethod||(exports.PaymentMethod={})).CASH="CASH",r.CARD="CARD",r.BANK_TRANSFER="BANK_TRANSFER",r.MOBILE="MOBILE",r.QR="QR",r.VOUCHER="VOUCHER",r.COMP="COMP",r.MIXED="MIXED",exports.OrderStep=void 0,(t=exports.OrderStep||(exports.OrderStep={})).CART="CART",t.DETAILS="DETAILS",t.COMPLETED="COMPLETED",exports.Allergen=void 0,(P=exports.Allergen||(exports.Allergen={})).GLUTEN="GLUTEN",P.CRUSTACEANS="CRUSTACEANS",P.EGGS="EGGS",P.FISH="FISH",P.PEANUTS="PEANUTS",P.SOY="SOY",P.MILK="MILK",P.TREE_NUTS="TREE_NUTS",P.CELERY="CELERY",P.MUSTARD="MUSTARD",P.SESAME="SESAME",P.SULPHITES="SULPHITES",P.LUPIN="LUPIN",P.MOLLUSCS="MOLLUSCS",P.BUCKWHEAT="BUCKWHEAT",exports.ProductView=void 0,(U=exports.ProductView||(exports.ProductView={})).LIST="list",U.GRID="grid",exports.SellUnitType=void 0,(o=exports.SellUnitType||(exports.SellUnitType={})).PIECE="PIECE",o.WEIGHT="WEIGHT",o.VOLUME="VOLUME",exports.PlanType=void 0,(s=exports.PlanType||(exports.PlanType={})).APPETIZER="appetizer",s.MAIN_COURSE="mainCourse",s.CHEFS_SPECIAL="chefsSpecial",s.LIFETIME="lifeTime",exports.SubscriptionStatus=void 0,(p=exports.SubscriptionStatus||(exports.SubscriptionStatus={})).ACTIVE="ACTIVE",p.EXPIRED="EXPIRED",p.CANCELLED="CANCELLED",exports.TableShape=void 0,(M=exports.TableShape||(exports.TableShape={})).SQUARE="SQUARE",M.CIRCLE="CIRCLE",M.RECTANGLE="RECTANGLE",M.RECTANGLE_VERTICAL="RECTANGLE_VERTICAL",M.SINGLE_AT_BAR="SINGLE_AT_BAR",M.OTHER="OTHER",exports.TableStatus=void 0,(V=exports.TableStatus||(exports.TableStatus={})).VACANT="VACANT",V.RESERVED="RESERVED",V.OCCUPIED="OCCUPIED",V.BLOCKED="BLOCKED",V.NEEDS_CLEANING="NEEDS_CLEANING",V.OUT_OF_SERVICE="OUT_OF_SERVICE",V.PENDING_CONFIRMATION="PENDING_CONFIRMATION",V.NO_SHOW="NO_SHOW",exports.TableLocation=void 0,(i=exports.TableLocation||(exports.TableLocation={})).MAIN_HALL="MAIN_HALL",i.PRIVATE_DINING="PRIVATE_DINING",i.VIP_ROOM="VIP_ROOM",i.BANQUET_HALL="BANQUET_HALL",i.BAR_AREA="BAR_AREA",i.LOUNGE="LOUNGE",i.OPEN_KITCHEN="OPEN_KITCHEN",i.BOOTH_SECTION="BOOTH_SECTION",i.MEZZANINE="MEZZANINE",i.WINE_CELLAR="WINE_CELLAR",i.TERRACE="TERRACE",i.PATIO="PATIO",i.GARDEN="GARDEN",i.COURTYARD="COURTYARD",i.ROOFTOP="ROOFTOP",i.BALCONY="BALCONY",i.SIDEWALK="SIDEWALK",i.POOLSIDE="POOLSIDE",i.SMOKING_AREA="SMOKING_AREA",i.NON_SMOKING="NON_SMOKING",i.FAMILY_SECTION="FAMILY_SECTION",i.KIDS_AREA="KIDS_AREA",i.WAITING_AREA="WAITING_AREA",i.DANCE_FLOOR="DANCE_FLOOR",exports.EmployeePermission=void 0,(a=exports.EmployeePermission||(exports.EmployeePermission={})).VIEW_BUSINESS="VIEW_BUSINESS",a.UPDATE_BUSINESS="UPDATE_BUSINESS",a.VIEW_BUSINESS_FINANCIALS="VIEW_BUSINESS_FINANCIALS",a.VIEW_ORDERS="VIEW_ORDERS",a.UPDATE_ORDER="UPDATE_ORDER",a.CREATE_ORDER="CREATE_ORDER",a.APPLY_DISCOUNT="APPLY_DISCOUNT",a.VIEW_QR_MENU="VIEW_QR_MENU",a.UPDATE_QR_MENU="UPDATE_QR_MENU",a.VIEW_MENU="VIEW_MENU",a.VIEW_MENU_ITEMS="VIEW_MENU_ITEMS",a.CREATE_MENU_ITEM="CREATE_MENU_ITEM",a.UPDATE_MENU_ITEM="UPDATE_MENU_ITEM",a.DELETE_MENU_ITEM="DELETE_MENU_ITEM",a.VIEW_CATEGORIES="VIEW_CATEGORIES",a.UPDATE_CATEGORY="UPDATE_CATEGORY",a.CREATE_CATEGORY="CREATE_CATEGORY",a.DELETE_CATEGORY="DELETE_CATEGORY",a.VIEW_ADDONS="VIEW_ADDONS",a.UPDATE_ADDON="UPDATE_ADDON",a.CREATE_ADDON="CREATE_ADDON",a.DELETE_ADDON="DELETE_ADDON",a.VIEW_TABLES="VIEW_TABLES",a.UPDATE_TABLE="UPDATE_TABLE",a.UPDATE_TABLE_STATUS="UPDATE_TABLE_STATUS",a.CREATE_TABLE="CREATE_TABLE",a.DELETE_TABLE="DELETE_TABLE",a.VIEW_BRANCHES="VIEW_BRANCHES",a.UPDATE_BRANCH="UPDATE_BRANCH",a.CREATE_BRANCH="CREATE_BRANCH",a.DELETE_BRANCH="DELETE_BRANCH",a.VIEW_EMPLOYEES="VIEW_EMPLOYEES",a.UPDATE_EMPLOYEE="UPDATE_EMPLOYEE",a.CREATE_EMPLOYEE="CREATE_EMPLOYEE",a.DELETE_EMPLOYEE="DELETE_EMPLOYEE",a.VIEW_ANALYTICS="VIEW_ANALYTICS",a.VIEW_SALES_REPORTS="VIEW_SALES_REPORTS",a.VIEW_SUBSCRIPTION="VIEW_SUBSCRIPTION",a.UPDATE_SUBSCRIPTION="UPDATE_SUBSCRIPTION",a.VIEW_QR_CODES="VIEW_QR_CODES",a.CREATE_QR_CODE="CREATE_QR_CODE",a.DELETE_QR_CODE="DELETE_QR_CODE",a.ALL="ALL",a.VIEW_INVENTORY="VIEW_INVENTORY",a.VIEW_PURCHASES="VIEW_PURCHASES",a.VIEW_PURCHASE_DETAIL="VIEW_PURCHASE_DETAIL",a.CREATE_PURCHASE="CREATE_PURCHASE",a.UPDATE_PURCHASE="UPDATE_PURCHASE",a.DELETE_PURCHASE="DELETE_PURCHASE",a.VIEW_INVENTORY_PRODUCTS="VIEW_INVENTORY_PRODUCTS",a.CREATE_INVENTORY_PRODUCT="CREATE_INVENTORY_PRODUCT",a.UPDATE_INVENTORY_PRODUCT="UPDATE_INVENTORY_PRODUCT",a.DELETE_INVENTORY_PRODUCT="DELETE_INVENTORY_PRODUCT",a.VIEW_BUSINESS_BALANCE="VIEW_BUSINESS_BALANCE",a.VIEW_BRANCH_BALANCE="VIEW_BRANCH_BALANCE",a.UPDATE_PRODUCT_INGREDIENTS="UPDATE_PRODUCT_INGREDIENTS",a.DELETE_PRODUCT_INGREDIENTS="DELETE_PRODUCT_INGREDIENTS",a.AI_ASSISTANT="AI_ASSISTANT",a.VIEW_PAYMENTS="VIEW_PAYMENTS",a.TAKE_PAYMENT="TAKE_PAYMENT",a.REFUND_PAYMENT="REFUND_PAYMENT",a.PAYMENT_COMP="COMP",exports.UserRole=void 0,(x=exports.UserRole||(exports.UserRole={})).OWNER="OWNER",x.BRANCH_MANAGER="BRANCH_MANAGER",x.GENERAL_MANAGER="GENERAL_MANAGER",x.CHEF="CHEF",x.SOUS_CHEF="SOUS_CHEF",x.PASTRY_CHEF="PASTRY_CHEF",x.LINE_COOK="LINE_COOK",x.PREP_COOK="PREP_COOK",x.KITCHEN_ASSISTANT="KITCHEN_ASSISTANT",x.DISHWASHER="DISHWASHER",x.HEAD_WAITER="HEAD_WAITER",x.WAITER="WAITER",x.RUNNER="RUNNER",x.BARISTA="BARISTA",x.BARTENDER="BARTENDER",x.SOMMELIER="SOMMELIER",x.ACCOUNTANT="ACCOUNTANT",x.ROOM_SERVICE_STAFF="ROOM_SERVICE_STAFF",x.DELIVERY_DRIVER="DELIVERY_DRIVER",x.INVENTORY_MANAGER="INVENTORY_MANAGER",x.PURCHASING_MANAGER="PURCHASING_MANAGER",x.WAREHOUSE_STAFF="WAREHOUSE_STAFF",x.CASHIER="CASHIER";
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/modules/addon/models.ts","../../../src/modules/branch/models.ts","../../../src/modules/business/models.ts","../../../src/modules/customer/models.ts","../../../src/modules/feature/models.ts","../../../src/modules/order/models.ts","../../../src/modules/product/models.ts","../../../src/modules/subscription/models.ts","../../../src/modules/table/models.ts","../../../src/modules/user/models.ts"],"sourcesContent":["import { LocalizedText } from \"src/modules/localization/models\";\n\nexport enum MenuAddonSelectType {\n\tSINGLE = \"SINGLE\",\n\tMULTIPLE = \"MULTIPLE\",\n}\n\nexport interface MenuAddonOption {\n\tid?: number;\n\t/** Net price (tax-exclusive) — server-of-record value. */\n\tprice: number;\n\t/**\n\t * Gross price for menu display: net price plus the parent product's\n\t * `addToListingPrice` taxes. Equals `price` when no branch context is\n\t * supplied (e.g. addon detached from a branch tax setup).\n\t */\n\tlistingPrice: number;\n\ttitle: LocalizedText;\n\tremove?: boolean;\n}\n\nexport interface MenuAddon {\n\tid?: number;\n\tselectType: MenuAddonSelectType;\n\toptions: MenuAddonOption[];\n\tbusinessId?: number;\n\ttitle: LocalizedText;\n}\n","import { LocalizedText } from \"src/modules/localization/models\";\n\nexport type BranchWorkHour = {\n\topenAt: string;\n\tcloseAt: string;\n};\n\nexport type BranchWorkDay = {\n\tday: number;\n\thours: BranchWorkHour | null;\n};\n\nexport type BranchWorkDays = {\n\tdays: BranchWorkDay[];\n};\n\nexport interface BranchSettings {\n\tdeliveryOrderEnabled: boolean;\n\tpickupOrderEnabled: boolean;\n\tdineInOrderEnabled: boolean;\n\tmaxDeliveryDistance: number;\n\tminDeliveryAmount: number;\n\tdeliveryFeeAmount: number;\n\tserviceChargeEnabled: boolean;\n\tserviceChargePercentage: number;\n\taddToOrderEnabled: boolean;\n\tguestOrderEnabled: boolean;\n\tprimaryPaymentMethods?: string[] | null;\n\tsecondaryPaymentMethods?: string[] | null;\n}\n\nexport enum BranchSetting {\n\tMAX_DELIVERY_DISTANCE = \"maxDeliveryDistance\",\n\tDELIVERY_ORDER_ENABLED = \"deliveryOrderEnabled\",\n\tPICKUP_ORDER_ENABLED = \"pickupOrderEnabled\",\n\tDINE_IN_ORDER_ENABLED = \"dineInOrderEnabled\",\n\tMIN_DELIVERY_AMOUNT = \"minDeliveryAmount\",\n\tDELIVERY_FEE_AMOUNT = \"deliveryFeeAmount\",\n\tSERVICE_CHARGE_ENABLED = \"serviceChargeEnabled\",\n\tSERVICE_CHARGE_PERCENTAGE = \"serviceChargePercentage\",\n\tADD_TO_ORDER_ENABLED = \"addToOrderEnabled\",\n\tGUEST_ORDER_ENABLED = \"guestOrderEnabled\",\n\tPRIMARY_PAYMENT_METHODS = \"primaryPaymentMethods\",\n\tSECONDARY_PAYMENT_METHODS = \"secondaryPaymentMethods\",\n}\n\nexport interface Branch {\n\tid: number;\n\tname: string;\n\tbusinessId: number;\n\taddress: string;\n\tlongitude?: number;\n\tlatitude?: number;\n\tphone?: string;\n\twhatsApp?: string;\n\ttelegram?: string;\n\twifiPassword?: string;\n\tcreatedAt?: number;\n\tcoverPhoto?: string;\n\t// Trading currency (ISO-4217) of this branch. Currency lives on the branch,\n\t// not the business, so a franchise or foreign establishment can trade in a\n\t// different currency than the brand's default.\n\tcurrency?: string;\n\ttimezone?: string;\n\tbusinessDayStart?: string;\n\tsettings?: BranchSettings;\n\topeningHours?: BranchWorkDays;\n\tdeliveryHours?: BranchWorkDays;\n}\n\nexport type BranchServes = {\n\tisOpen: boolean;\n\tisDelivering: boolean;\n};\n\nexport enum BranchTaxType {\n\tPERCENTAGE = \"percentage\",\n\tFIXED_AMOUNT = \"fixed\",\n}\n\nexport enum BranchTaxScope {\n\tENTIRE_MENU = \"entire_menu\",\n\tCLASS = \"class\",\n}\n\nexport enum BranchTaxFulfillment {\n\tDELIVERY = \"delivery\",\n\tTAKEAWAY = \"takeaway\",\n\tDINE_IN = \"dine_in\",\n\tALL = \"ALL\",\n}\n\nexport type BranchTax = {\n\tid: number;\n\tbusinessId: number;\n\tbranchId: number;\n\ttaxClassId?: number;\n\tname: LocalizedText;\n\trate: number;\n\ttype: BranchTaxType;\n\tisActive: boolean;\n\tcreatedAt: number;\n\tupdatedAt: number;\n\tscope: BranchTaxScope;\n\taddToListingPrice: boolean;\n\tisDefault: boolean;\n\tcomputationOrder: number;\n\tappliesToFulfillment?: BranchTaxFulfillment;\n\ttaxClassCode?: string;\n};\n","import * as featureModels from \"../feature/models\";\nimport * as subscriptionModels from \"../subscription/models\";\n\nexport interface BusinessLanguage {\n\tid: number;\n\tcode: string;\n\tbusinessId: number;\n}\n\nexport enum BusinessSetting {\n\tMAX_DELIVERY_DISTANCE = \"maxDeliveryDistance\",\n\tDELIVERY_ORDER_ENABLED = \"deliveryOrderEnabled\",\n\tPICKUP_ORDER_ENABLED = \"pickupOrderEnabled\",\n\tDINE_IN_ORDER_ENABLED = \"dineInOrderEnabled\",\n\tMIN_DELIVERY_AMOUNT = \"minDeliveryAmount\",\n}\n\nexport interface Business {\n\tid: number;\n\tname: string;\n\tusername: string;\n\tavatar64?: string;\n\tavatar128?: string;\n\tavatar256?: string;\n\tcoverPhoto?: string;\n\tinstagram?: string;\n\tfacebook?: string;\n\ttiktok?: string;\n\tcreatedAt?: number;\n\tlanguages: BusinessLanguage[];\n\tsubscriptions?: subscriptionModels.Subscription[];\n\tsegment?: featureModels.FeatureSegment;\n}\n","export enum CustomerAuthStep {\n\tPHONE = \"PHONE\",\n\tOTP = \"OTP\",\n\tEMAIL = \"EMAIL\",\n}\n\nexport enum CustomerAddressType {\n\tHOME = \"HOME\",\n\tWORK = \"WORK\",\n\tTRAVEL = \"TRAVEL\",\n}\n\nexport interface CustomerAddress {\n\tid?: number;\n\taddressId?: number; // Update address temporary\n\tcountryCode: string;\n\tcityName: string;\n\tstreet: string;\n\thouseNumber: string;\n\tadditionalNumber?: string;\n\tpostCode?: string;\n\tinstructions?: string;\n\tfloor?: number;\n\tlongitude?: number;\n\tlatitude?: number;\n\ttitle?: string;\n\ttype?: CustomerAddressType;\n}\n\nexport interface CustomerAuthForm {\n\totp: string;\n\temail: string;\n}\n\nexport interface CustomerAuthPhoneForm {\n\tcountryCode: string;\n\tphoneNumber: string;\n}\n\nexport interface AuthResponse {\n\taccessToken: string;\n\trefreshToken: string;\n}\n\nexport interface Customer {\n\tid?: number;\n\temail: string;\n\tphoneNumber: string;\n\tfullName: string;\n\tsmsVerified?: boolean;\n\temailVerified?: boolean;\n\taddress?: CustomerAddress;\n\taddresses?: CustomerAddress[];\n}\n\nexport type CustomerUpdatePayload = Partial<Customer>;\n","export enum Feature {\n\tUPLOAD_VIDEO = \"UPLOAD_VIDEO\",\n}\nexport enum FeatureSegment {\n\tALPHA = \"ALPHA\",\n\tBETA = \"BETA\",\n\tALL = \"ALL\",\n}\n","import * as customerModels from \"../customer/models\";\nimport * as productModels from \"../product/models\";\nimport { LocalizedText } from \"src/modules/localization/models\";\n\nexport enum OrderType {\n\tDINE_IN = \"DINE_IN\",\n\tPICK_UP = \"PICK_UP\",\n\tDELIVERY = \"DELIVERY\",\n}\n\nexport enum OrderStatus {\n\tDRAFT = \"DRAFT\",\n\tPENDING = \"PENDING\",\n\tCONFIRMED = \"CONFIRMED\",\n\tPREPARING = \"PREPARING\",\n\tREADY = \"READY\",\n\tOUT_FOR_DELIVERY = \"OUT_FOR_DELIVERY\",\n\tDELIVERED = \"DELIVERED\",\n\tCOMPLETED = \"COMPLETED\",\n\tCANCELLED = \"CANCELLED\",\n\tFAILED = \"FAILED\",\n}\n\nexport enum OrderItemStatus {\n\tPENDING = \"PENDING\",\n\tPREPARING = \"PREPARING\",\n\tREADY = \"READY\",\n\tSERVED = \"SERVED\",\n}\n\nexport enum PaymentMethod {\n\tCASH = \"CASH\",\n\tCARD = \"CARD\",\n\tBANK_TRANSFER = \"BANK_TRANSFER\",\n\tMOBILE = \"MOBILE\",\n\tQR = \"QR\",\n\tVOUCHER = \"VOUCHER\",\n\tCOMP = \"COMP\",\n\tMIXED = \"MIXED\",\n}\n\n/**\n * The methods a customer can signal at checkout. COMP and MIXED are settlement\n * outcomes the venue records itself once money changes hands, so they are part\n * of the enum the API speaks but never an option in the public menu.\n */\nexport type CustomerPaymentMethod = Exclude<\n\tPaymentMethod,\n\tPaymentMethod.COMP | PaymentMethod.MIXED\n>;\n\nexport interface OrderAddonOption {\n\toptionId: number;\n\t/** Gross unit price (listingPrice from the menu listing). */\n\tprice: number;\n}\n\nexport interface OrderAddon {\n\tid?: number;\n\taddonId: number;\n\toptions: OrderAddonOption[];\n}\n\nexport interface SelectedAddons {\n\t[key: number]: number | number[];\n}\n\nexport interface OrderItemVariant {\n\tid?: number;\n\tvariantId: number;\n\t/** Gross unit price (listingPrice from the menu listing). */\n\tprice: number;\n}\n\nexport interface OrderItem {\n\tid?: number;\n\tproductId: number;\n\torderId?: number;\n\tquantity: number;\n\t/**\n\t * Gross unit price (listingPrice) at the moment the line was added. The\n\t * server recomputes authoritative totals on create/preview; this value is\n\t * what the cart UI displays.\n\t */\n\tprice?: number;\n\tvariant?: OrderItemVariant;\n\taddons: OrderAddon[];\n\tnote?: string;\n\tstatus?: OrderItemStatus;\n\tisPaid?: boolean;\n\tsellUnitType: productModels.SellUnitType;\n}\n\nexport interface Order {\n\tid?: number;\n\tbusinessId?: number;\n\tbranchId?: number;\n\tworkingDayId?: number;\n\ttableId?: number;\n\temployeeId?: number;\n\torderType: OrderType;\n\titems: OrderItem[];\n\tstatus?: OrderStatus;\n\tpreferredPaymentMethod?: PaymentMethod;\n\t/**\n\t * Customer's optional voluntary gratuity as a NUMERIC money string in the\n\t * branch currency (e.g. \"5.00\"). Honoured only on the customer and guest\n\t * create paths — POS ignores it. It is an unfinalized intent: the server\n\t * stores it but never adds it to the order total nor taxes it, so the\n\t * tip-inclusive total shown at checkout is computed client-side. Absent (or\n\t * zero) means no tip.\n\t */\n\tpreferredTipAmount?: string;\n\tnote?: string;\n\tcreatedAt?: number;\n\tupdatedAt?: number;\n\tcustomer?: customerModels.Customer;\n\tcurrency?: string;\n\ttrackingId?: string;\n}\n\nexport interface OrderItems {\n\t[key: string]: OrderItem;\n}\n\nexport enum OrderStep {\n\tCART = \"CART\",\n\tDETAILS = \"DETAILS\",\n\tCOMPLETED = \"COMPLETED\",\n}\n\nexport interface OrderPayload extends Order {\n\tcustomerAddressId: number;\n\tcustomerId: number;\n\tlanguage?: string;\n}\n\n/**\n * Contact + delivery snapshot an unregistered (\"guest\") visitor enters at\n * checkout. Mirrors the backend GuestContact: every field is optional, and an\n * address is only meaningful for DELIVERY orders. latitude/longitude are kept\n * as numbers here for the UI (they come from the address autocomplete); they're\n * serialized to strings in the wire payload — see GuestContactRequest.\n */\nexport interface GuestContact {\n\tfullName?: string;\n\tphoneNumber?: string;\n\temail?: string;\n\tstreet?: string;\n\thouseNumber?: string;\n\tadditionalNumber?: string;\n\tfloor?: number;\n\tlatitude?: number;\n\tlongitude?: number;\n\tcityName?: string;\n\tcountryCode?: string;\n\tpostCode?: string;\n\tinstructions?: string;\n}\n\n/**\n * Wire shape of the contact sent to POST /order/public. Matches the backend\n * GuestContact, where latitude/longitude are strings.\n */\nexport interface GuestContactRequest\n\textends Omit<GuestContact, \"latitude\" | \"longitude\"> {\n\tlatitude?: string;\n\tlongitude?: string;\n}\n\n/**\n * Payload for the public, non-authenticated create path (POST /order/public).\n * Unlike OrderPayload it carries no customerId/customerAddressId — an\n * unregistered visitor has no account or stored address book; the delivery\n * address (when given) travels inside the contact snapshot.\n */\nexport interface GuestOrderPayload extends Order {\n\tlanguage?: string;\n\tcontact?: GuestContactRequest;\n}\n\nexport interface CalculatePreviewItemRequest {\n\torderItemsId: string;\n\tproductId: number;\n\tquantity: number;\n\tvariant?: { variantId: number };\n\taddons?: Array<{\n\t\taddonId: number;\n\t\toptions: Array<{ optionId: number }>;\n\t}>;\n}\n\nexport interface CalculatePreviewRequest {\n\tbusinessId?: number;\n\tbranchId: number;\n\torderType: OrderType;\n\titems: CalculatePreviewItemRequest[];\n}\n\nexport interface CalculatePreviewTax {\n\tbranchTaxId: number;\n\tname: LocalizedText;\n\trate: number;\n\ttype: \"percentage\" | \"fixed\";\n\taddToListingPrice: boolean;\n\tamount: number;\n}\n\nexport interface CalculatePreviewLine {\n\torderItemsId: string;\n\tproductId: number;\n\tquantity: number;\n\tprice: number;\n\ttaxes: CalculatePreviewTax[];\n}\n\nexport interface CalculatePreviewResponse {\n\ttotalPriceWithoutTax: number;\n\ttotalPriceWithTax: number;\n\ttotalPriceWithTaxAndFees: number;\n\ttotalTax: number;\n\tdeliveryFee: number;\n\tserviceFee: number;\n\titems: CalculatePreviewLine[];\n\ttaxes: CalculatePreviewTax[];\n}\n\nexport interface OrderPreviewState {\n\tdata: CalculatePreviewResponse | null;\n\tisLoading: boolean;\n\terror: string | null;\n}\n","import { MenuAddon } from \"../addon/models\";\nimport { LocalizedText } from \"src/modules/localization/models\";\n\nexport interface LocalizedContent {\n\tname: string;\n\tdescription: string;\n}\n\nexport interface ProductVariant {\n\tid?: number;\n\t/** Net price (tax-exclusive) — server-of-record value. */\n\tprice: number;\n\t/**\n\t * Gross price for menu display: net price plus any branch taxes flagged\n\t * `addToListingPrice`. Equals `price` when no branch context is supplied.\n\t */\n\tlistingPrice: number;\n\t/** Title keyed by language code, e.g. { en: \"Large\", az: \"Böyük\" }. */\n\ttitle: LocalizedText;\n\tproductId?: number;\n\tremove?: boolean;\n}\n\nexport interface Product {\n\tid: number;\n\tcategoryId: number;\n\t/** Net price (tax-exclusive). Nullable when the product has no own price (variant-only). */\n\tprice: number;\n\t/**\n\t * Gross price for menu display: net price plus any branch taxes flagged\n\t * `addToListingPrice`. Equals `price` when no branch context is supplied,\n\t * and is null when `price` itself is null.\n\t */\n\tlistingPrice?: number | null;\n\tvolume?: string; // 100qr/250ml/1kq\n\timage160?: string;\n\timage580?: string;\n\timage1024?: string;\n\ttranslations: Record<string, LocalizedContent>;\n\tvariants: ProductVariant[];\n\taddons: MenuAddon[];\n\tavailable?: boolean;\n\tvisible?: boolean;\n\tposition?: number;\n\tvideoUrl?: string;\n\tsellUnitType?: SellUnitType;\n\ttaxClassId?: number | null;\n\t/**\n\t * The bare allergen codes the business declared, `[]` when none — the shape\n\t * a product is authored and saved in. Rendering reads `allergenDetails`\n\t * instead, since that carries the same codes plus their wording.\n\t */\n\tallergens?: AllergenCode[];\n\t/**\n\t * The declared allergens as the menu renders them: each code paired with its\n\t * label in every language the business publishes. The API owns the catalog\n\t * and translates it, so a code it adds is legible here without a release of\n\t * this package, and the list is taken as given — order included.\n\t */\n\tallergenDetails?: AllergenDetail[];\n}\n\n/**\n * One declared allergen: the standardized code plus its label per language\n * code. Labels arrive as a map rather than a single localized string because\n * the public menu is served from one language-agnostic cached payload — the\n * guest switches language locally and the row has to relabel without a\n * refetch. Mirrors `domains/product/types/allergen_detail.go`.\n */\nexport interface AllergenDetail {\n\tcode: AllergenCode;\n\t/** Label keyed by language code, e.g. `{ en: \"Gluten\", az: \"Qlüten\" }`. */\n\ttranslations: LocalizedText;\n}\n\n/**\n * An allergen code as it comes off the wire. Deliberately open: the API owns\n * the catalog, so it may send a code this package has never heard of, and that\n * code still has to reach the guest — a declared allergen going missing is the\n * one failure mode this feature cannot have. `Allergen` names the codes we\n * have a glyph for; everything else falls back to a generic mark (see\n * `AllergenIcons`). Wording never depends on this list.\n */\nexport type AllergenCode = Allergen | (string & Record<never, never>);\n\n/**\n * The 14 major food allergens of EU Regulation 1169/2011 (Annex II) plus\n * buckwheat — mirrors `domains/product/constants/allergens.go` on the API,\n * which is the server of record for the catalog. This is the subset with a\n * glyph of its own; it is not a limit on what the API may send, and it exists\n * in this package only because an icon cannot travel over the wire.\n */\nexport enum Allergen {\n\tGLUTEN = \"GLUTEN\",\n\tCRUSTACEANS = \"CRUSTACEANS\",\n\tEGGS = \"EGGS\",\n\tFISH = \"FISH\",\n\tPEANUTS = \"PEANUTS\",\n\tSOY = \"SOY\",\n\tMILK = \"MILK\",\n\tTREE_NUTS = \"TREE_NUTS\",\n\tCELERY = \"CELERY\",\n\tMUSTARD = \"MUSTARD\",\n\tSESAME = \"SESAME\",\n\tSULPHITES = \"SULPHITES\",\n\tLUPIN = \"LUPIN\",\n\tMOLLUSCS = \"MOLLUSCS\",\n\tBUCKWHEAT = \"BUCKWHEAT\",\n}\n\nexport enum ProductView {\n\tLIST = \"list\",\n\tGRID = \"grid\",\n}\n\nexport interface DashboardProduct extends Omit<Product, \"addons\"> {\n\taddons: number[];\n}\n\nexport enum SellUnitType {\n\tPIECE = \"PIECE\",\n\tWEIGHT = \"WEIGHT\",\n\tVOLUME = \"VOLUME\",\n}\n","export enum PlanType {\n\tAPPETIZER = \"appetizer\",\n\tMAIN_COURSE = \"mainCourse\",\n\tCHEFS_SPECIAL = \"chefsSpecial\",\n\tLIFETIME = \"lifeTime\",\n}\n\nexport interface PricingPlan {\n\ttitle: string;\n\tprice: {\n\t\tmonthly: number;\n\t\tannually: number;\n\t};\n\tdiscountedPrice?: number;\n\tribbonText?: string;\n}\n\nexport interface PricingPlans {\n\t[key: string]: PricingPlan;\n}\n\nexport type PricingInterval = \"monthly\" | \"annually\";\n\nexport enum SubscriptionStatus {\n\tACTIVE = \"ACTIVE\",\n\tEXPIRED = \"EXPIRED\",\n\tCANCELLED = \"CANCELLED\",\n}\n\nexport type BillingInterval = \"MONTH\" | \"YEAR\";\n\nexport interface Subscription {\n\tid: number;\n\tbillingInterval: BillingInterval;\n\tbillingIntervalCount: number;\n\tstartDate: string;\n\tendDate: string;\n\tinterval: PricingInterval;\n\tstatus: SubscriptionStatus;\n\tbusiness_id?: number;\n\tplanName: string;\n}\n","export enum TableShape {\n\tSQUARE = \"SQUARE\",\n\tCIRCLE = \"CIRCLE\",\n\tRECTANGLE = \"RECTANGLE\",\n\tRECTANGLE_VERTICAL = \"RECTANGLE_VERTICAL\",\n\tSINGLE_AT_BAR = \"SINGLE_AT_BAR\",\n\tOTHER = \"OTHER\",\n}\n\nexport enum TableStatus {\n\tVACANT = \"VACANT\", // Free and available\n\tRESERVED = \"RESERVED\", // Booked but not yet seated\n\tOCCUPIED = \"OCCUPIED\", // Currently in use\n\tBLOCKED = \"BLOCKED\", // Temporarily blocked/unavailable\n\tNEEDS_CLEANING = \"NEEDS_CLEANING\", // Dirty, awaiting cleanup\n\tOUT_OF_SERVICE = \"OUT_OF_SERVICE\", // Permanently unavailable repair/maintenance\n\tPENDING_CONFIRMATION = \"PENDING_CONFIRMATION\", // Reservation not yet confirmed\n\tNO_SHOW = \"NO_SHOW\", // Reserved but guest didn’t arrive\n}\n\nexport enum TableLocation {\n\t// Indoor\n\tMAIN_HALL = \"MAIN_HALL\",\n\tPRIVATE_DINING = \"PRIVATE_DINING\",\n\tVIP_ROOM = \"VIP_ROOM\",\n\tBANQUET_HALL = \"BANQUET_HALL\",\n\tBAR_AREA = \"BAR_AREA\",\n\tLOUNGE = \"LOUNGE\",\n\tOPEN_KITCHEN = \"OPEN_KITCHEN\",\n\tBOOTH_SECTION = \"BOOTH_SECTION\",\n\tMEZZANINE = \"MEZZANINE\",\n\tWINE_CELLAR = \"WINE_CELLAR\",\n\n\t// Outdoor\n\tTERRACE = \"TERRACE\",\n\tPATIO = \"PATIO\",\n\tGARDEN = \"GARDEN\",\n\tCOURTYARD = \"COURTYARD\",\n\tROOFTOP = \"ROOFTOP\",\n\tBALCONY = \"BALCONY\",\n\tSIDEWALK = \"SIDEWALK\",\n\tPOOLSIDE = \"POOLSIDE\",\n\n\t// Special Sections\n\tSMOKING_AREA = \"SMOKING_AREA\",\n\tNON_SMOKING = \"NON_SMOKING\",\n\tFAMILY_SECTION = \"FAMILY_SECTION\",\n\tKIDS_AREA = \"KIDS_AREA\",\n\tWAITING_AREA = \"WAITING_AREA\",\n\tDANCE_FLOOR = \"DANCE_FLOOR\",\n}\n\nexport interface Table {\n\tid: number;\n\tbusinessId: number;\n\tbranchId: number;\n\tname: string;\n\tseatCount: number;\n\tshape: TableShape;\n\tlocation: TableLocation;\n\tstatus: TableStatus;\n}\n\nexport interface TableState {\n\ttables: Table[];\n}\n\nexport type TableForm = Omit<Table, \"id\" | \"businessId\" | \"branchId\"> & {\n\tbranchId: string | number;\n};\n\nexport type TableUpdate = Partial<Omit<Table, \"id\" | \"businessId\">>;\n\nexport type TableFilter = Partial<Pick<Table, \"branchId\" | \"shape\" | \"location\" | \"status\">>;\n\nexport type TableFilterParams = { field: keyof TableFilter; value: TableFilter[keyof TableFilter] };\n","export enum EmployeePermission {\n\tVIEW_BUSINESS = \"VIEW_BUSINESS\",\n\tUPDATE_BUSINESS = \"UPDATE_BUSINESS\",\n\tVIEW_BUSINESS_FINANCIALS = \"VIEW_BUSINESS_FINANCIALS\",\n\tVIEW_ORDERS = \"VIEW_ORDERS\",\n\tUPDATE_ORDER = \"UPDATE_ORDER\",\n\tCREATE_ORDER = \"CREATE_ORDER\",\n\tAPPLY_DISCOUNT = \"APPLY_DISCOUNT\",\n\tVIEW_QR_MENU = \"VIEW_QR_MENU\",\n\tUPDATE_QR_MENU = \"UPDATE_QR_MENU\",\n\tVIEW_MENU = \"VIEW_MENU\",\n\tVIEW_MENU_ITEMS = \"VIEW_MENU_ITEMS\",\n\tCREATE_MENU_ITEM = \"CREATE_MENU_ITEM\",\n\tUPDATE_MENU_ITEM = \"UPDATE_MENU_ITEM\",\n\tDELETE_MENU_ITEM = \"DELETE_MENU_ITEM\",\n\tVIEW_CATEGORIES = \"VIEW_CATEGORIES\",\n\tUPDATE_CATEGORY = \"UPDATE_CATEGORY\",\n\tCREATE_CATEGORY = \"CREATE_CATEGORY\",\n\tDELETE_CATEGORY = \"DELETE_CATEGORY\",\n\tVIEW_ADDONS = \"VIEW_ADDONS\",\n\tUPDATE_ADDON = \"UPDATE_ADDON\",\n\tCREATE_ADDON = \"CREATE_ADDON\",\n\tDELETE_ADDON = \"DELETE_ADDON\",\n\tVIEW_TABLES = \"VIEW_TABLES\",\n\tUPDATE_TABLE = \"UPDATE_TABLE\",\n\tUPDATE_TABLE_STATUS = \"UPDATE_TABLE_STATUS\",\n\tCREATE_TABLE = \"CREATE_TABLE\",\n\tDELETE_TABLE = \"DELETE_TABLE\",\n\tVIEW_BRANCHES = \"VIEW_BRANCHES\",\n\tUPDATE_BRANCH = \"UPDATE_BRANCH\",\n\tCREATE_BRANCH = \"CREATE_BRANCH\",\n\tDELETE_BRANCH = \"DELETE_BRANCH\",\n\tVIEW_EMPLOYEES = \"VIEW_EMPLOYEES\",\n\tUPDATE_EMPLOYEE = \"UPDATE_EMPLOYEE\",\n\tCREATE_EMPLOYEE = \"CREATE_EMPLOYEE\",\n\tDELETE_EMPLOYEE = \"DELETE_EMPLOYEE\",\n\tVIEW_ANALYTICS = \"VIEW_ANALYTICS\",\n\tVIEW_SALES_REPORTS = \"VIEW_SALES_REPORTS\",\n\tVIEW_SUBSCRIPTION = \"VIEW_SUBSCRIPTION\",\n\tUPDATE_SUBSCRIPTION = \"UPDATE_SUBSCRIPTION\",\n\tVIEW_QR_CODES = \"VIEW_QR_CODES\",\n\tCREATE_QR_CODE = \"CREATE_QR_CODE\",\n\tDELETE_QR_CODE = \"DELETE_QR_CODE\",\n\tALL = \"ALL\",\n\t// Inventory\n\tVIEW_INVENTORY = \"VIEW_INVENTORY\",\n\tVIEW_PURCHASES = \"VIEW_PURCHASES\",\n\tVIEW_PURCHASE_DETAIL = \"VIEW_PURCHASE_DETAIL\",\n\tCREATE_PURCHASE = \"CREATE_PURCHASE\",\n\tUPDATE_PURCHASE = \"UPDATE_PURCHASE\",\n\tDELETE_PURCHASE = \"DELETE_PURCHASE\",\n\tVIEW_INVENTORY_PRODUCTS = \"VIEW_INVENTORY_PRODUCTS\",\n\tCREATE_INVENTORY_PRODUCT = \"CREATE_INVENTORY_PRODUCT\",\n\tUPDATE_INVENTORY_PRODUCT = \"UPDATE_INVENTORY_PRODUCT\",\n\tDELETE_INVENTORY_PRODUCT = \"DELETE_INVENTORY_PRODUCT\",\n\tVIEW_BUSINESS_BALANCE = \"VIEW_BUSINESS_BALANCE\",\n\tVIEW_BRANCH_BALANCE = \"VIEW_BRANCH_BALANCE\",\n\tUPDATE_PRODUCT_INGREDIENTS = \"UPDATE_PRODUCT_INGREDIENTS\",\n\tDELETE_PRODUCT_INGREDIENTS = \"DELETE_PRODUCT_INGREDIENTS\",\n\tAI_ASSISTANT = \"AI_ASSISTANT\",\n\tVIEW_PAYMENTS = \"VIEW_PAYMENTS\",\n\tTAKE_PAYMENT = \"TAKE_PAYMENT\",\n\tREFUND_PAYMENT = \"REFUND_PAYMENT\",\n\tPAYMENT_COMP = \"COMP\",\n}\n\nexport enum UserRole {\n\tOWNER = \"OWNER\",\n\tBRANCH_MANAGER = \"BRANCH_MANAGER\",\n\tGENERAL_MANAGER = \"GENERAL_MANAGER\",\n\tCHEF = \"CHEF\",\n\tSOUS_CHEF = \"SOUS_CHEF\",\n\tPASTRY_CHEF = \"PASTRY_CHEF\",\n\tLINE_COOK = \"LINE_COOK\",\n\tPREP_COOK = \"PREP_COOK\",\n\tKITCHEN_ASSISTANT = \"KITCHEN_ASSISTANT\",\n\tDISHWASHER = \"DISHWASHER\",\n\tHEAD_WAITER = \"HEAD_WAITER\",\n\tWAITER = \"WAITER\",\n\tRUNNER = \"RUNNER\",\n\tBARISTA = \"BARISTA\",\n\tBARTENDER = \"BARTENDER\",\n\tSOMMELIER = \"SOMMELIER\",\n\tACCOUNTANT = \"ACCOUNTANT\",\n\tROOM_SERVICE_STAFF = \"ROOM_SERVICE_STAFF\",\n\tDELIVERY_DRIVER = \"DELIVERY_DRIVER\",\n\tINVENTORY_MANAGER = \"INVENTORY_MANAGER\",\n\tPURCHASING_MANAGER = \"PURCHASING_MANAGER\",\n\tWAREHOUSE_STAFF = \"WAREHOUSE_STAFF\",\n\tCASHIER = \"CASHIER\"\n}\n\nexport interface User {\n\tid?: number;\n\temail: string;\n\tfullName: string;\n\trole?: UserRole;\n\tavatar64?: string | null;\n\tavatar128?: string | null;\n\tavatar256?: string | null;\n\tbusinessId?: number;\n\tbranchId?: number | null;\n\tcreatedAt: string;\n\temailVerified?: boolean;\n\tpermissions?: EmployeePermission[];\n}\n"],"names":["MenuAddonSelectType","BranchSetting","BranchTaxType","BranchTaxScope","BranchTaxFulfillment","BusinessSetting","CustomerAuthStep","CustomerAddressType","FeatureSegment","OrderType","OrderStatus","OrderItemStatus","PaymentMethod","OrderStep","Allergen","ProductView","SellUnitType","PlanType","SubscriptionStatus","TableShape","TableStatus","TableLocation","EmployeePermission","UserRole","Feature"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/modules/addon/models.ts","../../../src/modules/branch/models.ts","../../../src/modules/business/models.ts","../../../src/modules/customer/models.ts","../../../src/modules/feature/models.ts","../../../src/modules/order/models.ts","../../../src/modules/product/models.ts","../../../src/modules/subscription/models.ts","../../../src/modules/table/models.ts","../../../src/modules/user/models.ts"],"sourcesContent":["import { LocalizedText } from \"src/modules/localization/models\";\n\nexport enum MenuAddonSelectType {\n\tSINGLE = \"SINGLE\",\n\tMULTIPLE = \"MULTIPLE\",\n}\n\nexport interface MenuAddonOption {\n\tid?: number;\n\t/** Net price (tax-exclusive) — server-of-record value. */\n\tprice: number;\n\t/**\n\t * Gross price for menu display: net price plus the parent product's\n\t * `addToListingPrice` taxes. Equals `price` when no branch context is\n\t * supplied (e.g. addon detached from a branch tax setup).\n\t */\n\tlistingPrice: number;\n\ttitle: LocalizedText;\n\tremove?: boolean;\n}\n\nexport interface MenuAddon {\n\tid?: number;\n\tselectType: MenuAddonSelectType;\n\toptions: MenuAddonOption[];\n\tbusinessId?: number;\n\ttitle: LocalizedText;\n}\n","import { LocalizedText } from \"src/modules/localization/models\";\n\nexport type BranchWorkHour = {\n\topenAt: string;\n\tcloseAt: string;\n};\n\nexport type BranchWorkDay = {\n\tday: number;\n\thours: BranchWorkHour | null;\n};\n\nexport type BranchWorkDays = {\n\tdays: BranchWorkDay[];\n};\n\n/**\n * How a branch charges for delivery: one flat amount (`deliveryFeeAmount`) or a\n * fee picked from the branch's distance ranges (`deliveryFeeTiers`). Mirrors\n * the API's branch_settings.delivery_fee_type — extend both together. A branch\n * is FIXED until its owner opts into distance pricing.\n */\nexport enum DeliveryFeeType {\n\tFIXED = \"FIXED\",\n\tDISTANCE = \"DISTANCE\",\n}\n\n/**\n * One distance range of a branch's per-km delivery pricing, read as \"up to\n * `upToDistance` kilometres, charge `fee`\". Ranges carry no lower bound of\n * their own: the applicable one is the cheapest `upToDistance` that still\n * covers the delivery distance, so 5/10/20 km ranges describe 0-5, 5-10 and\n * 10-20 km. The API returns them sorted by `upToDistance` ascending.\n *\n * `upToDistance` is in KILOMETRES — unlike `BranchSettings.maxDeliveryDistance`,\n * which the API keeps in metres.\n */\nexport type DeliveryFeeTier = {\n\tupToDistance: number;\n\tfee: number;\n};\n\nexport interface BranchSettings {\n\tdeliveryOrderEnabled: boolean;\n\tpickupOrderEnabled: boolean;\n\tdineInOrderEnabled: boolean;\n\t/** In METRES, unlike the kilometres a DeliveryFeeTier is measured in. */\n\tmaxDeliveryDistance: number;\n\tminDeliveryAmount: number;\n\tdeliveryFeeAmount: number;\n\t/**\n\t * Absent on a payload cached before the branch gained distance pricing;\n\t * treated as FIXED, the same default the API stores.\n\t */\n\tdeliveryFeeType?: DeliveryFeeType;\n\tdeliveryFeeTiers?: DeliveryFeeTier[];\n\tserviceChargeEnabled: boolean;\n\tserviceChargePercentage: number;\n\taddToOrderEnabled: boolean;\n\tguestOrderEnabled: boolean;\n\tprimaryPaymentMethods?: string[] | null;\n\tsecondaryPaymentMethods?: string[] | null;\n}\n\nexport enum BranchSetting {\n\tMAX_DELIVERY_DISTANCE = \"maxDeliveryDistance\",\n\tDELIVERY_ORDER_ENABLED = \"deliveryOrderEnabled\",\n\tPICKUP_ORDER_ENABLED = \"pickupOrderEnabled\",\n\tDINE_IN_ORDER_ENABLED = \"dineInOrderEnabled\",\n\tMIN_DELIVERY_AMOUNT = \"minDeliveryAmount\",\n\tDELIVERY_FEE_AMOUNT = \"deliveryFeeAmount\",\n\tDELIVERY_FEE_TYPE = \"deliveryFeeType\",\n\tDELIVERY_FEE_TIERS = \"deliveryFeeTiers\",\n\tSERVICE_CHARGE_ENABLED = \"serviceChargeEnabled\",\n\tSERVICE_CHARGE_PERCENTAGE = \"serviceChargePercentage\",\n\tADD_TO_ORDER_ENABLED = \"addToOrderEnabled\",\n\tGUEST_ORDER_ENABLED = \"guestOrderEnabled\",\n\tPRIMARY_PAYMENT_METHODS = \"primaryPaymentMethods\",\n\tSECONDARY_PAYMENT_METHODS = \"secondaryPaymentMethods\",\n}\n\nexport interface Branch {\n\tid: number;\n\tname: string;\n\tbusinessId: number;\n\taddress: string;\n\tlongitude?: number;\n\tlatitude?: number;\n\tphone?: string;\n\twhatsApp?: string;\n\ttelegram?: string;\n\twifiPassword?: string;\n\tcreatedAt?: number;\n\tcoverPhoto?: string;\n\t// Trading currency (ISO-4217) of this branch. Currency lives on the branch,\n\t// not the business, so a franchise or foreign establishment can trade in a\n\t// different currency than the brand's default.\n\tcurrency?: string;\n\ttimezone?: string;\n\tbusinessDayStart?: string;\n\tsettings?: BranchSettings;\n\topeningHours?: BranchWorkDays;\n\tdeliveryHours?: BranchWorkDays;\n}\n\nexport type BranchServes = {\n\tisOpen: boolean;\n\tisDelivering: boolean;\n};\n\nexport enum BranchTaxType {\n\tPERCENTAGE = \"percentage\",\n\tFIXED_AMOUNT = \"fixed\",\n}\n\nexport enum BranchTaxScope {\n\tENTIRE_MENU = \"entire_menu\",\n\tCLASS = \"class\",\n}\n\nexport enum BranchTaxFulfillment {\n\tDELIVERY = \"delivery\",\n\tTAKEAWAY = \"takeaway\",\n\tDINE_IN = \"dine_in\",\n\tALL = \"ALL\",\n}\n\nexport type BranchTax = {\n\tid: number;\n\tbusinessId: number;\n\tbranchId: number;\n\ttaxClassId?: number;\n\tname: LocalizedText;\n\trate: number;\n\ttype: BranchTaxType;\n\tisActive: boolean;\n\tcreatedAt: number;\n\tupdatedAt: number;\n\tscope: BranchTaxScope;\n\taddToListingPrice: boolean;\n\tisDefault: boolean;\n\tcomputationOrder: number;\n\tappliesToFulfillment?: BranchTaxFulfillment;\n\ttaxClassCode?: string;\n};\n","import * as featureModels from \"../feature/models\";\nimport * as subscriptionModels from \"../subscription/models\";\n\nexport interface BusinessLanguage {\n\tid: number;\n\tcode: string;\n\tbusinessId: number;\n}\n\nexport enum BusinessSetting {\n\tMAX_DELIVERY_DISTANCE = \"maxDeliveryDistance\",\n\tDELIVERY_ORDER_ENABLED = \"deliveryOrderEnabled\",\n\tPICKUP_ORDER_ENABLED = \"pickupOrderEnabled\",\n\tDINE_IN_ORDER_ENABLED = \"dineInOrderEnabled\",\n\tMIN_DELIVERY_AMOUNT = \"minDeliveryAmount\",\n}\n\nexport interface Business {\n\tid: number;\n\tname: string;\n\tusername: string;\n\tavatar64?: string;\n\tavatar128?: string;\n\tavatar256?: string;\n\tcoverPhoto?: string;\n\tinstagram?: string;\n\tfacebook?: string;\n\ttiktok?: string;\n\tcreatedAt?: number;\n\tlanguages: BusinessLanguage[];\n\tsubscriptions?: subscriptionModels.Subscription[];\n\tsegment?: featureModels.FeatureSegment;\n}\n","export enum CustomerAuthStep {\n\tPHONE = \"PHONE\",\n\tOTP = \"OTP\",\n\tEMAIL = \"EMAIL\",\n}\n\nexport enum CustomerAddressType {\n\tHOME = \"HOME\",\n\tWORK = \"WORK\",\n\tTRAVEL = \"TRAVEL\",\n}\n\nexport interface CustomerAddress {\n\tid?: number;\n\taddressId?: number; // Update address temporary\n\tcountryCode: string;\n\tcityName: string;\n\tstreet: string;\n\thouseNumber: string;\n\tadditionalNumber?: string;\n\tpostCode?: string;\n\tinstructions?: string;\n\tfloor?: number;\n\tlongitude?: number;\n\tlatitude?: number;\n\ttitle?: string;\n\ttype?: CustomerAddressType;\n}\n\nexport interface CustomerAuthForm {\n\totp: string;\n\temail: string;\n}\n\nexport interface CustomerAuthPhoneForm {\n\tcountryCode: string;\n\tphoneNumber: string;\n}\n\nexport interface AuthResponse {\n\taccessToken: string;\n\trefreshToken: string;\n}\n\nexport interface Customer {\n\tid?: number;\n\temail: string;\n\tphoneNumber: string;\n\tfullName: string;\n\tsmsVerified?: boolean;\n\temailVerified?: boolean;\n\taddress?: CustomerAddress;\n\taddresses?: CustomerAddress[];\n}\n\nexport type CustomerUpdatePayload = Partial<Customer>;\n","export enum Feature {\n\tUPLOAD_VIDEO = \"UPLOAD_VIDEO\",\n}\nexport enum FeatureSegment {\n\tALPHA = \"ALPHA\",\n\tBETA = \"BETA\",\n\tALL = \"ALL\",\n}\n","import * as customerModels from \"../customer/models\";\nimport * as productModels from \"../product/models\";\nimport { LocalizedText } from \"src/modules/localization/models\";\n\nexport enum OrderType {\n\tDINE_IN = \"DINE_IN\",\n\tPICK_UP = \"PICK_UP\",\n\tDELIVERY = \"DELIVERY\",\n}\n\nexport enum OrderStatus {\n\tDRAFT = \"DRAFT\",\n\tPENDING = \"PENDING\",\n\tCONFIRMED = \"CONFIRMED\",\n\tPREPARING = \"PREPARING\",\n\tREADY = \"READY\",\n\tOUT_FOR_DELIVERY = \"OUT_FOR_DELIVERY\",\n\tDELIVERED = \"DELIVERED\",\n\tCOMPLETED = \"COMPLETED\",\n\tCANCELLED = \"CANCELLED\",\n\tFAILED = \"FAILED\",\n}\n\nexport enum OrderItemStatus {\n\tPENDING = \"PENDING\",\n\tPREPARING = \"PREPARING\",\n\tREADY = \"READY\",\n\tSERVED = \"SERVED\",\n}\n\nexport enum PaymentMethod {\n\tCASH = \"CASH\",\n\tCARD = \"CARD\",\n\tBANK_TRANSFER = \"BANK_TRANSFER\",\n\tMOBILE = \"MOBILE\",\n\tQR = \"QR\",\n\tVOUCHER = \"VOUCHER\",\n\tCOMP = \"COMP\",\n\tMIXED = \"MIXED\",\n}\n\n/**\n * The methods a customer can signal at checkout. COMP and MIXED are settlement\n * outcomes the venue records itself once money changes hands, so they are part\n * of the enum the API speaks but never an option in the public menu.\n */\nexport type CustomerPaymentMethod = Exclude<\n\tPaymentMethod,\n\tPaymentMethod.COMP | PaymentMethod.MIXED\n>;\n\nexport interface OrderAddonOption {\n\toptionId: number;\n\t/** Gross unit price (listingPrice from the menu listing). */\n\tprice: number;\n}\n\nexport interface OrderAddon {\n\tid?: number;\n\taddonId: number;\n\toptions: OrderAddonOption[];\n}\n\nexport interface SelectedAddons {\n\t[key: number]: number | number[];\n}\n\nexport interface OrderItemVariant {\n\tid?: number;\n\tvariantId: number;\n\t/** Gross unit price (listingPrice from the menu listing). */\n\tprice: number;\n}\n\nexport interface OrderItem {\n\tid?: number;\n\tproductId: number;\n\torderId?: number;\n\tquantity: number;\n\t/**\n\t * Gross unit price (listingPrice) at the moment the line was added. The\n\t * server recomputes authoritative totals on create/preview; this value is\n\t * what the cart UI displays.\n\t */\n\tprice?: number;\n\tvariant?: OrderItemVariant;\n\taddons: OrderAddon[];\n\tnote?: string;\n\tstatus?: OrderItemStatus;\n\tisPaid?: boolean;\n\tsellUnitType: productModels.SellUnitType;\n}\n\nexport interface Order {\n\tid?: number;\n\tbusinessId?: number;\n\tbranchId?: number;\n\tworkingDayId?: number;\n\ttableId?: number;\n\temployeeId?: number;\n\torderType: OrderType;\n\titems: OrderItem[];\n\tstatus?: OrderStatus;\n\tpreferredPaymentMethod?: PaymentMethod;\n\t/**\n\t * Customer's optional voluntary gratuity as a NUMERIC money string in the\n\t * branch currency (e.g. \"5.00\"). Honoured only on the customer and guest\n\t * create paths — POS ignores it. It is an unfinalized intent: the server\n\t * stores it but never adds it to the order total nor taxes it, so the\n\t * tip-inclusive total shown at checkout is computed client-side. Absent (or\n\t * zero) means no tip.\n\t */\n\tpreferredTipAmount?: string;\n\tnote?: string;\n\tcreatedAt?: number;\n\tupdatedAt?: number;\n\tcustomer?: customerModels.Customer;\n\tcurrency?: string;\n\ttrackingId?: string;\n}\n\nexport interface OrderItems {\n\t[key: string]: OrderItem;\n}\n\nexport enum OrderStep {\n\tCART = \"CART\",\n\tDETAILS = \"DETAILS\",\n\tCOMPLETED = \"COMPLETED\",\n}\n\nexport interface OrderPayload extends Order {\n\tcustomerAddressId: number;\n\tcustomerId: number;\n\tlanguage?: string;\n}\n\n/**\n * Contact + delivery snapshot an unregistered (\"guest\") visitor enters at\n * checkout. Mirrors the backend GuestContact: every field is optional, and an\n * address is only meaningful for DELIVERY orders. latitude/longitude are kept\n * as numbers here for the UI (they come from the address autocomplete); they're\n * serialized to strings in the wire payload — see GuestContactRequest.\n */\nexport interface GuestContact {\n\tfullName?: string;\n\tphoneNumber?: string;\n\temail?: string;\n\tstreet?: string;\n\thouseNumber?: string;\n\tadditionalNumber?: string;\n\tfloor?: number;\n\tlatitude?: number;\n\tlongitude?: number;\n\tcityName?: string;\n\tcountryCode?: string;\n\tpostCode?: string;\n\tinstructions?: string;\n}\n\n/**\n * Wire shape of the contact sent to POST /order/public. Matches the backend\n * GuestContact, where latitude/longitude are strings.\n */\nexport interface GuestContactRequest\n\textends Omit<GuestContact, \"latitude\" | \"longitude\"> {\n\tlatitude?: string;\n\tlongitude?: string;\n}\n\n/**\n * Payload for the public, non-authenticated create path (POST /order/public).\n * Unlike OrderPayload it carries no customerId/customerAddressId — an\n * unregistered visitor has no account or stored address book; the delivery\n * address (when given) travels inside the contact snapshot.\n */\nexport interface GuestOrderPayload extends Order {\n\tlanguage?: string;\n\tcontact?: GuestContactRequest;\n}\n\nexport interface CalculatePreviewItemRequest {\n\torderItemsId: string;\n\tproductId: number;\n\tquantity: number;\n\tvariant?: { variantId: number };\n\taddons?: Array<{\n\t\taddonId: number;\n\t\toptions: Array<{ optionId: number }>;\n\t}>;\n}\n\nexport interface CalculatePreviewRequest {\n\tbusinessId?: number;\n\tbranchId: number;\n\torderType: OrderType;\n\titems: CalculatePreviewItemRequest[];\n\t/**\n\t * Where the delivery is heading. They matter only for a DELIVERY order on a\n\t * branch that prices delivery by distance; without them such a cart previews\n\t * the branch's flat fee, and the real fee is resolved from the order's\n\t * address at create time.\n\t */\n\tlatitude?: number;\n\tlongitude?: number;\n}\n\nexport interface CalculatePreviewTax {\n\tbranchTaxId: number;\n\tname: LocalizedText;\n\trate: number;\n\ttype: \"percentage\" | \"fixed\";\n\taddToListingPrice: boolean;\n\tamount: number;\n}\n\nexport interface CalculatePreviewLine {\n\torderItemsId: string;\n\tproductId: number;\n\tquantity: number;\n\tprice: number;\n\ttaxes: CalculatePreviewTax[];\n}\n\nexport interface CalculatePreviewResponse {\n\ttotalPriceWithoutTax: number;\n\ttotalPriceWithTax: number;\n\ttotalPriceWithTaxAndFees: number;\n\ttotalTax: number;\n\tdeliveryFee: number;\n\tserviceFee: number;\n\titems: CalculatePreviewLine[];\n\ttaxes: CalculatePreviewTax[];\n}\n\nexport interface OrderPreviewState {\n\tdata: CalculatePreviewResponse | null;\n\tisLoading: boolean;\n\terror: string | null;\n}\n","import { MenuAddon } from \"../addon/models\";\nimport { LocalizedText } from \"src/modules/localization/models\";\n\nexport interface LocalizedContent {\n\tname: string;\n\tdescription: string;\n}\n\nexport interface ProductVariant {\n\tid?: number;\n\t/** Net price (tax-exclusive) — server-of-record value. */\n\tprice: number;\n\t/**\n\t * Gross price for menu display: net price plus any branch taxes flagged\n\t * `addToListingPrice`. Equals `price` when no branch context is supplied.\n\t */\n\tlistingPrice: number;\n\t/** Title keyed by language code, e.g. { en: \"Large\", az: \"Böyük\" }. */\n\ttitle: LocalizedText;\n\tproductId?: number;\n\tremove?: boolean;\n}\n\nexport interface Product {\n\tid: number;\n\tcategoryId: number;\n\t/** Net price (tax-exclusive). Nullable when the product has no own price (variant-only). */\n\tprice: number;\n\t/**\n\t * Gross price for menu display: net price plus any branch taxes flagged\n\t * `addToListingPrice`. Equals `price` when no branch context is supplied,\n\t * and is null when `price` itself is null.\n\t */\n\tlistingPrice?: number | null;\n\tvolume?: string; // 100qr/250ml/1kq\n\timage160?: string;\n\timage580?: string;\n\timage1024?: string;\n\ttranslations: Record<string, LocalizedContent>;\n\tvariants: ProductVariant[];\n\taddons: MenuAddon[];\n\tavailable?: boolean;\n\tvisible?: boolean;\n\tposition?: number;\n\tvideoUrl?: string;\n\tsellUnitType?: SellUnitType;\n\ttaxClassId?: number | null;\n\t/**\n\t * The bare allergen codes the business declared, `[]` when none — the shape\n\t * a product is authored and saved in. Rendering reads `allergenDetails`\n\t * instead, since that carries the same codes plus their wording.\n\t */\n\tallergens?: AllergenCode[];\n\t/**\n\t * The declared allergens as the menu renders them: each code paired with its\n\t * label in every language the business publishes. The API owns the catalog\n\t * and translates it, so a code it adds is legible here without a release of\n\t * this package, and the list is taken as given — order included.\n\t */\n\tallergenDetails?: AllergenDetail[];\n}\n\n/**\n * One declared allergen: the standardized code plus its label per language\n * code. Labels arrive as a map rather than a single localized string because\n * the public menu is served from one language-agnostic cached payload — the\n * guest switches language locally and the row has to relabel without a\n * refetch. Mirrors `domains/product/types/allergen_detail.go`.\n */\nexport interface AllergenDetail {\n\tcode: AllergenCode;\n\t/** Label keyed by language code, e.g. `{ en: \"Gluten\", az: \"Qlüten\" }`. */\n\ttranslations: LocalizedText;\n}\n\n/**\n * An allergen code as it comes off the wire. Deliberately open: the API owns\n * the catalog, so it may send a code this package has never heard of, and that\n * code still has to reach the guest — a declared allergen going missing is the\n * one failure mode this feature cannot have. `Allergen` names the codes we\n * have a glyph for; everything else falls back to a generic mark (see\n * `AllergenIcons`). Wording never depends on this list.\n */\nexport type AllergenCode = Allergen | (string & Record<never, never>);\n\n/**\n * The 14 major food allergens of EU Regulation 1169/2011 (Annex II) plus\n * buckwheat — mirrors `domains/product/constants/allergens.go` on the API,\n * which is the server of record for the catalog. This is the subset with a\n * glyph of its own; it is not a limit on what the API may send, and it exists\n * in this package only because an icon cannot travel over the wire.\n */\nexport enum Allergen {\n\tGLUTEN = \"GLUTEN\",\n\tCRUSTACEANS = \"CRUSTACEANS\",\n\tEGGS = \"EGGS\",\n\tFISH = \"FISH\",\n\tPEANUTS = \"PEANUTS\",\n\tSOY = \"SOY\",\n\tMILK = \"MILK\",\n\tTREE_NUTS = \"TREE_NUTS\",\n\tCELERY = \"CELERY\",\n\tMUSTARD = \"MUSTARD\",\n\tSESAME = \"SESAME\",\n\tSULPHITES = \"SULPHITES\",\n\tLUPIN = \"LUPIN\",\n\tMOLLUSCS = \"MOLLUSCS\",\n\tBUCKWHEAT = \"BUCKWHEAT\",\n}\n\nexport enum ProductView {\n\tLIST = \"list\",\n\tGRID = \"grid\",\n}\n\nexport interface DashboardProduct extends Omit<Product, \"addons\"> {\n\taddons: number[];\n}\n\nexport enum SellUnitType {\n\tPIECE = \"PIECE\",\n\tWEIGHT = \"WEIGHT\",\n\tVOLUME = \"VOLUME\",\n}\n","export enum PlanType {\n\tAPPETIZER = \"appetizer\",\n\tMAIN_COURSE = \"mainCourse\",\n\tCHEFS_SPECIAL = \"chefsSpecial\",\n\tLIFETIME = \"lifeTime\",\n}\n\nexport interface PricingPlan {\n\ttitle: string;\n\tprice: {\n\t\tmonthly: number;\n\t\tannually: number;\n\t};\n\tdiscountedPrice?: number;\n\tribbonText?: string;\n}\n\nexport interface PricingPlans {\n\t[key: string]: PricingPlan;\n}\n\nexport type PricingInterval = \"monthly\" | \"annually\";\n\nexport enum SubscriptionStatus {\n\tACTIVE = \"ACTIVE\",\n\tEXPIRED = \"EXPIRED\",\n\tCANCELLED = \"CANCELLED\",\n}\n\nexport type BillingInterval = \"MONTH\" | \"YEAR\";\n\nexport interface Subscription {\n\tid: number;\n\tbillingInterval: BillingInterval;\n\tbillingIntervalCount: number;\n\tstartDate: string;\n\tendDate: string;\n\tinterval: PricingInterval;\n\tstatus: SubscriptionStatus;\n\tbusiness_id?: number;\n\tplanName: string;\n}\n","export enum TableShape {\n\tSQUARE = \"SQUARE\",\n\tCIRCLE = \"CIRCLE\",\n\tRECTANGLE = \"RECTANGLE\",\n\tRECTANGLE_VERTICAL = \"RECTANGLE_VERTICAL\",\n\tSINGLE_AT_BAR = \"SINGLE_AT_BAR\",\n\tOTHER = \"OTHER\",\n}\n\nexport enum TableStatus {\n\tVACANT = \"VACANT\", // Free and available\n\tRESERVED = \"RESERVED\", // Booked but not yet seated\n\tOCCUPIED = \"OCCUPIED\", // Currently in use\n\tBLOCKED = \"BLOCKED\", // Temporarily blocked/unavailable\n\tNEEDS_CLEANING = \"NEEDS_CLEANING\", // Dirty, awaiting cleanup\n\tOUT_OF_SERVICE = \"OUT_OF_SERVICE\", // Permanently unavailable repair/maintenance\n\tPENDING_CONFIRMATION = \"PENDING_CONFIRMATION\", // Reservation not yet confirmed\n\tNO_SHOW = \"NO_SHOW\", // Reserved but guest didn’t arrive\n}\n\nexport enum TableLocation {\n\t// Indoor\n\tMAIN_HALL = \"MAIN_HALL\",\n\tPRIVATE_DINING = \"PRIVATE_DINING\",\n\tVIP_ROOM = \"VIP_ROOM\",\n\tBANQUET_HALL = \"BANQUET_HALL\",\n\tBAR_AREA = \"BAR_AREA\",\n\tLOUNGE = \"LOUNGE\",\n\tOPEN_KITCHEN = \"OPEN_KITCHEN\",\n\tBOOTH_SECTION = \"BOOTH_SECTION\",\n\tMEZZANINE = \"MEZZANINE\",\n\tWINE_CELLAR = \"WINE_CELLAR\",\n\n\t// Outdoor\n\tTERRACE = \"TERRACE\",\n\tPATIO = \"PATIO\",\n\tGARDEN = \"GARDEN\",\n\tCOURTYARD = \"COURTYARD\",\n\tROOFTOP = \"ROOFTOP\",\n\tBALCONY = \"BALCONY\",\n\tSIDEWALK = \"SIDEWALK\",\n\tPOOLSIDE = \"POOLSIDE\",\n\n\t// Special Sections\n\tSMOKING_AREA = \"SMOKING_AREA\",\n\tNON_SMOKING = \"NON_SMOKING\",\n\tFAMILY_SECTION = \"FAMILY_SECTION\",\n\tKIDS_AREA = \"KIDS_AREA\",\n\tWAITING_AREA = \"WAITING_AREA\",\n\tDANCE_FLOOR = \"DANCE_FLOOR\",\n}\n\nexport interface Table {\n\tid: number;\n\tbusinessId: number;\n\tbranchId: number;\n\tname: string;\n\tseatCount: number;\n\tshape: TableShape;\n\tlocation: TableLocation;\n\tstatus: TableStatus;\n}\n\nexport interface TableState {\n\ttables: Table[];\n}\n\nexport type TableForm = Omit<Table, \"id\" | \"businessId\" | \"branchId\"> & {\n\tbranchId: string | number;\n};\n\nexport type TableUpdate = Partial<Omit<Table, \"id\" | \"businessId\">>;\n\nexport type TableFilter = Partial<Pick<Table, \"branchId\" | \"shape\" | \"location\" | \"status\">>;\n\nexport type TableFilterParams = { field: keyof TableFilter; value: TableFilter[keyof TableFilter] };\n","export enum EmployeePermission {\n\tVIEW_BUSINESS = \"VIEW_BUSINESS\",\n\tUPDATE_BUSINESS = \"UPDATE_BUSINESS\",\n\tVIEW_BUSINESS_FINANCIALS = \"VIEW_BUSINESS_FINANCIALS\",\n\tVIEW_ORDERS = \"VIEW_ORDERS\",\n\tUPDATE_ORDER = \"UPDATE_ORDER\",\n\tCREATE_ORDER = \"CREATE_ORDER\",\n\tAPPLY_DISCOUNT = \"APPLY_DISCOUNT\",\n\tVIEW_QR_MENU = \"VIEW_QR_MENU\",\n\tUPDATE_QR_MENU = \"UPDATE_QR_MENU\",\n\tVIEW_MENU = \"VIEW_MENU\",\n\tVIEW_MENU_ITEMS = \"VIEW_MENU_ITEMS\",\n\tCREATE_MENU_ITEM = \"CREATE_MENU_ITEM\",\n\tUPDATE_MENU_ITEM = \"UPDATE_MENU_ITEM\",\n\tDELETE_MENU_ITEM = \"DELETE_MENU_ITEM\",\n\tVIEW_CATEGORIES = \"VIEW_CATEGORIES\",\n\tUPDATE_CATEGORY = \"UPDATE_CATEGORY\",\n\tCREATE_CATEGORY = \"CREATE_CATEGORY\",\n\tDELETE_CATEGORY = \"DELETE_CATEGORY\",\n\tVIEW_ADDONS = \"VIEW_ADDONS\",\n\tUPDATE_ADDON = \"UPDATE_ADDON\",\n\tCREATE_ADDON = \"CREATE_ADDON\",\n\tDELETE_ADDON = \"DELETE_ADDON\",\n\tVIEW_TABLES = \"VIEW_TABLES\",\n\tUPDATE_TABLE = \"UPDATE_TABLE\",\n\tUPDATE_TABLE_STATUS = \"UPDATE_TABLE_STATUS\",\n\tCREATE_TABLE = \"CREATE_TABLE\",\n\tDELETE_TABLE = \"DELETE_TABLE\",\n\tVIEW_BRANCHES = \"VIEW_BRANCHES\",\n\tUPDATE_BRANCH = \"UPDATE_BRANCH\",\n\tCREATE_BRANCH = \"CREATE_BRANCH\",\n\tDELETE_BRANCH = \"DELETE_BRANCH\",\n\tVIEW_EMPLOYEES = \"VIEW_EMPLOYEES\",\n\tUPDATE_EMPLOYEE = \"UPDATE_EMPLOYEE\",\n\tCREATE_EMPLOYEE = \"CREATE_EMPLOYEE\",\n\tDELETE_EMPLOYEE = \"DELETE_EMPLOYEE\",\n\tVIEW_ANALYTICS = \"VIEW_ANALYTICS\",\n\tVIEW_SALES_REPORTS = \"VIEW_SALES_REPORTS\",\n\tVIEW_SUBSCRIPTION = \"VIEW_SUBSCRIPTION\",\n\tUPDATE_SUBSCRIPTION = \"UPDATE_SUBSCRIPTION\",\n\tVIEW_QR_CODES = \"VIEW_QR_CODES\",\n\tCREATE_QR_CODE = \"CREATE_QR_CODE\",\n\tDELETE_QR_CODE = \"DELETE_QR_CODE\",\n\tALL = \"ALL\",\n\t// Inventory\n\tVIEW_INVENTORY = \"VIEW_INVENTORY\",\n\tVIEW_PURCHASES = \"VIEW_PURCHASES\",\n\tVIEW_PURCHASE_DETAIL = \"VIEW_PURCHASE_DETAIL\",\n\tCREATE_PURCHASE = \"CREATE_PURCHASE\",\n\tUPDATE_PURCHASE = \"UPDATE_PURCHASE\",\n\tDELETE_PURCHASE = \"DELETE_PURCHASE\",\n\tVIEW_INVENTORY_PRODUCTS = \"VIEW_INVENTORY_PRODUCTS\",\n\tCREATE_INVENTORY_PRODUCT = \"CREATE_INVENTORY_PRODUCT\",\n\tUPDATE_INVENTORY_PRODUCT = \"UPDATE_INVENTORY_PRODUCT\",\n\tDELETE_INVENTORY_PRODUCT = \"DELETE_INVENTORY_PRODUCT\",\n\tVIEW_BUSINESS_BALANCE = \"VIEW_BUSINESS_BALANCE\",\n\tVIEW_BRANCH_BALANCE = \"VIEW_BRANCH_BALANCE\",\n\tUPDATE_PRODUCT_INGREDIENTS = \"UPDATE_PRODUCT_INGREDIENTS\",\n\tDELETE_PRODUCT_INGREDIENTS = \"DELETE_PRODUCT_INGREDIENTS\",\n\tAI_ASSISTANT = \"AI_ASSISTANT\",\n\tVIEW_PAYMENTS = \"VIEW_PAYMENTS\",\n\tTAKE_PAYMENT = \"TAKE_PAYMENT\",\n\tREFUND_PAYMENT = \"REFUND_PAYMENT\",\n\tPAYMENT_COMP = \"COMP\",\n}\n\nexport enum UserRole {\n\tOWNER = \"OWNER\",\n\tBRANCH_MANAGER = \"BRANCH_MANAGER\",\n\tGENERAL_MANAGER = \"GENERAL_MANAGER\",\n\tCHEF = \"CHEF\",\n\tSOUS_CHEF = \"SOUS_CHEF\",\n\tPASTRY_CHEF = \"PASTRY_CHEF\",\n\tLINE_COOK = \"LINE_COOK\",\n\tPREP_COOK = \"PREP_COOK\",\n\tKITCHEN_ASSISTANT = \"KITCHEN_ASSISTANT\",\n\tDISHWASHER = \"DISHWASHER\",\n\tHEAD_WAITER = \"HEAD_WAITER\",\n\tWAITER = \"WAITER\",\n\tRUNNER = \"RUNNER\",\n\tBARISTA = \"BARISTA\",\n\tBARTENDER = \"BARTENDER\",\n\tSOMMELIER = \"SOMMELIER\",\n\tACCOUNTANT = \"ACCOUNTANT\",\n\tROOM_SERVICE_STAFF = \"ROOM_SERVICE_STAFF\",\n\tDELIVERY_DRIVER = \"DELIVERY_DRIVER\",\n\tINVENTORY_MANAGER = \"INVENTORY_MANAGER\",\n\tPURCHASING_MANAGER = \"PURCHASING_MANAGER\",\n\tWAREHOUSE_STAFF = \"WAREHOUSE_STAFF\",\n\tCASHIER = \"CASHIER\"\n}\n\nexport interface User {\n\tid?: number;\n\temail: string;\n\tfullName: string;\n\trole?: UserRole;\n\tavatar64?: string | null;\n\tavatar128?: string | null;\n\tavatar256?: string | null;\n\tbusinessId?: number;\n\tbranchId?: number | null;\n\tcreatedAt: string;\n\temailVerified?: boolean;\n\tpermissions?: EmployeePermission[];\n}\n"],"names":["MenuAddonSelectType","DeliveryFeeType","BranchSetting","BranchTaxType","BranchTaxScope","BranchTaxFulfillment","BusinessSetting","CustomerAuthStep","CustomerAddressType","FeatureSegment","OrderType","OrderStatus","OrderItemStatus","PaymentMethod","OrderStep","Allergen","ProductView","SellUnitType","PlanType","SubscriptionStatus","TableShape","TableStatus","TableLocation","EmployeePermission","UserRole","Feature"],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  export declare const DEFAULT_CURRENCY = "EUR";
2
+ export declare const EARTH_RADIUS_KM = 6371;
@@ -10,13 +10,44 @@ export type BranchWorkDay = {
10
10
  export type BranchWorkDays = {
11
11
  days: BranchWorkDay[];
12
12
  };
13
+ /**
14
+ * How a branch charges for delivery: one flat amount (`deliveryFeeAmount`) or a
15
+ * fee picked from the branch's distance ranges (`deliveryFeeTiers`). Mirrors
16
+ * the API's branch_settings.delivery_fee_type — extend both together. A branch
17
+ * is FIXED until its owner opts into distance pricing.
18
+ */
19
+ export declare enum DeliveryFeeType {
20
+ FIXED = "FIXED",
21
+ DISTANCE = "DISTANCE"
22
+ }
23
+ /**
24
+ * One distance range of a branch's per-km delivery pricing, read as "up to
25
+ * `upToDistance` kilometres, charge `fee`". Ranges carry no lower bound of
26
+ * their own: the applicable one is the cheapest `upToDistance` that still
27
+ * covers the delivery distance, so 5/10/20 km ranges describe 0-5, 5-10 and
28
+ * 10-20 km. The API returns them sorted by `upToDistance` ascending.
29
+ *
30
+ * `upToDistance` is in KILOMETRES — unlike `BranchSettings.maxDeliveryDistance`,
31
+ * which the API keeps in metres.
32
+ */
33
+ export type DeliveryFeeTier = {
34
+ upToDistance: number;
35
+ fee: number;
36
+ };
13
37
  export interface BranchSettings {
14
38
  deliveryOrderEnabled: boolean;
15
39
  pickupOrderEnabled: boolean;
16
40
  dineInOrderEnabled: boolean;
41
+ /** In METRES, unlike the kilometres a DeliveryFeeTier is measured in. */
17
42
  maxDeliveryDistance: number;
18
43
  minDeliveryAmount: number;
19
44
  deliveryFeeAmount: number;
45
+ /**
46
+ * Absent on a payload cached before the branch gained distance pricing;
47
+ * treated as FIXED, the same default the API stores.
48
+ */
49
+ deliveryFeeType?: DeliveryFeeType;
50
+ deliveryFeeTiers?: DeliveryFeeTier[];
20
51
  serviceChargeEnabled: boolean;
21
52
  serviceChargePercentage: number;
22
53
  addToOrderEnabled: boolean;
@@ -31,6 +62,8 @@ export declare enum BranchSetting {
31
62
  DINE_IN_ORDER_ENABLED = "dineInOrderEnabled",
32
63
  MIN_DELIVERY_AMOUNT = "minDeliveryAmount",
33
64
  DELIVERY_FEE_AMOUNT = "deliveryFeeAmount",
65
+ DELIVERY_FEE_TYPE = "deliveryFeeType",
66
+ DELIVERY_FEE_TIERS = "deliveryFeeTiers",
34
67
  SERVICE_CHARGE_ENABLED = "serviceChargeEnabled",
35
68
  SERVICE_CHARGE_PERCENTAGE = "serviceChargePercentage",
36
69
  ADD_TO_ORDER_ENABLED = "addToOrderEnabled",
@@ -1,7 +1,50 @@
1
1
  import { BranchWorkDays } from "src/models";
2
+ import { Coordinates } from "src/modules/view/models";
3
+ import { BranchSettings, DeliveryFeeTier } from "./models";
2
4
  export declare const getHoursForDay: (schedule: BranchWorkDays, weekDayIndex: number) => import("src/models").BranchWorkHour;
3
5
  export declare const splitHours: (hours: string) => number[];
4
6
  export declare const isWithinTimeRange: (timeRange?: {
5
7
  openAt: string;
6
8
  closeAt: string;
7
9
  }) => boolean;
10
+ export declare const isValidCoordinate: (latitude?: number, longitude?: number) => boolean;
11
+ /**
12
+ * Great-circle ("as the crow flies") distance in kilometres between two
13
+ * coordinates — the haversine formula, mirroring the API's geo.DistanceKm down
14
+ * to the Earth radius so a fee resolved here lands on the same range the server
15
+ * charges. It is not a driving route.
16
+ *
17
+ * Returns null when either end is unknown or unusable (a branch that was never
18
+ * geocoded, an order with no address yet), which is what makes distance-based
19
+ * pricing fall back to the branch's flat fee instead of blocking the order.
20
+ */
21
+ export declare const deliveryDistanceKm: (from: Coordinates, to: Coordinates) => number | null;
22
+ /**
23
+ * The fee of the first range that covers `distanceKm`. Ranges are read cheapest
24
+ * boundary first, so the first match is the tightest one; past every range the
25
+ * largest range's fee applies — the branch's max delivery distance, not the last
26
+ * range, is what puts an address outside the delivery area. Returns null when
27
+ * the branch defined no ranges at all.
28
+ *
29
+ * Mirrors the API's pickDeliveryFeeTier, which walks the stored array in place
30
+ * because the API sorts on write. We sort a copy first so a hand-built or
31
+ * stale payload still prices correctly.
32
+ */
33
+ export declare const pickDeliveryFeeTier: (tiers: DeliveryFeeTier[] | undefined, distanceKm: number) => number | null;
34
+ /**
35
+ * What this branch charges to deliver, resolved the way the API resolves it so
36
+ * the fee shown before the server has priced the cart matches the one it
37
+ * charges: a FIXED branch charges its flat amount, a DISTANCE branch charges
38
+ * the range covering how far the order is going.
39
+ *
40
+ * A destination that could not be located (no address yet, a branch that was
41
+ * never geocoded, a distance that is not a finite number) or a branch that
42
+ * switched to DISTANCE without configuring any range falls back to the flat
43
+ * amount rather than showing nothing — the same fallback the API takes. The
44
+ * flat amount is clamped at zero because its legacy column has no CHECK.
45
+ *
46
+ * Being outside the delivery area is not priced here: the API refuses such an
47
+ * order outright (DELIVERY_DISTANCE_NOT_COVERED), and the drawer blocks it
48
+ * ahead of that through useDeliveryDistanceError.
49
+ */
50
+ export declare const resolveDeliveryFee: (settings: BranchSettings | undefined, distanceKm: number | null) => number;
@@ -15,6 +15,21 @@ export declare const useProductQuantityInOrder: ({ productId, variantId, selecte
15
15
  selectedAddons: SelectedAddons;
16
16
  }) => number;
17
17
  export declare const useProductQuantityInOrderWithAllVariants: (productId: number) => number;
18
+ /**
19
+ * How far this order is going, in kilometres, or null while either end is
20
+ * unknown — the branch was never geocoded, or no delivery address has been
21
+ * entered yet. Straight-line, matching how the API measures a delivery.
22
+ */
23
+ export declare const useDeliveryDistanceKm: () => number | null;
24
+ /**
25
+ * What the branch charges to deliver this order, resolved client-side.
26
+ *
27
+ * The order preview is authoritative — it is the same math run against
28
+ * server-of-record settings — so this is what the summary shows until the
29
+ * preview arrives, and if it fails. Non-delivery orders are not charged a
30
+ * delivery fee; the summary only renders the row for DELIVERY.
31
+ */
32
+ export declare const useDeliveryFee: () => number;
18
33
  export declare const useDeliveryDistanceError: () => string | null;
19
34
  export declare const useDeliveryAmountError: () => string | null;
20
35
  export declare const useOrderErrorInDetails: () => string | null;
@@ -176,6 +176,14 @@ export interface CalculatePreviewRequest {
176
176
  branchId: number;
177
177
  orderType: OrderType;
178
178
  items: CalculatePreviewItemRequest[];
179
+ /**
180
+ * Where the delivery is heading. They matter only for a DELIVERY order on a
181
+ * branch that prices delivery by distance; without them such a cart previews
182
+ * the branch's flat fee, and the real fee is resolved from the order's
183
+ * address at create time.
184
+ */
185
+ latitude?: number;
186
+ longitude?: number;
179
187
  }
180
188
  export interface CalculatePreviewTax {
181
189
  branchTaxId: number;
@@ -14,6 +14,7 @@ declare const _default: {
14
14
  STREET_REQUIRED: string;
15
15
  STREET_NUMBER_REQUIRED: string;
16
16
  OUT_OF_DELIVERY_RANGE: string;
17
+ DELIVERY_DISTANCE_NOT_COVERED: string;
17
18
  NO_ORDER_TYPE: string;
18
19
  INVALID_ADDRESS: string;
19
20
  };
@@ -15,6 +15,7 @@ declare const _default: {
15
15
  STREET_REQUIRED: string;
16
16
  STREET_NUMBER_REQUIRED: string;
17
17
  OUT_OF_DELIVERY_RANGE: string;
18
+ DELIVERY_DISTANCE_NOT_COVERED: string;
18
19
  NO_ORDER_TYPE: string;
19
20
  INVALID_ADDRESS: string;
20
21
  };
@@ -11,6 +11,7 @@ declare const _default: {
11
11
  STREET_REQUIRED: string;
12
12
  STREET_NUMBER_REQUIRED: string;
13
13
  OUT_OF_DELIVERY_RANGE: string;
14
+ DELIVERY_DISTANCE_NOT_COVERED: string;
14
15
  NO_ORDER_TYPE: string;
15
16
  INVALID_ADDRESS: string;
16
17
  };