feat: integrate barcode scanning functionality and enhance Appwrite setup
- Added a new `barcode_products` collection to the Appwrite setup for managing barcode data. - Implemented barcode scanning feature with a dedicated modal for scanning and adding products. - Introduced new components for barcode product preview and management. - Updated the setup script to seed verified barcode products from a JSON file. - Enhanced the application state management to handle barcode-related actions and user interactions.
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
import type { BarcodeSeedProduct } from "../types";
|
||||
import verifiedBarcodes from "./verified-barcodes.json";
|
||||
|
||||
// Verified retail barcodes only. Add rows here via verified-barcodes.json so
|
||||
// the frontend seed data and Appwrite setup script stay aligned.
|
||||
export const BUILT_IN_BARCODE_PRODUCTS = verifiedBarcodes as Record<string, BarcodeSeedProduct>;
|
||||
+17
-12
@@ -1,20 +1,25 @@
|
||||
import type { Flavour } from "../types";
|
||||
|
||||
export const BUILT_IN_FLAVOURS: Flavour[] = [
|
||||
{ name: "Original", accent: "#00A7FF" },
|
||||
{ name: "Sugar Free", accent: "#E7EEF8", sugarFree: true },
|
||||
{ name: "Ruby", accent: "#C3093B" },
|
||||
{ name: "Iced Vanilla", accent: "#49adbe" },
|
||||
{ name: "Tropical", accent: "#FFC247" },
|
||||
{ name: "Watermelon", accent: "#FF355E" },
|
||||
{ name: "Original", accent: "#282874" },
|
||||
{ name: "Zero", accent: "#B1D0EE", sugarFree: true },
|
||||
{ name: "Sugar Free", accent: "#009EDF", sugarFree: true },
|
||||
{ name: "Ruby", accent: "#B50045" },
|
||||
{ name: "Iced Vanilla", accent: "#53B2C2" },
|
||||
{ name: "Tropical", accent: "#FFCB04" },
|
||||
{ name: "Cherry Edition", accent: "#D81B60" },
|
||||
{ name: "Apricot Edition", accent: "#F3911B" },
|
||||
{ name: "Lilac Sugarfree", accent: "#7D62CE", sugarFree: true },
|
||||
{ name: "Pink Sugarfree", accent: "#E77BAB", sugarFree: true },
|
||||
{ name: "Watermelon", accent: "#E6301F" },
|
||||
{ name: "Blueberry", accent: "#496DFF" },
|
||||
{ name: "Coconut Berry", accent: "#D8F9FF" },
|
||||
{ name: "Peach", accent: "#FF9B63" },
|
||||
{ name: "Juneberry", accent: "#9C73FF" },
|
||||
{ name: "Coconut Berry", accent: "#0070B8" },
|
||||
{ name: "Peach", accent: "#E24585" },
|
||||
{ name: "Juneberry", accent: "#0085C8" },
|
||||
{ name: "Dragon Fruit", accent: "#FF3DBD" },
|
||||
{ name: "Curuba Elderflower", accent: "#B7FF4A" },
|
||||
{ name: "Winter Edition", accent: "#7CE7FF" },
|
||||
{ name: "Summer Edition", accent: "#f0e53b" },
|
||||
{ name: "Curuba Elderflower", accent: "#78B941" },
|
||||
{ name: "Winter Edition", accent: "#BF1431" },
|
||||
{ name: "Summer Edition", accent: "#F2E853" },
|
||||
{ name: "Other", accent: "#AEB9C7" },
|
||||
];
|
||||
|
||||
|
||||
+101
-99
@@ -51,147 +51,149 @@ export const APP_THEMES: AppTheme[] = [
|
||||
tertiary: "#ffd8e7",
|
||||
}),
|
||||
|
||||
theme("original", "Original", "flavour", "#00a7ff", {
|
||||
primary: "#0077c8",
|
||||
secondary: "#00a7ff",
|
||||
tertiary: "#1e3264",
|
||||
theme("original", "Original", "flavour", "#282874", {
|
||||
primary: "#282874",
|
||||
secondary: "#efefef",
|
||||
tertiary: "#d4af37",
|
||||
tokens: {
|
||||
chartSecondary: "#e6301f",
|
||||
},
|
||||
}),
|
||||
theme("zero", "Zero", "flavour", "#2a2a2a", {
|
||||
primary: "#2a2a2a",
|
||||
secondary: "#5c5c5c",
|
||||
tertiary: "#8a8a8a",
|
||||
dark: true,
|
||||
theme("zero", "Zero", "flavour", "#b1d0ee", {
|
||||
primary: "#b1d0ee",
|
||||
secondary: "#efefef",
|
||||
tertiary: "#e6301f",
|
||||
}),
|
||||
theme("summer", "Summer Edition", "flavour", "#f0e53b", {
|
||||
primary: "#d4c400",
|
||||
secondary: "#f0e53b",
|
||||
tertiary: "#ffc247",
|
||||
primary: "#f2e853",
|
||||
secondary: "#efefef",
|
||||
tertiary: "#8a8f98",
|
||||
}),
|
||||
theme("cherry", "Cherry Edition", "flavour", "#e40046", {
|
||||
primary: "#c3093b",
|
||||
secondary: "#e40046",
|
||||
tertiary: "#ff6b8a",
|
||||
theme("cherry", "Cherry Edition", "flavour", "#d81b60", {
|
||||
primary: "#d81b60",
|
||||
secondary: "#efefef",
|
||||
tertiary: "#b50045",
|
||||
}),
|
||||
theme("spring", "Spring Edition", "flavour", "#ff8fab", {
|
||||
primary: "#e85d8a",
|
||||
secondary: "#ffb3c6",
|
||||
tertiary: "#ffd8e7",
|
||||
}),
|
||||
theme("apple", "Apple Edition", "flavour", "#78be20", {
|
||||
primary: "#5a9a12",
|
||||
secondary: "#78be20",
|
||||
tertiary: "#a8d84a",
|
||||
theme("apple", "Apple Edition", "flavour", "#bf1431", {
|
||||
primary: "#bf1431",
|
||||
secondary: "#f6c300",
|
||||
tertiary: "#f3911b",
|
||||
}),
|
||||
theme("peach", "Peach Edition", "flavour", "#ff9b63", {
|
||||
primary: "#e87a3a",
|
||||
secondary: "#ff9b63",
|
||||
tertiary: "#ffc9a3",
|
||||
theme("peach", "Peach Edition", "flavour", "#e24585", {
|
||||
primary: "#e24585",
|
||||
secondary: "#efefef",
|
||||
tertiary: "#d6417e",
|
||||
}),
|
||||
theme("ice", "Ice Edition", "flavour", "#49adbe", {
|
||||
primary: "#2d8a9a",
|
||||
secondary: "#49adbe",
|
||||
tertiary: "#7ce7ff",
|
||||
primary: "#53b2c2",
|
||||
secondary: "#efefef",
|
||||
tertiary: "#49adbe",
|
||||
}),
|
||||
theme("blue-edition", "Blue Edition", "flavour", "#496dff", {
|
||||
primary: "#3a52cc",
|
||||
secondary: "#496dff",
|
||||
tertiary: "#9c73ff",
|
||||
theme("blue-edition", "Blue Edition", "flavour", "#0085c8", {
|
||||
primary: "#0085c8",
|
||||
secondary: "#efefef",
|
||||
tertiary: "#ff73d1",
|
||||
}),
|
||||
theme("red-edition", "Red Edition", "flavour", "#ff355e", {
|
||||
primary: "#e02045",
|
||||
secondary: "#ff355e",
|
||||
tertiary: "#ff6b8a",
|
||||
theme("red-edition", "Red Edition", "flavour", "#e6301f", {
|
||||
primary: "#e6301f",
|
||||
secondary: "#efefef",
|
||||
tertiary: "#78b941",
|
||||
}),
|
||||
theme("tropical", "Tropical Edition", "flavour", "#ffc247", {
|
||||
primary: "#e0a820",
|
||||
secondary: "#ffc247",
|
||||
tertiary: "#ff9b63",
|
||||
theme("tropical", "Tropical Edition", "flavour", "#ffcb04", {
|
||||
primary: "#ffcb04",
|
||||
secondary: "#efefef",
|
||||
tertiary: "#f6c300",
|
||||
}),
|
||||
theme("coconut", "Coconut Edition", "flavour", "#7ce7ff", {
|
||||
primary: "#4ec4e0",
|
||||
secondary: "#7ce7ff",
|
||||
tertiary: "#d8f9ff",
|
||||
theme("coconut", "Coconut Edition", "flavour", "#0070b8", {
|
||||
primary: "#0070b8",
|
||||
secondary: "#efefef",
|
||||
tertiary: "#8a8f98",
|
||||
}),
|
||||
theme("green-edition", "Green Edition", "flavour", "#b7ff4a", {
|
||||
primary: "#7acc20",
|
||||
secondary: "#b7ff4a",
|
||||
tertiary: "#d4ff8a",
|
||||
theme("green-edition", "Green Edition", "flavour", "#78b941", {
|
||||
primary: "#78b941",
|
||||
secondary: "#efefef",
|
||||
tertiary: "#f3911b",
|
||||
}),
|
||||
theme("apricot", "Apricot Edition", "flavour", "#ff8c42", {
|
||||
primary: "#e06a20",
|
||||
secondary: "#ff8c42",
|
||||
tertiary: "#ffb87a",
|
||||
theme("apricot", "Apricot Edition", "flavour", "#f3911b", {
|
||||
primary: "#f3911b",
|
||||
secondary: "#efefef",
|
||||
tertiary: "#d6417e",
|
||||
}),
|
||||
theme("ruby", "Ruby Edition", "flavour", "#c3093b", {
|
||||
primary: "#a00730",
|
||||
secondary: "#c3093b",
|
||||
tertiary: "#e04060",
|
||||
theme("ruby", "Ruby Edition", "flavour", "#b50045", {
|
||||
primary: "#b50045",
|
||||
secondary: "#efefef",
|
||||
tertiary: "#a3e635",
|
||||
}),
|
||||
|
||||
theme("sugarfree", "Sugarfree", "sugarfree", "#c8d4e0", {
|
||||
primary: "#8a9bb0",
|
||||
secondary: "#c8d4e0",
|
||||
tertiary: "#e7eef8",
|
||||
theme("sugarfree", "Sugarfree", "sugarfree", "#009edf", {
|
||||
primary: "#009edf",
|
||||
secondary: "#efefef",
|
||||
tertiary: "#e6301f",
|
||||
sugarFree: true,
|
||||
}),
|
||||
theme("sf-summer", "Summer Sugarfree", "sugarfree", "#e8e4a0", {
|
||||
primary: "#c4c020",
|
||||
secondary: "#e8e4a0",
|
||||
tertiary: "#f0e53b",
|
||||
theme("sf-summer", "Summer Sugarfree", "sugarfree", "#f0e53b", {
|
||||
primary: "#f2e853",
|
||||
secondary: "#efefef",
|
||||
tertiary: "#009edf",
|
||||
sugarFree: true,
|
||||
}),
|
||||
theme("sf-apple", "Apple Sugarfree", "sugarfree", "#b8d4a0", {
|
||||
primary: "#6a9a30",
|
||||
secondary: "#b8d4a0",
|
||||
tertiary: "#78be20",
|
||||
theme("sf-apple", "Apple Sugarfree", "sugarfree", "#bf1431", {
|
||||
primary: "#bf1431",
|
||||
secondary: "#f6c300",
|
||||
tertiary: "#009edf",
|
||||
sugarFree: true,
|
||||
}),
|
||||
theme("sf-peach", "Peach Sugarfree", "sugarfree", "#f0d0b8", {
|
||||
primary: "#d08050",
|
||||
secondary: "#f0d0b8",
|
||||
tertiary: "#ff9b63",
|
||||
theme("sf-peach", "Peach Sugarfree", "sugarfree", "#e24585", {
|
||||
primary: "#e24585",
|
||||
secondary: "#efefef",
|
||||
tertiary: "#009edf",
|
||||
sugarFree: true,
|
||||
}),
|
||||
theme("sf-ice", "Ice Sugarfree", "sugarfree", "#b8e0e8", {
|
||||
primary: "#4a9aaa",
|
||||
secondary: "#b8e0e8",
|
||||
tertiary: "#49adbe",
|
||||
theme("sf-ice", "Ice Sugarfree", "sugarfree", "#49adbe", {
|
||||
primary: "#53b2c2",
|
||||
secondary: "#efefef",
|
||||
tertiary: "#009edf",
|
||||
sugarFree: true,
|
||||
}),
|
||||
theme("sf-lilac", "Lilac Sugarfree", "sugarfree", "#d8c8f0", {
|
||||
primary: "#9070c0",
|
||||
secondary: "#d8c8f0",
|
||||
tertiary: "#b898e0",
|
||||
theme("sf-lilac", "Lilac Sugarfree", "sugarfree", "#7d62ce", {
|
||||
primary: "#7d62ce",
|
||||
secondary: "#44c7b7",
|
||||
tertiary: "#009edf",
|
||||
sugarFree: true,
|
||||
}),
|
||||
theme("sf-pink", "Pink Sugarfree", "sugarfree", "#f0c8d8", {
|
||||
primary: "#d06090",
|
||||
secondary: "#f0c8d8",
|
||||
tertiary: "#ffb7d9",
|
||||
theme("sf-pink", "Pink Sugarfree", "sugarfree", "#e77bab", {
|
||||
primary: "#e77bab",
|
||||
secondary: "#8a1f3d",
|
||||
tertiary: "#009edf",
|
||||
sugarFree: true,
|
||||
}),
|
||||
theme("sf-blue", "Blue Sugarfree", "sugarfree", "#c8d0f8", {
|
||||
primary: "#5060c0",
|
||||
secondary: "#c8d0f8",
|
||||
tertiary: "#496dff",
|
||||
theme("sf-blue", "Blue Sugarfree", "sugarfree", "#0085c8", {
|
||||
primary: "#0085c8",
|
||||
secondary: "#efefef",
|
||||
tertiary: "#009edf",
|
||||
sugarFree: true,
|
||||
}),
|
||||
theme("sf-coconut", "Coconut Sugarfree", "sugarfree", "#d0f0f8", {
|
||||
primary: "#60b8d0",
|
||||
secondary: "#d0f0f8",
|
||||
tertiary: "#7ce7ff",
|
||||
theme("sf-coconut", "Coconut Sugarfree", "sugarfree", "#0070b8", {
|
||||
primary: "#0070b8",
|
||||
secondary: "#efefef",
|
||||
tertiary: "#009edf",
|
||||
sugarFree: true,
|
||||
}),
|
||||
theme("sf-green", "Green Sugarfree", "sugarfree", "#d8f0b8", {
|
||||
primary: "#70a830",
|
||||
secondary: "#d8f0b8",
|
||||
tertiary: "#b7ff4a",
|
||||
theme("sf-green", "Green Sugarfree", "sugarfree", "#78b941", {
|
||||
primary: "#78b941",
|
||||
secondary: "#efefef",
|
||||
tertiary: "#009edf",
|
||||
sugarFree: true,
|
||||
}),
|
||||
theme("sf-ruby", "Ruby Sugarfree", "sugarfree", "#f0c0c8", {
|
||||
primary: "#a03050",
|
||||
secondary: "#f0c0c8",
|
||||
tertiary: "#c3093b",
|
||||
theme("sf-ruby", "Ruby Sugarfree", "sugarfree", "#b50045", {
|
||||
primary: "#b50045",
|
||||
secondary: "#efefef",
|
||||
tertiary: "#009edf",
|
||||
sugarFree: true,
|
||||
}),
|
||||
theme("sf-spring", "Spring Sugarfree", "sugarfree", "#f8d0e0", {
|
||||
|
||||
@@ -0,0 +1,475 @@
|
||||
{
|
||||
"90162602": {
|
||||
"flavourName": "Original",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "RED BULL NON PMP - ORIGINAL 250ML",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-non-pmp-original-250ml/",
|
||||
"variant": "meal-deal-or-no-price",
|
||||
"notes": "Verified non-PMP barcode. Price uses tracker default."
|
||||
},
|
||||
"90493317": {
|
||||
"flavourName": "Original",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "RED BULL NON PMP - ORIGINAL 250ML",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-non-pmp-original-250ml/",
|
||||
"variant": "current-pmp",
|
||||
"notes": "Current GBP 1.75 PMP barcode."
|
||||
},
|
||||
"90457999": {
|
||||
"flavourName": "Original",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.65,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "RED BULL NON PMP - ORIGINAL 250ML",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-non-pmp-original-250ml/",
|
||||
"variant": "older-pmp",
|
||||
"notes": "Older GBP 1.65 PMP barcode."
|
||||
},
|
||||
"90162800": {
|
||||
"flavourName": "Sugar Free",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"sugarFree": true,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "RED BULL NON PMP - SUGAR FREE",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-non-pmp-sugar-free/",
|
||||
"variant": "meal-deal-or-no-price",
|
||||
"notes": "Verified non-PMP barcode. Price uses tracker default."
|
||||
},
|
||||
"90496066": {
|
||||
"flavourName": "Sugar Free",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.7,
|
||||
"sugarFree": true,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "RED BULL NON PMP - SUGAR FREE",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-non-pmp-sugar-free/",
|
||||
"variant": "current-pmp",
|
||||
"notes": "Current GBP 1.70 PMP barcode."
|
||||
},
|
||||
"90457982": {
|
||||
"flavourName": "Sugar Free",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.6,
|
||||
"sugarFree": true,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "RED BULL NON PMP - SUGAR FREE",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-non-pmp-sugar-free/",
|
||||
"variant": "older-pmp",
|
||||
"notes": "Older GBP 1.60 PMP barcode."
|
||||
},
|
||||
"90415425": {
|
||||
"flavourName": "Zero",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"sugarFree": true,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "RED BULL ZERO 250ML",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-zero-250ml/",
|
||||
"variant": "meal-deal-or-no-price",
|
||||
"notes": "Verified non-PMP barcode. Price uses tracker default."
|
||||
},
|
||||
"90496011": {
|
||||
"flavourName": "Zero",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.7,
|
||||
"sugarFree": true,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "RED BULL ZERO 250ML",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-zero-250ml/",
|
||||
"variant": "current-pmp",
|
||||
"notes": "Current GBP 1.70 PMP barcode."
|
||||
},
|
||||
"90457890": {
|
||||
"flavourName": "Zero",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.6,
|
||||
"sugarFree": true,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "RED BULL ZERO 250ML",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-zero-250ml/",
|
||||
"variant": "older-pmp",
|
||||
"notes": "Older GBP 1.60 PMP barcode."
|
||||
},
|
||||
"90493423": {
|
||||
"flavourName": "Cherry Edition",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "Bestway Wholesale",
|
||||
"sourceName": "Red Bull Spring Edition Cherry Sakura Energy Drink 250ml",
|
||||
"sourceUrl": "https://www.bestwaywholesale.co.uk/product/833691-1",
|
||||
"variant": "pmp",
|
||||
"notes": "PMP barcode verified. Plain can barcode not publicly verified in the supplied source list."
|
||||
},
|
||||
"90493539": {
|
||||
"flavourName": "Summer Edition",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "Bestway Wholesale",
|
||||
"sourceName": "Red Bull Summer Edition Citrus Zest Energy Drink 250ml",
|
||||
"sourceUrl": "https://www.bestwaywholesale.co.uk/product/833324-1",
|
||||
"variant": "pmp",
|
||||
"notes": "PMP barcode verified. Sugarfree Citrus Zest barcode was not publicly verified in the supplied source list."
|
||||
},
|
||||
"90486449": {
|
||||
"flavourName": "Winter Edition",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "BB Foodservice",
|
||||
"sourceName": "Red Bull Winter Edition Fuji Apple & Ginger Energy Drink",
|
||||
"sourceUrl": "https://www.bbfoodservice.co.uk/product/830604-1",
|
||||
"variant": "meal-deal-or-no-price",
|
||||
"notes": "Fuji Apple & Ginger listing mapped to existing Winter Edition flavour."
|
||||
},
|
||||
"90493485": {
|
||||
"flavourName": "Winter Edition",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "BB Foodservice",
|
||||
"sourceName": "Red Bull Winter Edition Fuji Apple & Ginger Energy Drink",
|
||||
"sourceUrl": "https://www.bbfoodservice.co.uk/product/830604-1",
|
||||
"variant": "pmp",
|
||||
"notes": "PMP barcode mapped to existing Winter Edition flavour."
|
||||
},
|
||||
"90493355": {
|
||||
"flavourName": "Peach",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "Bestway Wholesale",
|
||||
"sourceName": "Red Bull Peach Edition White Peach Energy Drink 250ml",
|
||||
"sourceUrl": "https://www.bestwaywholesale.co.uk/product/832794-1",
|
||||
"variant": "current-pmp",
|
||||
"notes": "Current PMP barcode verified. Plain can barcode not publicly verified in the supplied source list."
|
||||
},
|
||||
"90474576": {
|
||||
"flavourName": "Peach",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "Bestway Wholesale",
|
||||
"sourceName": "Red Bull Peach Edition White Peach Energy Drink 250ml",
|
||||
"sourceUrl": "https://www.bestwaywholesale.co.uk/product/832794-1",
|
||||
"variant": "older-pmp",
|
||||
"notes": "Older PMP barcode verified."
|
||||
},
|
||||
"90457449": {
|
||||
"flavourName": "Iced Vanilla",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "RED BULL COLOURS NON PMP - ICED VANILLA BERRY 250ML",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-colours-non-pmp-iced-vanilla-berry-250ml/",
|
||||
"variant": "meal-deal-or-no-price",
|
||||
"notes": "Verified non-PMP barcode."
|
||||
},
|
||||
"90493324": {
|
||||
"flavourName": "Iced Vanilla",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "RED BULL COLOURS NON PMP - ICED VANILLA BERRY 250ML",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-colours-non-pmp-iced-vanilla-berry-250ml/",
|
||||
"variant": "current-pmp",
|
||||
"notes": "Current PMP barcode verified."
|
||||
},
|
||||
"90486234": {
|
||||
"flavourName": "Iced Vanilla",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "RED BULL COLOURS NON PMP - ICED VANILLA BERRY 250ML",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-colours-non-pmp-iced-vanilla-berry-250ml/",
|
||||
"variant": "older-pmp",
|
||||
"notes": "Older PMP barcode verified."
|
||||
},
|
||||
"90454035": {
|
||||
"flavourName": "Juneberry",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "RED BULL COLOURS NON PMP - JUNEBERRY 250ML",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-colours-non-pmp-juneberry-250ml/",
|
||||
"variant": "meal-deal-or-no-price",
|
||||
"notes": "Verified non-PMP barcode."
|
||||
},
|
||||
"90493737": {
|
||||
"flavourName": "Juneberry",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "RED BULL COLOURS NON PMP - JUNEBERRY 250ML",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-colours-non-pmp-juneberry-250ml/",
|
||||
"variant": "current-pmp",
|
||||
"notes": "Current PMP barcode verified."
|
||||
},
|
||||
"90474095": {
|
||||
"flavourName": "Juneberry",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "RED BULL COLOURS NON PMP - JUNEBERRY 250ML",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-colours-non-pmp-juneberry-250ml/",
|
||||
"variant": "older-pmp",
|
||||
"notes": "Older PMP barcode verified."
|
||||
},
|
||||
"90446412": {
|
||||
"flavourName": "Watermelon",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "RED BULL COLOURS NON PMP - WATERMELON 250ML",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-colours-non-pmp-watermelon-250ml/",
|
||||
"variant": "meal-deal-or-no-price",
|
||||
"notes": "Verified non-PMP barcode."
|
||||
},
|
||||
"90493713": {
|
||||
"flavourName": "Watermelon",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "RED BULL COLOURS NON PMP - WATERMELON 250ML",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-colours-non-pmp-watermelon-250ml/",
|
||||
"variant": "current-pmp",
|
||||
"notes": "Current PMP barcode verified."
|
||||
},
|
||||
"90457975": {
|
||||
"flavourName": "Watermelon",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "RED BULL COLOURS NON PMP - WATERMELON 250ML",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-colours-non-pmp-watermelon-250ml/",
|
||||
"variant": "older-pmp",
|
||||
"notes": "Older PMP barcode verified."
|
||||
},
|
||||
"90415739": {
|
||||
"flavourName": "Tropical",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "RED BULL COLOURS NON PMP - TROPICAL 250ML",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-colours-non-pmp-tropical-250ml/",
|
||||
"variant": "meal-deal-or-no-price",
|
||||
"notes": "Verified non-PMP barcode."
|
||||
},
|
||||
"90493348": {
|
||||
"flavourName": "Tropical",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "RED BULL COLOURS NON PMP - TROPICAL 250ML",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-colours-non-pmp-tropical-250ml/",
|
||||
"variant": "current-pmp",
|
||||
"notes": "Current PMP barcode verified."
|
||||
},
|
||||
"90474057": {
|
||||
"flavourName": "Tropical",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "RED BULL COLOURS NON PMP - TROPICAL 250ML",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-colours-non-pmp-tropical-250ml/",
|
||||
"variant": "older-pmp",
|
||||
"notes": "Older PMP barcode verified."
|
||||
},
|
||||
"90435348": {
|
||||
"flavourName": "Coconut Berry",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "RED BULL COLOURS NON PMP - COCONUT & BERRY 250ML",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-colours-non-pmp-coconut-berry-250ml/",
|
||||
"variant": "meal-deal-or-no-price",
|
||||
"notes": "Verified non-PMP barcode."
|
||||
},
|
||||
"90493720": {
|
||||
"flavourName": "Coconut Berry",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "RED BULL COLOURS NON PMP - COCONUT & BERRY 250ML",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-colours-non-pmp-coconut-berry-250ml/",
|
||||
"variant": "current-pmp",
|
||||
"notes": "Current PMP barcode verified."
|
||||
},
|
||||
"90457951": {
|
||||
"flavourName": "Coconut Berry",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "RED BULL COLOURS NON PMP - COCONUT & BERRY 250ML",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-colours-non-pmp-coconut-berry-250ml/",
|
||||
"variant": "older-pmp",
|
||||
"notes": "Older PMP barcode verified."
|
||||
},
|
||||
"90456831": {
|
||||
"flavourName": "Curuba Elderflower",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "Red Bull - SUMMER CARUBA 250ML",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-colours-non-pmp-summer-caruba-250ml/",
|
||||
"variant": "meal-deal-or-no-price",
|
||||
"notes": "Verified non-PMP barcode appears under older Caruba naming."
|
||||
},
|
||||
"90493362": {
|
||||
"flavourName": "Curuba Elderflower",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "Red Bull - SUMMER CARUBA 250ML",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-colours-non-pmp-summer-caruba-250ml/",
|
||||
"variant": "current-pmp",
|
||||
"notes": "Current PMP barcode verified."
|
||||
},
|
||||
"90474064": {
|
||||
"flavourName": "Curuba Elderflower",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "Red Bull - SUMMER CARUBA 250ML",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-colours-non-pmp-summer-caruba-250ml/",
|
||||
"variant": "older-pmp",
|
||||
"notes": "Older PMP barcode verified."
|
||||
},
|
||||
"90453168": {
|
||||
"flavourName": "Apricot Edition",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "Red Bull - APRICOT & STRAWBERRY 250ML",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-colours-non-pmp-apricot-strawberry-250ml/",
|
||||
"variant": "meal-deal-or-no-price",
|
||||
"notes": "Verified non-PMP barcode."
|
||||
},
|
||||
"90493300": {
|
||||
"flavourName": "Apricot Edition",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "Red Bull - APRICOT & STRAWBERRY 250ML",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-colours-non-pmp-apricot-strawberry-250ml/",
|
||||
"variant": "current-pmp",
|
||||
"notes": "Current PMP barcode verified."
|
||||
},
|
||||
"90457968": {
|
||||
"flavourName": "Apricot Edition",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "Red Bull - APRICOT & STRAWBERRY 250ML",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-colours-non-pmp-apricot-strawberry-250ml/",
|
||||
"variant": "older-pmp",
|
||||
"notes": "Older PMP barcode verified."
|
||||
},
|
||||
"90454899": {
|
||||
"flavourName": "Ruby",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "Intamarque",
|
||||
"sourceName": "Red Bull The Ruby Edition Spiced Pear Energy Drink 250ml",
|
||||
"sourceUrl": "https://intamarquewholesale.com/products/red-bull-the-ruby-edition-spiced-pear-energy-drink-250ml",
|
||||
"variant": "meal-deal-or-no-price",
|
||||
"notes": "Verified non-PMP barcode."
|
||||
},
|
||||
"90493560": {
|
||||
"flavourName": "Ruby",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "Intamarque",
|
||||
"sourceName": "Red Bull The Ruby Edition Spiced Pear Energy Drink 250ml",
|
||||
"sourceUrl": "https://intamarquewholesale.com/products/red-bull-the-ruby-edition-spiced-pear-energy-drink-250ml",
|
||||
"variant": "current-pmp",
|
||||
"notes": "Current PMP barcode verified."
|
||||
},
|
||||
"90474088": {
|
||||
"flavourName": "Ruby",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"verifiedBy": "Intamarque",
|
||||
"sourceName": "Red Bull The Ruby Edition Spiced Pear Energy Drink 250ml",
|
||||
"sourceUrl": "https://intamarquewholesale.com/products/red-bull-the-ruby-edition-spiced-pear-energy-drink-250ml",
|
||||
"variant": "older-pmp",
|
||||
"notes": "Older PMP barcode verified."
|
||||
},
|
||||
"90456985": {
|
||||
"flavourName": "Pink Sugarfree",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"sugarFree": true,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "RED BULL COLOURS NON PMP - SF PINK 250ML",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-colours-non-pmp-sf-pink-250ml/",
|
||||
"variant": "meal-deal-or-no-price",
|
||||
"notes": "Verified non-PMP barcode."
|
||||
},
|
||||
"90493379": {
|
||||
"flavourName": "Pink Sugarfree",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"sugarFree": true,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "RED BULL COLOURS NON PMP - SF PINK 250ML",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-colours-non-pmp-sf-pink-250ml/",
|
||||
"variant": "current-pmp",
|
||||
"notes": "Current PMP barcode verified."
|
||||
},
|
||||
"90474071": {
|
||||
"flavourName": "Pink Sugarfree",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"sugarFree": true,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "RED BULL COLOURS NON PMP - SF PINK 250ML",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-colours-non-pmp-sf-pink-250ml/",
|
||||
"variant": "older-pmp",
|
||||
"notes": "Older PMP barcode verified."
|
||||
},
|
||||
"90456978": {
|
||||
"flavourName": "Pink Sugarfree",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"sugarFree": true,
|
||||
"verifiedBy": "Brand Factory Ltd",
|
||||
"sourceName": "RED BULL COLOURS NON PMP - SF PINK 250ML",
|
||||
"sourceUrl": "https://www.brandfactory.co.uk/product/red-bull-colours-non-pmp-sf-pink-250ml/",
|
||||
"variant": "pmp",
|
||||
"notes": "Additional PMP barcode verified."
|
||||
},
|
||||
"90493294": {
|
||||
"flavourName": "Lilac Sugarfree",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"sugarFree": true,
|
||||
"verifiedBy": "Bestway Wholesale",
|
||||
"sourceName": "Red Bull Lilac Edition Sugarfree Grapefruit & Blossom Energy Drink",
|
||||
"sourceUrl": "https://www.bestwaywholesale.co.uk/product/832789-1",
|
||||
"variant": "current-pmp",
|
||||
"notes": "PMP barcode verified. Plain can barcode not publicly verified in the supplied source list."
|
||||
},
|
||||
"90474774": {
|
||||
"flavourName": "Lilac Sugarfree",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"sugarFree": true,
|
||||
"verifiedBy": "Bestway Wholesale",
|
||||
"sourceName": "Red Bull Lilac Edition Sugarfree Grapefruit & Blossom Energy Drink",
|
||||
"sourceUrl": "https://www.bestwaywholesale.co.uk/product/832789-1",
|
||||
"variant": "older-pmp",
|
||||
"notes": "Older PMP barcode verified."
|
||||
},
|
||||
"90486067": {
|
||||
"flavourName": "Lilac Sugarfree",
|
||||
"sizeMl": 250,
|
||||
"pricePerCan": 1.75,
|
||||
"sugarFree": true,
|
||||
"verifiedBy": "Bestway Wholesale",
|
||||
"sourceName": "Red Bull Lilac Edition Sugarfree Grapefruit & Blossom Energy Drink",
|
||||
"sourceUrl": "https://www.bestwaywholesale.co.uk/product/832789-1",
|
||||
"variant": "pmp",
|
||||
"notes": "Additional PMP barcode verified."
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user