{
  "_comment": "Combined response from Revel API calls for SyncProducts. Demonstrates all 3 product models using the VERIFIED ProductModifierClass + ProductModifier flow.",

  "products": {
    "_endpoint": "GET /resources/Product/?display_online=true&limit=1000",
    "meta": {
      "limit": 1000,
      "next": null,
      "offset": 0,
      "previous": null,
      "total_count": 5
    },
    "objects": [
      {
        "_model": "Model 1: Simple product (no modifiers, no bundle)",
        "id": 503,
        "resource_uri": "/resources/Product/503/",
        "name": "Blueberry Muffin",
        "description": "",
        "price": 4.25,
        "barcode": "BM001",
        "sku": "SKU-BM-001",
        "active": true,
        "display_online": true,
        "category": "/products/ProductCategory/12/",
        "establishment": "/enterprise/Establishment/10/",
        "is_combo": 0,
        "combo_productsets": [],
        "dining_options": "[0, 1, 2, 3, 4, 5, 6, 7]",
        "cost": "0.8000",
        "sorting": 3,
        "created_date": "2023-03-01T10:00:00Z",
        "updated_date": "2024-08-15T09:00:00Z"
      },
      {
        "_model": "Model 2: Product with modifiers (modifiers discovered via ProductModifierClass)",
        "id": 501,
        "resource_uri": "/resources/Product/501/",
        "name": "Flat White",
        "description": "Smooth espresso with steamed milk",
        "price": 5.50,
        "barcode": "FW001",
        "sku": "SKU-FW-001",
        "active": true,
        "display_online": true,
        "category": "/products/ProductCategory/10/",
        "establishment": "/enterprise/Establishment/10/",
        "is_combo": 0,
        "combo_productsets": [],
        "dining_options": "[0, 1, 2, 3, 4, 5, 6, 7]",
        "cost": "1.2000",
        "sorting": 1,
        "created_date": "2023-03-01T10:00:00Z",
        "updated_date": "2024-08-15T09:00:00Z"
      },
      {
        "_model": "Model 2: Product with modifiers",
        "id": 502,
        "resource_uri": "/resources/Product/502/",
        "name": "Avocado Toast",
        "description": "Sourdough bread topped with fresh avocado, cherry tomatoes, and feta",
        "price": 12.00,
        "barcode": "AT001",
        "sku": "SKU-AT-001",
        "active": true,
        "display_online": true,
        "category": "/products/ProductCategory/11/",
        "establishment": "/enterprise/Establishment/10/",
        "is_combo": 0,
        "combo_productsets": [],
        "dining_options": "[0, 1, 2, 3, 4, 5, 6, 7]",
        "cost": "3.5000",
        "sorting": 2,
        "created_date": "2023-03-01T10:00:00Z",
        "updated_date": "2024-08-15T09:00:00Z"
      },
      {
        "_model": "Model 3: Bundle shell product (Group Combo parent, is_combo > 0)",
        "id": 600,
        "resource_uri": "/resources/Product/600/",
        "name": "Lunch Combo",
        "description": "Choose a main and a drink",
        "price": 15.00,
        "barcode": "LC001",
        "sku": "SKU-LC-001",
        "active": true,
        "display_online": true,
        "category": "/products/ProductCategory/13/",
        "establishment": "/enterprise/Establishment/10/",
        "is_combo": 1,
        "combo_productsets": [
          "/resources/ComboProductSet/401/",
          "/resources/ComboProductSet/402/"
        ],
        "dining_options": "[0, 1, 2, 3, 4, 5, 6, 7]",
        "cost": "5.0000",
        "sorting": 4,
        "created_date": "2024-01-10T08:00:00Z",
        "updated_date": "2024-08-15T09:00:00Z"
      },
      {
        "_model": "Model 1: Simple product (also referenced as bundle child item)",
        "id": 504,
        "resource_uri": "/resources/Product/504/",
        "name": "Mineral Water",
        "description": "Still mineral water 500ml",
        "price": 2.50,
        "barcode": "MW001",
        "sku": "SKU-MW-001",
        "active": true,
        "display_online": true,
        "category": "/products/ProductCategory/14/",
        "establishment": "/enterprise/Establishment/10/",
        "is_combo": 0,
        "combo_productsets": [],
        "dining_options": "[0, 1, 2, 3, 4, 5, 6, 7]",
        "cost": "0.5000",
        "sorting": 5,
        "created_date": "2023-03-01T10:00:00Z",
        "updated_date": "2024-08-15T09:00:00Z"
      }
    ]
  },

  "product_modifier_classes": {
    "_comment": "VERIFIED: Per-product modifier group linkage via ProductModifierClass join table",
    "_endpoint": "GET /resources/ProductModifierClass/?product={id}&expand=modifierclass",

    "for_product_501": {
      "_endpoint": "GET /resources/ProductModifierClass/?product=501&expand=modifierclass",
      "objects": [
        {
          "id": 5001,
          "resource_uri": "/resources/ProductModifierClass/5001/",
          "product": "/resources/Product/501/",
          "modifierclass": {
            "id": 201,
            "resource_uri": "/resources/ModifierClass/201/",
            "name": "Milk Options",
            "active": true,
            "Sort": 1
          },
          "Forced": false,
          "LockAmount": 1
        },
        {
          "id": 5002,
          "resource_uri": "/resources/ProductModifierClass/5002/",
          "product": "/resources/Product/501/",
          "modifierclass": {
            "id": 202,
            "resource_uri": "/resources/ModifierClass/202/",
            "name": "Size",
            "active": true,
            "Sort": 2
          },
          "Forced": true,
          "LockAmount": 1
        }
      ]
    },

    "for_product_502": {
      "_endpoint": "GET /resources/ProductModifierClass/?product=502&expand=modifierclass",
      "objects": [
        {
          "id": 5003,
          "resource_uri": "/resources/ProductModifierClass/5003/",
          "product": "/resources/Product/502/",
          "modifierclass": {
            "id": 203,
            "resource_uri": "/resources/ModifierClass/203/",
            "name": "Extra Toppings",
            "active": true,
            "Sort": 1
          },
          "Forced": false,
          "LockAmount": 3
        }
      ]
    }
  },

  "product_modifiers": {
    "_comment": "VERIFIED: Modifier options per ProductModifierClass",
    "_endpoint": "GET /resources/ProductModifier/?product_modifier_class={pmc_id}",

    "for_pmc_5001": {
      "_endpoint": "GET /resources/ProductModifier/?product_modifier_class=5001",
      "_group": "Milk Options for Flat White",
      "objects": [
        {
          "id": 8001,
          "resource_uri": "/resources/ProductModifier/8001/",
          "product_modifier_class": "/resources/ProductModifierClass/5001/",
          "modifier": {
            "id": 3001,
            "name": "Oat Milk",
            "sku": "MOD-OAT-001",
            "Price": 0.75,
            "Sorting": 1,
            "active": true
          },
          "PriceOverride": null,
          "DefaultModifier": false
        },
        {
          "id": 8002,
          "resource_uri": "/resources/ProductModifier/8002/",
          "product_modifier_class": "/resources/ProductModifierClass/5001/",
          "modifier": {
            "id": 3002,
            "name": "Almond Milk",
            "sku": "MOD-ALM-001",
            "Price": 0.75,
            "Sorting": 2,
            "active": true
          },
          "PriceOverride": null,
          "DefaultModifier": false
        },
        {
          "id": 8003,
          "resource_uri": "/resources/ProductModifier/8003/",
          "product_modifier_class": "/resources/ProductModifierClass/5001/",
          "modifier": {
            "id": 3003,
            "name": "Soy Milk",
            "sku": "MOD-SOY-001",
            "Price": 0.50,
            "Sorting": 3,
            "active": true
          },
          "PriceOverride": null,
          "DefaultModifier": false
        }
      ]
    },

    "for_pmc_5002": {
      "_endpoint": "GET /resources/ProductModifier/?product_modifier_class=5002",
      "_group": "Size for Flat White",
      "objects": [
        {
          "id": 8004,
          "resource_uri": "/resources/ProductModifier/8004/",
          "product_modifier_class": "/resources/ProductModifierClass/5002/",
          "modifier": {
            "id": 3004,
            "name": "Regular (8oz)",
            "sku": "MOD-REG-001",
            "Price": 0.00,
            "Sorting": 1,
            "active": true
          },
          "PriceOverride": null,
          "DefaultModifier": true
        },
        {
          "id": 8005,
          "resource_uri": "/resources/ProductModifier/8005/",
          "product_modifier_class": "/resources/ProductModifierClass/5002/",
          "modifier": {
            "id": 3005,
            "name": "Large (12oz)",
            "sku": "MOD-LRG-001",
            "Price": 1.50,
            "Sorting": 2,
            "active": true
          },
          "PriceOverride": null,
          "DefaultModifier": false
        }
      ]
    },

    "for_pmc_5003": {
      "_endpoint": "GET /resources/ProductModifier/?product_modifier_class=5003",
      "_group": "Extra Toppings for Avocado Toast",
      "objects": [
        {
          "id": 8006,
          "resource_uri": "/resources/ProductModifier/8006/",
          "product_modifier_class": "/resources/ProductModifierClass/5003/",
          "modifier": {
            "id": 3006,
            "name": "Poached Egg",
            "sku": "MOD-EGG-001",
            "Price": 2.00,
            "Sorting": 1,
            "active": true
          },
          "PriceOverride": null,
          "DefaultModifier": false
        },
        {
          "id": 8007,
          "resource_uri": "/resources/ProductModifier/8007/",
          "product_modifier_class": "/resources/ProductModifierClass/5003/",
          "modifier": {
            "id": 3007,
            "name": "Smoked Salmon",
            "sku": "MOD-SAL-001",
            "Price": 3.50,
            "Sorting": 2,
            "active": true
          },
          "PriceOverride": null,
          "DefaultModifier": false
        }
      ]
    }
  },

  "combo_product_sets": {
    "_comment": "VERIFIED: Bundle sections for shell product 600 (is_combo=1), fetched with expand=products",
    "_endpoint": "GET /resources/ComboProductSet/{id}/?expand=products",

    "for_product_600": [
      {
        "_endpoint": "GET /resources/ComboProductSet/401/?expand=products",
        "id": 401,
        "resource_uri": "/resources/ComboProductSet/401/",
        "name": "Choose a Main",
        "product": "/resources/Product/600/",
        "Quantity": 1,
        "combo_type": 0,
        "base_price_on": 0,
        "charge_full_price": 0,
        "is_combo_saving": false,
        "is_upsell": false,
        "active": true,
        "barcode": "",
        "comboset_products": [
          {
            "product": "/resources/Product/502/",
            "default_qty": 1,
            "upcharge_price": "0.00",
            "sorting": 0,
            "resource_uri": "/resources/ComboProductSetProduct/5001/"
          },
          {
            "product": "/resources/Product/501/",
            "default_qty": 1,
            "upcharge_price": "2.00",
            "sorting": 1,
            "resource_uri": "/resources/ComboProductSetProduct/5002/"
          }
        ],
        "created_date": "2024-01-10T08:00:00Z",
        "updated_date": "2024-08-15T09:00:00Z"
      },
      {
        "_endpoint": "GET /resources/ComboProductSet/402/?expand=products",
        "id": 402,
        "resource_uri": "/resources/ComboProductSet/402/",
        "name": "Choose a Drink",
        "product": "/resources/Product/600/",
        "Quantity": 1,
        "combo_type": 0,
        "base_price_on": 0,
        "charge_full_price": 0,
        "is_combo_saving": false,
        "is_upsell": false,
        "active": true,
        "barcode": "",
        "comboset_products": [
          {
            "product": "/resources/Product/504/",
            "default_qty": 1,
            "upcharge_price": "0.00",
            "sorting": 0,
            "resource_uri": "/resources/ComboProductSetProduct/5003/"
          },
          {
            "product": "/resources/Product/501/",
            "default_qty": 1,
            "upcharge_price": "1.50",
            "sorting": 1,
            "resource_uri": "/resources/ComboProductSetProduct/5004/"
          }
        ],
        "created_date": "2024-01-10T08:00:00Z",
        "updated_date": "2024-08-15T09:00:00Z"
      }
    ]
  }
}
