{
  "openapi": "3.1.0",
  "info": {
    "title": "Product Webhook API",
    "description": "Webhook that triggers when a new product is created",
    "version": "1.0.0"
  },
  "tags": [
    {
      "name": "Product",
      "description": "Webhook for product events"
    },
    {
      "name": "Invoice",
      "description": "Webhook for invoice events"
    },
    {
      "name": "Customer",
      "description": "Webhook for customer events"
    },
    {
      "name": "Supplier",
      "description": "Webhook for supplier events"
    },
    {
      "name": "Bill",
      "description": "Webhook for bill events"
    },
    {
      "name": "Transfer Order",
      "description": "Webhook for transfer order events"
    },
    {
      "name": "Outbound Logistic",
      "description": "Webhook for outbound logistic events"
    },
    {
      "name": "Inbound Logistic",
      "description": "Webhook for inbound logistic events"
    },
    {
      "name": "Adjustment",
      "description": "Webhook for adjustment events"
    },
    {
      "name": "Invoice Payment",
      "description": "Webhook for invoice payment events"
    },
    {
      "name": "Invoice Write Off",
      "description": "Webhook for invoice write off events"
    },
    {
      "name": "Supplier Bill Write Off",
      "description": "Webhook for supplier bill write off events"
    },
    {
      "name": "Bill Payment",
      "description": "Webhook for bill payment events"
    },
    {
      "name": "Shift",
      "description": "Webhook for shift events"
    },
    {
      "name": "Outlet",
      "description": "Webhook for outlet events"
    },
    {
      "name": "Sales Order",
      "description": "Webhook for sales order events"
    },
    {
      "name": "Loyalty Provider",
      "description": "Use this section to integrate external coupon provider to DealPOS <br><br>  Go to <b>Developer</b> Menu -> Tab <b>Promotion Coupon Provider</b> then click button <b>Add</b> and fill with your endpoint. ![Loyalty Image](PromotionCouponProvider.png)"
    }
  ],
  "servers": [
    {
      "url": "https://{subdomain}/api/v3",
      "description": "Production Server",
      "variables": {
        "subdomain": {
          "default": "nelsenlim.dealpos.net",
          "description": "Your DealPOS Subdomain"
        }
      }
    }
  ],
  "components": {
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "X-API-Key"
      }
    }
  },
  "security": [
    {
      "ApiKeyAuth": []
    }
  ],
  "webhooks": {
    "productCreated": {
      "post": {
        "tags": [
          "Product"
        ],
        "operationId": "productCreated",
        "summary": "Product Created",
        "description": "This webhook is triggered when a new product is created.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string"
                  },
                  "Category": {
                    "type": "string"
                  },
                  "Name": {
                    "type": "string"
                  },
                  "SupplierName": {
                    "type": "string"
                  },
                  "Brand": {
                    "type": "string"
                  },
                  "BrandName": {
                    "type": "string"
                  },
                  "Code": {
                    "type": "string"
                  },
                  "Discontinued": {
                    "type": "boolean"
                  },
                  "Description": {
                    "type": "string"
                  },
                  "Storage": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "OutletName": {
                          "type": "string"
                        },
                        "StorageName": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  "Tags": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "ImageURL": {
                    "type": "string"
                  },
                  "ThumbnailURL": {
                    "type": "string"
                  },
                  "ExtraImageURL": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "Variants": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "ID": {
                          "type": "string"
                        },
                        "Name": {
                          "type": "string"
                        },
                        "Model": {
                          "type": "string"
                        },
                        "Code": {
                          "type": "string"
                        },
                        "Type": {
                          "type": "string"
                        },
                        "UnitCost": {
                          "type": "number"
                        },
                        "UnitPrice": {
                          "type": "number"
                        },
                        "Discontinued": {
                          "type": "boolean"
                        },
                        "Description": {
                          "type": "string"
                        },
                        "Discount": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              },
              "example": {
                "ID": "020f279d-e6ba-408c-b944-57bed320dc22",
                "Category": "Accessories",
                "Name": "Gorgeous Dress",
                "SupplierName": "PT Berkah",
                "Brand": "123",
                "BrandName": "123",
                "Code": "DRXS129",
                "Discontinued": false,
                "Description": "Step into elegance with the Gorgeous Dress, tailored for those who desire a blend of classic charm and modern sophistication. Its delicate fabric gracefully drapes over the body, ensuring both comfort and style. This dress features a flattering silhouette that complements any occasion, from a casual brunch to an elegant evening event. Available in a variety of colors, it promises versatility and timeless appeal in your wardrobe. Make a statement and turn heads with every step in the Gorgeous Dress.",
                "Storage": [
                  {
                    "OutletName": "Outlet1",
                    "StorageName": "Waduh"
                  },
                  {
                    "OutletName": "Outlet2",
                    "StorageName": "Waduh"
                  }
                ],
                "Tags": [
                  "123"
                ],
                "ImageURL": "https://cdn.dealpos.app/com/starterretail/Product/020f279d-e6ba-408c-b944-57bed320dc22/aa65e037-setelan-satu-warna-ala-kimono.jpeg",
                "ThumbnailURL": "https://cdn.dealpos.app/cdn-cgi/image/width=80,quality=100/com/starterretail/Product/020f279d-e6ba-408c-b944-57bed320dc22/aa65e037-setelan-satu-warna-ala-kimono.jpeg",
                "ExtraImageURL": [
                  "https://cdn.dealpos.app/com/starterretail/Product/020f279d-e6ba-408c-b944-57bed320dc22/A10092200400_3.jpg"
                ],
                "Variants": [
                  {
                    "ID": "2fb4e34a-780d-4d14-8d33-41749b83e721",
                    "Name": "Gorgeous Dress (Default)",
                    "Model": "Default",
                    "Code": "DRXS129",
                    "Type": "Standard",
                    "UnitCost": 124123,
                    "UnitPrice": 123124,
                    "Discontinued": false,
                    "Description": "",
                    "Discount": 0
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "productUpdated": {
      "post": {
        "tags": [
          "Product"
        ],
        "operationId": "productUpdated",
        "summary": "Product Updated",
        "description": "This webhook is triggered when a product is updated",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string"
                  },
                  "Category": {
                    "type": "string"
                  },
                  "Name": {
                    "type": "string"
                  },
                  "SupplierName": {
                    "type": "string"
                  },
                  "Brand": {
                    "type": "string"
                  },
                  "BrandName": {
                    "type": "string"
                  },
                  "Code": {
                    "type": "string"
                  },
                  "Discontinued": {
                    "type": "boolean"
                  },
                  "Description": {
                    "type": "string"
                  },
                  "Storage": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "OutletName": {
                          "type": "string"
                        },
                        "StorageName": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  "Tags": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "ImageURL": {
                    "type": "string"
                  },
                  "ThumbnailURL": {
                    "type": "string"
                  },
                  "ExtraImageURL": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "Variants": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "ID": {
                          "type": "string"
                        },
                        "Name": {
                          "type": "string"
                        },
                        "Model": {
                          "type": "string"
                        },
                        "Code": {
                          "type": "string"
                        },
                        "Type": {
                          "type": "string"
                        },
                        "UnitCost": {
                          "type": "number"
                        },
                        "UnitPrice": {
                          "type": "number"
                        },
                        "Discontinued": {
                          "type": "boolean"
                        },
                        "Description": {
                          "type": "string"
                        },
                        "Discount": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              },
              "example": {
                "ID": "020f279d-e6ba-408c-b944-57bed320dc22",
                "Category": "Accessories",
                "Name": "Gorgeous Dress NEW Collection",
                "SupplierName": "PT Berkah",
                "Brand": "123",
                "BrandName": "123",
                "Code": "DRXS129",
                "Discontinued": false,
                "Description": "Step into elegance with the Gorgeous Dress, tailored for those who desire a blend of classic charm and modern sophistication. Its delicate fabric gracefully drapes over the body, ensuring both comfort and style. This dress features a flattering silhouette that complements any occasion, from a casual brunch to an elegant evening event. Available in a variety of colors, it promises versatility and timeless appeal in your wardrobe. Make a statement and turn heads with every step in the Gorgeous Dress.",
                "Storage": [
                  {
                    "OutletName": "Outlet1",
                    "StorageName": "Waduh"
                  },
                  {
                    "OutletName": "Outlet2",
                    "StorageName": "Waduh"
                  }
                ],
                "Tags": [
                  "123"
                ],
                "ImageURL": "https://cdn.dealpos.app/com/starterretail/Product/020f279d-e6ba-408c-b944-57bed320dc22/aa65e037-setelan-satu-warna-ala-kimono.jpeg",
                "ThumbnailURL": "https://cdn.dealpos.app/cdn-cgi/image/width=80,quality=100/com/starterretail/Product/020f279d-e6ba-408c-b944-57bed320dc22/aa65e037-setelan-satu-warna-ala-kimono.jpeg",
                "ExtraImageURL": [
                  "https://cdn.dealpos.app/com/starterretail/Product/020f279d-e6ba-408c-b944-57bed320dc22/A10092200400_3.jpg"
                ],
                "Variants": [
                  {
                    "ID": "2fb4e34a-780d-4d14-8d33-41749b83e721",
                    "Name": "Gorgeous Dress NEW Collection (Default)",
                    "Model": "Default",
                    "Code": "DRXS129",
                    "Type": "Standard",
                    "UnitCost": 124123,
                    "UnitPrice": 123124,
                    "Discontinued": false,
                    "Description": "",
                    "Discount": 0
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "productDeleted": {
      "post": {
        "tags": [
          "Product"
        ],
        "operationId": "productDeleted",
        "summary": "Product Deleted",
        "description": "This webhook is triggered when a product is deleted",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string"
                  },
                  "Category": {
                    "type": "string"
                  },
                  "Name": {
                    "type": "string"
                  },
                  "SupplierName": {
                    "type": "string"
                  },
                  "Brand": {
                    "type": "string"
                  },
                  "BrandName": {
                    "type": "string"
                  },
                  "Code": {
                    "type": "string"
                  },
                  "Discontinued": {
                    "type": "boolean"
                  },
                  "Description": {
                    "type": "string"
                  },
                  "Storage": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "OutletName": {
                          "type": "string"
                        },
                        "StorageName": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  "Tags": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "ImageURL": {
                    "type": "string"
                  },
                  "ThumbnailURL": {
                    "type": "string"
                  },
                  "ExtraImageURL": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "Variants": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "ID": {
                          "type": "string"
                        },
                        "Name": {
                          "type": "string"
                        },
                        "Model": {
                          "type": "string"
                        },
                        "Code": {
                          "type": "string"
                        },
                        "UnitCost": {
                          "type": "number"
                        },
                        "UnitPrice": {
                          "type": "number"
                        },
                        "Discontinued": {
                          "type": "boolean"
                        },
                        "Description": {
                          "type": "string"
                        },
                        "Discount": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              },
              "example": {
                "ID": "020f279d-e6ba-408c-b944-57bed320dc22",
                "Category": "Accessories",
                "Name": "Gorgeous Dress NEW Collection",
                "SupplierName": "PT Berkah",
                "Brand": "123",
                "BrandName": "123",
                "Code": "DRXS129",
                "Discontinued": false,
                "Description": "Step into elegance with the Gorgeous Dress, tailored for those who desire a blend of classic charm and modern sophistication. Its delicate fabric gracefully drapes over the body, ensuring both comfort and style. This dress features a flattering silhouette that complements any occasion, from a casual brunch to an elegant evening event. Available in a variety of colors, it promises versatility and timeless appeal in your wardrobe. Make a statement and turn heads with every step in the Gorgeous Dress.",
                "Storage": [
                  {
                    "OutletName": "Outlet1",
                    "StorageName": "Waduh"
                  },
                  {
                    "OutletName": "Outlet2",
                    "StorageName": "Waduh"
                  }
                ],
                "Tags": [
                  "123"
                ],
                "ImageURL": "https://cdn.dealpos.app/com/starterretail/Product/020f279d-e6ba-408c-b944-57bed320dc22/aa65e037-setelan-satu-warna-ala-kimono.jpeg",
                "ThumbnailURL": "https://cdn.dealpos.app/cdn-cgi/image/width=80,quality=100/com/starterretail/Product/020f279d-e6ba-408c-b944-57bed320dc22/aa65e037-setelan-satu-warna-ala-kimono.jpeg",
                "ExtraImageURL": [
                  "https://cdn.dealpos.app/com/starterretail/Product/020f279d-e6ba-408c-b944-57bed320dc22/A10092200400_3.jpg"
                ],
                "Variants": [
                  {
                    "ID": "2fb4e34a-780d-4d14-8d33-41749b83e721",
                    "Name": "Gorgeous Dress NEW Collection (Default)",
                    "Model": "Default",
                    "Code": "DRXS129",
                    "Type": "Standard",
                    "UnitCost": 124123,
                    "UnitPrice": 123124,
                    "Discontinued": false,
                    "Description": "",
                    "Discount": 0
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "productVariantCreated": {
      "post": {
        "tags": [
          "Product"
        ],
        "operationId": "productVariantCreated",
        "summary": "Product Variant Created",
        "description": "This webhook is triggered when a new product variant is created.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "description": "The unique ID of the product variant."
                  },
                  "Category": {
                    "type": "string",
                    "description": "The category ID of the product."
                  },
                  "Product": {
                    "type": "string",
                    "description": "The name of the product."
                  },
                  "Variant": {
                    "type": "string",
                    "description": "The variant of the product."
                  },
                  "Name": {
                    "type": "string",
                    "description": "The name of the product variant."
                  },
                  "Code": {
                    "type": "string",
                    "description": "The product code."
                  },
                  "Weight": {
                    "type": "integer",
                    "description": "The weight of the product."
                  },
                  "Type": {
                    "type": "string",
                    "description": "The type of product variant."
                  },
                  "OrderPrice": {
                    "type": "integer",
                    "description": "The order price of the product."
                  },
                  "UnitCost": {
                    "type": "integer",
                    "description": "The unit cost of the product."
                  },
                  "UnitPrice": {
                    "type": "integer",
                    "description": "The unit price of the product."
                  },
                  "Taxable": {
                    "type": "boolean",
                    "description": "Whether the product is taxable."
                  },
                  "LoyaltyPoint": {
                    "type": "boolean",
                    "description": "Whether the product is eligible for loyalty points."
                  },
                  "Discontinued": {
                    "type": "boolean",
                    "description": "Whether the product variant is discontinued."
                  },
                  "Components": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "Name": {
                          "type": "string",
                          "description": "The name of the component."
                        },
                        "Code": {
                          "type": "string",
                          "description": "The code of the component."
                        },
                        "Qty": {
                          "type": "integer",
                          "description": "The quantity of the component."
                        }
                      }
                    }
                  },
                  "OutletPrice": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "Outlet": {
                          "type": "string",
                          "description": "The name of the outlet."
                        },
                        "Price": {
                          "type": "integer",
                          "description": "The price at the outlet."
                        },
                        "ExtraCost": {
                          "type": "integer",
                          "description": "Any additional cost at the outlet."
                        }
                      }
                    }
                  }
                },
                "example": {
                  "ID": "dc3c01f1-6af5-4a86-9e31-ffaaca8051df",
                  "Category": "123",
                  "Product": "Tupperware",
                  "Variant": "XL",
                  "Name": "Tupperware - TPW (XL)",
                  "Code": "TPW-XL",
                  "Weight": 0,
                  "Type": "Standard",
                  "OrderPrice": 0,
                  "UnitCost": 125000,
                  "UnitPrice": 250000,
                  "Taxable": true,
                  "LoyaltyPoint": true,
                  "Discontinued": false,
                  "Components": [
                    {
                      "Name": "Sticker",
                      "Code": "STI01",
                      "Qty": 1
                    }
                  ],
                  "OutletPrice": [
                    {
                      "Outlet": "Outlet1",
                      "Price": 225000,
                      "ExtraCost": 0
                    }
                  ]
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "productVariantUpdated": {
      "post": {
        "tags": [
          "Product"
        ],
        "operationId": "productVariantUpdated",
        "summary": "Product Variant Updated",
        "description": "This webhook is triggered when a product variant is updated.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "description": "Unique identifier of the variant."
                  },
                  "Category": {
                    "type": "string",
                    "description": "The category associated with the product."
                  },
                  "Product": {
                    "type": "string",
                    "description": "Name of the product."
                  },
                  "Variant": {
                    "type": "string",
                    "description": "The variant type or size."
                  },
                  "Name": {
                    "type": "string",
                    "description": "Full name of the product variant."
                  },
                  "Code": {
                    "type": "string",
                    "description": "Unique code for the variant."
                  },
                  "Weight": {
                    "type": "number",
                    "description": "Weight of the variant."
                  },
                  "Type": {
                    "type": "string",
                    "description": "Type of the product variant (e.g., Standard)."
                  },
                  "OrderPrice": {
                    "type": "number",
                    "description": "Price used for orders."
                  },
                  "UnitCost": {
                    "type": "number",
                    "description": "Cost of the variant."
                  },
                  "UnitPrice": {
                    "type": "number",
                    "description": "Selling price of the variant."
                  },
                  "Taxable": {
                    "type": "boolean",
                    "description": "Indicates if the variant is taxable."
                  },
                  "LoyaltyPoint": {
                    "type": "boolean",
                    "description": "Indicates if the variant provides loyalty points."
                  },
                  "Discontinued": {
                    "type": "boolean",
                    "description": "Indicates if the variant is discontinued."
                  },
                  "Components": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "Name": {
                          "type": "string",
                          "description": "Name of the component."
                        },
                        "Code": {
                          "type": "string",
                          "description": "Code of the component."
                        },
                        "Qty": {
                          "type": "integer",
                          "description": "Quantity of the component."
                        }
                      }
                    }
                  },
                  "OutletPrice": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "Outlet": {
                          "type": "string",
                          "description": "Name of the outlet."
                        },
                        "Price": {
                          "type": "number",
                          "description": "Price of the variant at the specified outlet."
                        },
                        "ExtraCost": {
                          "type": "number",
                          "description": "Additional cost applied at the outlet."
                        }
                      }
                    }
                  }
                }
              },
              "example": {
                "ID": "dc3c01f1-6af5-4a86-9e31-ffaaca8051df",
                "Category": "123",
                "Product": "Tupperware",
                "Variant": "XL",
                "Name": "Tupperware - TPW (XL)",
                "Code": "TPW-XL",
                "Weight": 0,
                "Type": "Standard",
                "OrderPrice": 0,
                "UnitCost": 125000,
                "UnitPrice": 250000,
                "Taxable": true,
                "LoyaltyPoint": true,
                "Discontinued": false,
                "Components": [
                  {
                    "Name": "Sticker",
                    "Code": "STI01",
                    "Qty": 1
                  }
                ],
                "OutletPrice": [
                  {
                    "Outlet": "Outlet1",
                    "Price": 225000,
                    "ExtraCost": 0
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "invoiceCreated": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "operationId": "invoiceCreated",
        "summary": "Invoice Created",
        "description": "This webhook is triggered when a new invoice is created.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "description": "Unique ID of the invoice"
                  },
                  "Outlet": {
                    "type": "string",
                    "description": "Name of the outlet"
                  },
                  "Number": {
                    "type": "string",
                    "description": "Number of the invoice transaction"
                  },
                  "Date": {
                    "type": "string",
                    "description": "Date of the invoice transaction"
                  },
                  "DueDate": {
                    "type": "string",
                    "description": "Due date of the invoice transaction"
                  },
                  "Tag": {
                    "type": "string",
                    "description": "Channel Tagging system (e.g., Take Away, Shopee)"
                  },
                  "Customer": {
                    "type": "object",
                    "properties": {
                      "ID": {
                        "type": "string",
                        "description": "Unique ID of the customer"
                      },
                      "Name": {
                        "type": "string",
                        "description": "Name of the customer"
                      },
                      "Email": {
                        "type": "string",
                        "description": "E-mail of the customer"
                      },
                      "Phone": {
                        "type": "string",
                        "description": "Phone number of the customer"
                      },
                      "Mobile": {
                        "type": "string",
                        "description": "Mobile Phone Number of the customer"
                      },
                      "Code": {
                        "type": "string",
                        "description": "Unique Code of the customer"
                      },
                      "Address": {
                        "type": "string",
                        "description": "Customer's address"
                      }
                    }
                  },
                  "CreatorID": {
                    "type": "string",
                    "description": "ID of the creator of the invoice"
                  },
                  "Created": {
                    "type": "string",
                    "description": "Date when the invoice was created"
                  },
                  "Discount1": {
                    "type": "integer",
                    "description": "Percentage of discount 1"
                  },
                  "Discount2": {
                    "type": "integer",
                    "description": "Percentage of discount 2"
                  },
                  "DiscountAmount": {
                    "type": "integer",
                    "description": "Discount amount applied"
                  },
                  "Gross": {
                    "type": "integer",
                    "description": "Total amount before discounts"
                  },
                  "DiscountTotal": {
                    "type": "integer",
                    "description": "Total discount applied"
                  },
                  "TaxType": {
                    "type": "string",
                    "description": "Type of tax (e.g., No Tax)"
                  },
                  "TaxCalculation": {
                    "type": "string",
                    "description": "Tax calculation method (e.g., Add or Include)"
                  },
                  "Tax": {
                    "type": "integer",
                    "description": "Total tax applied"
                  },
                  "TaxRate": {
                    "type": "integer",
                    "description": "Tax rate in percentage"
                  },
                  "Sales": {
                    "type": "integer",
                    "description": "Total sales after discounts"
                  },
                  "Surcharge": {
                    "type": "integer",
                    "description": "Additional surcharge (e.g., credit card fee)"
                  },
                  "SalesNTax": {
                    "type": "integer",
                    "description": "Sales total after tax"
                  },
                  "Coupon": {
                    "type": "string",
                    "description": "Coupon code used, if any"
                  },
                  "CouponNote": {
                    "type": "string",
                    "description": "Additional note for the coupon"
                  },
                  "Note": {
                    "type": "string",
                    "description": "Additional note for the invoice"
                  },
                  "PointUsed": {
                    "type": "integer",
                    "description": "Total loyalty points used"
                  },
                  "PointsEarned": {
                    "type": "integer",
                    "description": "Total loyalty points earned"
                  },
                  "Delivery": {
                    "type": "string",
                    "description": "Delivery status (Sent, Unsent, etc.)"
                  },
                  "Void": {
                    "type": "string",
                    "description": "Whether the invoice is voided (Yes/No)"
                  },
                  "Variants": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "VariantID": {
                          "type": "string",
                          "description": "ID of the product variant"
                        },
                        "Name": {
                          "type": "string",
                          "description": "Name of the product variant"
                        },
                        "Code": {
                          "type": "string",
                          "description": "Code of the product variant"
                        },
                        "Type": {
                          "type": "string",
                          "enum": [
                            "Standard",
                            "NonInventory",
                            "Composite",
                            "Serialized",
                            "Manufactured",
                            "Complementary",
                            "MultipleUOM",
                            "PrepaidPoint",
                            "PrepaidPackage"
                          ],
                          "description": "Type of the product variant"
                        },
                        "Quantity": {
                          "type": "integer",
                          "description": "Quantity of the variant sold"
                        },
                        "UnitQuantity": {
                          "type": "integer",
                          "description": "Unit measurement for the variant"
                        },
                        "Cost": {
                          "type": "integer",
                          "description": "Cost of the product variant"
                        },
                        "Price": {
                          "type": "integer",
                          "description": "Price of the product variant"
                        },
                        "PriceOriginal": {
                          "type": "number",
                          "description": "Original price before discounts"
                        },
                        "Discount": {
                          "type": "integer",
                          "description": "Discount percentage for the variant"
                        },
                        "DiscountAmount": {
                          "type": "integer",
                          "description": "Discount amount applied to the variant"
                        },
                        "Taxable": {
                          "type": "boolean",
                          "description": "Whether the product variant is taxable"
                        },
                        "LoyaltyPoint": {
                          "type": "boolean",
                          "description": "Whether loyalty points can be used on the product"
                        },
                        "Expense": {
                          "type": "integer",
                          "description": "Any additional expense related to the variant"
                        },
                        "NettPrice": {
                          "type": "integer",
                          "description": "Price after discounts"
                        },
                        "Commission": {
                          "type": "integer",
                          "description": "Sales commission"
                        },
                        "SalesName": {
                          "type": "string",
                          "description": "Sales person name"
                        },
                        "PriceTypeID": {
                          "type": "integer",
                          "description": "Type of pricing applied"
                        },
                        "Note": {
                          "type": "string",
                          "description": "Note regarding the product variant"
                        }
                      }
                    }
                  },
                  "OutboundLogistics": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "ID": {
                          "type": "string",
                          "description": "Unique ID of the outbound logistics"
                        },
                        "Outlet": {
                          "type": "string",
                          "description": "Outlet name for outbound logistics"
                        },
                        "Number": {
                          "type": "string",
                          "description": "Outbound logistics transaction number"
                        },
                        "Date": {
                          "type": "string",
                          "description": "Date of outbound logistics"
                        }
                      }
                    }
                  },
                  "Payments": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "Date": {
                          "type": "string",
                          "description": "Payment date"
                        },
                        "Amount": {
                          "type": "integer",
                          "description": "Payment amount"
                        },
                        "Method": {
                          "type": "string",
                          "description": "Payment method (e.g., Debit Card)"
                        },
                        "MethodID": {
                          "type": "integer",
                          "description": "Payment method ID"
                        },
                        "Code": {
                          "type": "string",
                          "description": "Payment code"
                        },
                        "Note": {
                          "type": "string",
                          "description": "Payment method note"
                        },
                        "Created": {
                          "type": "string",
                          "description": "Payment created Transaction Date by system"
                        }
                      }
                    }
                  },
                  "ReferenceNumber": {
                    "type": "string",
                    "description": "Reference number for the invoice"
                  },
                  "OrderFulfillmentRecipient": {
                    "type": "object",
                    "properties": {
                      "ID": {
                        "type": "string",
                        "description": "ID of the recipient"
                      },
                      "Name": {
                        "type": "string",
                        "description": "Name of the recipient"
                      },
                      "Phone": {
                        "type": "string",
                        "description": "Phone number of the recipient"
                      },
                      "Address": {
                        "type": "string",
                        "description": "Address of the recipient"
                      },
                      "City": {
                        "type": "string",
                        "description": "City of the recipient"
                      }
                    }
                  }
                }
              },
              "example": {
                "ID": "e0211b45-358e-4d5c-bf5b-8a31404b125e",
                "Outlet": "Outlet1",
                "Number": "20.09.00020",
                "Date": "2020-09-02T00:00:00",
                "DueDate": "0001-01-01T00:00:00",
                "Tag": "Take Away",
                "Customer": {
                  "ID": "2774372b-0d5e-4171-8c83-dd66fbd4461e",
                  "Name": "hendry",
                  "Email": "henz2194w@gmail.com",
                  "Phone": "0215851412",
                  "Mobile": "0815161688",
                  "Code": "HW0001",
                  "Address": "Jl. Muara No. 3"
                },
                "CreatorID": "ff7848c9-21f1-4c05-ac9e-1e71d829cc9c",
                "Created": "2020-09-02T13:52:18.33",
                "Discount1": 0,
                "Discount2": 0,
                "DiscountAmount": 0,
                "Gross": 100000,
                "DiscountTotal": 0,
                "TaxType": "No Tax",
                "TaxCalculation": "Add",
                "Tax": 0,
                "TaxRate": 0,
                "Sales": 100000,
                "Surcharge": 0,
                "SalesNTax": 100000,
                "Coupon": "XPPW123",
                "CouponNote": "Test Coupon",
                "Note": "Note Test",
                "PointUsed": 0,
                "PointsEarned": 0,
                "Delivery": "Sent",
                "Void": "No",
                "Variants": [
                  {
                    "VariantID": "cdc45c7e-4990-40c3-a41e-3ee5fb1ec200",
                    "Name": "Muffin (Medium)",
                    "Code": "MM3002",
                    "Type": "Standard",
                    "Quantity": 1,
                    "UnitQuantity": 1,
                    "Cost": 213213,
                    "Price": 100000,
                    "PriceOriginal": 17389.03,
                    "Discount": 0,
                    "DiscountAmount": 0,
                    "Taxable": true,
                    "LoyaltyPoint": true,
                    "Expense": 10000,
                    "NettPrice": 100000,
                    "Commission": 0,
                    "SalesName": "Ferdi",
                    "PriceTypeID": 1,
                    "Note": "Combo 1"
                  }
                ],
                "Payments": [
                  {
                    "Date": "2020-09-02T00:00:00",
                    "Amount": 100000,
                    "Method": "Debit Card",
                    "MethodID": 21,
                    "Code": "1234-1546-1546",
                    "Note": "Pay With BCA Card",
                    "Created": "2020-09-02T13:52:18.33"
                  }
                ],
                "OutboundLogistics": [
                  {
                    "ID": "a1b2c3d4-e5f6-7890-ab12-cd34ef56gh78",
                    "Outlet": "Outlet2",
                    "Number": "20.09.00020",
                    "Date": "2020-09-02T00:00:00"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "invoiceDeleted": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "operationId": "invoiceDeleted",
        "summary": "Invoice Deleted",
        "description": "This webhook is triggered when an existing customer invoice is deleted.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "description": "The unique ID of the deleted invoice."
                  },
                  "Outlet": {
                    "type": "string",
                    "description": "The name of the outlet where the invoice was created."
                  },
                  "Number": {
                    "type": "string",
                    "description": "The invoice number."
                  },
                  "Date": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The date the invoice was created."
                  },
                  "DueDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The due date of the invoice."
                  },
                  "SalesType": {
                    "type": "string",
                    "description": "The sales type associated with the invoice (e.g., Take Away)."
                  },
                  "Customer": {
                    "type": "object",
                    "properties": {
                      "Name": {
                        "type": "string",
                        "description": "The name of the customer."
                      },
                      "Email": {
                        "type": "string",
                        "description": "The email address of the customer."
                      },
                      "Phone": {
                        "type": "string",
                        "description": "The phone number of the customer."
                      },
                      "Mobile": {
                        "type": "string",
                        "description": "The mobile number of the customer."
                      },
                      "Code": {
                        "type": "string",
                        "description": "The customer code."
                      }
                    }
                  },
                  "CreatorID": {
                    "type": "string",
                    "description": "The unique ID of the user who created the invoice."
                  },
                  "Created": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The timestamp of when the invoice was created."
                  },
                  "Discount1": {
                    "type": "number",
                    "description": "The first discount applied to the invoice."
                  },
                  "Discount2": {
                    "type": "number",
                    "description": "The second discount applied to the invoice."
                  },
                  "DiscountAmount": {
                    "type": "number",
                    "description": "The total discount amount."
                  },
                  "Gross": {
                    "type": "number",
                    "description": "The gross amount of the invoice before tax and discounts."
                  },
                  "DiscountTotal": {
                    "type": "number",
                    "description": "The total amount of discounts applied."
                  },
                  "TaxType": {
                    "type": "string",
                    "description": "The type of tax applied to the invoice."
                  },
                  "Tax": {
                    "type": "number",
                    "description": "The amount of tax applied to the invoice."
                  },
                  "Sales": {
                    "type": "number",
                    "description": "The total sales amount (after discounts and taxes)."
                  },
                  "Surcharge": {
                    "type": "number",
                    "description": "Any surcharge applied to the invoice."
                  },
                  "SalesNTax": {
                    "type": "number",
                    "description": "The total sales amount without tax."
                  },
                  "Coupon": {
                    "type": "string",
                    "description": "Any coupon used for the invoice."
                  },
                  "CouponNote": {
                    "type": "string",
                    "description": "Additional note for the coupon"
                  },
                  "Note": {
                    "type": "string",
                    "description": "Additional notes related to the invoice."
                  },
                  "PointUsed": {
                    "type": "number",
                    "description": "The number of loyalty points used in the invoice."
                  },
                  "PointsEarned": {
                    "type": "number",
                    "description": "The number of loyalty points earned for the invoice."
                  },
                  "Delivery": {
                    "type": "string",
                    "description": "The delivery status of the invoice (e.g., Sent)."
                  },
                  "Void": {
                    "type": "string",
                    "description": "Whether the invoice was voided."
                  },
                  "Variants": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "VariantID": {
                          "type": "string",
                          "description": "The unique ID of the variant."
                        },
                        "Name": {
                          "type": "string",
                          "description": "The name of the variant."
                        },
                        "Code": {
                          "type": "string",
                          "description": "The code of the variant."
                        },
                        "Type": {
                          "type": "string",
                          "enum": [
                            "Standard",
                            "NonInventory",
                            "Composite",
                            "Serialized",
                            "Manufactured",
                            "Complementary",
                            "MultipleUOM",
                            "PrepaidPoint",
                            "PrepaidPackage"
                          ],
                          "description": "Type of the product variant"
                        },
                        "Quantity": {
                          "type": "number",
                          "description": "The quantity of the variant in the invoice."
                        },
                        "UnitQuantity": {
                          "type": "number",
                          "description": "The unit quantity of the variant."
                        },
                        "Cost": {
                          "type": "number",
                          "description": "The cost of the variant."
                        },
                        "Price": {
                          "type": "number",
                          "description": "The price of the variant."
                        },
                        "PriceOriginal": {
                          "type": "number",
                          "description": "The original price of the variant."
                        },
                        "Discount": {
                          "type": "number",
                          "description": "The discount applied to the variant."
                        },
                        "DiscountAmount": {
                          "type": "number",
                          "description": "The amount of discount for the variant."
                        },
                        "Taxable": {
                          "type": "boolean",
                          "description": "Whether the variant is taxable."
                        },
                        "LoyaltyPoint": {
                          "type": "boolean",
                          "description": "Whether loyalty points are applicable to the variant."
                        },
                        "Expense": {
                          "type": "number",
                          "description": "Any associated expense for the variant."
                        },
                        "NettPrice": {
                          "type": "number",
                          "description": "The net price of the variant."
                        },
                        "Commission": {
                          "type": "number",
                          "description": "The commission amount for the variant."
                        },
                        "SalesName": {
                          "type": "string",
                          "description": "The sales name associated with the variant."
                        },
                        "PriceTypeID": {
                          "type": "number",
                          "description": "The price type ID for the variant."
                        },
                        "Note": {
                          "type": "string",
                          "description": "Additional notes for the variant."
                        }
                      }
                    }
                  },
                  "Payments": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "Date": {
                          "type": "string",
                          "format": "date-time",
                          "description": "The date of payment."
                        },
                        "Amount": {
                          "type": "number",
                          "description": "The amount paid."
                        },
                        "Method": {
                          "type": "string",
                          "description": "The payment method (e.g., Debit Card)."
                        },
                        "MethodID": {
                          "type": "integer",
                          "description": "ID of the payment method."
                        },
                        "Code": {
                          "type": "string",
                          "description": "The payment code."
                        },
                        "Note": {
                          "type": "string",
                          "description": "Additional notes about the payment."
                        },
                        "Created": {
                          "type": "string",
                          "description": "Payment created Transaction Date by system"
                        }
                      }
                    }
                  }
                }
              },
              "example": {
                "ID": "e0211b45-358e-4d5c-bf5b-8a31404b125e",
                "Outlet": "Outlet1",
                "Number": "20.09.00020",
                "Date": "2020-09-02T00:00:00",
                "DueDate": "0001-01-01T00:00:00",
                "SalesType": "Take Away",
                "Customer": {
                  "Name": "hendry",
                  "Email": "henz2194w@gmail.com",
                  "Phone": "084984984",
                  "Mobile": "0815161688",
                  "Code": "HW0001"
                },
                "CreatorID": "ff7848c9-21f1-4c05-ac9e-1e71d829cc9c",
                "Created": "2020-09-02T13:52:18.33",
                "Discount1": 0,
                "Discount2": 0,
                "DiscountAmount": 0,
                "Gross": 100000,
                "DiscountTotal": 0,
                "TaxType": "No Tax",
                "Tax": 0,
                "Sales": 100000,
                "Surcharge": 0,
                "SalesNTax": 100000,
                "Coupon": "XAD12312",
                "CouponNote": "Test Coupon",
                "Note": "TEST NOTE",
                "PointUsed": 0,
                "PointsEarned": 0,
                "Delivery": "Sent",
                "Void": "No",
                "Variants": [
                  {
                    "VariantID": "cdc45c7e-4990-40c3-a41e-3ee5fb1ec200",
                    "Name": "Muffin (Medium)",
                    "Code": "MM3002",
                    "Type": "Standard",
                    "Quantity": 1,
                    "UnitQuantity": 1,
                    "Cost": 213213,
                    "Price": 100000,
                    "PriceOriginal": 17389.03,
                    "Discount": 0,
                    "DiscountAmount": 0,
                    "Taxable": true,
                    "LoyaltyPoint": true,
                    "Expense": 10000,
                    "NettPrice": 100000,
                    "Commission": 0,
                    "SalesName": "TEGUH",
                    "PriceTypeID": 1,
                    "Note": "Combo 1"
                  }
                ],
                "Payments": [
                  {
                    "Date": "2020-09-02T00:00:00",
                    "Amount": 100000,
                    "Method": "Debit Card",
                    "MethodID": 21,
                    "Code": "1234-1546-1546",
                    "Note": "Pay With BCA Card",
                    "Created": "2020-09-02T13:52:18.33"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "invoiceErased": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "operationId": "invoiceErased",
        "summary": "Invoice Erased",
        "description": "This webhook is triggered when an existing customer invoice is erased (deleted permanently).",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "description": "The unique ID of the erased invoice."
                  },
                  "Outlet": {
                    "type": "string",
                    "description": "The outlet where the invoice was created."
                  },
                  "Number": {
                    "type": "string",
                    "description": "The invoice number."
                  },
                  "Date": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The date when the invoice was created."
                  },
                  "DueDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The due date of the invoice."
                  },
                  "SalesType": {
                    "type": "string",
                    "description": "Type of sale (e.g., Take Away)."
                  },
                  "Customer": {
                    "type": "object",
                    "properties": {
                      "Name": {
                        "type": "string",
                        "description": "The customer's name."
                      },
                      "Email": {
                        "type": "string",
                        "description": "The customer's email address."
                      },
                      "Phone": {
                        "type": "string",
                        "description": "The customer's phone number."
                      },
                      "Mobile": {
                        "type": "string",
                        "description": "The customer's mobile number."
                      },
                      "Code": {
                        "type": "string",
                        "description": "A unique code for the customer."
                      }
                    }
                  },
                  "CreatorID": {
                    "type": "string",
                    "description": "The unique ID of the creator."
                  },
                  "Created": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The timestamp when the invoice was created."
                  },
                  "Discount1": {
                    "type": "number",
                    "description": "The first discount applied to the invoice."
                  },
                  "Discount2": {
                    "type": "number",
                    "description": "The second discount applied to the invoice."
                  },
                  "DiscountAmount": {
                    "type": "number",
                    "description": "The total discount amount."
                  },
                  "Gross": {
                    "type": "number",
                    "description": "The total gross amount of the invoice."
                  },
                  "DiscountTotal": {
                    "type": "number",
                    "description": "The total discount applied."
                  },
                  "TaxType": {
                    "type": "string",
                    "description": "Type of tax applied (e.g., No Tax)."
                  },
                  "Tax": {
                    "type": "number",
                    "description": "The amount of tax applied."
                  },
                  "Sales": {
                    "type": "number",
                    "description": "The total sales amount."
                  },
                  "Surcharge": {
                    "type": "number",
                    "description": "Any surcharge applied."
                  },
                  "SalesNTax": {
                    "type": "number",
                    "description": "The sales amount excluding tax."
                  },
                  "Coupon": {
                    "type": "string",
                    "description": "Any coupon applied to the invoice."
                  },
                  "CouponNote": {
                    "type": "string",
                    "description": "Additional note for the coupon"
                  },
                  "Note": {
                    "type": "string",
                    "description": "Any notes attached to the invoice."
                  },
                  "PointUsed": {
                    "type": "number",
                    "description": "The loyalty points used for the invoice."
                  },
                  "PointsEarned": {
                    "type": "number",
                    "description": "The loyalty points earned from the invoice."
                  },
                  "Delivery": {
                    "type": "string",
                    "description": "The delivery status of the invoice."
                  },
                  "Void": {
                    "type": "string",
                    "description": "Whether the invoice is void (Yes/No)."
                  },
                  "Variants": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "VariantID": {
                          "type": "string",
                          "description": "The unique ID of the variant."
                        },
                        "Name": {
                          "type": "string",
                          "description": "The name of the variant."
                        },
                        "Code": {
                          "type": "string",
                          "description": "The code for the variant."
                        },
                        "Type": {
                          "type": "string",
                          "enum": [
                            "Standard",
                            "NonInventory",
                            "Composite",
                            "Serialized",
                            "Manufactured",
                            "Complementary",
                            "MultipleUOM",
                            "PrepaidPoint",
                            "PrepaidPackage"
                          ],
                          "description": "Type of the product variant"
                        },
                        "Quantity": {
                          "type": "number",
                          "description": "The quantity of the variant purchased."
                        },
                        "UnitQuantity": {
                          "type": "number",
                          "description": "The unit quantity of the variant."
                        },
                        "Cost": {
                          "type": "number",
                          "description": "The cost of the variant."
                        },
                        "Price": {
                          "type": "number",
                          "description": "The price of the variant."
                        },
                        "PriceOriginal": {
                          "type": "number",
                          "description": "The original price of the variant before any discounts."
                        },
                        "Discount": {
                          "type": "number",
                          "description": "The discount applied to the variant."
                        },
                        "DiscountAmount": {
                          "type": "number",
                          "description": "The discount amount for the variant."
                        },
                        "Taxable": {
                          "type": "boolean",
                          "description": "Whether the variant is taxable."
                        },
                        "LoyaltyPoint": {
                          "type": "boolean",
                          "description": "Whether loyalty points can be earned for the variant."
                        },
                        "Expense": {
                          "type": "number",
                          "description": "The expense associated with the variant."
                        },
                        "NettPrice": {
                          "type": "number",
                          "description": "The net price after all discounts."
                        },
                        "Commission": {
                          "type": "number",
                          "description": "Any commission associated with the variant."
                        },
                        "SalesName": {
                          "type": "string",
                          "description": "The sales name associated with the variant."
                        },
                        "PriceTypeID": {
                          "type": "number",
                          "description": "The ID for the price type."
                        },
                        "Note": {
                          "type": "string",
                          "description": "Additional notes for the variant."
                        }
                      }
                    }
                  },
                  "Payments": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "Date": {
                          "type": "string",
                          "format": "date-time",
                          "description": "The date when the payment was made."
                        },
                        "Amount": {
                          "type": "number",
                          "description": "The payment amount."
                        },
                        "Method": {
                          "type": "string",
                          "description": "The payment method used."
                        },
                        "MethodID": {
                          "type": "integer",
                          "description": "The ID of the payment method used."
                        },
                        "Code": {
                          "type": "string",
                          "description": "The payment transaction code."
                        },
                        "Note": {
                          "type": "string",
                          "description": "Additional payment notes."
                        },
                        "Created": {
                          "type": "string",
                          "format": "date-time",
                          "description": "Payment created Transaction Date by system"
                        }
                      }
                    }
                  }
                }
              },
              "example": {
                "ID": "e0211b45-358e-4d5c-bf5b-8a31404b125e",
                "Outlet": "Outlet1",
                "Number": "20.09.00020",
                "Date": "2020-09-02T00:00:00",
                "DueDate": "0001-01-01T00:00:00",
                "SalesType": "Take Away",
                "Customer": {
                  "Name": "hendry",
                  "Email": "henz2194w@gmail.com",
                  "Phone": "0815161688",
                  "Mobile": "0815161688",
                  "Code": "HW0001"
                },
                "CreatorID": "ff7848c9-21f1-4c05-ac9e-1e71d829cc9c",
                "Created": "2020-09-02T13:52:18.33",
                "Discount1": 0,
                "Discount2": 0,
                "DiscountAmount": 0,
                "Gross": 100000,
                "DiscountTotal": 0,
                "TaxType": "No Tax",
                "Tax": 0,
                "Sales": 100000,
                "Surcharge": 0,
                "SalesNTax": 100000,
                "Coupon": "CASDASD13123",
                "CouponNote": "Test Coupon",
                "Note": "TEST NOTE",
                "PointUsed": 0,
                "PointsEarned": 0,
                "Delivery": "Sent",
                "Void": "Yes",
                "Variants": [
                  {
                    "VariantID": "cdc45c7e-4990-40c3-a41e-3ee5fb1ec200",
                    "Name": "Muffin (Medium)",
                    "Code": "MM3002",
                    "Type": "Standard",
                    "Quantity": 1,
                    "UnitQuantity": 1,
                    "Cost": 213213,
                    "Price": 100000,
                    "PriceOriginal": 17389.03,
                    "Discount": 0,
                    "DiscountAmount": 0,
                    "Taxable": true,
                    "LoyaltyPoint": true,
                    "Expense": 10000,
                    "NettPrice": 100000,
                    "Commission": 0,
                    "SalesName": "TEGUH",
                    "PriceTypeID": 1,
                    "Note": "Combo 1"
                  }
                ],
                "Payments": [
                  {
                    "Date": "2020-09-02T00:00:00",
                    "Amount": 100000,
                    "Method": "Debit Card",
                    "Code": "1234-1546-1546",
                    "MethodID": 21,
                    "Note": "Pay With BCA Card",
                    "Created": "2020-09-02T13:52:18.33"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "invoiceRestored": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "operationId": "invoiceRestored",
        "summary": "Invoice Restored",
        "description": "This webhook is triggered when a voided order is restored in the Sell Menu.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "description": "The unique ID of the restored invoice."
                  },
                  "Outlet": {
                    "type": "string",
                    "description": "The outlet where the invoice was restored."
                  },
                  "Number": {
                    "type": "string",
                    "description": "The invoice number."
                  },
                  "Date": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The date when the invoice was created."
                  },
                  "DueDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The due date of the invoice."
                  },
                  "SalesType": {
                    "type": "string",
                    "description": "Type of sale (e.g., Take Away)."
                  },
                  "Customer": {
                    "type": "object",
                    "properties": {
                      "ID": {
                        "type": "string",
                        "description": "The unique ID of the customer."
                      },
                      "Name": {
                        "type": "string",
                        "description": "The name of the customer."
                      },
                      "Email": {
                        "type": "string",
                        "description": "The customer's email address."
                      },
                      "Phone": {
                        "type": "string",
                        "description": "The customer's phone number."
                      },
                      "Mobile": {
                        "type": "string",
                        "description": "The customer's mobile number."
                      },
                      "Code": {
                        "type": "string",
                        "description": "A unique code for the customer."
                      }
                    }
                  },
                  "CreatorID": {
                    "type": "string",
                    "description": "The ID of the person who created the invoice."
                  },
                  "Created": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The timestamp when the invoice was created."
                  },
                  "Discount1": {
                    "type": "number",
                    "description": "The first discount applied to the invoice."
                  },
                  "Discount2": {
                    "type": "number",
                    "description": "The second discount applied to the invoice."
                  },
                  "DiscountAmount": {
                    "type": "number",
                    "description": "The total discount amount."
                  },
                  "Gross": {
                    "type": "number",
                    "description": "The total gross amount of the invoice."
                  },
                  "DiscountTotal": {
                    "type": "number",
                    "description": "The total discount applied."
                  },
                  "TaxType": {
                    "type": "string",
                    "description": "Type of tax applied (e.g., No Tax)."
                  },
                  "TaxCalculation": {
                    "type": "string",
                    "description": "The method used to calculate tax (e.g., Add)."
                  },
                  "Tax": {
                    "type": "number",
                    "description": "The tax applied to the invoice."
                  },
                  "TaxRate": {
                    "type": "number",
                    "description": "The tax rate applied."
                  },
                  "Sales": {
                    "type": "number",
                    "description": "The total sales amount."
                  },
                  "Surcharge": {
                    "type": "number",
                    "description": "Any surcharge applied."
                  },
                  "SalesNTax": {
                    "type": "number",
                    "description": "The sales amount excluding tax."
                  },
                  "Coupon": {
                    "type": "string",
                    "description": "Any coupon applied to the invoice."
                  },
                  "CouponNote": {
                    "type": "string",
                    "description": "Additional note for the coupon"
                  },
                  "Note": {
                    "type": "string",
                    "description": "Additional notes attached to the invoice."
                  },
                  "PointUsed": {
                    "type": "number",
                    "description": "The loyalty points used for the invoice."
                  },
                  "PointsEarned": {
                    "type": "number",
                    "description": "The loyalty points earned from the invoice."
                  },
                  "Delivery": {
                    "type": "string",
                    "description": "The delivery status of the invoice."
                  },
                  "Void": {
                    "type": "string",
                    "description": "Whether the invoice was voided (Yes/No)."
                  },
                  "Variants": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "VariantID": {
                          "type": "string",
                          "description": "The unique ID of the variant."
                        },
                        "Name": {
                          "type": "string",
                          "description": "The name of the variant."
                        },
                        "Code": {
                          "type": "string",
                          "description": "The code of the variant."
                        },
                        "Type": {
                          "type": "string",
                          "enum": [
                            "Standard",
                            "NonInventory",
                            "Composite",
                            "Serialized",
                            "Manufactured",
                            "Complementary",
                            "MultipleUOM",
                            "PrepaidPoint",
                            "PrepaidPackage"
                          ],
                          "description": "Type of the product variant"
                        },
                        "Quantity": {
                          "type": "number",
                          "description": "The quantity of the variant purchased."
                        },
                        "UnitQuantity": {
                          "type": "number",
                          "description": "The unit quantity of the variant."
                        },
                        "Cost": {
                          "type": "number",
                          "description": "The cost of the variant."
                        },
                        "Price": {
                          "type": "number",
                          "description": "The price of the variant."
                        },
                        "PriceOriginal": {
                          "type": "number",
                          "description": "The original price of the variant."
                        },
                        "Discount": {
                          "type": "number",
                          "description": "The discount applied to the variant."
                        },
                        "DiscountAmount": {
                          "type": "number",
                          "description": "The discount amount for the variant."
                        },
                        "Taxable": {
                          "type": "boolean",
                          "description": "Whether the variant is taxable."
                        },
                        "LoyaltyPoint": {
                          "type": "boolean",
                          "description": "Whether loyalty points can be earned for the variant."
                        },
                        "Expense": {
                          "type": "number",
                          "description": "The expense associated with the variant."
                        },
                        "NettPrice": {
                          "type": "number",
                          "description": "The net price after all discounts."
                        },
                        "Commission": {
                          "type": "number",
                          "description": "Any commission associated with the variant."
                        },
                        "SalesName": {
                          "type": "string",
                          "description": "The sales name associated with the variant."
                        },
                        "PriceTypeID": {
                          "type": "number",
                          "description": "The price type ID for the variant."
                        },
                        "Note": {
                          "type": "string",
                          "description": "Any additional notes for the variant."
                        }
                      }
                    }
                  },
                  "OutboundLogistics": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "ID": {
                          "type": "string",
                          "description": "Unique ID of the outbound logistics"
                        },
                        "Outlet": {
                          "type": "string",
                          "description": "The outlet where the product is being dispatched."
                        },
                        "Number": {
                          "type": "string",
                          "description": "The order number associated with outbound logistics."
                        },
                        "Date": {
                          "type": "string",
                          "format": "date-time",
                          "description": "The date when the logistics occurred."
                        }
                      }
                    }
                  },
                  "Payments": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "Date": {
                          "type": "string",
                          "format": "date-time",
                          "description": "The date when the payment was made."
                        },
                        "Amount": {
                          "type": "number",
                          "description": "The amount of payment made."
                        },
                        "Method": {
                          "type": "string",
                          "description": "The payment method used (e.g., Debit Card)."
                        },
                        "MethodID": {
                          "type": "integer",
                          "description": "ID of the payment method."
                        },
                        "Code": {
                          "type": "string",
                          "description": "The payment transaction code."
                        },
                        "Note": {
                          "type": "string",
                          "description": "Any additional notes for the payment."
                        },
                        "Created": {
                          "type": "string",
                          "format": "date-time",
                          "description": "Payment created Transaction Date by system"
                        }
                      }
                    }
                  }
                }
              },
              "example": {
                "ID": "e0211b45-358e-4d5c-bf5b-8a31404b125e",
                "Outlet": "Outlet1",
                "Number": "20.09.00020",
                "Date": "2020-09-02T00:00:00",
                "DueDate": "0001-01-01T00:00:00",
                "SalesType": "Take Away",
                "Customer": {
                  "ID": "2774372b-0d5e-4171-8c83-dd66fbd4461e",
                  "Name": "hendry",
                  "Email": "henz2194w@gmail.com",
                  "Phone": "0215851412",
                  "Mobile": "0815161688",
                  "Code": "HW0001"
                },
                "CreatorID": "ff7848c9-21f1-4c05-ac9e-1e71d829cc9c",
                "Created": "2020-09-02T13:52:18.33",
                "Discount1": 0,
                "Discount2": 0,
                "DiscountAmount": 0,
                "Gross": 100000,
                "DiscountTotal": 0,
                "TaxType": "No Tax",
                "TaxCalculation": "Add",
                "Tax": 0,
                "TaxRate": 0,
                "Sales": 100000,
                "Surcharge": 0,
                "SalesNTax": 100000,
                "Coupon": "XYZ123",
                "CouponNote": "Test Coupon",
                "Note": "TEST NOTE",
                "PointUsed": 0,
                "PointsEarned": 0,
                "Delivery": "Sent",
                "Void": "No",
                "Variants": [
                  {
                    "VariantID": "cdc45c7e-4990-40c3-a41e-3ee5fb1ec200",
                    "Name": "Muffin (Medium)",
                    "Code": "MM3002",
                    "Type": "Standard",
                    "Quantity": 1,
                    "UnitQuantity": 1,
                    "Cost": 213213,
                    "Price": 100000,
                    "PriceOriginal": 17389.03,
                    "Discount": 0,
                    "DiscountAmount": 0,
                    "Taxable": true,
                    "LoyaltyPoint": true,
                    "Expense": 10000,
                    "NettPrice": 100000,
                    "Commission": 0,
                    "SalesName": "TEGUH",
                    "PriceTypeID": 1,
                    "Note": "Combo 1"
                  }
                ],
                "OutboundLogistics": [
                  {
                    "ID": "a1b2c3d4-e5f6-7890-ab12-cd34ef56gh78",
                    "Outlet": "Outlet2",
                    "Number": "20.09.00020",
                    "Date": "2020-09-02T00:00:00"
                  }
                ],
                "Payments": [
                  {
                    "Date": "2020-09-02T00:00:00",
                    "Amount": 100000,
                    "Method": "Debit Card",
                    "Code": "1234-1546-1546",
                    "Note": "Pay With BCA Card",
                    "Created": "2020-09-02T13:52:18.33"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "invoiceUpdated": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "operationId": "invoiceUpdated",
        "summary": "Invoice Updated",
        "description": "This webhook is triggered when an existing customer invoice is updated.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "description": "The unique ID of the invoice."
                  },
                  "Outlet": {
                    "type": "string",
                    "description": "The outlet where the invoice was created."
                  },
                  "Number": {
                    "type": "string",
                    "description": "The invoice number."
                  },
                  "Date": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The date when the invoice was created."
                  },
                  "DueDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The due date for the invoice."
                  },
                  "SalesType": {
                    "type": "string",
                    "description": "The sales type (e.g., Take Away)."
                  },
                  "Customer": {
                    "type": "object",
                    "properties": {
                      "Name": {
                        "type": "string",
                        "description": "The name of the customer."
                      },
                      "Email": {
                        "type": "string",
                        "description": "The email address of the customer."
                      },
                      "Phone": {
                        "type": "string",
                        "description": "The phone number of the customer."
                      },
                      "Mobile": {
                        "type": "string",
                        "description": "The mobile number of the customer."
                      },
                      "Code": {
                        "type": "string",
                        "description": "The code associated with the customer."
                      }
                    }
                  },
                  "CreatorID": {
                    "type": "string",
                    "description": "The unique ID of the creator."
                  },
                  "Created": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The timestamp when the invoice was created."
                  },
                  "Discount1": {
                    "type": "number",
                    "description": "The first discount percentage."
                  },
                  "Discount2": {
                    "type": "number",
                    "description": "The second discount percentage."
                  },
                  "DiscountAmount": {
                    "type": "number",
                    "description": "The total discount amount."
                  },
                  "Gross": {
                    "type": "number",
                    "description": "The gross total amount of the invoice."
                  },
                  "DiscountTotal": {
                    "type": "number",
                    "description": "The total discount applied to the invoice."
                  },
                  "TaxType": {
                    "type": "string",
                    "description": "The type of tax applied to the invoice (e.g., No Tax)."
                  },
                  "Tax": {
                    "type": "number",
                    "description": "The tax amount applied to the invoice."
                  },
                  "Sales": {
                    "type": "number",
                    "description": "The sales amount after applying discounts."
                  },
                  "Surcharge": {
                    "type": "number",
                    "description": "Any surcharge applied to the invoice."
                  },
                  "SalesNTax": {
                    "type": "number",
                    "description": "The sales total excluding tax."
                  },
                  "Coupon": {
                    "type": "string",
                    "description": "The coupon code applied, if any."
                  },
                  "CouponNote": {
                    "type": "string",
                    "description": "Additional note for the coupon"
                  },
                  "Note": {
                    "type": "string",
                    "description": "Any additional notes for the invoice."
                  },
                  "PointUsed": {
                    "type": "number",
                    "description": "The number of loyalty points used in the invoice."
                  },
                  "PointsEarned": {
                    "type": "number",
                    "description": "The number of loyalty points earned from the invoice."
                  },
                  "Delivery": {
                    "type": "string",
                    "description": "The delivery status of the order (e.g., Sent)."
                  },
                  "Void": {
                    "type": "string",
                    "description": "Whether the invoice was voided or not (e.g., No)."
                  },
                  "Variants": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "VariantID": {
                          "type": "string",
                          "description": "The unique ID of the variant."
                        },
                        "Name": {
                          "type": "string",
                          "description": "The name of the product variant."
                        },
                        "Code": {
                          "type": "string",
                          "description": "The code of the product variant."
                        },
                        "Type": {
                          "type": "string",
                          "enum": [
                            "Standard",
                            "NonInventory",
                            "Composite",
                            "Serialized",
                            "Manufactured",
                            "Complementary",
                            "MultipleUOM",
                            "PrepaidPoint",
                            "PrepaidPackage"
                          ],
                          "description": "Type of the product variant"
                        },
                        "Quantity": {
                          "type": "number",
                          "description": "The quantity of the variant ordered."
                        },
                        "UnitQuantity": {
                          "type": "number",
                          "description": "The unit quantity."
                        },
                        "Cost": {
                          "type": "number",
                          "description": "The cost of the variant."
                        },
                        "Price": {
                          "type": "number",
                          "description": "The price of the variant."
                        },
                        "PriceOriginal": {
                          "type": "number",
                          "description": "The original price of the variant."
                        },
                        "Discount": {
                          "type": "number",
                          "description": "The discount percentage on the variant."
                        },
                        "DiscountAmount": {
                          "type": "number",
                          "description": "The discount amount on the variant."
                        },
                        "Taxable": {
                          "type": "boolean",
                          "description": "Whether the variant is taxable."
                        },
                        "LoyaltyPoint": {
                          "type": "boolean",
                          "description": "Whether the variant is eligible for loyalty points."
                        },
                        "Expense": {
                          "type": "number",
                          "description": "The expense for the variant."
                        },
                        "NettPrice": {
                          "type": "number",
                          "description": "The net price after applying discounts."
                        },
                        "Commission": {
                          "type": "number",
                          "description": "The commission associated with the variant."
                        },
                        "SalesName": {
                          "type": "string",
                          "description": "The sales name for the variant."
                        },
                        "PriceTypeID": {
                          "type": "number",
                          "description": "The price type ID."
                        },
                        "Note": {
                          "type": "string",
                          "description": "Any notes related to the variant."
                        }
                      }
                    }
                  },
                  "Payments": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "Date": {
                          "type": "string",
                          "format": "date-time",
                          "description": "The date of the payment."
                        },
                        "Amount": {
                          "type": "number",
                          "description": "The amount paid."
                        },
                        "Method": {
                          "type": "string",
                          "description": "The payment method used."
                        },
                        "MethodID": {
                          "type": "integer",
                          "description": "ID of the payment method."
                        },
                        "Code": {
                          "type": "string",
                          "description": "The payment transaction code."
                        },
                        "Note": {
                          "type": "string",
                          "description": "Additional note regarding the payment."
                        },
                        "Created": {
                          "type": "string",
                          "format": "date-time",
                          "description": "Payment created Transaction Date by system"
                        }
                      }
                    }
                  },
                  "OutboundLogistics": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "ID": {
                          "type": "string",
                          "description": "Unique ID of the outbound logistics"
                        },
                        "Outlet": {
                          "type": "string",
                          "description": "The outlet where the product is being dispatched."
                        },
                        "Number": {
                          "type": "string",
                          "description": "The order number associated with outbound logistics."
                        },
                        "Date": {
                          "type": "string",
                          "format": "date-time",
                          "description": "The date when the logistics occurred."
                        }
                      }
                    }
                  }
                }
              },
              "example": {
                "ID": "e0211b45-358e-4d5c-bf5b-8a31404b125e",
                "Outlet": "Outlet1",
                "Number": "20.09.00020",
                "Date": "2020-09-02T00:00:00",
                "DueDate": "0001-01-01T00:00:00",
                "SalesType": "Take Away",
                "Customer": {
                  "Name": "hendry",
                  "Email": "henz2194w@gmail.com",
                  "Phone": "0815161688",
                  "Mobile": "0815161688",
                  "Code": "HW0001"
                },
                "CreatorID": "ff7848c9-21f1-4c05-ac9e-1e71d829cc9c",
                "Created": "2020-09-02T13:52:18.33",
                "Discount1": 0,
                "Discount2": 0,
                "DiscountAmount": 0,
                "Gross": 100000,
                "DiscountTotal": 0,
                "TaxType": "No Tax",
                "Tax": 0,
                "Sales": 100000,
                "Surcharge": 0,
                "SalesNTax": 100000,
                "Coupon": "XYZ123",
                "CouponNote": "Test Coupon",
                "Note": "TEST NOTE",
                "PointUsed": 0,
                "PointsEarned": 0,
                "Delivery": "Sent",
                "Void": "No",
                "Variants": [
                  {
                    "VariantID": "cdc45c7e-4990-40c3-a41e-3ee5fb1ec200",
                    "Name": "Muffin (Medium)",
                    "Code": "MM3002",
                    "Type": "Standard",
                    "Quantity": 1,
                    "UnitQuantity": 1,
                    "Cost": 213213,
                    "Price": 100000,
                    "PriceOriginal": 17389.03,
                    "Discount": 0,
                    "DiscountAmount": 0,
                    "Taxable": true,
                    "LoyaltyPoint": true,
                    "Expense": 10000,
                    "NettPrice": 100000,
                    "Commission": 0,
                    "SalesName": "YANSEN QOMARA",
                    "PriceTypeID": 1,
                    "Note": "Combo 1"
                  }
                ],
                "Payments": [
                  {
                    "Date": "2020-09-02T00:00:00",
                    "Amount": 100000,
                    "Method": "Debit Card",
                    "MethodID": 21,
                    "Code": "1234-1546-1546",
                    "Note": "Pay With BCA Card",
                    "Created": "2020-09-02T13:52:18.33"
                  }
                ],
                "OutboundLogistics": [
                  {
                    "ID": "a1b2c3d4-e5f6-7890-ab12-cd34ef56gh78",
                    "Outlet": "Outlet2",
                    "Number": "20.09.00020",
                    "Date": "2020-09-02T00:00:00"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "invoiceVoided": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "operationId": "invoiceVoided",
        "summary": "Invoice Voided",
        "description": "This webhook is triggered when an existing customer invoice is voided.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "description": "The unique ID of the invoice."
                  },
                  "Outlet": {
                    "type": "string",
                    "description": "The outlet where the invoice was created."
                  },
                  "Number": {
                    "type": "string",
                    "description": "The invoice number."
                  },
                  "Date": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The date when the invoice was created."
                  },
                  "DueDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The due date for the invoice."
                  },
                  "SalesType": {
                    "type": "string",
                    "description": "The sales type (e.g., Take Away)."
                  },
                  "Customer": {
                    "type": "object",
                    "properties": {
                      "Name": {
                        "type": "string",
                        "description": "The name of the customer."
                      },
                      "Email": {
                        "type": "string",
                        "description": "The email address of the customer."
                      },
                      "Phone": {
                        "type": "string",
                        "description": "The phone number of the customer."
                      },
                      "Mobile": {
                        "type": "string",
                        "description": "The mobile number of the customer."
                      },
                      "Code": {
                        "type": "string",
                        "description": "The code associated with the customer."
                      }
                    }
                  },
                  "CreatorID": {
                    "type": "string",
                    "description": "The unique ID of the creator."
                  },
                  "Created": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The timestamp when the invoice was created."
                  },
                  "Discount1": {
                    "type": "number",
                    "description": "The first discount percentage."
                  },
                  "Discount2": {
                    "type": "number",
                    "description": "The second discount percentage."
                  },
                  "DiscountAmount": {
                    "type": "number",
                    "description": "The total discount amount."
                  },
                  "Gross": {
                    "type": "number",
                    "description": "The gross total amount of the invoice."
                  },
                  "DiscountTotal": {
                    "type": "number",
                    "description": "The total discount applied to the invoice."
                  },
                  "TaxType": {
                    "type": "string",
                    "description": "The type of tax applied to the invoice (e.g., No Tax)."
                  },
                  "Tax": {
                    "type": "number",
                    "description": "The tax amount applied to the invoice."
                  },
                  "Sales": {
                    "type": "number",
                    "description": "The sales amount after applying discounts."
                  },
                  "Surcharge": {
                    "type": "number",
                    "description": "Any surcharge applied to the invoice."
                  },
                  "SalesNTax": {
                    "type": "number",
                    "description": "The sales total excluding tax."
                  },
                  "Coupon": {
                    "type": "string",
                    "description": "The coupon code applied, if any."
                  },
                  "CouponNote": {
                    "type": "string",
                    "description": "Additional note for the coupon"
                  },
                  "Note": {
                    "type": "string",
                    "description": "Any additional notes for the invoice."
                  },
                  "PointUsed": {
                    "type": "number",
                    "description": "The number of loyalty points used in the invoice."
                  },
                  "PointsEarned": {
                    "type": "number",
                    "description": "The number of loyalty points earned from the invoice."
                  },
                  "Delivery": {
                    "type": "string",
                    "description": "The delivery status of the order (e.g., Sent)."
                  },
                  "Void": {
                    "type": "string",
                    "description": "Whether the invoice was voided or not (e.g., Yes)."
                  },
                  "Variants": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "VariantID": {
                          "type": "string",
                          "description": "The unique ID of the variant."
                        },
                        "Name": {
                          "type": "string",
                          "description": "The name of the product variant."
                        },
                        "Code": {
                          "type": "string",
                          "description": "The code of the product variant."
                        },
                        "Type": {
                          "type": "string",
                          "enum": [
                            "Standard",
                            "NonInventory",
                            "Composite",
                            "Serialized",
                            "Manufactured",
                            "Complementary",
                            "MultipleUOM",
                            "PrepaidPoint",
                            "PrepaidPackage"
                          ],
                          "description": "Type of the product variant"
                        },
                        "Quantity": {
                          "type": "number",
                          "description": "The quantity of the variant ordered."
                        },
                        "UnitQuantity": {
                          "type": "number",
                          "description": "The unit quantity."
                        },
                        "Cost": {
                          "type": "number",
                          "description": "The cost of the variant."
                        },
                        "Price": {
                          "type": "number",
                          "description": "The price of the variant."
                        },
                        "PriceOriginal": {
                          "type": "number",
                          "description": "The original price of the variant."
                        },
                        "Discount": {
                          "type": "number",
                          "description": "The discount percentage on the variant."
                        },
                        "DiscountAmount": {
                          "type": "number",
                          "description": "The discount amount on the variant."
                        },
                        "Taxable": {
                          "type": "boolean",
                          "description": "Whether the variant is taxable."
                        },
                        "LoyaltyPoint": {
                          "type": "boolean",
                          "description": "Whether the variant is eligible for loyalty points."
                        },
                        "Expense": {
                          "type": "number",
                          "description": "The expense for the variant."
                        },
                        "NettPrice": {
                          "type": "number",
                          "description": "The net price after applying discounts."
                        },
                        "Commission": {
                          "type": "number",
                          "description": "The commission associated with the variant."
                        },
                        "SalesName": {
                          "type": "string",
                          "description": "The sales name for the variant."
                        },
                        "PriceTypeID": {
                          "type": "number",
                          "description": "The price type ID."
                        },
                        "Note": {
                          "type": "string",
                          "description": "Any notes related to the variant."
                        }
                      }
                    }
                  },
                  "Payments": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "Date": {
                          "type": "string",
                          "format": "date-time",
                          "description": "The date of the payment."
                        },
                        "Amount": {
                          "type": "number",
                          "description": "The amount paid."
                        },
                        "Method": {
                          "type": "string",
                          "description": "The payment method used."
                        },
                        "MethodID": {
                          "type": "integer",
                          "description": "ID of the payment method."
                        },
                        "Code": {
                          "type": "string",
                          "description": "The payment transaction code."
                        },
                        "Note": {
                          "type": "string",
                          "description": "Additional note regarding the payment."
                        },
                        "Created": {
                          "type": "string",
                          "format": "date-time",
                          "description": "Payment created Transaction Date by system"
                        }
                      }
                    }
                  }
                }
              },
              "example": {
                "ID": "e0211b45-358e-4d5c-bf5b-8a31404b125e",
                "Outlet": "Outlet1",
                "Number": "20.09.00020",
                "Date": "2020-09-02T00:00:00",
                "DueDate": "0001-01-01T00:00:00",
                "SalesType": "Take Away",
                "Customer": {
                  "Name": "hendry",
                  "Email": "henz2194w@gmail.com",
                  "Phone": "0815161688",
                  "Mobile": "0815161688",
                  "Code": "HW0001"
                },
                "CreatorID": "ff7848c9-21f1-4c05-ac9e-1e71d829cc9c",
                "Created": "2020-09-02T13:52:18.33",
                "Discount1": 0,
                "Discount2": 0,
                "DiscountAmount": 0,
                "Gross": 100000,
                "DiscountTotal": 0,
                "TaxType": "No Tax",
                "Tax": 0,
                "Sales": 100000,
                "Surcharge": 0,
                "SalesNTax": 100000,
                "Coupon": "XYZ123",
                "CouponNote": "Test Coupon",
                "Note": "TEST NOTE",
                "PointUsed": 0,
                "PointsEarned": 0,
                "Delivery": "Sent",
                "Void": "Yes",
                "Variants": [
                  {
                    "VariantID": "cdc45c7e-4990-40c3-a41e-3ee5fb1ec200",
                    "Name": "Muffin (Medium)",
                    "Code": "MM3002",
                    "Type": "Standard",
                    "Quantity": 1,
                    "UnitQuantity": 1,
                    "Cost": 213213,
                    "Price": 100000,
                    "PriceOriginal": 17389.03,
                    "Discount": 0,
                    "DiscountAmount": 0,
                    "Taxable": true,
                    "LoyaltyPoint": true,
                    "Expense": 10000,
                    "NettPrice": 100000,
                    "Commission": 0,
                    "SalesName": "YANSEN QOMARA",
                    "PriceTypeID": 1,
                    "Note": "Combo 1"
                  }
                ],
                "Payments": [
                  {
                    "Date": "2020-09-02T00:00:00",
                    "Amount": 100000,
                    "Method": "Debit Card",
                    "MethodID": 21,
                    "Code": "1234-1546-1546",
                    "Note": "Pay With BCA Card",
                    "Created": "2020-09-02T13:52:18.33"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "customerCreated": {
      "post": {
        "tags": [
          "Customer"
        ],
        "operationId": "customerCreated",
        "summary": "Customer Created",
        "description": "This webhook is triggered when a new customer is created in the Sell & Contacts Customer menu.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "FirstName": {
                    "type": "string",
                    "minLength": 1,
                    "description": "First Name of the Customer"
                  },
                  "LastName": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Last Name of the Customer"
                  },
                  "Title": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Title of the Customer"
                  },
                  "Birthdate": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Birthdate of the Customer"
                  },
                  "Phone": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Phone Number of the Customer"
                  },
                  "Email": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Email of the Customer"
                  },
                  "Gender": {
                    "type": "number",
                    "description": "Gender of the Customer"
                  },
                  "Outlet": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Outlet origin of the Customer"
                  },
                  "Name": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Name of the Customer"
                  },
                  "Code": {
                    "type": "string",
                    "description": "Unique code of the Customer"
                  },
                  "Address": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Address of the Customer"
                  },
                  "City": {
                    "type": "string",
                    "minLength": 1,
                    "description": "City of the Customer"
                  },
                  "Mobile": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Mobile Phone number of the Customer"
                  },
                  "MemberIdentification": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Customer Identification Number"
                  }
                },
                "required": [
                  "FirstName",
                  "LastName",
                  "Title",
                  "Birthdate",
                  "Phone",
                  "Email",
                  "Gender",
                  "Outlet",
                  "Name",
                  "Code",
                  "Address",
                  "City",
                  "Mobile",
                  "MemberIdentification"
                ]
              },
              "example": {
                "FirstName": "John",
                "LastName": "Doe",
                "Title": "Mr",
                "Birthdate": "2018-07-22T00:00:00",
                "Phone": "56545654",
                "Email": "johndoe@gmail.com",
                "Gender": 0,
                "Outlet": "Outlet 1",
                "Name": "Mr John Doe",
                "Code": "1011",
                "Address": "JL. Muara Karang No.30",
                "City": "Jakarta",
                "Mobile": "085212121212",
                "MemberIdentification": "32412323214512"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "customerDeleted": {
      "post": {
        "tags": [
          "Customer"
        ],
        "operationId": "customerDeleted",
        "summary": "Customer Deleted",
        "description": "This webhook is triggered when a customer is deleted from the Contacts Customer menu.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "FirstName": {
                    "type": "string",
                    "minLength": 1,
                    "description": "First Name of the Customer"
                  },
                  "LastName": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Last Name of the Customer"
                  },
                  "Title": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Title of the Customer"
                  },
                  "Birthdate": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Birthdate of the Customer"
                  },
                  "Phone": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Phone Number of the Customer"
                  },
                  "Email": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Email of the Customer"
                  },
                  "Gender": {
                    "type": "number",
                    "description": "Gender of the Customer"
                  },
                  "Outlet": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Outlet origin of the Customer"
                  },
                  "Name": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Name of the Customer"
                  },
                  "Code": {
                    "type": "string",
                    "description": "Unique code of the Customer"
                  },
                  "Address": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Address of the Customer"
                  },
                  "City": {
                    "type": "string",
                    "minLength": 1,
                    "description": "City of the Customer"
                  },
                  "Mobile": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Mobile Phone number of the Customer"
                  },
                  "MemberIdentification": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Customer Identification Number"
                  }
                },
                "required": [
                  "FirstName",
                  "LastName",
                  "Title",
                  "Birthdate",
                  "Phone",
                  "Email",
                  "Gender",
                  "Outlet",
                  "Name",
                  "Code",
                  "Address",
                  "City",
                  "Mobile",
                  "MemberIdentification"
                ]
              },
              "example": {
                "FirstName": "John",
                "LastName": "Doe",
                "Title": "Mr",
                "Birthdate": "2018-07-22T00:00:00",
                "Phone": "56545654",
                "Email": "johndoe@gmail.com",
                "Gender": 0,
                "Outlet": "Outlet 1",
                "Name": "Mr John Doe",
                "Code": "1011",
                "Address": "JL. Muara Karang No.30",
                "City": "Jakarta",
                "Mobile": "085212121212",
                "MemberIdentification": "32412323214512"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "customerUpdated": {
      "post": {
        "tags": [
          "Customer"
        ],
        "operationId": "customerUpdated",
        "summary": "Customer Updated",
        "description": "This webhook is triggered when a customer is updated in the Contacts Customer menu.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "FirstName": {
                    "type": "string",
                    "minLength": 1,
                    "description": "First Name of the Customer"
                  },
                  "LastName": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Last Name of the Customer"
                  },
                  "Title": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Title of the Customer"
                  },
                  "Birthdate": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Birthdate of the Customer"
                  },
                  "Phone": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Phone Number of the Customer"
                  },
                  "Email": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Email of the Customer"
                  },
                  "Gender": {
                    "type": "number",
                    "description": "Gender of the Customer"
                  },
                  "Outlet": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Outlet origin of the Customer"
                  },
                  "Name": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Name of the Customer"
                  },
                  "Code": {
                    "type": "string",
                    "description": "Unique code of the Customer"
                  },
                  "Address": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Address of the Customer"
                  },
                  "City": {
                    "type": "string",
                    "minLength": 1,
                    "description": "City of the Customer"
                  },
                  "Mobile": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Mobile Phone number of the Customer"
                  },
                  "MemberIdentification": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Customer Identification Number"
                  }
                },
                "required": [
                  "FirstName",
                  "LastName",
                  "Title",
                  "Birthdate",
                  "Phone",
                  "Email",
                  "Gender",
                  "Outlet",
                  "Name",
                  "Code",
                  "Address",
                  "City",
                  "Mobile",
                  "MemberIdentification"
                ]
              },
              "example": {
                "FirstName": "John",
                "LastName": "Doe",
                "Title": "Mr",
                "Birthdate": "2018-07-22T00:00:00",
                "Phone": "5859541",
                "Email": "johndoe@gmail.com",
                "Gender": 0,
                "Outlet": "Outlet 1",
                "Name": "Mr John Doe",
                "Code": "1011",
                "Address": "JL. Muara Karang No.30",
                "City": "Jakarta",
                "Mobile": "085212121212",
                "MemberIdentification": "32412323214512"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "supplierCreated": {
      "post": {
        "tags": [
          "Supplier"
        ],
        "operationId": "supplierCreated",
        "summary": "Supplier Created",
        "description": "This webhook is triggered when a new supplier is created.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "FirstName": {
                    "type": "string",
                    "minLength": 1,
                    "description": "First Name of the Supplier"
                  },
                  "LastName": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Last Name of the Supplier"
                  },
                  "Title": {
                    "type": "string",
                    "description": "Title on behalf of the Supplier"
                  },
                  "Phone": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Phone Number of the Supplier"
                  },
                  "Email": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Email of the Supplier"
                  },
                  "Gender": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Gender of the Supplier"
                  },
                  "Name": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Name of the Supplier"
                  },
                  "Code": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique Code of the Supplier"
                  },
                  "Address": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Address of the Supplier"
                  },
                  "Mobile": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Mobile Phone Number of the Supplier"
                  }
                },
                "required": [
                  "FirstName",
                  "LastName",
                  "Phone",
                  "Email",
                  "Gender",
                  "Name",
                  "Code",
                  "Address",
                  "Mobile"
                ]
              },
              "example": {
                "FirstName": "PT",
                "LastName": "XYZ",
                "Title": "MR",
                "Phone": "02166747384",
                "Email": "ptxyz@gmail.com",
                "Gender": "Male",
                "Name": "PT XYZ",
                "Code": "S0001",
                "Address": "Pluit Street No.88",
                "Mobile": "08583482374"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "supplierDeleted": {
      "post": {
        "tags": [
          "Supplier"
        ],
        "operationId": "supplierDeleted",
        "summary": "Supplier Deleted",
        "description": "This webhook is triggered when a supplier is deleted.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "FirstName": {
                    "type": "string",
                    "minLength": 1,
                    "description": "First Name of the Supplier"
                  },
                  "LastName": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Last Name of the Supplier"
                  },
                  "Title": {
                    "type": "string",
                    "description": "Title on behalf of the Supplier"
                  },
                  "Phone": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Phone Number of the Supplier"
                  },
                  "Email": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Email of the Supplier"
                  },
                  "Gender": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Gender of the Supplier"
                  },
                  "Name": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Name of the Supplier"
                  },
                  "Code": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique Code of the Supplier"
                  },
                  "Address": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Address of the Supplier"
                  },
                  "Mobile": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Mobile Phone Number of the Supplier"
                  }
                },
                "required": [
                  "FirstName",
                  "LastName",
                  "Phone",
                  "Email",
                  "Gender",
                  "Name",
                  "Code",
                  "Address",
                  "Mobile"
                ]
              },
              "example": {
                "FirstName": "PT",
                "LastName": "XYZ",
                "Title": "MR",
                "Phone": "02166747384",
                "Email": "ptxyz@gmail.com",
                "Gender": "Male",
                "Name": "PT XYZ",
                "Code": "S0001",
                "Address": "Pluit Street No.88",
                "Mobile": "08583482374"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "supplierUpdated": {
      "post": {
        "tags": [
          "Supplier"
        ],
        "operationId": "supplierUpdated",
        "summary": "Supplier Updated",
        "description": "This webhook is triggered when a supplier is updated.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "FirstName": {
                    "type": "string",
                    "minLength": 1,
                    "description": "First Name of the Supplier"
                  },
                  "LastName": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Last Name of the Supplier"
                  },
                  "Title": {
                    "type": "string",
                    "description": "Title on behalf of the Supplier"
                  },
                  "Phone": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Phone Number of the Supplier"
                  },
                  "Email": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Email of the Supplier"
                  },
                  "Gender": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Gender of the Supplier"
                  },
                  "Name": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Name of the Supplier"
                  },
                  "Code": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique Code of the Supplier"
                  },
                  "Address": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Address of the Supplier"
                  },
                  "Mobile": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Mobile Phone Number of the Supplier"
                  }
                },
                "required": [
                  "FirstName",
                  "LastName",
                  "Phone",
                  "Email",
                  "Gender",
                  "Name",
                  "Code",
                  "Address",
                  "Mobile"
                ]
              },
              "example": {
                "FirstName": "PT",
                "LastName": "XYZ",
                "Title": "MR",
                "Phone": "02166747384",
                "Email": "ptxyz@gmail.com",
                "Gender": "Female",
                "Name": "PT XYZ",
                "Code": "S0001",
                "Address": "Pluit Street No.88",
                "Mobile": "08583482374"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "purchaseOrderCreated": {
      "post": {
        "tags": [
          "Bill"
        ],
        "operationId": "purchaseOrderCreated",
        "summary": "Purchase Order Created",
        "description": "This webhook is triggered when a new purchase order has been completed in the Buy Menu.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the supplier bill"
                  },
                  "Outlet": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Outlet origin of the supplier bill"
                  },
                  "Number": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Number of the supplier bill"
                  },
                  "Date": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Date of the supplier bill"
                  },
                  "DueDate": {
                    "type": "string",
                    "description": "Due date of the supplier bill"
                  },
                  "Supplier": {
                    "type": "object",
                    "required": [
                      "Name",
                      "Title",
                      "FirstName",
                      "LastName",
                      "Phone",
                      "Email",
                      "Code",
                      "Gender"
                    ],
                    "properties": {
                      "Name": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Name of the supplier"
                      },
                      "Title": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Title of the supplier"
                      },
                      "FirstName": {
                        "type": "string",
                        "minLength": 1,
                        "description": "First name of the supplier"
                      },
                      "LastName": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Last name of the supplier"
                      },
                      "Phone": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Phone number of the supplier"
                      },
                      "Email": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Email of the supplier"
                      },
                      "Code": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Supplier member code"
                      },
                      "Gender": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Gender of the supplier"
                      }
                    }
                  },
                  "CreatorID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique creator ID of the supplier bill"
                  },
                  "Created": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Supplier bill created date"
                  },
                  "Discount1": {
                    "type": "number",
                    "description": "Discount percentage applied in the bill"
                  },
                  "DiscountAmount": {
                    "type": "number",
                    "description": "Discount amount applied in the bill"
                  },
                  "Gross": {
                    "type": "number",
                    "description": "Total amount before discounts"
                  },
                  "DiscountTotal": {
                    "type": "number",
                    "description": "Total discount in the supplier bill"
                  },
                  "TaxType": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Type of tax applied to the supplier bill"
                  },
                  "Tax": {
                    "type": "number",
                    "description": "Total amount or percentage of tax"
                  },
                  "Purchase": {
                    "type": "number",
                    "description": "Total net purchase amount"
                  },
                  "PurchaseNTax": {
                    "type": "number",
                    "description": "Total amount of the supplier bill after taxes"
                  },
                  "Delivery": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Delivery state of the supplier bill"
                  },
                  "Tag": {
                    "type": "string",
                    "description": "Channel Tagging System"
                  },
                  "TaxCalculation": {
                    "type": "string",
                    "description": "Type of tax calculation (Add / Include)"
                  },
                  "ApprovalStateID": {
                    "type": "integer",
                    "description": "Approve state ID of bill (0= Required, 1= Not Required)"
                  },
                  "ApprovalState": {
                    "type": "string",
                    "description": "Approve state of bill (Required / Not Required)"
                  },
                  "Variants": {
                    "type": "array",
                    "uniqueItems": true,
                    "minItems": 1,
                    "items": {
                      "type": "object",
                      "properties": {
                        "VariantID": {
                          "type": "string",
                          "description": "Unique ID of the variant"
                        },
                        "Name": {
                          "type": "string",
                          "description": "Name of the variant"
                        },
                        "Code": {
                          "type": "string",
                          "description": "Code of the variant"
                        },
                        "Quantity": {
                          "type": "integer",
                          "description": "Quantity of the variant"
                        },
                        "Price": {
                          "type": "number",
                          "description": "Price of the variant"
                        },
                        "Discount": {
                          "type": "number",
                          "description": "Discount on the variant"
                        },
                        "Note": {
                          "type": "string",
                          "description": "Optional note on the variant"
                        },
                        "Taxable": {
                          "type": "boolean",
                          "description": "Is the variant taxable or not"
                        }
                      }
                    }
                  },
                  "Payments": {
                    "type": "array",
                    "uniqueItems": true,
                    "minItems": 1,
                    "items": {
                      "type": "object",
                      "properties": {
                        "ID": {
                          "type": "string",
                          "description": "Unique ID of the payment"
                        },
                        "Date": {
                          "type": "string",
                          "description": "Payment date"
                        },
                        "Amount": {
                          "type": "number",
                          "description": "Payment amount"
                        },
                        "Method": {
                          "type": "string",
                          "description": "Payment method (e.g., Cash)"
                        },
                        "Code": {
                          "type": "string",
                          "description": "Optional payment code"
                        },
                        "Note": {
                          "type": "string",
                          "description": "Optional payment note"
                        },
                        "Created": {
                          "type": "string",
                          "description": "Payment created Transaction Date by system"
                        }
                      }
                    }
                  }
                }
              },
              "example": {
                "ID": "e0211b45-358e-4d5c-bf5b-8a31404b125e",
                "Outlet": "Outlet1",
                "Number": "20.09.00001",
                "Date": "2020-09-02T00:00:00",
                "DueDate": "",
                "Supplier": {
                  "Name": "Hendry Wijaya",
                  "Title": "Mr.",
                  "FirstName": "Hendry",
                  "LastName": "Wijaya",
                  "Phone": "0215895473",
                  "Email": "Ndry94@gmail.com",
                  "Code": "S12889",
                  "Gender": "Male"
                },
                "CreatorID": "ff7848c9-21f1-4c05-ac9e-1e71d829cc9c",
                "Created": "2020-09-02T14:05:40.84",
                "Discount1": 0,
                "DiscountAmount": 0,
                "Gross": 100000,
                "DiscountTotal": 0,
                "TaxType": "No Tax",
                "Tax": 0,
                "Purchase": 100000,
                "PurchaseNTax": 100000,
                "Delivery": "Received",
                "Tag": "Offline Store",
                "TaxCalculation": "Include",
                "ApprovalStateID": 0,
                "ApprovalState": "Required",
                "Variants": [
                  {
                    "VariantID": "d94579c0-eeb5-4b03-893e-d24cc624786c",
                    "Name": "Shirt",
                    "Code": "MM3002",
                    "Quantity": 1,
                    "Price": 100000,
                    "Discount": 0,
                    "Note": "TEST NOTE",
                    "Taxable": true
                  }
                ],
                "Payments": [
                  {
                    "ID": "8b4579ab-8864-8bht-hj01-69sce6x478p9",
                    "Date": "2020-09-02T00:00:00",
                    "Amount": 100000,
                    "Method": "Cash",
                    "Code": "CODE123",
                    "Note": "TEST NOTE"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "purchaseOrderDeleted": {
      "post": {
        "tags": [
          "Bill"
        ],
        "operationId": "purchaseOrderDeleted",
        "summary": "Purchase Order Deleted",
        "description": "This webhook is triggered when a purchase order is deleted in the Buy Menu.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the supplier bill"
                  },
                  "Outlet": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Outlet origin of the supplier bill"
                  },
                  "Number": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Number of the supplier bill"
                  },
                  "Date": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Date of the supplier bill"
                  },
                  "DueDate": {
                    "type": "string",
                    "description": "Due date of the supplier bill"
                  },
                  "Supplier": {
                    "type": "object",
                    "required": [
                      "Name",
                      "Title",
                      "FirstName",
                      "LastName",
                      "Phone",
                      "Email",
                      "Code",
                      "Gender"
                    ],
                    "properties": {
                      "Name": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Name of the supplier"
                      },
                      "Title": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Title of the supplier"
                      },
                      "FirstName": {
                        "type": "string",
                        "minLength": 1,
                        "description": "First name of the supplier"
                      },
                      "LastName": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Last name of the supplier"
                      },
                      "Phone": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Phone number of the supplier"
                      },
                      "Email": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Email of the supplier"
                      },
                      "Code": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Supplier member code"
                      },
                      "Gender": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Gender of the supplier"
                      }
                    }
                  },
                  "CreatorID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique creator ID of the supplier bill"
                  },
                  "Created": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Supplier bill created date"
                  },
                  "Discount1": {
                    "type": "number",
                    "description": "Discount percentage applied in the bill"
                  },
                  "DiscountAmount": {
                    "type": "number",
                    "description": "Discount amount applied in the bill"
                  },
                  "Gross": {
                    "type": "number",
                    "description": "Total amount before discounts"
                  },
                  "DiscountTotal": {
                    "type": "number",
                    "description": "Total discount in the supplier bill"
                  },
                  "TaxType": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Type of tax applied to the supplier bill"
                  },
                  "Tax": {
                    "type": "number",
                    "description": "Total amount or percentage of tax"
                  },
                  "Purchase": {
                    "type": "number",
                    "description": "Total net purchase amount"
                  },
                  "PurchaseNTax": {
                    "type": "number",
                    "description": "Total amount of the supplier bill after taxes"
                  },
                  "Delivery": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Delivery state of the supplier bill"
                  },
                  "Tag": {
                    "type": "string",
                    "description": "Channel Tagging System"
                  },
                  "TaxCalculation": {
                    "type": "string",
                    "description": "Type of tax calculation (Add / Include)"
                  },
                  "ApprovalStateID": {
                    "type": "integer",
                    "description": "Approve state ID of bill (0= Required, 1= Not Required)"
                  },
                  "ApprovalState": {
                    "type": "string",
                    "description": "Approve state of bill (Required / Not Required)"
                  },
                  "Variants": {
                    "type": "array",
                    "uniqueItems": true,
                    "minItems": 1,
                    "items": {
                      "type": "object",
                      "properties": {
                        "VariantID": {
                          "type": "string",
                          "description": "Unique ID of the variant"
                        },
                        "Name": {
                          "type": "string",
                          "description": "Name of the variant"
                        },
                        "Code": {
                          "type": "string",
                          "description": "Code of the variant"
                        },
                        "Quantity": {
                          "type": "integer",
                          "description": "Quantity of the variant"
                        },
                        "Price": {
                          "type": "number",
                          "description": "Price of the variant"
                        },
                        "Discount": {
                          "type": "number",
                          "description": "Discount on the variant"
                        },
                        "Note": {
                          "type": "string",
                          "description": "Optional note on the variant"
                        },
                        "Taxable": {
                          "type": "boolean",
                          "description": "Is the variant taxable or not"
                        }
                      }
                    }
                  },
                  "Payments": {
                    "type": "array",
                    "uniqueItems": true,
                    "minItems": 1,
                    "items": {
                      "type": "object",
                      "properties": {
                        "Date": {
                          "type": "string",
                          "description": "Payment date"
                        },
                        "Amount": {
                          "type": "number",
                          "description": "Payment amount"
                        },
                        "Method": {
                          "type": "string",
                          "description": "Payment method (e.g., Cash)"
                        },
                        "Code": {
                          "type": "string",
                          "description": "Optional payment code"
                        },
                        "Note": {
                          "type": "string",
                          "description": "Optional payment note"
                        }
                      }
                    }
                  }
                }
              },
              "example": {
                "ID": "e0211b45-358e-4d5c-bf5b-8a31404b125e",
                "Outlet": "Outlet1",
                "Number": "20.09.00001",
                "Date": "2020-09-02T00:00:00",
                "DueDate": "",
                "Supplier": {
                  "Name": "Hendry Wijaya",
                  "Title": "Mr.",
                  "FirstName": "Hendry",
                  "LastName": "Wijaya",
                  "Phone": "0215895473",
                  "Email": "Ndry94@gmail.com",
                  "Code": "S12889",
                  "Gender": "Male"
                },
                "CreatorID": "ff7848c9-21f1-4c05-ac9e-1e71d829cc9c",
                "Created": "2020-09-02T14:05:40.84",
                "Discount1": 0,
                "DiscountAmount": 0,
                "Gross": 100000,
                "DiscountTotal": 0,
                "TaxType": "No Tax",
                "Tax": 0,
                "Purchase": 100000,
                "PurchaseNTax": 100000,
                "Delivery": "Received",
                "Tag": "Offline Store",
                "TaxCalculation": "Include",
                "ApprovalStateID": 0,
                "ApprovalState": "Required",
                "Variants": [
                  {
                    "VariantID": "d94579c0-eeb5-4b03-893e-d24cc624786c",
                    "Name": "Shirt",
                    "Code": "MM3002",
                    "Quantity": 1,
                    "Price": 100000,
                    "Discount": 0,
                    "Note": "TEST NOTE",
                    "Taxable": true
                  }
                ],
                "Payments": [
                  {
                    "Date": "2020-09-02T00:00:00",
                    "Amount": 100000,
                    "Method": "Cash",
                    "Code": "CODE123",
                    "Note": "TEST NOTE"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "purchaseOrderRestored": {
      "post": {
        "tags": [
          "Bill"
        ],
        "operationId": "purchaseOrderRestored",
        "summary": "Purchase Order Restored",
        "description": "This webhook is triggered when a Purchase Order is restored.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "description": "Unique ID of the supplier bill."
                  },
                  "Outlet": {
                    "type": "string",
                    "description": "Outlet origin of the supplier bill."
                  },
                  "Number": {
                    "type": "string",
                    "description": "Number of the supplier bill."
                  },
                  "Date": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date of the supplier bill."
                  },
                  "DueDate": {
                    "type": "string",
                    "description": "Due date of the supplier bill."
                  },
                  "Supplier": {
                    "type": "object",
                    "properties": {
                      "Name": {
                        "type": "string",
                        "description": "Name of the supplier."
                      },
                      "Title": {
                        "type": "string",
                        "description": "Title on behalf of the supplier."
                      },
                      "FirstName": {
                        "type": "string",
                        "description": "First name of the supplier."
                      },
                      "LastName": {
                        "type": "string",
                        "description": "Last name of the supplier."
                      },
                      "Phone": {
                        "type": "string",
                        "description": "Phone number of the supplier."
                      },
                      "Email": {
                        "type": "string",
                        "description": "Email of the supplier."
                      },
                      "Code": {
                        "type": "string",
                        "description": "Member code of the supplier."
                      },
                      "Gender": {
                        "type": "string",
                        "description": "Gender of the supplier."
                      }
                    },
                    "required": [
                      "Name",
                      "Title",
                      "FirstName",
                      "LastName",
                      "Phone",
                      "Email",
                      "Code",
                      "Gender"
                    ]
                  },
                  "CreatorID": {
                    "type": "string",
                    "description": "Unique Creator ID of the supplier bill."
                  },
                  "Created": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Supplier bill creation date."
                  },
                  "Discount1": {
                    "type": "number",
                    "description": "Discount percentage applied to the bill."
                  },
                  "DiscountAmount": {
                    "type": "number",
                    "description": "Discount amount applied to the bill."
                  },
                  "Gross": {
                    "type": "number",
                    "description": "Total amount before discount."
                  },
                  "DiscountTotal": {
                    "type": "number",
                    "description": "Total discount in the supplier bill."
                  },
                  "TaxType": {
                    "type": "string",
                    "description": "Type of tax applied to the supplier bill."
                  },
                  "Tax": {
                    "type": "number",
                    "description": "Total tax amount."
                  },
                  "Purchase": {
                    "type": "number",
                    "description": "Total net purchase amount."
                  },
                  "PurchaseNTax": {
                    "type": "number",
                    "description": "Total amount of the supplier bill after taxes."
                  },
                  "Delivery": {
                    "type": "string",
                    "description": "Delivery status of the supplier bill."
                  },
                  "Tag": {
                    "type": "string",
                    "description": "Channel tagging system."
                  },
                  "TaxCalculation": {
                    "type": "string",
                    "description": "Type of tax calculation (Add / Include)"
                  },
                  "ApprovalStateID": {
                    "type": "integer",
                    "description": "Approve state ID of bill (0= Required, 1= Not Required)"
                  },
                  "ApprovalState": {
                    "type": "string",
                    "description": "Approve state of bill (Required / Not Required)"
                  },
                  "Variants": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "VariantID": {
                          "type": "string"
                        },
                        "Name": {
                          "type": "string"
                        },
                        "Code": {
                          "type": "string"
                        },
                        "Quantity": {
                          "type": "number"
                        },
                        "Price": {
                          "type": "number"
                        },
                        "Discount": {
                          "type": "number"
                        },
                        "Note": {
                          "type": "string"
                        },
                        "Taxable": {
                          "type": "boolean"
                        }
                      }
                    }
                  },
                  "Payments": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "Date": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "Amount": {
                          "type": "number"
                        },
                        "Method": {
                          "type": "string"
                        },
                        "Code": {
                          "type": "string"
                        },
                        "Note": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "required": [
                  "ID",
                  "Outlet",
                  "Number",
                  "Date",
                  "Supplier",
                  "CreatorID",
                  "Created",
                  "Gross",
                  "Variants",
                  "Payments"
                ]
              },
              "example": {
                "ID": "e0211b45-358e-4d5c-bf5b-8a31404b125e",
                "Outlet": "Outlet1",
                "Number": "20.09.00001",
                "Date": "2020-09-02T00:00:00",
                "DueDate": "",
                "Supplier": {
                  "Name": "Hendry Wijaya",
                  "Title": "Mr.",
                  "FirstName": "Hendry",
                  "LastName": "Wijaya",
                  "Phone": "0215895473",
                  "Email": "Ndry94@gmail.com",
                  "Code": "S12889",
                  "Gender": "Male"
                },
                "CreatorID": "ff7848c9-21f1-4c05-ac9e-1e71d829cc9c",
                "Created": "2020-09-02T14:05:40.84",
                "Discount1": 0,
                "DiscountAmount": 0,
                "Gross": 100000,
                "DiscountTotal": 0,
                "TaxType": "No Tax",
                "Tax": 0,
                "Purchase": 100000,
                "PurchaseNTax": 100000,
                "Delivery": "Received",
                "Tag": "Offline Store",
                "TaxCalculation": "Include",
                "ApprovalStateID": 0,
                "ApprovalState": "Required",
                "Variants": [
                  {
                    "VariantID": "d94579c0-eeb5-4b03-893e-d24cc624786c",
                    "Name": "Shirt",
                    "Code": "MM3002",
                    "Quantity": 1,
                    "Price": 100000,
                    "Discount": 0,
                    "Note": "TEST NOTE",
                    "Taxable": true
                  }
                ],
                "Payments": [
                  {
                    "Date": "2020-09-02T00:00:00",
                    "Amount": 100000,
                    "Method": "Cash",
                    "Code": "CODE123",
                    "Note": "TEST NOTE"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "purchaseOrderUpdated": {
      "post": {
        "tags": [
          "Bill"
        ],
        "operationId": "purchaseOrderUpdated",
        "summary": "Purchase Order Updated",
        "description": "This webhook is triggered when a Purchase Order is updated.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "description": "Unique ID of the supplier bill."
                  },
                  "Outlet": {
                    "type": "string",
                    "description": "Outlet origin of the supplier bill."
                  },
                  "Number": {
                    "type": "string",
                    "description": "Number of the supplier bill."
                  },
                  "Date": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date of the supplier bill."
                  },
                  "DueDate": {
                    "type": "string",
                    "description": "Due date of the supplier bill."
                  },
                  "Supplier": {
                    "type": "object",
                    "properties": {
                      "Name": {
                        "type": "string",
                        "description": "Name of the supplier."
                      },
                      "Title": {
                        "type": "string",
                        "description": "Title on behalf of the supplier."
                      },
                      "FirstName": {
                        "type": "string",
                        "description": "First name of the supplier."
                      },
                      "LastName": {
                        "type": "string",
                        "description": "Last name of the supplier."
                      },
                      "Phone": {
                        "type": "string",
                        "description": "Phone number of the supplier."
                      },
                      "Email": {
                        "type": "string",
                        "description": "Email of the supplier."
                      },
                      "Code": {
                        "type": "string",
                        "description": "Member code of the supplier."
                      },
                      "Gender": {
                        "type": "string",
                        "description": "Gender of the supplier."
                      }
                    },
                    "required": [
                      "Name",
                      "Title",
                      "FirstName",
                      "LastName",
                      "Phone",
                      "Email",
                      "Code",
                      "Gender"
                    ]
                  },
                  "CreatorID": {
                    "type": "string",
                    "description": "Unique Creator ID of the supplier bill."
                  },
                  "Created": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Supplier bill creation date."
                  },
                  "Discount1": {
                    "type": "number",
                    "description": "Discount percentage applied to the bill."
                  },
                  "DiscountAmount": {
                    "type": "number",
                    "description": "Discount amount applied to the bill."
                  },
                  "Gross": {
                    "type": "number",
                    "description": "Total amount before discount."
                  },
                  "DiscountTotal": {
                    "type": "number",
                    "description": "Total discount in the supplier bill."
                  },
                  "TaxType": {
                    "type": "string",
                    "description": "Type of tax applied to the supplier bill."
                  },
                  "Tax": {
                    "type": "number",
                    "description": "Total tax amount."
                  },
                  "Purchase": {
                    "type": "number",
                    "description": "Total net purchase amount."
                  },
                  "PurchaseNTax": {
                    "type": "number",
                    "description": "Total amount of the supplier bill after taxes."
                  },
                  "Delivery": {
                    "type": "string",
                    "description": "Delivery status of the supplier bill."
                  },
                  "Tag": {
                    "type": "string",
                    "description": "Channel tagging system."
                  },
                  "TaxCalculation": {
                    "type": "string",
                    "description": "Type of tax calculation (Add / Include)"
                  },
                  "ApprovalStateID": {
                    "type": "integer",
                    "description": "Approve state ID of bill (0= Required, 1= Not Required)"
                  },
                  "ApprovalState": {
                    "type": "string",
                    "description": "Approve state of bill (Required / Not Required)"
                  },
                  "Variants": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "VariantID": {
                          "type": "string"
                        },
                        "Name": {
                          "type": "string"
                        },
                        "Code": {
                          "type": "string"
                        },
                        "Quantity": {
                          "type": "number"
                        },
                        "Price": {
                          "type": "number"
                        },
                        "Discount": {
                          "type": "number"
                        },
                        "Note": {
                          "type": "string"
                        },
                        "Taxable": {
                          "type": "boolean"
                        }
                      }
                    }
                  },
                  "Payments": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "ID": {
                          "type": "string",
                          "description": "Unique ID of the payment"
                        },
                        "Date": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "Amount": {
                          "type": "number"
                        },
                        "Method": {
                          "type": "string"
                        },
                        "Code": {
                          "type": "string"
                        },
                        "Note": {
                          "type": "string"
                        },
                        "Created": {
                          "type": "string",
                          "description": "Payment created Transaction Date by system"
                        }
                      }
                    }
                  }
                },
                "required": [
                  "ID",
                  "Outlet",
                  "Number",
                  "Date",
                  "Supplier",
                  "CreatorID",
                  "Created",
                  "Gross",
                  "Variants",
                  "Payments"
                ]
              },
              "example": {
                "ID": "e0211b45-358e-4d5c-bf5b-8a31404b125e",
                "Outlet": "Outlet1",
                "Number": "20.09.00001",
                "Date": "2020-09-02T00:00:00",
                "DueDate": "",
                "Supplier": {
                  "Name": "Hendry Wijaya",
                  "Title": "Mr.",
                  "FirstName": "Hendry",
                  "LastName": "Wijaya",
                  "Phone": "0215895473",
                  "Email": "Ndry94@gmail.com",
                  "Code": "S12889",
                  "Gender": "Male"
                },
                "CreatorID": "ff7848c9-21f1-4c05-ac9e-1e71d829cc9c",
                "Created": "2020-09-02T14:05:40.84",
                "Discount1": 0,
                "DiscountAmount": 0,
                "Gross": 100000,
                "DiscountTotal": 0,
                "TaxType": "No Tax",
                "Tax": 0,
                "Purchase": 100000,
                "PurchaseNTax": 100000,
                "Delivery": "Received",
                "Tag": "Offline Store",
                "TaxCalculation": "Include",
                "ApprovalStateID": 0,
                "ApprovalState": "Required",
                "Variants": [
                  {
                    "VariantID": "d94579c0-eeb5-4b03-893e-d24cc624786c",
                    "Name": "Shirt",
                    "Code": "MM3002",
                    "Quantity": 1,
                    "Price": 100000,
                    "Discount": 0,
                    "Note": "TEST NOTE",
                    "Taxable": true
                  }
                ],
                "Payments": [
                  {
                    "ID": "8b4579ab-8864-8bht-hj01-69sce6x478p9",
                    "Date": "2020-09-02T00:00:00",
                    "Amount": 100000,
                    "Method": "Cash",
                    "Code": "CODE123",
                    "Note": "TEST NOTE",
                    "Created": "2020-09-02T14:10:00.00"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "purchaseOrderVoided": {
      "post": {
        "tags": [
          "Bill"
        ],
        "operationId": "purchaseOrderVoided",
        "summary": "Purchase Order Voided",
        "description": "This webhook is triggered when a Purchase Order is voided.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "description": "Unique ID of the supplier bill."
                  },
                  "Outlet": {
                    "type": "string",
                    "description": "Outlet origin of the supplier bill."
                  },
                  "Number": {
                    "type": "string",
                    "description": "Number of the supplier bill."
                  },
                  "Date": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date of the supplier bill."
                  },
                  "DueDate": {
                    "type": "string",
                    "description": "Due date of the supplier bill."
                  },
                  "Supplier": {
                    "type": "object",
                    "properties": {
                      "Name": {
                        "type": "string",
                        "description": "Name of the supplier."
                      },
                      "Title": {
                        "type": "string",
                        "description": "Title on behalf of the supplier."
                      },
                      "FirstName": {
                        "type": "string",
                        "description": "First name of the supplier."
                      },
                      "LastName": {
                        "type": "string",
                        "description": "Last name of the supplier."
                      },
                      "Phone": {
                        "type": "string",
                        "description": "Phone number of the supplier."
                      },
                      "Email": {
                        "type": "string",
                        "description": "Email of the supplier."
                      },
                      "Code": {
                        "type": "string",
                        "description": "Member code of the supplier."
                      },
                      "Gender": {
                        "type": "string",
                        "description": "Gender of the supplier."
                      }
                    },
                    "required": [
                      "Name",
                      "Title",
                      "FirstName",
                      "LastName",
                      "Phone",
                      "Email",
                      "Code",
                      "Gender"
                    ]
                  },
                  "CreatorID": {
                    "type": "string",
                    "description": "Unique Creator ID of the supplier bill."
                  },
                  "Created": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Supplier bill creation date."
                  },
                  "Discount1": {
                    "type": "number",
                    "description": "Discount percentage applied to the bill."
                  },
                  "DiscountAmount": {
                    "type": "number",
                    "description": "Discount amount applied to the bill."
                  },
                  "Gross": {
                    "type": "number",
                    "description": "Total amount before discount."
                  },
                  "DiscountTotal": {
                    "type": "number",
                    "description": "Total discount in the supplier bill."
                  },
                  "TaxType": {
                    "type": "string",
                    "description": "Type of tax applied to the supplier bill."
                  },
                  "Tax": {
                    "type": "number",
                    "description": "Total tax amount."
                  },
                  "Purchase": {
                    "type": "number",
                    "description": "Total net purchase amount."
                  },
                  "PurchaseNTax": {
                    "type": "number",
                    "description": "Total amount of the supplier bill after taxes."
                  },
                  "Delivery": {
                    "type": "string",
                    "description": "Delivery status of the supplier bill."
                  },
                  "Tag": {
                    "type": "string",
                    "description": "Channel tagging system."
                  },
                  "TaxCalculation": {
                    "type": "string",
                    "description": "Type of tax calculation (Add / Include)"
                  },
                  "ApprovalStateID": {
                    "type": "integer",
                    "description": "Approve state ID of bill (0= Required, 1= Not Required)"
                  },
                  "ApprovalState": {
                    "type": "string",
                    "description": "Approve state of bill (Required / Not Required)"
                  },
                  "Variants": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "VariantID": {
                          "type": "string"
                        },
                        "Name": {
                          "type": "string"
                        },
                        "Code": {
                          "type": "string"
                        },
                        "Quantity": {
                          "type": "number"
                        },
                        "Price": {
                          "type": "number"
                        },
                        "Discount": {
                          "type": "number"
                        },
                        "Note": {
                          "type": "string"
                        },
                        "Taxable": {
                          "type": "boolean"
                        }
                      }
                    }
                  },
                  "Payments": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "Date": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "Amount": {
                          "type": "number"
                        },
                        "Method": {
                          "type": "string"
                        },
                        "Code": {
                          "type": "string"
                        },
                        "Note": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "required": [
                  "ID",
                  "Outlet",
                  "Number",
                  "Date",
                  "Supplier",
                  "CreatorID",
                  "Created",
                  "Gross",
                  "Variants",
                  "Payments"
                ]
              },
              "example": {
                "ID": "e0211b45-358e-4d5c-bf5b-8a31404b125e",
                "Outlet": "Outlet1",
                "Number": "20.09.00001",
                "Date": "2020-09-02T00:00:00",
                "DueDate": "",
                "Supplier": {
                  "Name": "Hendry Wijaya",
                  "Title": "Mr.",
                  "FirstName": "Hendry",
                  "LastName": "Wijaya",
                  "Phone": "0215895473",
                  "Email": "Ndry94@gmail.com",
                  "Code": "S12889",
                  "Gender": "Male"
                },
                "CreatorID": "ff7848c9-21f1-4c05-ac9e-1e71d829cc9c",
                "Created": "2020-09-02T14:05:40.84",
                "Discount1": 0,
                "DiscountAmount": 0,
                "Gross": 100000,
                "DiscountTotal": 0,
                "TaxType": "No Tax",
                "Tax": 0,
                "Purchase": 100000,
                "PurchaseNTax": 100000,
                "Delivery": "Received",
                "Tag": "Offline Store",
                "TaxCalculation": "Include",
                "ApprovalStateID": 0,
                "ApprovalState": "Required",
                "Variants": [
                  {
                    "VariantID": "d94579c0-eeb5-4b03-893e-d24cc624786c",
                    "Name": "Shirt",
                    "Code": "MM3002",
                    "Quantity": 1,
                    "Price": 100000,
                    "Discount": 0,
                    "Note": "TEST NOTE",
                    "Taxable": true
                  }
                ],
                "Payments": [
                  {
                    "Date": "2020-09-02T00:00:00",
                    "Amount": 100000,
                    "Method": "Cash",
                    "Code": "CODE123",
                    "Note": "TEST NOTE"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "transferOrderCreated": {
      "post": {
        "tags": [
          "Transfer Order"
        ],
        "operationId": "transferOrderCreated",
        "summary": "Transfer Order Created",
        "description": "This webhook is triggered when a Transfer Order is completed.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "Outlet": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Outlet Delivery number"
                  },
                  "OutletID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the outlet delivery"
                  },
                  "Destination": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Destination of the outlet delivery"
                  },
                  "Date": {
                    "type": "string",
                    "format": "date-time",
                    "minLength": 1,
                    "description": "Date of the outlet delivery"
                  },
                  "Number": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Number of the outlet delivery"
                  },
                  "Courier": {
                    "type": "string",
                    "description": "Courier name of the outlet delivery"
                  },
                  "Note": {
                    "type": "string",
                    "description": "Note of the outlet delivery"
                  },
                  "State": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Status of the outlet delivery"
                  },
                  "ReceivedDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Received date of the outlet delivery"
                  },
                  "ReceivedNote": {
                    "type": "string",
                    "description": "Received note of the outlet delivery"
                  },
                  "CreatorID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique Creator ID of the outlet delivery"
                  },
                  "Created": {
                    "type": "string",
                    "format": "date-time",
                    "minLength": 1,
                    "description": "Created date time of the outlet delivery"
                  },
                  "Variants": {
                    "type": "array",
                    "uniqueItems": true,
                    "minItems": 1,
                    "items": {
                      "required": [
                        "VariantID",
                        "Name",
                        "Code",
                        "Quantity",
                        "Discount",
                        "Cost",
                        "Price"
                      ],
                      "properties": {
                        "VariantID": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Unique ID of the variant"
                        },
                        "Name": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Name of the product variant"
                        },
                        "Code": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Code of the product variant"
                        },
                        "Quantity": {
                          "type": "number",
                          "description": "Total quantity of the product variant"
                        },
                        "Discount": {
                          "type": "number",
                          "description": "Discount amount/percentage of the product variant"
                        },
                        "Cost": {
                          "type": "number",
                          "description": "Unit buying cost of the product variant"
                        },
                        "Price": {
                          "type": "number",
                          "description": "Unit selling price of the product variant"
                        },
                        "Note": {
                          "type": "string",
                          "description": "Note of the product variant"
                        }
                      }
                    }
                  }
                },
                "required": [
                  "Outlet",
                  "Destination",
                  "Date",
                  "Number",
                  "State",
                  "CreatorID",
                  "Created",
                  "Variants"
                ]
              },
              "example": {
                "Outlet": "Outlet1",
                "OutletID": "f5d4ef18-5b47-4596-8a42-3d13610b7bf7",
                "Destination": "Outlet2",
                "Date": "2020-09-02T00:00:00",
                "Number": "20.09.00001",
                "Courier": "JNY EXPRESS",
                "Note": "TEST NOTE",
                "State": "Dispatched",
                "ReceivedDate": "2020-09-02T00:00:00",
                "ReceivedNote": "TEST NOTE",
                "CreatorID": "hendry",
                "Created": "2020-09-02T13:23:00",
                "Variants": [
                  {
                    "VariantID": "f5d4ef18-5b47-4596-8a42-3d13610b7bf7",
                    "Name": "Denim Shirt (M)",
                    "Code": "1342M",
                    "Quantity": 1,
                    "Discount": 0,
                    "Cost": 80405.87,
                    "Price": 500000,
                    "Note": "TEST NOTE"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "transferOrderDeleted": {
      "post": {
        "tags": [
          "Transfer Order"
        ],
        "operationId": "transferOrderDeleted",
        "summary": "Transfer Order Deleted",
        "description": "This webhook is triggered when a Transfer Order is deleted.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "Outlet": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Outlet Delivery number"
                  },
                  "OutletID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the outlet delivery"
                  },
                  "Destination": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Destination of the outlet delivery"
                  },
                  "Date": {
                    "type": "string",
                    "format": "date-time",
                    "minLength": 1,
                    "description": "Date of the outlet delivery"
                  },
                  "Number": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Number of the outlet delivery"
                  },
                  "Courier": {
                    "type": "string",
                    "description": "Courier name of the outlet delivery"
                  },
                  "Note": {
                    "type": "string",
                    "description": "Note of the outlet delivery"
                  },
                  "State": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Status of the outlet delivery"
                  },
                  "ReceivedDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Received date of the outlet delivery"
                  },
                  "ReceivedNote": {
                    "type": "string",
                    "description": "Received note of the outlet delivery"
                  },
                  "CreatorID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique Creator ID of the outlet delivery"
                  },
                  "Created": {
                    "type": "string",
                    "format": "date-time",
                    "minLength": 1,
                    "description": "Created date time of the outlet delivery"
                  },
                  "Variants": {
                    "type": "array",
                    "uniqueItems": true,
                    "minItems": 1,
                    "items": {
                      "required": [
                        "VariantID",
                        "Name",
                        "Code",
                        "Quantity",
                        "Discount",
                        "Cost",
                        "Price"
                      ],
                      "properties": {
                        "VariantID": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Unique ID of the variant"
                        },
                        "Name": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Name of the product variant"
                        },
                        "Code": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Code of the product variant"
                        },
                        "Quantity": {
                          "type": "number",
                          "description": "Total quantity of the product variant"
                        },
                        "Discount": {
                          "type": "number",
                          "description": "Discount amount/percentage of the product variant"
                        },
                        "Cost": {
                          "type": "number",
                          "description": "Unit buying cost of the product variant"
                        },
                        "Price": {
                          "type": "number",
                          "description": "Unit selling price of the product variant cisap"
                        },
                        "Note": {
                          "type": "string",
                          "description": "Note of the product variant"
                        }
                      }
                    }
                  }
                },
                "required": [
                  "Outlet",
                  "Destination",
                  "Date",
                  "Number",
                  "State",
                  "CreatorID",
                  "Created",
                  "Variants"
                ]
              },
              "example": {
                "Outlet": "Outlet1",
                "OutletID": "f5d4ef18-5b47-4596-8a42-3d13610b7bf7",
                "Destination": "Outlet2",
                "Date": "2020-09-02T00:00:00",
                "Number": "20.09.00001",
                "Courier": "JNY EXPRESS",
                "Note": "TEST NOTE",
                "State": "Dispatched",
                "ReceivedDate": "2020-09-02T00:00:00",
                "ReceivedNote": "TEST NOTE",
                "CreatorID": "hendry",
                "Created": "2020-09-01T13:23:00",
                "Variants": [
                  {
                    "VariantID": "f5d4ef18-5b47-4596-8a42-3d13610b7bf7",
                    "Name": "Denim Shirt (M)",
                    "Code": "1342M",
                    "Quantity": 1,
                    "Discount": 0,
                    "Cost": 80405.87,
                    "Price": 500000,
                    "Note": "TEST NOTE"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "transferOrderVoided": {
      "post": {
        "tags": [
          "Transfer Order"
        ],
        "operationId": "transferOrderVoided",
        "summary": "Transfer Order Voided",
        "description": "This webhook is triggered when a Transfer Order is voided.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "Outlet": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Outlet Delivery number"
                  },
                  "OutletID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the outlet delivery"
                  },
                  "Destination": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Destination of the outlet delivery"
                  },
                  "Date": {
                    "type": "string",
                    "format": "date-time",
                    "minLength": 1,
                    "description": "Date of the outlet delivery"
                  },
                  "Number": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Number of the outlet delivery"
                  },
                  "Courier": {
                    "type": "string",
                    "description": "Courier name of the outlet delivery"
                  },
                  "Note": {
                    "type": "string",
                    "description": "Note of the outlet delivery"
                  },
                  "State": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Status of the outlet delivery"
                  },
                  "ReceivedDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Received date of the outlet delivery"
                  },
                  "ReceivedNote": {
                    "type": "string",
                    "description": "Received note of the outlet delivery"
                  },
                  "CreatorID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique Creator ID of the outlet delivery"
                  },
                  "Created": {
                    "type": "string",
                    "format": "date-time",
                    "minLength": 1,
                    "description": "Created date time of the outlet delivery"
                  },
                  "Variants": {
                    "type": "array",
                    "uniqueItems": true,
                    "minItems": 1,
                    "items": {
                      "required": [
                        "VariantID",
                        "Name",
                        "Code",
                        "Quantity",
                        "Discount",
                        "Cost",
                        "Price"
                      ],
                      "properties": {
                        "VariantID": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Unique ID of the variant"
                        },
                        "Name": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Name of the product variant"
                        },
                        "Code": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Code of the product variant"
                        },
                        "Quantity": {
                          "type": "number",
                          "description": "Total quantity of the product variant"
                        },
                        "Discount": {
                          "type": "number",
                          "description": "Discount amount/percentage of the product variant"
                        },
                        "Cost": {
                          "type": "number",
                          "description": "Unit buying cost of the product variant"
                        },
                        "Price": {
                          "type": "number",
                          "description": "Unit selling price of the product variant cisap"
                        },
                        "Note": {
                          "type": "string",
                          "description": "Note of the product variant"
                        }
                      }
                    }
                  }
                },
                "required": [
                  "Outlet",
                  "Destination",
                  "Date",
                  "Number",
                  "State",
                  "CreatorID",
                  "Created",
                  "Variants"
                ]
              },
              "example": {
                "Outlet": "Outlet1",
                "OutletID": "f5d4ef18-5b47-4596-8a42-3d13610b7bf7",
                "Destination": "Outlet2",
                "Date": "2020-09-02T00:00:00",
                "Number": "20.09.00001",
                "Courier": "JNT EXPRESS",
                "Note": "TEST NOTE",
                "State": "Dispatched",
                "ReceivedDate": "2020-09-02T00:00:00",
                "ReceivedNote": "TEST NOTE",
                "CreatorID": "hendry",
                "Created": "2020-09-01T13:23:00",
                "Variants": [
                  {
                    "VariantID": "f5d4ef18-5b47-4596-8a42-3d13610b7bf7",
                    "Name": "Denim Shirt (M)",
                    "Code": "1342M",
                    "Quantity": 1,
                    "Discount": 0,
                    "Cost": 80405.87,
                    "Price": 500000,
                    "Note": "TEST NOTE"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "transferOrderUpdated": {
      "post": {
        "tags": [
          "Transfer Order"
        ],
        "operationId": "transferOrderUpdated",
        "summary": "Transfer Order Updated",
        "description": "This webhook is triggered when the status of a Transfer Order is updated.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "Outlet": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Outlet Delivery number"
                  },
                  "OutletID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the outlet delivery"
                  },
                  "Destination": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Destination of the outlet delivery"
                  },
                  "Date": {
                    "type": "string",
                    "format": "date-time",
                    "minLength": 1,
                    "description": "Date of the outlet delivery"
                  },
                  "Number": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Number of the outlet delivery"
                  },
                  "Courier": {
                    "type": "string",
                    "description": "Courier name of the outlet delivery"
                  },
                  "Note": {
                    "type": "string",
                    "description": "Note of the outlet delivery"
                  },
                  "State": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Status of the outlet delivery"
                  },
                  "ReceivedDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Received date of the outlet delivery"
                  },
                  "ReceivedNote": {
                    "type": "string",
                    "description": "Received note of the outlet delivery"
                  },
                  "CreatorID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique Creator ID of the outlet delivery"
                  },
                  "Created": {
                    "type": "string",
                    "format": "date-time",
                    "minLength": 1,
                    "description": "Created date time of the outlet delivery"
                  },
                  "Variants": {
                    "type": "array",
                    "uniqueItems": true,
                    "minItems": 1,
                    "items": {
                      "required": [
                        "VariantID",
                        "Name",
                        "Code",
                        "Quantity",
                        "Discount",
                        "Cost",
                        "Price"
                      ],
                      "properties": {
                        "VariantID": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Unique ID of the variant"
                        },
                        "Name": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Name of the product variant"
                        },
                        "Code": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Code of the product variant"
                        },
                        "Quantity": {
                          "type": "number",
                          "description": "Total quantity of the product variant"
                        },
                        "Discount": {
                          "type": "number",
                          "description": "Discount amount/percentage of the product variant"
                        },
                        "Cost": {
                          "type": "number",
                          "description": "Unit buying cost of the product variant"
                        },
                        "Price": {
                          "type": "number",
                          "description": "Unit selling price of the product variant"
                        },
                        "Note": {
                          "type": "string",
                          "description": "Note of the product variant"
                        }
                      }
                    }
                  }
                },
                "required": [
                  "Outlet",
                  "Destination",
                  "Date",
                  "Number",
                  "State",
                  "CreatorID",
                  "Created",
                  "Variants"
                ]
              },
              "example": {
                "Outlet": "Outlet1",
                "OutletID": "f5d4ef18-5b47-4596-8a42-3d13610b7bf7",
                "Destination": "Outlet2",
                "Date": "2020-09-01T00:00:00",
                "Number": "20.09.00001",
                "Courier": "JNY EXPRESS",
                "Note": "TEST NOTE",
                "State": "Dispatched",
                "ReceivedDate": "2020-09-01T00:00:00",
                "ReceivedNote": "TEST NOTE",
                "CreatorID": "hendry",
                "Created": "2020-09-01T13:23:00",
                "Variants": [
                  {
                    "VariantID": "f5d4ef18-5b47-4596-8a42-3d13610b7bf7",
                    "Name": "Denim Shirt (M)",
                    "Code": "1342M",
                    "Quantity": 1,
                    "Discount": 0,
                    "Cost": 80405.87,
                    "Price": 500000,
                    "Note": "TEST NOTE"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "outboundLogisticComplete": {
      "post": {
        "tags": [
          "Outbound Logistic"
        ],
        "operationId": "sendOutboundLogisticComplete",
        "summary": "Outbound Logistic Complete",
        "description": "This webhook is triggered when the Send Outbound Logistic operation is completed.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "format": "guid",
                    "description": "ID of Outbound Logistic"
                  },
                  "Outlet": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Origin outlet of the customer delivery"
                  },
                  "Number": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Origin Number of the customer delivery"
                  },
                  "Date": {
                    "type": "string",
                    "format": "date-time",
                    "minLength": 1,
                    "description": "Date of the customer delivery"
                  },
                  "Customer": {
                    "type": "object",
                    "properties": {
                      "Name": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Name of the customer"
                      },
                      "Title": {
                        "type": "string",
                        "description": "Title on behalf of the customer"
                      },
                      "FirstName": {
                        "type": "string",
                        "minLength": 1,
                        "description": "First Name of the customer"
                      },
                      "LastName": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Last Name of the customer"
                      },
                      "Phone": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Phone number of the customer"
                      },
                      "Email": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Email of the customer"
                      },
                      "Code": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Member Code of the customer"
                      },
                      "Address": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Address of the customer"
                      },
                      "Gender": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Gender of the customer"
                      }
                    },
                    "required": [
                      "Name",
                      "FirstName",
                      "LastName",
                      "Phone",
                      "Email",
                      "Code",
                      "Address",
                      "Gender"
                    ]
                  },
                  "CreatorID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique creator ID of the customer delivery"
                  },
                  "Created": {
                    "type": "string",
                    "format": "date-time",
                    "minLength": 1,
                    "description": "Created date of the customer delivery"
                  },
                  "Variants": {
                    "type": "array",
                    "uniqueItems": true,
                    "minItems": 1,
                    "items": {
                      "required": [
                        "VariantID",
                        "Name",
                        "Code",
                        "Quantity",
                        "Price",
                        "PriceOriginal",
                        "Discount",
                        "DiscountAmount",
                        "NettPrice"
                      ],
                      "properties": {
                        "VariantID": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Unique ID of the variant"
                        },
                        "Name": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Name of the product variant"
                        },
                        "Code": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Code of the product variant"
                        },
                        "Quantity": {
                          "type": "number",
                          "description": "Total quantity of the product variant"
                        },
                        "Price": {
                          "type": "number",
                          "description": "Unit selling price of the product variant"
                        },
                        "PriceOriginal": {
                          "type": "number",
                          "description": "Original unit selling price of the product variant"
                        },
                        "Discount": {
                          "type": "number",
                          "description": "Discount percentage of the product variant"
                        },
                        "DiscountAmount": {
                          "type": "number",
                          "description": "Discount amount of the product variant"
                        },
                        "NettPrice": {
                          "type": "number",
                          "description": "Total amount of the customer delivery"
                        },
                        "Note": {
                          "type": "string",
                          "description": "Note of the product variant"
                        }
                      }
                    }
                  }
                },
                "required": [
                  "Outlet",
                  "Number",
                  "Date",
                  "Customer",
                  "CreatorID",
                  "Created",
                  "Variants"
                ]
              },
              "example": {
                "ID": "e0211b45-358e-4d5c-bf5b-8a31404b125e",
                "Outlet": "Outlet1",
                "Number": "20.09.00003",
                "Date": "2020-09-02T00:00:00",
                "Customer": {
                  "Name": "Hendry",
                  "Title": "MR",
                  "FirstName": "Hendry",
                  "LastName": "Wijaya",
                  "Phone": "0215865894",
                  "Email": "Hendry@dealpos.com",
                  "Code": "HW001",
                  "Address": "Jl. Muara Karang P3T No.30",
                  "Gender": "Male"
                },
                "CreatorID": "71e6e3df-257e-4a56-90ad-f6214b267aee",
                "Created": "2020-09-02T15:10:31.733",
                "Variants": [
                  {
                    "VariantID": "ee02969d-93ea-446c-a105-aca4c7cecd4e",
                    "Name": "Shirt (M)",
                    "Code": "1002M",
                    "Quantity": 1,
                    "Price": 100000,
                    "PriceOriginal": 25,
                    "Discount": 0,
                    "DiscountAmount": 0,
                    "NettPrice": 100000,
                    "Note": "TEST NOTE"
                  }
                ]
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Outbound Logistic"
        ],
        "operationId": "sendOutboundLogisticUpdated",
        "summary": "Outbound Logistic Updated",
        "description": "This webhook is triggered when the Send Outbound Logistic operation is updated.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "format": "guid",
                    "description": "ID of Outbound Logistic"
                  },
                  "Outlet": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Origin outlet of the customer delivery"
                  },
                  "Number": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Origin Number of the customer delivery"
                  },
                  "Date": {
                    "type": "string",
                    "format": "date-time",
                    "minLength": 1,
                    "description": "Date of the customer delivery"
                  },
                  "Customer": {
                    "type": "object",
                    "properties": {
                      "Name": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Name of the customer"
                      },
                      "Title": {
                        "type": "string",
                        "description": "Title on behalf of the customer"
                      },
                      "FirstName": {
                        "type": "string",
                        "minLength": 1,
                        "description": "First Name of the customer"
                      },
                      "LastName": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Last Name of the customer"
                      },
                      "Phone": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Phone number of the customer"
                      },
                      "Email": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Email of the customer"
                      },
                      "Code": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Member Code of the customer"
                      },
                      "Address": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Address of the customer"
                      },
                      "Gender": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Gender of the customer"
                      }
                    },
                    "required": [
                      "Name",
                      "FirstName",
                      "LastName",
                      "Phone",
                      "Email",
                      "Code",
                      "Address",
                      "Gender"
                    ]
                  },
                  "CreatorID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique creator ID of the customer delivery"
                  },
                  "Created": {
                    "type": "string",
                    "format": "date-time",
                    "minLength": 1,
                    "description": "Created date of the customer delivery"
                  },
                  "Variants": {
                    "type": "array",
                    "uniqueItems": true,
                    "minItems": 1,
                    "items": {
                      "required": [
                        "VariantID",
                        "Name",
                        "Code",
                        "Quantity",
                        "Price",
                        "PriceOriginal",
                        "Discount",
                        "DiscountAmount",
                        "NettPrice"
                      ],
                      "properties": {
                        "VariantID": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Unique ID of the variant"
                        },
                        "Name": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Name of the product variant"
                        },
                        "Code": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Code of the product variant"
                        },
                        "Quantity": {
                          "type": "number",
                          "description": "Total quantity of the product variant"
                        },
                        "Price": {
                          "type": "number",
                          "description": "Unit selling price of the product variant"
                        },
                        "PriceOriginal": {
                          "type": "number",
                          "description": "Original unit selling price of the product variant"
                        },
                        "Discount": {
                          "type": "number",
                          "description": "Discount percentage of the product variant"
                        },
                        "DiscountAmount": {
                          "type": "number",
                          "description": "Discount amount of the product variant"
                        },
                        "NettPrice": {
                          "type": "number",
                          "description": "Total amount of the customer delivery"
                        },
                        "Note": {
                          "type": "string",
                          "description": "Note of the product variant"
                        }
                      }
                    }
                  }
                },
                "required": [
                  "Outlet",
                  "Number",
                  "Date",
                  "Customer",
                  "CreatorID",
                  "Created",
                  "Variants"
                ]
              },
              "example": {
                "ID": "e0211b45-358e-4d5c-bf5b-8a31404b125e",
                "Outlet": "Outlet1",
                "Number": "20.09.00003",
                "Date": "2020-09-02T00:00:00",
                "Customer": {
                  "Name": "Hendry",
                  "Title": "MR",
                  "FirstName": "Hendry",
                  "LastName": "Wijaya",
                  "Phone": "0215865894",
                  "Email": "Hendry@dealpos.com",
                  "Code": "HW001",
                  "Address": "Jl. Muara Karang P3T No.30",
                  "Gender": "Male"
                },
                "CreatorID": "71e6e3df-257e-4a56-90ad-f6214b267aee",
                "Created": "2020-09-02T15:10:31.733",
                "Variants": [
                  {
                    "VariantID": "ee02969d-93ea-446c-a105-aca4c7cecd4e",
                    "Name": "Shirt (M)",
                    "Code": "1002M",
                    "Quantity": 1,
                    "Price": 100000,
                    "PriceOriginal": 25,
                    "Discount": 0,
                    "DiscountAmount": 0,
                    "NettPrice": 100000,
                    "Note": "TEST NOTE"
                  }
                ]
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Outbound Logistic"
        ],
        "operationId": "sendOutboundLogisticDeleted",
        "summary": "Outbound Logistic Deleted",
        "description": "This webhook is triggered when the Send Outbound Logistic operation is deleted.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "format": "guid",
                    "description": "ID of Outbound Logistic"
                  },
                  "Outlet": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Origin outlet of the customer delivery"
                  },
                  "Number": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Origin Number of the customer delivery"
                  },
                  "Date": {
                    "type": "string",
                    "format": "date-time",
                    "minLength": 1,
                    "description": "Date of the customer delivery"
                  },
                  "Customer": {
                    "type": "object",
                    "properties": {
                      "Name": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Name of the customer"
                      },
                      "Title": {
                        "type": "string",
                        "description": "Title on behalf of the customer"
                      },
                      "FirstName": {
                        "type": "string",
                        "minLength": 1,
                        "description": "First Name of the customer"
                      },
                      "LastName": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Last Name of the customer"
                      },
                      "Phone": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Phone number of the customer"
                      },
                      "Email": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Email of the customer"
                      },
                      "Code": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Member Code of the customer"
                      },
                      "Address": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Address of the customer"
                      },
                      "Gender": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Gender of the customer"
                      }
                    },
                    "required": [
                      "Name",
                      "FirstName",
                      "LastName",
                      "Phone",
                      "Email",
                      "Code",
                      "Address",
                      "Gender"
                    ]
                  },
                  "CreatorID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique creator ID of the customer delivery"
                  },
                  "Created": {
                    "type": "string",
                    "format": "date-time",
                    "minLength": 1,
                    "description": "Created date of the customer delivery"
                  },
                  "Variants": {
                    "type": "array",
                    "uniqueItems": true,
                    "minItems": 1,
                    "items": {
                      "required": [
                        "VariantID",
                        "Name",
                        "Code",
                        "Quantity",
                        "Price",
                        "PriceOriginal",
                        "Discount",
                        "DiscountAmount",
                        "NettPrice"
                      ],
                      "properties": {
                        "VariantID": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Unique ID of the variant"
                        },
                        "Name": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Name of the product variant"
                        },
                        "Code": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Code of the product variant"
                        },
                        "Quantity": {
                          "type": "number",
                          "description": "Total quantity of the product variant"
                        },
                        "Price": {
                          "type": "number",
                          "description": "Unit selling price of the product variant"
                        },
                        "PriceOriginal": {
                          "type": "number",
                          "description": "Original unit selling price of the product variant"
                        },
                        "Discount": {
                          "type": "number",
                          "description": "Discount percentage of the product variant"
                        },
                        "DiscountAmount": {
                          "type": "number",
                          "description": "Discount amount of the product variant"
                        },
                        "NettPrice": {
                          "type": "number",
                          "description": "Total amount of the customer delivery"
                        },
                        "Note": {
                          "type": "string",
                          "description": "Note of the product variant"
                        }
                      }
                    }
                  }
                },
                "required": [
                  "Outlet",
                  "Number",
                  "Date",
                  "Customer",
                  "CreatorID",
                  "Created",
                  "Variants"
                ]
              },
              "example": {
                "ID": "e0211b45-358e-4d5c-bf5b-8a31404b125e",
                "Outlet": "Outlet1",
                "Number": "20.09.00003",
                "Date": "2020-09-02T00:00:00",
                "Customer": {
                  "Name": "Hendry",
                  "Title": "MR",
                  "FirstName": "Hendry",
                  "LastName": "Wijaya",
                  "Phone": "0215865894",
                  "Email": "Hendry@dealpos.com",
                  "Code": "HW001",
                  "Address": "Jl. Muara Karang P3T No.30",
                  "Gender": "Male"
                },
                "CreatorID": "71e6e3df-257e-4a56-90ad-f6214b267aee",
                "Created": "2020-09-02T15:10:31.733",
                "Variants": [
                  {
                    "VariantID": "ee02969d-93ea-446c-a105-aca4c7cecd4e",
                    "Name": "Shirt (M)",
                    "Code": "1002M",
                    "Quantity": 1,
                    "Price": 100000,
                    "PriceOriginal": 25,
                    "Discount": 0,
                    "DiscountAmount": 0,
                    "NettPrice": 100000,
                    "Note": "TEST NOTE"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "inboundLogisticComplete": {
      "post": {
        "tags": [
          "Inbound Logistic"
        ],
        "operationId": "receiveInboundLogisticComplete",
        "summary": "Inbound Logistic Complete",
        "description": "This webhook is triggered when the Receive Inbound Logistic operation is completed.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "format": "guid",
                    "description": "ID of Inbound Logistic"
                  },
                  "Outlet": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Origin outlet of the supplier delivery"
                  },
                  "Number": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Origin Number of the supplier delivery"
                  },
                  "Date": {
                    "type": "string",
                    "format": "date-time",
                    "minLength": 1,
                    "description": "Date of the supplier delivery"
                  },
                  "Supplier": {
                    "type": "object",
                    "properties": {
                      "Name": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Name of the supplier"
                      },
                      "Title": {
                        "type": "string",
                        "description": "Title on behalf of the supplier"
                      },
                      "FirstName": {
                        "type": "string",
                        "minLength": 1,
                        "description": "First Name of the supplier"
                      },
                      "LastName": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Last Name of the supplier"
                      },
                      "Phone": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Phone number of the supplier"
                      },
                      "Email": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Email of the supplier"
                      },
                      "Code": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Member Code of the supplier"
                      },
                      "Address": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Address of the supplier"
                      },
                      "Gender": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Gender of the supplier"
                      }
                    },
                    "required": [
                      "Name",
                      "FirstName",
                      "LastName",
                      "Phone",
                      "Email",
                      "Code",
                      "Address",
                      "Gender"
                    ]
                  },
                  "CreatorID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique creator ID of the supplier delivery"
                  },
                  "Created": {
                    "type": "string",
                    "format": "date-time",
                    "minLength": 1,
                    "description": "Created date of the supplier delivery"
                  },
                  "Variants": {
                    "type": "array",
                    "uniqueItems": true,
                    "minItems": 1,
                    "items": {
                      "required": [
                        "VariantID",
                        "Name",
                        "Code",
                        "Quantity",
                        "Price",
                        "Discount",
                        "DiscountAmount",
                        "NettPrice"
                      ],
                      "properties": {
                        "VariantID": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Unique ID of the variant"
                        },
                        "Name": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Name of the product variant"
                        },
                        "Code": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Code of the product variant"
                        },
                        "Quantity": {
                          "type": "number",
                          "description": "Total quantity of the product variant"
                        },
                        "Price": {
                          "type": "number",
                          "description": "Unit selling price of the product variant"
                        },
                        "Discount": {
                          "type": "number",
                          "description": "Discount percentage of the product variant"
                        },
                        "DiscountAmount": {
                          "type": "number",
                          "description": "Discount amount of the product variant"
                        },
                        "NettPrice": {
                          "type": "number",
                          "description": "Total amount of the supplier delivery"
                        },
                        "Note": {
                          "type": "string",
                          "description": "Note of the product variant"
                        },
                        "Taxable": {
                          "type": "boolean",
                          "description": "Is the variant taxable or not"
                        }
                      }
                    }
                  }
                },
                "required": [
                  "Outlet",
                  "Number",
                  "Date",
                  "Supplier",
                  "CreatorID",
                  "Created",
                  "Variants"
                ]
              },
              "example": {
                "ID": "e0211b45-358e-4d5c-bf5b-8a31404b125e",
                "Outlet": "Outlet1",
                "Number": "20.09.00003",
                "Date": "2020-09-02T00:00:00",
                "Supplier": {
                  "Name": "Hendry",
                  "Title": "MR",
                  "FirstName": "Hendry",
                  "LastName": "Wijaya",
                  "Phone": "0215865894",
                  "Email": "Hendry@dealpos.com",
                  "Code": "HW001",
                  "Address": "Jl. Muara Karang P3T No.30",
                  "Gender": "Male"
                },
                "CreatorID": "71e6e3df-257e-4a56-90ad-f6214b267aee",
                "Created": "2020-09-02T15:10:31.733",
                "Variants": [
                  {
                    "VariantID": "ee02969d-93ea-446c-a105-aca4c7cecd4e",
                    "Name": "Shirt (M)",
                    "Code": "1002M",
                    "Quantity": 1,
                    "Price": 100000,
                    "Discount": 0,
                    "DiscountAmount": 0,
                    "NettPrice": 100000,
                    "Note": "TEST NOTE",
                    "Taxable": true
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Inbound Logistic"
        ],
        "operationId": "receiveInboundLogisticUpdate",
        "summary": "Inbound Logistic Updated",
        "description": "This webhook is triggered when the Receive Inbound Logistic operation is updated.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "format": "guid",
                    "description": "ID of Inbound Logistic"
                  },
                  "Outlet": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Origin outlet of the supplier delivery"
                  },
                  "Number": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Origin Number of the supplier delivery"
                  },
                  "Date": {
                    "type": "string",
                    "format": "date-time",
                    "minLength": 1,
                    "description": "Date of the supplier delivery"
                  },
                  "Supplier": {
                    "type": "object",
                    "properties": {
                      "Name": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Name of the supplier"
                      },
                      "Title": {
                        "type": "string",
                        "description": "Title on behalf of the supplier"
                      },
                      "FirstName": {
                        "type": "string",
                        "minLength": 1,
                        "description": "First Name of the supplier"
                      },
                      "LastName": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Last Name of the supplier"
                      },
                      "Phone": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Phone number of the supplier"
                      },
                      "Email": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Email of the supplier"
                      },
                      "Code": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Member Code of the supplier"
                      },
                      "Address": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Address of the supplier"
                      },
                      "Gender": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Gender of the supplier"
                      }
                    },
                    "required": [
                      "Name",
                      "FirstName",
                      "LastName",
                      "Phone",
                      "Email",
                      "Code",
                      "Address",
                      "Gender"
                    ]
                  },
                  "CreatorID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique creator ID of the supplier delivery"
                  },
                  "Created": {
                    "type": "string",
                    "format": "date-time",
                    "minLength": 1,
                    "description": "Created date of the supplier delivery"
                  },
                  "Variants": {
                    "type": "array",
                    "uniqueItems": true,
                    "minItems": 1,
                    "items": {
                      "required": [
                        "VariantID",
                        "Name",
                        "Code",
                        "Quantity",
                        "Price",
                        "Discount",
                        "DiscountAmount",
                        "NettPrice"
                      ],
                      "properties": {
                        "VariantID": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Unique ID of the variant"
                        },
                        "Name": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Name of the product variant"
                        },
                        "Code": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Code of the product variant"
                        },
                        "Quantity": {
                          "type": "number",
                          "description": "Total quantity of the product variant"
                        },
                        "Price": {
                          "type": "number",
                          "description": "Unit selling price of the product variant"
                        },
                        "Discount": {
                          "type": "number",
                          "description": "Discount percentage of the product variant"
                        },
                        "DiscountAmount": {
                          "type": "number",
                          "description": "Discount amount of the product variant"
                        },
                        "NettPrice": {
                          "type": "number",
                          "description": "Total amount of the supplier delivery"
                        },
                        "Note": {
                          "type": "string",
                          "description": "Note of the product variant"
                        },
                        "Taxable": {
                          "type": "boolean",
                          "description": "Is the variant taxable or not"
                        }
                      }
                    }
                  }
                },
                "required": [
                  "Outlet",
                  "Number",
                  "Date",
                  "Supplier",
                  "CreatorID",
                  "Created",
                  "Variants"
                ]
              },
              "example": {
                "ID": "e0211b45-358e-4d5c-bf5b-8a31404b125e",
                "Outlet": "Outlet1",
                "Number": "20.09.00003",
                "Date": "2020-09-02T00:00:00",
                "Supplier": {
                  "Name": "Hendry",
                  "Title": "MR",
                  "FirstName": "Hendry",
                  "LastName": "Wijaya",
                  "Phone": "0215865894",
                  "Email": "Hendry@dealpos.com",
                  "Code": "HW001",
                  "Address": "Jl. Muara Karang P3T No.30",
                  "Gender": "Male"
                },
                "CreatorID": "71e6e3df-257e-4a56-90ad-f6214b267aee",
                "Created": "2020-09-02T15:10:31.733",
                "Variants": [
                  {
                    "VariantID": "ee02969d-93ea-446c-a105-aca4c7cecd4e",
                    "Name": "Shirt (M)",
                    "Code": "1002M",
                    "Quantity": 1,
                    "Price": 100000,
                    "Discount": 0,
                    "DiscountAmount": 0,
                    "NettPrice": 100000,
                    "Note": "TEST NOTE",
                    "Taxable": true
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Inbound Logistic"
        ],
        "operationId": "receiveInboundLogisticDelete",
        "summary": "Inbound Logistic Deleted",
        "description": "This webhook is triggered when the Receive Inbound Logistic operation is deleted.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "format": "guid",
                    "description": "ID of Inbound Logistic"
                  },
                  "Outlet": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Origin outlet of the supplier delivery"
                  },
                  "Number": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Origin Number of the supplier delivery"
                  },
                  "Date": {
                    "type": "string",
                    "format": "date-time",
                    "minLength": 1,
                    "description": "Date of the supplier delivery"
                  },
                  "Supplier": {
                    "type": "object",
                    "properties": {
                      "Name": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Name of the supplier"
                      },
                      "Title": {
                        "type": "string",
                        "description": "Title on behalf of the supplier"
                      },
                      "FirstName": {
                        "type": "string",
                        "minLength": 1,
                        "description": "First Name of the supplier"
                      },
                      "LastName": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Last Name of the supplier"
                      },
                      "Phone": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Phone number of the supplier"
                      },
                      "Email": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Email of the supplier"
                      },
                      "Code": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Member Code of the supplier"
                      },
                      "Address": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Address of the supplier"
                      },
                      "Gender": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Gender of the supplier"
                      }
                    },
                    "required": [
                      "Name",
                      "FirstName",
                      "LastName",
                      "Phone",
                      "Email",
                      "Code",
                      "Address",
                      "Gender"
                    ]
                  },
                  "CreatorID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique creator ID of the supplier delivery"
                  },
                  "Created": {
                    "type": "string",
                    "format": "date-time",
                    "minLength": 1,
                    "description": "Created date of the supplier delivery"
                  },
                  "Variants": {
                    "type": "array",
                    "uniqueItems": true,
                    "minItems": 1,
                    "items": {
                      "required": [
                        "VariantID",
                        "Name",
                        "Code",
                        "Quantity",
                        "Price",
                        "Discount",
                        "DiscountAmount",
                        "NettPrice"
                      ],
                      "properties": {
                        "VariantID": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Unique ID of the variant"
                        },
                        "Name": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Name of the product variant"
                        },
                        "Code": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Code of the product variant"
                        },
                        "Quantity": {
                          "type": "number",
                          "description": "Total quantity of the product variant"
                        },
                        "Price": {
                          "type": "number",
                          "description": "Unit selling price of the product variant"
                        },
                        "Discount": {
                          "type": "number",
                          "description": "Discount percentage of the product variant"
                        },
                        "DiscountAmount": {
                          "type": "number",
                          "description": "Discount amount of the product variant"
                        },
                        "NettPrice": {
                          "type": "number",
                          "description": "Total amount of the supplier delivery"
                        },
                        "Note": {
                          "type": "string",
                          "description": "Note of the product variant"
                        },
                        "Taxable": {
                          "type": "boolean",
                          "description": "Is the variant taxable or not"
                        }
                      }
                    }
                  }
                },
                "required": [
                  "Outlet",
                  "Number",
                  "Date",
                  "Supplier",
                  "CreatorID",
                  "Created",
                  "Variants"
                ]
              },
              "example": {
                "ID": "e0211b45-358e-4d5c-bf5b-8a31404b125e",
                "Outlet": "Outlet1",
                "Number": "20.09.00003",
                "Date": "2020-09-02T00:00:00",
                "Supplier": {
                  "Name": "Hendry",
                  "Title": "MR",
                  "FirstName": "Hendry",
                  "LastName": "Wijaya",
                  "Phone": "0215865894",
                  "Email": "Hendry@dealpos.com",
                  "Code": "HW001",
                  "Address": "Jl. Muara Karang P3T No.30",
                  "Gender": "Male"
                },
                "CreatorID": "71e6e3df-257e-4a56-90ad-f6214b267aee",
                "Created": "2020-09-02T15:10:31.733",
                "Variants": [
                  {
                    "VariantID": "ee02969d-93ea-446c-a105-aca4c7cecd4e",
                    "Name": "Shirt (M)",
                    "Code": "1002M",
                    "Quantity": 1,
                    "Price": 100000,
                    "Discount": 0,
                    "DiscountAmount": 0,
                    "NettPrice": 100000,
                    "Note": "TEST NOTE",
                    "Taxable": true
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "adjustmentCreated": {
      "post": {
        "tags": [
          "Adjustment"
        ],
        "operationId": "adjustmentCreated",
        "summary": "Adjustment Created",
        "description": "This webhook is triggered when an adjustment is Created to inventory.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique id of the Adjustment"
                  },
                  "Outlet": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Origin Outlet of the Adjustment"
                  },
                  "Date": {
                    "type": "string",
                    "format": "date-time",
                    "minLength": 1,
                    "description": "Date of the Adjustment made"
                  },
                  "Number": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Number of the Adjustment"
                  },
                  "PIC": {
                    "type": "string",
                    "description": "Person in charge of the adjustment"
                  },
                  "Type": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Type of the Adjustment",
                    "enum": [
                      "Adjust",
                      "Count"
                    ]
                  },
                  "State": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Adjustment progress / state"
                  },
                  "Note": {
                    "type": "string",
                    "description": "Note of the Adjustment"
                  },
                  "CreatorID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique Creator ID of the adjustment"
                  },
                  "AdjustedInventory": {
                    "type": "array",
                    "uniqueItems": true,
                    "minItems": 1,
                    "items": {
                      "required": [
                        "Variant",
                        "VariantID",
                        "Code",
                        "Quantity",
                        "UnitCost",
                        "UnitPrice",
                        "Price",
                        "TotalCost",
                        "TotalPrice"
                      ],
                      "properties": {
                        "Variant": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Name of the product variant adjusted"
                        },
                        "VariantID": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Variant ID of the product variant adjusted"
                        },
                        "Code": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Code of the product variant adjusted"
                        },
                        "Quantity": {
                          "type": "number",
                          "description": "Quantity of the product variant adjusted"
                        },
                        "UnitCost": {
                          "type": "number",
                          "description": "Unit buying cost of the product variant adjusted"
                        },
                        "UnitPrice": {
                          "type": "number",
                          "description": "Unit selling price of the product variant adjusted"
                        },
                        "Price": {
                          "type": "number",
                          "description": "Original Price of the product variant adjusted"
                        },
                        "TotalCost": {
                          "type": "number",
                          "description": "Total unit buying cost of the product variant adjusted"
                        },
                        "TotalPrice": {
                          "type": "number",
                          "description": "Total unit selling price of the product variant"
                        }
                      }
                    }
                  },
                  "CountedInventory": {
                    "type": "array",
                    "uniqueItems": true,
                    "minItems": 1,
                    "items": {
                      "required": [
                        "Variant",
                        "VariantID",
                        "Code",
                        "Counted",
                        "Actual",
                        "Difference"
                      ],
                      "properties": {
                        "Variant": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Name of the product variant adjusted"
                        },
                        "VariantID": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Variant ID of the product variant adjusted"
                        },
                        "Code": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Code of the product variant adjusted"
                        },
                        "Counted": {
                          "type": "number",
                          "description": "Total counted product of the adjustment"
                        },
                        "Actual": {
                          "type": "number",
                          "description": "Total actual stock product of the adjustment"
                        },
                        "Difference": {
                          "type": "number",
                          "description": "Difference between the counted and the actual product"
                        }
                      }
                    }
                  }
                },
                "required": [
                  "ID",
                  "Outlet",
                  "Date",
                  "Number",
                  "Type",
                  "State",
                  "Note",
                  "AdjustedInventory",
                  "CountedInventory"
                ]
              },
              "example": {
                "ID": "ff7848c9-21f1-4c05-ac9e-1e71d829cc9c",
                "Outlet": "Outlet1",
                "Date": "2020-08-31T00:00:00",
                "Number": "20.08.00014",
                "PIC": "JANSEN",
                "Type": "Count",
                "State": "InProgress",
                "Note": "",
                "CreatorID": "71e6e3df-257e-4a56-90ad-f6214b267aee",
                "AdjustedInventory": [
                  {
                    "Variant": "Denim Shirt (M)",
                    "VariantID": "6d3b0821-1f48-4ca3-87fa-5d9ce2f9bb1e",
                    "Code": "1342M",
                    "Quantity": 7,
                    "UnitCost": 80405.87,
                    "UnitPrice": 500000,
                    "Price": 500000,
                    "TotalCost": 562841.09,
                    "TotalPrice": 3500000
                  }
                ],
                "CountedInventory": [
                  {
                    "Variant": "Denim Shirt (M)",
                    "VariantID": "6d3b0821-1f48-4ca3-87fa-5d9ce2f9bb1e",
                    "Code": "1342M",
                    "Counted": 5,
                    "Actual": -2,
                    "Difference": 7
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "adjustmentDeleted": {
      "post": {
        "tags": [
          "Adjustment"
        ],
        "operationId": "adjustmentDeleted",
        "summary": "Adjustment Deleted",
        "description": "This webhook is triggered when an adjustment is deleted.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique id of the Adjustment"
                  },
                  "Outlet": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Origin Outlet of the Adjustment"
                  },
                  "Date": {
                    "type": "string",
                    "format": "date-time",
                    "minLength": 1,
                    "description": "Date of the Adjustment made"
                  },
                  "Number": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Number of the Adjustment"
                  },
                  "PIC": {
                    "type": "string",
                    "description": "Person in charge of the adjustment"
                  },
                  "Type": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Type of the Adjustment",
                    "enum": [
                      "Adjust",
                      "Count"
                    ]
                  },
                  "State": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Adjustment progress / state"
                  },
                  "Note": {
                    "type": "string",
                    "description": "Note of the Adjustment"
                  },
                  "CreatorID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique Creator ID of the adjustment"
                  },
                  "AdjustedInventory": {
                    "type": "array",
                    "uniqueItems": true,
                    "minItems": 1,
                    "items": {
                      "required": [
                        "Variant",
                        "VariantID",
                        "Code",
                        "Quantity",
                        "UnitCost",
                        "UnitPrice",
                        "Price",
                        "TotalCost",
                        "TotalPrice"
                      ],
                      "properties": {
                        "Variant": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Name of the product variant adjusted"
                        },
                        "VariantID": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Variant ID of the product variant adjusted"
                        },
                        "Code": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Code of the product variant adjusted"
                        },
                        "Quantity": {
                          "type": "number",
                          "description": "Quantity of the product variant adjusted"
                        },
                        "UnitCost": {
                          "type": "number",
                          "description": "Unit buying cost of the product variant adjusted"
                        },
                        "UnitPrice": {
                          "type": "number",
                          "description": "Unit selling price of the product variant adjusted"
                        },
                        "Price": {
                          "type": "number",
                          "description": "Original Price of the product variant adjusted"
                        },
                        "TotalCost": {
                          "type": "number",
                          "description": "Total unit buying cost of the product variant adjusted"
                        },
                        "TotalPrice": {
                          "type": "number",
                          "description": "Total unit selling price of the product variant"
                        }
                      }
                    }
                  },
                  "CountedInventory": {
                    "type": "array",
                    "uniqueItems": true,
                    "minItems": 1,
                    "items": {
                      "required": [
                        "Variant",
                        "VariantID",
                        "Code",
                        "Counted",
                        "Actual",
                        "Difference"
                      ],
                      "properties": {
                        "Variant": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Name of the product variant adjusted"
                        },
                        "VariantID": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Variant ID of the product variant adjusted"
                        },
                        "Code": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Code of the product variant adjusted"
                        },
                        "Counted": {
                          "type": "number",
                          "description": "Total counted product of the adjustment"
                        },
                        "Actual": {
                          "type": "number",
                          "description": "Total actual stock product of the adjustment"
                        },
                        "Difference": {
                          "type": "number",
                          "description": "Difference between the counted and the actual product"
                        }
                      }
                    }
                  }
                },
                "required": [
                  "ID",
                  "Outlet",
                  "Date",
                  "Number",
                  "Type",
                  "State",
                  "Note",
                  "AdjustedInventory",
                  "CountedInventory"
                ]
              },
              "example": {
                "ID": "ff7848c9-21f1-4c05-ac9e-1e71d829cc9c",
                "Outlet": "Outlet1",
                "Date": "2020-08-31T00:00:00",
                "Number": "20.08.00014",
                "PIC": "JANSEN",
                "Type": "Count",
                "State": "InProgress",
                "Note": "",
                "CreatorID": "71e6e3df-257e-4a56-90ad-f6214b267aee",
                "AdjustedInventory": [
                  {
                    "Variant": "Denim Shirt (M)",
                    "VariantID": "6d3b0821-1f48-4ca3-87fa-5d9ce2f9bb1e",
                    "Code": "1342M",
                    "Quantity": 7,
                    "UnitCost": 80405.87,
                    "UnitPrice": 500000,
                    "Price": 500000,
                    "TotalCost": 562841.09,
                    "TotalPrice": 3500000
                  }
                ],
                "CountedInventory": [
                  {
                    "Variant": "Denim Shirt (M)",
                    "VariantID": "6d3b0821-1f48-4ca3-87fa-5d9ce2f9bb1e",
                    "Code": "1342M",
                    "Counted": 5,
                    "Actual": -2,
                    "Difference": 7
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "adjustmentUpdated": {
      "post": {
        "tags": [
          "Adjustment"
        ],
        "operationId": "adjustmentUpdated",
        "summary": "Adjustment Updated",
        "description": "This webhook is triggered when an adjustment is updated.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique id of the Adjustment"
                  },
                  "Outlet": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Origin Outlet of the Adjustment"
                  },
                  "Date": {
                    "type": "string",
                    "format": "date-time",
                    "minLength": 1,
                    "description": "Date of the Adjustment made"
                  },
                  "Number": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Number of the Adjustment"
                  },
                  "PIC": {
                    "type": "string",
                    "description": "Person in charge of the adjustment"
                  },
                  "Type": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Type of the Adjustment",
                    "enum": [
                      "Adjust",
                      "Count"
                    ]
                  },
                  "State": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Adjustment progress / state"
                  },
                  "Note": {
                    "type": "string",
                    "description": "Note of the Adjustment"
                  },
                  "CreatorID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique Creator ID of the adjustment"
                  },
                  "AdjustedInventory": {
                    "type": "array",
                    "uniqueItems": true,
                    "minItems": 1,
                    "items": {
                      "required": [
                        "Variant",
                        "VariantID",
                        "Code",
                        "Quantity",
                        "UnitCost",
                        "UnitPrice",
                        "Price",
                        "TotalCost",
                        "TotalPrice"
                      ],
                      "properties": {
                        "Variant": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Name of the product variant adjusted"
                        },
                        "VariantID": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Variant ID of the product variant adjusted"
                        },
                        "Code": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Code of the product variant adjusted"
                        },
                        "Quantity": {
                          "type": "number",
                          "description": "Quantity of the product variant adjusted"
                        },
                        "UnitCost": {
                          "type": "number",
                          "description": "Unit buying cost of the product variant adjusted"
                        },
                        "UnitPrice": {
                          "type": "number",
                          "description": "Unit selling price of the product variant adjusted"
                        },
                        "Price": {
                          "type": "number",
                          "description": "Original Price of the product variant adjusted"
                        },
                        "TotalCost": {
                          "type": "number",
                          "description": "Total unit buying cost of the product variant adjusted"
                        },
                        "TotalPrice": {
                          "type": "number",
                          "description": "Total unit selling price of the product variant"
                        }
                      }
                    }
                  },
                  "CountedInventory": {
                    "type": "array",
                    "uniqueItems": true,
                    "minItems": 1,
                    "items": {
                      "required": [
                        "Variant",
                        "VariantID",
                        "Code",
                        "Counted",
                        "Actual",
                        "Difference"
                      ],
                      "properties": {
                        "Variant": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Name of the product variant adjusted"
                        },
                        "VariantID": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Variant ID of the product variant adjusted"
                        },
                        "Code": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Code of the product variant adjusted"
                        },
                        "Counted": {
                          "type": "number",
                          "description": "Total counted product of the adjustment"
                        },
                        "Actual": {
                          "type": "number",
                          "description": "Total actual stock product of the adjustment"
                        },
                        "Difference": {
                          "type": "number",
                          "description": "Difference between the counted and the actual product"
                        }
                      }
                    }
                  }
                },
                "required": [
                  "ID",
                  "Outlet",
                  "Date",
                  "Number",
                  "Type",
                  "State",
                  "Note",
                  "AdjustedInventory",
                  "CountedInventory"
                ]
              },
              "example": {
                "ID": "ff7848c9-21f1-4c05-ac9e-1e71d829cc9c",
                "Outlet": "Outlet1",
                "Date": "2020-08-31T00:00:00",
                "Number": "20.08.00014",
                "PIC": "JANSEN",
                "Type": "Count",
                "State": "InProgress",
                "Note": "",
                "CreatorID": "71e6e3df-257e-4a56-90ad-f6214b267aee",
                "AdjustedInventory": [
                  {
                    "Variant": "Denim Shirt (M)",
                    "VariantID": "6d3b0821-1f48-4ca3-87fa-5d9ce2f9bb1e",
                    "Code": "1342M",
                    "Quantity": 7,
                    "UnitCost": 80405.87,
                    "UnitPrice": 500000,
                    "Price": 500000,
                    "TotalCost": 562841.09,
                    "TotalPrice": 3500000
                  }
                ],
                "CountedInventory": [
                  {
                    "Variant": "Denim Shirt (M)",
                    "VariantID": "6d3b0821-1f48-4ca3-87fa-5d9ce2f9bb1e",
                    "Code": "1342M",
                    "Counted": 5,
                    "Actual": -2,
                    "Difference": 7
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "paymentCreated": {
      "post": {
        "tags": [
          "Invoice Payment"
        ],
        "operationId": "paymentCreated",
        "summary": "Payment Created",
        "description": "This webhook is triggered when a payment is created.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the payment"
                  },
                  "InvoiceID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique invoice ID of the payment"
                  },
                  "Outlet": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Origin outlet of the payment"
                  },
                  "Number": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Number of the transaction"
                  },
                  "Amount": {
                    "type": "number",
                    "description": "Total amount of the payment"
                  },
                  "Method": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Type/method of the payment"
                  },
                  "Date": {
                    "type": "string",
                    "format": "date",
                    "minLength": 1,
                    "description": "Date of the payment made"
                  },
                  "Created": {
                    "type": "string",
                    "format": "date",
                    "minLength": 1,
                    "description": "Created date of the payment"
                  },
                  "Creator": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Name of person who created the payment"
                  },
                  "CreatorID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the person who created the payment"
                  }
                },
                "required": [
                  "ID",
                  "InvoiceID",
                  "Outlet",
                  "Number",
                  "Amount",
                  "Method",
                  "Date",
                  "Created",
                  "Creator"
                ]
              },
              "example": {
                "ID": "1c2a88a6-d99c-4915-91af-a36110c34c7a",
                "InvoiceID": "008cdf4c-f5c1-449c-94dd-c2f3741fb1ab",
                "Outlet": "Outlet1",
                "Number": "2020.07.0001",
                "Amount": 100000,
                "Method": "Cash",
                "Date": "2020-07-01",
                "Created": "2020-07-31",
                "Creator": "Hendry",
                "CreatorID": "71e6e3df-257e-4a56-90ad-f6214b267aee"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "paymentDeleted": {
      "post": {
        "tags": [
          "Invoice Payment"
        ],
        "operationId": "paymentDeleted",
        "summary": "Payment Deleted",
        "description": "This webhook is triggered when a payment is removed from the Orders Menu (InvoiceInfo).",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the payment"
                  },
                  "InvoiceID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique invoice ID of the payment"
                  },
                  "Outlet": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Origin outlet of the payment"
                  },
                  "Number": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Number of the transaction"
                  },
                  "Amount": {
                    "type": "number",
                    "description": "Total amount of the payment"
                  },
                  "Method": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Type or method of the payment"
                  },
                  "Date": {
                    "type": "string",
                    "format": "date",
                    "description": "Date when the payment was made"
                  },
                  "Created": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Creation timestamp of the payment"
                  },
                  "Creator": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Name of the person who created the payment"
                  },
                  "CreatorID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the person who created the payment"
                  }
                },
                "required": [
                  "ID",
                  "InvoiceID",
                  "Outlet",
                  "Number",
                  "Amount",
                  "Method",
                  "Date",
                  "Created",
                  "Creator"
                ]
              },
              "example": {
                "ID": "1c2a88a6-d99c-4915-91af-a36110c34c7a",
                "InvoiceID": "008cdf4c-f5c1-449c-94dd-c2f3741fb1ab",
                "Outlet": "Outlet1",
                "Number": "2020.07.0001",
                "Amount": 100000,
                "Method": "Cash",
                "Date": "2020-07-01",
                "Created": "2020-07-31",
                "Creator": "Hendry",
                "CreatorID": "71e6e3df-257e-4a56-90ad-f6214b267aee"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "paymentUpdated": {
      "post": {
        "tags": [
          "Invoice Payment"
        ],
        "operationId": "paymentUpdated",
        "summary": "Payment Updated",
        "description": "This webhook is triggered when a payment transaction is updated in the Orders Menu.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the payment"
                  },
                  "InvoiceID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique invoice ID of the payment"
                  },
                  "Outlet": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Origin outlet of the payment"
                  },
                  "Number": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Number of the transaction"
                  },
                  "Amount": {
                    "type": "number",
                    "description": "Total amount of the payment"
                  },
                  "Method": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Type or method of the payment"
                  },
                  "Date": {
                    "type": "string",
                    "format": "date",
                    "description": "Date when the payment was made"
                  },
                  "Created": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Creation timestamp of the payment"
                  },
                  "Creator": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Name of the person who created the payment"
                  },
                  "CreatorID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the person who created the payment"
                  }
                },
                "required": [
                  "ID",
                  "InvoiceID",
                  "Outlet",
                  "Number",
                  "Amount",
                  "Method",
                  "Date",
                  "Created",
                  "Creator"
                ]
              },
              "examples": {
                "example-1": {
                  "value": {
                    "ID": "1c2a88a6-d99c-4915-91af-a36110c34c7a",
                    "InvoiceID": "008cdf4c-f5c1-449c-94dd-c2f3741fb1ab",
                    "Outlet": "Outlet1",
                    "Number": "2020.07.0001",
                    "Amount": 100000,
                    "Method": "Cash",
                    "Date": "2020-07-01",
                    "Created": "2020-07-31",
                    "Creator": "Hendry",
                    "CreatorID": "71e6e3df-257e-4a56-90ad-f6214b267aee"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "paymentWriteoff": {
      "post": {
        "tags": [
          "Invoice Write Off"
        ],
        "summary": "Payment Write Off",
        "description": "Triggered when invoice payment Write Off is created",
        "operationId": "writeOffPaymentTransaction",
        "x-tags": [
          "Payment"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the payment"
                  },
                  "InvoiceID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique invoice ID of the payment"
                  },
                  "Outlet": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Origin outlet of the payment"
                  },
                  "Number": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Number of the transaction"
                  },
                  "Amount": {
                    "type": "number",
                    "description": "Total amount of the payment"
                  },
                  "Method": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Type/method of the payment"
                  },
                  "Date": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Date of the payment made"
                  },
                  "Created": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Created date of the payment"
                  },
                  "Creator": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Name of person who created the payment"
                  },
                  "CreatorID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the person who created the payment"
                  },
                  "TagID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the tag of Write Off associated with the payment"
                  }
                },
                "required": [
                  "ID",
                  "InvoiceID",
                  "Outlet",
                  "Number",
                  "Amount",
                  "Method",
                  "Date",
                  "Created",
                  "Creator"
                ]
              },
              "example": {
                "ID": "1c2a88a6-d99c-4915-91af-a36110c34c7a",
                "InvoiceID": "008cdf4c-f5c1-449c-94dd-c2f3741fb1ab",
                "Outlet": "Outlet1",
                "Number": "2020.07.0001",
                "Amount": 100000,
                "Method": "Cash",
                "Date": "2020-07-01",
                "Created": "2020-07-31",
                "Creator": "Hendry",
                "CreatorID": "71e6e3df-257e-4a56-90ad-f6214b267aee",
                "TagID": "1c2a88a6-d99c-4915-91af-a36110c34c7a"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful processing of the write-off ."
          },
          "400": {
            "description": "Bad request due to invalid input data."
          }
        }
      }
    },
    "paymentWriteoffUpdate": {
      "post": {
        "tags": [
          "Invoice Write Off"
        ],
        "summary": "Update Payment Write Off",
        "description": "Triggered when invoice payment Write Off is updated",
        "operationId": "writeOffUpdatedPaymentTransaction",
        "x-tags": [
          "Payment"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the payment"
                  },
                  "InvoiceID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique invoice ID of the payment"
                  },
                  "Outlet": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Origin outlet of the payment"
                  },
                  "Number": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Number of the transaction"
                  },
                  "Amount": {
                    "type": "number",
                    "description": "Total amount of the payment"
                  },
                  "Method": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Type/method of the payment"
                  },
                  "Date": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Date of the payment made"
                  },
                  "Created": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Created date of the payment"
                  },
                  "Creator": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Name of person who created the payment"
                  },
                  "CreatorID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the person who created the payment"
                  },
                  "TagID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the tag of Write Off associated with the payment"
                  }
                },
                "required": [
                  "ID",
                  "InvoiceID",
                  "Outlet",
                  "Number",
                  "Amount",
                  "Method",
                  "Date",
                  "Created",
                  "Creator"
                ]
              },
              "example": {
                "ID": "1c2a88a6-d99c-4915-91af-a36110c34c7a",
                "InvoiceID": "008cdf4c-f5c1-449c-94dd-c2f3741fb1ab",
                "Outlet": "Outlet1",
                "Number": "2020.07.0001",
                "Amount": 100000,
                "Method": "Cash",
                "Date": "2020-07-01",
                "Created": "2020-07-31",
                "Creator": "Hendry",
                "CreatorID": "71e6e3df-257e-4a56-90ad-f6214b267aee",
                "TagID": "1c2a88a6-d99c-4915-91af-a36110c34c7a"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful processing of the write-off ."
          },
          "400": {
            "description": "Bad request due to invalid input data."
          }
        }
      }
    },
    "paymentWriteoffCancel": {
      "post": {
        "tags": [
          "Invoice Write Off"
        ],
        "summary": "Payment Write Off Cancelled",
        "description": "Triggered when invoice payment Write Off is cancelled",
        "operationId": "writeOffCancelledPaymentTransaction",
        "x-tags": [
          "Payment"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the payment"
                  },
                  "InvoiceID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique invoice ID of the payment"
                  },
                  "Outlet": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Origin outlet of the payment"
                  },
                  "Number": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Number of the transaction"
                  },
                  "Amount": {
                    "type": "number",
                    "description": "Total amount of the payment"
                  },
                  "Method": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Type/method of the payment"
                  },
                  "Date": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Date of the payment made"
                  },
                  "Created": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Created date of the payment"
                  },
                  "Creator": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Name of person who created the payment"
                  },
                  "CreatorID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the person who created the payment"
                  },
                  "TagID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the tag of Write Off associated with the payment"
                  }
                },
                "required": [
                  "ID",
                  "InvoiceID",
                  "Outlet",
                  "Number",
                  "Amount",
                  "Method",
                  "Date",
                  "Created",
                  "Creator"
                ]
              },
              "example": {
                "ID": "1c2a88a6-d99c-4915-91af-a36110c34c7a",
                "InvoiceID": "008cdf4c-f5c1-449c-94dd-c2f3741fb1ab",
                "Outlet": "Outlet1",
                "Number": "2020.07.0001",
                "Amount": 100000,
                "Method": "Cash",
                "Date": "2020-07-01",
                "Created": "2020-07-31",
                "Creator": "Hendry",
                "CreatorID": "71e6e3df-257e-4a56-90ad-f6214b267aee",
                "TagID": "1c2a88a6-d99c-4915-91af-a36110c34c7a"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful processing of the write-off ."
          },
          "400": {
            "description": "Bad request due to invalid input data."
          }
        }
      }
    },
    "supplierBillPaymentCreated": {
      "post": {
        "tags": [
          "Bill Payment"
        ],
        "summary": "Supplier Bill Payment Created",
        "description": "Triggered when a supplier bill payment is successfully completed.",
        "operationId": "supplierBillPaymentCreated",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the payment"
                  },
                  "BillID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique bill ID of the payment"
                  },
                  "Outlet": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Origin outlet of the payment"
                  },
                  "Number": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Number of the transaction"
                  },
                  "Amount": {
                    "type": "number",
                    "description": "Total amount of the payment"
                  },
                  "Method": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Type/method of the payment"
                  },
                  "Date": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Date of the payment made"
                  },
                  "Created": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Created date of the payment"
                  },
                  "Creator": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Name of the person who created the payment"
                  },
                  "CreatorID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the person who created the payment"
                  }
                },
                "required": [
                  "ID",
                  "BillID",
                  "Outlet",
                  "Number",
                  "Amount",
                  "Method",
                  "Date",
                  "Created",
                  "Creator"
                ]
              },
              "example": {
                "ID": "f53187c8-1b8e-4075-a227-6867d09179cd",
                "BillID": "7aaf89d0-52be-448a-8f19-18ef163e21ff",
                "Outlet": "Outlet1",
                "Number": "2-OT/21/08/0006",
                "Amount": 60000,
                "Method": "Cash",
                "Date": "2021-08-20T00:00:00",
                "Created": "2021-08-20T10:28:56.6691072",
                "Creator": "dealpos",
                "CreatorID": "71e6e3df-257e-4a56-90ad-f6214b267aee"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully processed supplier bill payment creation ."
          },
          "400": {
            "description": "Invalid input or data format."
          }
        }
      }
    },
    "supplierBillPaymentDeleted": {
      "post": {
        "summary": "Supplier Bill Payment Deleted",
        "description": "Triggered when a supplier bill payment is successfully deleted.",
        "operationId": "supplierBillPaymentDeleted",
        "tags": [
          "Bill Payment"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the payment"
                  },
                  "BillID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique bill ID of the payment"
                  },
                  "Outlet": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Origin outlet of the payment"
                  },
                  "Number": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Number of the transaction"
                  },
                  "Amount": {
                    "type": "number",
                    "description": "Total amount of the payment"
                  },
                  "Method": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Type/method of the payment"
                  },
                  "Date": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Date of the payment made"
                  },
                  "Created": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Created date of the payment"
                  },
                  "Creator": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Name of the person who created the payment"
                  },
                  "CreatorID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the person who created the payment"
                  }
                },
                "required": [
                  "ID",
                  "BillID",
                  "Outlet",
                  "Number",
                  "Amount",
                  "Method",
                  "Date",
                  "Created",
                  "Creator"
                ]
              },
              "example": {
                "ID": "f53187c8-1b8e-4075-a227-6867d09179cd",
                "BillID": "7aaf89d0-52be-448a-8f19-18ef163e21ff",
                "Outlet": "Outlet1",
                "Number": "2-OT/21/08/0006",
                "Amount": 60000,
                "Method": "Cash",
                "Date": "2021-08-20T00:00:00",
                "Created": "2021-08-20T10:28:56.6691072",
                "Creator": "dealpos",
                "CreatorID": "71e6e3df-257e-4a56-90ad-f6214b267aee"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully processed supplier bill payment deletion ."
          },
          "400": {
            "description": "Invalid input or data format."
          }
        }
      }
    },
    "supplierBillPaymentUpdated": {
      "post": {
        "summary": "Supplier Bill Payment Updated",
        "description": "Triggered when a supplier bill payment is successfully updated.",
        "operationId": "supplierBillPaymentUpdated",
        "tags": [
          "Bill Payment"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the payment"
                  },
                  "BillID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique bill ID of the payment"
                  },
                  "Outlet": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Origin outlet of the payment"
                  },
                  "Number": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Number of the transaction"
                  },
                  "Amount": {
                    "type": "number",
                    "description": "Total amount of the payment"
                  },
                  "Method": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Type/method of the payment"
                  },
                  "Date": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Date of the payment made"
                  },
                  "Created": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Created date of the payment"
                  },
                  "Creator": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Name of the person who created the payment"
                  },
                  "CreatorID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the person who created the payment"
                  }
                },
                "required": [
                  "ID",
                  "BillID",
                  "Outlet",
                  "Number",
                  "Amount",
                  "Method",
                  "Date",
                  "Created",
                  "Creator"
                ]
              },
              "example": {
                "ID": "f53187c8-1b8e-4075-a227-6867d09179cd",
                "BillID": "7aaf89d0-52be-448a-8f19-18ef163e21ff",
                "Outlet": "Outlet1",
                "Number": "2-OT/21/08/0006",
                "Amount": 60000,
                "Method": "Cash",
                "Date": "2021-08-20T00:00:00",
                "Created": "2021-08-20T10:28:56.6691072",
                "Creator": "dealpos",
                "CreatorID": "71e6e3df-257e-4a56-90ad-f6214b267aee"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully processed supplier bill payment update ."
          },
          "400": {
            "description": "Invalid input or data format."
          }
        }
      }
    },
    "supplierBillPaymentWriteOff": {
      "post": {
        "summary": "Supplier Bill Payment Write Off Created",
        "description": "Triggered when a supplier bill write off is successfully created.",
        "operationId": "supplierBillPaymentwriteOff",
        "tags": [
          "Supplier Bill Write Off"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the payment"
                  },
                  "BillID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique bill ID of the payment"
                  },
                  "Outlet": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Origin outlet of the payment"
                  },
                  "Number": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Number of the transaction"
                  },
                  "Amount": {
                    "type": "number",
                    "description": "Total amount of the payment"
                  },
                  "Method": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Type/method of the payment"
                  },
                  "Date": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Date of the payment made"
                  },
                  "Created": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Created date of the payment"
                  },
                  "Creator": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Name of the person who created the payment"
                  },
                  "CreatorID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the person who created the payment"
                  }
                },
                "required": [
                  "ID",
                  "BillID",
                  "Outlet",
                  "Number",
                  "Amount",
                  "Method",
                  "Date",
                  "Created",
                  "Creator"
                ]
              },
              "example": {
                "ID": "f53187c8-1b8e-4075-a227-6867d09179cd",
                "BillID": "7aaf89d0-52be-448a-8f19-18ef163e21ff",
                "Outlet": "Outlet1",
                "Number": "2-OT/21/08/0006",
                "Amount": 60000,
                "Method": "Cash",
                "Date": "2021-08-20T00:00:00",
                "Created": "2021-08-20T10:28:56.6691072",
                "Creator": "dealpos",
                "CreatorID": "71e6e3df-257e-4a56-90ad-f6214b267aee"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully processed supplier bill payment Write Off ."
          },
          "400": {
            "description": "Invalid input or data format."
          }
        }
      }
    },
    "supplierBillPaymentWriteOffUpdated": {
      "post": {
        "summary": "Supplier Bill Payment Write Off Updated",
        "description": "Triggered when a supplier bill write off is successfully updated.",
        "operationId": "supplierBillPaymentwriteOffUpdated",
        "tags": [
          "Supplier Bill Write Off"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the payment"
                  },
                  "BillID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique bill ID of the payment"
                  },
                  "Outlet": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Origin outlet of the payment"
                  },
                  "Number": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Number of the transaction"
                  },
                  "Amount": {
                    "type": "number",
                    "description": "Total amount of the payment"
                  },
                  "Method": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Type/method of the payment"
                  },
                  "Date": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Date of the payment made"
                  },
                  "Created": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Created date of the payment"
                  },
                  "Creator": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Name of the person who created the payment"
                  },
                  "CreatorID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the person who created the payment"
                  }
                },
                "required": [
                  "ID",
                  "BillID",
                  "Outlet",
                  "Number",
                  "Amount",
                  "Method",
                  "Date",
                  "Created",
                  "Creator"
                ]
              },
              "example": {
                "ID": "f53187c8-1b8e-4075-a227-6867d09179cd",
                "BillID": "7aaf89d0-52be-448a-8f19-18ef163e21ff",
                "Outlet": "Outlet1",
                "Number": "2-OT/21/08/0006",
                "Amount": 60000,
                "Method": "Cash",
                "Date": "2021-08-20T00:00:00",
                "Created": "2021-08-20T10:28:56.6691072",
                "Creator": "dealpos",
                "CreatorID": "71e6e3df-257e-4a56-90ad-f6214b267aee"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully processed supplier bill payment Write Off ."
          },
          "400": {
            "description": "Invalid input or data format."
          }
        }
      }
    },
    "supplierBillPaymentWriteOffCancel": {
      "post": {
        "summary": "Supplier Bill Payment Write Off Cancelled",
        "description": "Triggered when a supplier bill payment write off is successfully cancelled.",
        "operationId": "supplierBillPaymentWriteOffCancel",
        "tags": [
          "Supplier Bill Write Off"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the payment"
                  },
                  "BillID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique bill ID of the payment"
                  },
                  "Outlet": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Origin outlet of the payment"
                  },
                  "Number": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Number of the transaction"
                  },
                  "Amount": {
                    "type": "number",
                    "description": "Total amount of the payment"
                  },
                  "Method": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Type/method of the payment"
                  },
                  "Date": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Date of the payment made"
                  },
                  "Created": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Created date of the payment"
                  },
                  "Creator": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Name of the person who created the payment"
                  },
                  "CreatorID": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Unique ID of the person who created the payment"
                  }
                },
                "required": [
                  "ID",
                  "BillID",
                  "Outlet",
                  "Number",
                  "Amount",
                  "Method",
                  "Date",
                  "Created",
                  "Creator"
                ]
              },
              "example": {
                "ID": "f53187c8-1b8e-4075-a227-6867d09179cd",
                "BillID": "7aaf89d0-52be-448a-8f19-18ef163e21ff",
                "Outlet": "Outlet1",
                "Number": "2-OT/21/08/0006",
                "Amount": 60000,
                "Method": "Cash",
                "Date": "2021-08-20T00:00:00",
                "Created": "2021-08-20T10:28:56.6691072",
                "Creator": "dealpos",
                "CreatorID": "71e6e3df-257e-4a56-90ad-f6214b267aee"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully processed supplier bill payment Write Off ."
          },
          "400": {
            "description": "Invalid input or data format."
          }
        }
      }
    },
    "shiftClosed": {
      "post": {
        "summary": "Close Shift",
        "description": "This webhook is triggered when a cashier closes the shift.",
        "operationId": "closeShift",
        "tags": [
          "Shift"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "Outlet": {
                    "type": "string"
                  },
                  "Register": {
                    "type": "string"
                  },
                  "Open": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "Close": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "Cashier": {
                    "type": "string"
                  },
                  "SalesNTax": {
                    "type": "number"
                  },
                  "TotalInvoice": {
                    "type": "integer"
                  },
                  "Visitor": {
                    "type": "integer"
                  },
                  "Number": {
                    "type": "string"
                  },
                  "Session": {
                    "type": "object",
                    "properties": {
                      "ID": {
                        "type": "string",
                        "format": "uuid"
                      },
                      "RegisterID": {
                        "type": "string"
                      },
                      "UserID": {
                        "type": "string"
                      },
                      "UserName": {
                        "type": "string"
                      },
                      "EntityID": {
                        "type": "string"
                      },
                      "Start": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "End": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "Note": {
                        "type": "string"
                      },
                      "Number": {
                        "type": "string"
                      },
                      "Sales": {
                        "type": "number"
                      },
                      "Tax": {
                        "type": "number"
                      },
                      "Taxable": {
                        "type": "number"
                      },
                      "TaxExempt": {
                        "type": "number"
                      },
                      "Invoice_Count": {
                        "type": "integer"
                      },
                      "LastNumber": {
                        "type": "string"
                      },
                      "InvoiceDateTypeID": {
                        "type": "integer"
                      },
                      "TypeLabel": {
                        "type": "string"
                      },
                      "SalesNSurcharge": {
                        "type": "number"
                      },
                      "Visitors": {
                        "type": "integer"
                      },
                      "Surcharge": {
                        "type": "number"
                      },
                      "ARAmount": {
                        "type": "number"
                      },
                      "ARTransaction": {
                        "type": "number"
                      },
                      "RegisterName": {
                        "type": "string"
                      },
                      "CreatorID": {
                        "type": "string"
                      },
                      "Created": {
                        "type": "string"
                      },
                      "ModifierID": {
                        "type": "string"
                      },
                      "Modified": {
                        "type": "string"
                      },
                      "CreatorName": {
                        "type": "string"
                      },
                      "ModifierName": {
                        "type": "string"
                      },
                      "Bin": {
                        "type": "boolean"
                      }
                    }
                  }
                },
                "required": [
                  "ID",
                  "Outlet",
                  "Register",
                  "Number",
                  "Open",
                  "Close",
                  "Cashier",
                  "SalesNTax",
                  "TotalInvoice",
                  "Visitor",
                  "Session"
                ]
              },
              "example": {
                "ID": "1de32523-ad82-461e-8980-f62bf337ee42",
                "Outlet": "Outlet1",
                "Register": "Outlet1",
                "Open": "2025-04-08T14:37:01.283",
                "Close": "2025-04-16T10:11:59.608095+07:00",
                "Cashier": "admin",
                "SalesNTax": 208000,
                "TotalInvoice": 2,
                "Visitor": 0,
                "Number": "/04/25/00001",
                "Session": {
                  "ID": "1de32523-ad82-461e-8980-f62bf337ee42",
                  "RegisterID": "d958ae1e-427e-4f15-9861-6776d146450e",
                  "UserID": "71e6e3df-257e-4a56-90ad-f6214b267aee",
                  "UserName": "admin",
                  "EntityID": "373ec12c-cb1a-43e3-a66c-34bf96ff3104",
                  "Start": "2025-04-08T14:37:01.283",
                  "End": "2025-04-16T10:11:59.608095+07:00",
                  "Note": "",
                  "Number": "/04/25/00001",
                  "Sales": 208000,
                  "Tax": 0,
                  "Taxable": 0,
                  "TaxExempt": 0,
                  "Invoice_Count": 2,
                  "LastNumber": "DKM/04/25/00003",
                  "InvoiceDateTypeID": 0,
                  "TypeLabel": "Created",
                  "SalesNSurcharge": 208000,
                  "Visitors": 0,
                  "Surcharge": 0,
                  "ARAmount": 0,
                  "ARTransaction": 0,
                  "RegisterName": "Register1",
                  "CreatorID": "71e6e3df-257e-4a56-90ad-f6214b267aee",
                  "Created": "0001-01-01T00:00:00",
                  "ModifierID": "00000000-0000-0000-0000-000000000000",
                  "Modified": "0001-01-01T00:00:00",
                  "CreatorName": "Ferdi",
                  "ModifierName": "Ferdi",
                  "Bin": false
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook processed successfully."
          }
        }
      }
    },
    "outletCreated": {
      "post": {
        "summary": "Outlet Created",
        "description": "This webhook is triggered when a new outlet is created in the Outlets menu.\n",
        "operationId": "outletCreatedEvent",
        "tags": [
          "Outlet"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "Name": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Outlet name created"
                  },
                  "Code": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Outlet code"
                  },
                  "Suspended": {
                    "type": "boolean",
                    "description": "Suspend state/status of the outlet"
                  }
                },
                "required": [
                  "Name",
                  "Code",
                  "Suspended"
                ]
              },
              "examples": {
                "example-1": {
                  "summary": "Example of a new outlet creation",
                  "value": {
                    "Name": "Outlet5",
                    "Code": "OTL5",
                    "Suspended": false
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Outlet creation acknowledged successfully.",
            "content": {
              "application/json": {
                "example": {
                  "message": "Outlet created successfully"
                }
              }
            }
          }
        }
      }
    },
    "salesOrderCreated": {
      "post": {
        "tags": [
          "Sales Order"
        ],
        "operationId": "salesOrderCreated",
        "summary": "Sales Order Created",
        "description": "Sends data when a sales order is converted to an invoice.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "example": {
                "ID": "e0211b45-358e-4d5c-bf5b-8a31404b125e",
                "Outlet": "Outlet1",
                "Number": "20.09.00020",
                "Date": "2020-09-02T00:00:00",
                "DueDate": "2020-09-10T00:00:00",
                "Tag": "Take Away",
                "Customer": {
                  "Name": "Hendry",
                  "Email": "henz2194w@gmail.com",
                  "Phone": "0215851412",
                  "Mobile": "0815161688",
                  "Code": "HW0001"
                },
                "CreatorID": "ff7848c9-21f1-4c05-ac9e-1e71d829cc9c",
                "Created": "2020-09-02T13:52:18.33",
                "Discount1": 0,
                "Discount2": 0,
                "DiscountAmount": 0,
                "Gross": 100000,
                "DiscountTotal": 0,
                "TaxType": "No Tax",
                "TaxCalculation": "Add",
                "Tax": 0,
                "TaxRate": 0,
                "Sales": 100000,
                "Surcharge": 0,
                "SalesNTax": 100000,
                "Coupon": "KUPON123",
                "Note": "CONTOH NOTE",
                "PointUsed": 0,
                "PointsEarned": 0,
                "Delivery": "Sent",
                "Void": "No",
                "Variants": [
                  {
                    "VariantID": "cdc45c7e-4990-40c3-a41e-3ee5fb1ec200",
                    "Name": "Muffin (Medium)",
                    "Code": "MM3002",
                    "Quantity": 1,
                    "UnitQuantity": 1,
                    "Cost": 213213,
                    "Price": 100000,
                    "PriceOriginal": 17389.03,
                    "Discount": 0,
                    "DiscountAmount": 0,
                    "Taxable": true,
                    "LoyaltyPoint": true,
                    "Expense": 10000,
                    "NettPrice": 100000,
                    "Commission": 0,
                    "SalesName": "FERDI",
                    "PriceTypeID": 1,
                    "Note": "Combo 1"
                  }
                ],
                "OutboundLogistics": [
                  {
                    "Outlet": "Outlet2",
                    "Number": "20.09.00020",
                    "Date": "2020-09-02T00:00:00"
                  }
                ],
                "Payments": [
                  {
                    "Date": "2020-09-02T00:00:00",
                    "Amount": 100000,
                    "Method": "Debit Card",
                    "Code": "1234-1546-1546",
                    "Note": "Pay with BCA card"
                  }
                ]
              },
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "description": "Unique ID of the invoice"
                  },
                  "Outlet": {
                    "type": "string",
                    "description": "Name of the outlet"
                  },
                  "Number": {
                    "type": "string",
                    "description": "Number of the invoice transaction"
                  },
                  "Date": {
                    "type": "string",
                    "description": "Sell date of the invoice transaction"
                  },
                  "DueDate": {
                    "type": "string",
                    "description": "Due date of the invoice transaction"
                  },
                  "Tag": {
                    "type": "string",
                    "description": "Channel Tagging system. (ex:Offline / Whatsapp / Shopee / Tokopedia) used in marketplace.dealpos.app. Backwards Compatibility with property request \"SalesType\""
                  },
                  "Customer": {
                    "type": "object",
                    "properties": {
                      "Name": {
                        "type": "string",
                        "description": "Name of the customer"
                      },
                      "Email": {
                        "type": "string",
                        "description": "E-mail of the customer"
                      },
                      "Phone": {
                        "type": "string",
                        "description": "Phone number of the customer"
                      },
                      "Mobile": {
                        "type": "string",
                        "description": "Mobile Phone Number of the customer"
                      },
                      "Code": {
                        "type": "string",
                        "description": "Unique Code of the customer"
                      }
                    },
                    "required": [
                      "Name",
                      "Email",
                      "Phone",
                      "Mobile",
                      "Code"
                    ]
                  },
                  "CreatorID": {
                    "type": "string",
                    "description": "Unique ID of the creator"
                  },
                  "Created": {
                    "type": "string",
                    "description": "Invoice created Transaction Date by system"
                  },
                  "Discount1": {
                    "type": "integer",
                    "description": "Percentage of discount 1"
                  },
                  "Discount2": {
                    "type": "integer",
                    "description": "Percentage of discount 2"
                  },
                  "DiscountAmount": {
                    "type": "integer",
                    "description": "Discount Amount per-invoice"
                  },
                  "Gross": {
                    "type": "integer",
                    "description": "Total amount of the transaction before discounted"
                  },
                  "DiscountTotal": {
                    "type": "integer",
                    "description": "Total accumulation of whole discounts"
                  },
                  "TaxType": {
                    "type": "string",
                    "description": "Type name of the tax"
                  },
                  "TaxCalculation": {
                    "type": "string",
                    "description": "Calculation tax type (Add or Include)"
                  },
                  "Tax": {
                    "type": "integer",
                    "description": "Total amount of the taxes"
                  },
                  "TaxRate": {
                    "type": "integer",
                    "description": "Rate of Tax in percentage"
                  },
                  "Sales": {
                    "type": "integer",
                    "description": "Total amount of the sales after subtraction"
                  },
                  "Surcharge": {
                    "type": "integer",
                    "description": "Additional expense (ex: from credit card)"
                  },
                  "SalesNTax": {
                    "type": "integer",
                    "description": "Total amount of sales after taxes"
                  },
                  "Coupon": {
                    "type": "string",
                    "description": "Registered Coupon Name/Code"
                  },
                  "Note": {
                    "type": "string",
                    "description": "Note of the invoice transaction"
                  },
                  "PointUsed": {
                    "type": "integer",
                    "description": "Total point used in the transaction"
                  },
                  "PointsEarned": {
                    "type": "integer",
                    "description": "Total point earned from the transaction"
                  },
                  "Delivery": {
                    "type": "string",
                    "description": "Delivery status / progress of the invoice (Value: Sent / Unsent / Partial)"
                  },
                  "Void": {
                    "type": "string",
                    "description": "Void state / status of the invoice (Yes / No)"
                  },
                  "Variants": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "VariantID": {
                          "type": "string",
                          "description": "Variant ID"
                        },
                        "Name": {
                          "type": "string",
                          "description": "Variant's Name"
                        },
                        "Code": {
                          "type": "string",
                          "description": "Variant's Code"
                        },
                        "Quantity": {
                          "type": "integer",
                          "description": "Quantity of the variant"
                        },
                        "UnitQuantity": {
                          "type": "integer",
                          "description": "Unit Quantity Measurement of the variant"
                        },
                        "Cost": {
                          "type": "integer",
                          "description": "Unit Cost of variant"
                        },
                        "Price": {
                          "type": "integer",
                          "description": "Selling Price of the variant"
                        },
                        "PriceOriginal": {
                          "type": "number",
                          "description": "Original Price (before discounted) of the variant"
                        },
                        "Discount": {
                          "type": "integer",
                          "description": "Discount Percentage (%) of the variant"
                        },
                        "DiscountAmount": {
                          "type": "integer",
                          "description": "Total discount amount per-after multiply by the qty"
                        },
                        "Taxable": {
                          "type": "boolean",
                          "description": "Taxable state/status of the invoice transaction"
                        },
                        "LoyaltyPoint": {
                          "type": "boolean",
                          "description": "Loyalty state/status of the invoice transaction"
                        },
                        "Expense": {
                          "type": "integer",
                          "description": "Additional Expense of the variant"
                        },
                        "NettPrice": {
                          "type": "integer",
                          "description": "Total amount of the variant after subscration"
                        },
                        "Commission": {
                          "type": "integer",
                          "description": "Sales commision of the invoice transaction"
                        },
                        "SalesName": {
                          "type": "string",
                          "description": "Sales Person Name of the transaction"
                        },
                        "PriceTypeID": {
                          "type": "integer",
                          "description": "Sales price type of the transaction"
                        },
                        "Note": {
                          "type": "string",
                          "description": "Product Variant Note of the invoice transaction"
                        }
                      },
                      "required": [
                        "VariantID",
                        "Name",
                        "Code",
                        "Quantity",
                        "UnitQuantity",
                        "Cost",
                        "Price",
                        "PriceOriginal",
                        "Discount",
                        "DiscountAmount",
                        "Taxable",
                        "LoyaltyPoint",
                        "Expense",
                        "NettPrice",
                        "Commission",
                        "SalesName",
                        "PriceTypeID",
                        "Note"
                      ]
                    }
                  },
                  "OutboundLogistics": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "Outlet": {
                          "type": "string",
                          "description": "Outlet Name Of Outbound Logistic"
                        },
                        "Number": {
                          "type": "string",
                          "description": "Outbound Logistic Number"
                        },
                        "Date": {
                          "type": "string",
                          "description": "Date of OutboundLogistic"
                        }
                      },
                      "required": [
                        "Outlet",
                        "Number",
                        "Date"
                      ]
                    }
                  },
                  "Payments": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "Date": {
                          "type": "string",
                          "description": "Date of the payment"
                        },
                        "Amount": {
                          "type": "integer",
                          "description": "Total amount of the payment"
                        },
                        "Method": {
                          "type": "string",
                          "description": "Payment method of the invoice transaction"
                        },
                        "Code": {
                          "type": "string",
                          "description": "Code of the payment method"
                        },
                        "Note": {
                          "type": "string",
                          "description": "Note of the payment method"
                        }
                      },
                      "required": [
                        "Date",
                        "Amount",
                        "Method",
                        "Code",
                        "Note"
                      ]
                    }
                  }
                },
                "required": [
                  "ID",
                  "Outlet",
                  "Number",
                  "Date",
                  "DueDate",
                  "Tag",
                  "Customer",
                  "CreatorID",
                  "Created",
                  "Discount1",
                  "Discount2",
                  "DiscountAmount",
                  "Gross",
                  "DiscountTotal",
                  "TaxType",
                  "TaxCalculation",
                  "Tax",
                  "TaxRate",
                  "Sales",
                  "Surcharge",
                  "SalesNTax",
                  "Coupon",
                  "Note",
                  "PointUsed",
                  "PointsEarned",
                  "Delivery",
                  "Void",
                  "Variants",
                  "OutboundLogistics",
                  "Payments"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Bad Request"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "salesOrderUpdated": {
      "post": {
        "tags": [
          "Sales Order"
        ],
        "operationId": "salesOrderUpdated",
        "summary": "Sales Order Updated",
        "description": "Sends data when a sales order is updated.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "example": {
                "ID": "e0211b45-358e-4d5c-bf5b-8a31404b125e",
                "Outlet": "Outlet1",
                "Number": "20.09.00020",
                "Date": "2020-09-02T00:00:00",
                "DueDate": "2020-09-10T00:00:00",
                "Tag": "Take Away",
                "Customer": {
                  "Name": "Hendry",
                  "Email": "henz2194w@gmail.com",
                  "Phone": "0215851412",
                  "Mobile": "0815161688",
                  "Code": "HW0001"
                },
                "CreatorID": "ff7848c9-21f1-4c05-ac9e-1e71d829cc9c",
                "Created": "2020-09-02T13:52:18.33",
                "Discount1": 0,
                "Discount2": 0,
                "DiscountAmount": 0,
                "Gross": 100000,
                "DiscountTotal": 0,
                "TaxType": "No Tax",
                "TaxCalculation": "Add",
                "Tax": 0,
                "TaxRate": 0,
                "Sales": 100000,
                "Surcharge": 0,
                "SalesNTax": 100000,
                "Coupon": "KUPON123",
                "Note": "CONTOH NOTE",
                "PointUsed": 0,
                "PointsEarned": 0,
                "Delivery": "Sent",
                "Void": "No",
                "Variants": [
                  {
                    "VariantID": "cdc45c7e-4990-40c3-a41e-3ee5fb1ec200",
                    "Name": "Muffin (Medium)",
                    "Code": "MM3002",
                    "Quantity": 1,
                    "UnitQuantity": 1,
                    "Cost": 213213,
                    "Price": 100000,
                    "PriceOriginal": 17389.03,
                    "Discount": 0,
                    "DiscountAmount": 0,
                    "Taxable": true,
                    "LoyaltyPoint": true,
                    "Expense": 10000,
                    "NettPrice": 100000,
                    "Commission": 0,
                    "SalesName": "FERDI",
                    "PriceTypeID": 1,
                    "Note": "Combo 1"
                  }
                ],
                "OutboundLogistics": [
                  {
                    "Outlet": "Outlet2",
                    "Number": "20.09.00020",
                    "Date": "2020-09-02T00:00:00"
                  }
                ],
                "Payments": [
                  {
                    "Date": "2020-09-02T00:00:00",
                    "Amount": 100000,
                    "Method": "Debit Card",
                    "Code": "1234-1546-1546",
                    "Note": "Pay with BCA card"
                  }
                ]
              },
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "description": "Unique ID of the invoice"
                  },
                  "Outlet": {
                    "type": "string",
                    "description": "Name of the outlet"
                  },
                  "Number": {
                    "type": "string",
                    "description": "Number of the invoice transaction"
                  },
                  "Date": {
                    "type": "string",
                    "description": "Sell date of the invoice transaction"
                  },
                  "DueDate": {
                    "type": "string",
                    "description": "Due date of the invoice transaction"
                  },
                  "Tag": {
                    "type": "string",
                    "description": "Channel Tagging system. (ex:Offline / Whatsapp / Shopee / Tokopedia) used in marketplace.dealpos.app. Backwards Compatibility with property request \"SalesType\""
                  },
                  "Customer": {
                    "type": "object",
                    "properties": {
                      "Name": {
                        "type": "string",
                        "description": "Name of the customer"
                      },
                      "Email": {
                        "type": "string",
                        "description": "E-mail of the customer"
                      },
                      "Phone": {
                        "type": "string",
                        "description": "Phone number of the customer"
                      },
                      "Mobile": {
                        "type": "string",
                        "description": "Mobile Phone Number of the customer"
                      },
                      "Code": {
                        "type": "string",
                        "description": "Unique Code of the customer"
                      }
                    },
                    "required": [
                      "Name",
                      "Email",
                      "Phone",
                      "Mobile",
                      "Code"
                    ]
                  },
                  "CreatorID": {
                    "type": "string",
                    "description": "Unique ID of the creator"
                  },
                  "Created": {
                    "type": "string",
                    "description": "Invoice created Transaction Date by system"
                  },
                  "Discount1": {
                    "type": "integer",
                    "description": "Percentage of discount 1"
                  },
                  "Discount2": {
                    "type": "integer",
                    "description": "Percentage of discount 2"
                  },
                  "DiscountAmount": {
                    "type": "integer",
                    "description": "Discount Amount per-invoice"
                  },
                  "Gross": {
                    "type": "integer",
                    "description": "Total amount of the transaction before discounted"
                  },
                  "DiscountTotal": {
                    "type": "integer",
                    "description": "Total accumulation of whole discounts"
                  },
                  "TaxType": {
                    "type": "string",
                    "description": "Type name of the tax"
                  },
                  "TaxCalculation": {
                    "type": "string",
                    "description": "Calculation tax type (Add or Include)"
                  },
                  "Tax": {
                    "type": "integer",
                    "description": "Total amount of the taxes"
                  },
                  "TaxRate": {
                    "type": "integer",
                    "description": "Rate of Tax in percentage"
                  },
                  "Sales": {
                    "type": "integer",
                    "description": "Total amount of the sales after subtraction"
                  },
                  "Surcharge": {
                    "type": "integer",
                    "description": "Additional expense (ex: from credit card)"
                  },
                  "SalesNTax": {
                    "type": "integer",
                    "description": "Total amount of sales after taxes"
                  },
                  "Coupon": {
                    "type": "string",
                    "description": "Registered Coupon Name/Code"
                  },
                  "Note": {
                    "type": "string",
                    "description": "Note of the invoice transaction"
                  },
                  "PointUsed": {
                    "type": "integer",
                    "description": "Total point used in the transaction"
                  },
                  "PointsEarned": {
                    "type": "integer",
                    "description": "Total point earned from the transaction"
                  },
                  "Delivery": {
                    "type": "string",
                    "description": "Delivery status / progress of the invoice (Value: Sent / Unsent / Partial)"
                  },
                  "Void": {
                    "type": "string",
                    "description": "Void state / status of the invoice (Yes / No)"
                  },
                  "Variants": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "VariantID": {
                          "type": "string",
                          "description": "Variant ID"
                        },
                        "Name": {
                          "type": "string",
                          "description": "Variant's Name"
                        },
                        "Code": {
                          "type": "string",
                          "description": "Variant's Code"
                        },
                        "Quantity": {
                          "type": "integer",
                          "description": "Quantity of the variant"
                        },
                        "UnitQuantity": {
                          "type": "integer",
                          "description": "Unit Quantity Measurement of the variant"
                        },
                        "Cost": {
                          "type": "integer",
                          "description": "Unit Cost of variant"
                        },
                        "Price": {
                          "type": "integer",
                          "description": "Selling Price of the variant"
                        },
                        "PriceOriginal": {
                          "type": "number",
                          "description": "Original Price (before discounted) of the variant"
                        },
                        "Discount": {
                          "type": "integer",
                          "description": "Discount Percentage (%) of the variant"
                        },
                        "DiscountAmount": {
                          "type": "integer",
                          "description": "Total discount amount per-after multiply by the qty"
                        },
                        "Taxable": {
                          "type": "boolean",
                          "description": "Taxable state/status of the invoice transaction"
                        },
                        "LoyaltyPoint": {
                          "type": "boolean",
                          "description": "Loyalty state/status of the invoice transaction"
                        },
                        "Expense": {
                          "type": "integer",
                          "description": "Additional Expense of the variant"
                        },
                        "NettPrice": {
                          "type": "integer",
                          "description": "Total amount of the variant after subscration"
                        },
                        "Commission": {
                          "type": "integer",
                          "description": "Sales commision of the invoice transaction"
                        },
                        "SalesName": {
                          "type": "string",
                          "description": "Sales Person Name of the transaction"
                        },
                        "PriceTypeID": {
                          "type": "integer",
                          "description": "Sales price type of the transaction"
                        },
                        "Note": {
                          "type": "string",
                          "description": "Product Variant Note of the invoice transaction"
                        }
                      },
                      "required": [
                        "VariantID",
                        "Name",
                        "Code",
                        "Quantity",
                        "UnitQuantity",
                        "Cost",
                        "Price",
                        "PriceOriginal",
                        "Discount",
                        "DiscountAmount",
                        "Taxable",
                        "LoyaltyPoint",
                        "Expense",
                        "NettPrice",
                        "Commission",
                        "SalesName",
                        "PriceTypeID",
                        "Note"
                      ]
                    }
                  },
                  "OutboundLogistics": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "Outlet": {
                          "type": "string",
                          "description": "Outlet Name Of Outbound Logistic"
                        },
                        "Number": {
                          "type": "string",
                          "description": "Outbound Logistic Number"
                        },
                        "Date": {
                          "type": "string",
                          "description": "Date of OutboundLogistic"
                        }
                      },
                      "required": [
                        "Outlet",
                        "Number",
                        "Date"
                      ]
                    }
                  },
                  "Payments": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "Date": {
                          "type": "string",
                          "description": "Date of the payment"
                        },
                        "Amount": {
                          "type": "integer",
                          "description": "Total amount of the payment"
                        },
                        "Method": {
                          "type": "string",
                          "description": "Payment method of the invoice transaction"
                        },
                        "Code": {
                          "type": "string",
                          "description": "Code of the payment method"
                        },
                        "Note": {
                          "type": "string",
                          "description": "Note of the payment method"
                        }
                      },
                      "required": [
                        "Date",
                        "Amount",
                        "Method",
                        "Code",
                        "Note"
                      ]
                    }
                  }
                },
                "required": [
                  "ID",
                  "Outlet",
                  "Number",
                  "Date",
                  "DueDate",
                  "Tag",
                  "Customer",
                  "CreatorID",
                  "Created",
                  "Discount1",
                  "Discount2",
                  "DiscountAmount",
                  "Gross",
                  "DiscountTotal",
                  "TaxType",
                  "TaxCalculation",
                  "Tax",
                  "TaxRate",
                  "Sales",
                  "Surcharge",
                  "SalesNTax",
                  "Coupon",
                  "Note",
                  "PointUsed",
                  "PointsEarned",
                  "Delivery",
                  "Void",
                  "Variants",
                  "OutboundLogistics",
                  "Payments"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Bad Request"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "salesOrderDeleted": {
      "post": {
        "tags": [
          "Sales Order"
        ],
        "operationId": "salesOrderDeleted",
        "summary": "Sales Order Deleted",
        "description": "Webhook triggered upon sales order deletion.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "Outlet": {
                    "type": "string",
                    "description": "Name of the outlet."
                  },
                  "Number": {
                    "type": "string",
                    "description": "Sales order number."
                  },
                  "Date": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Deletion date of the sales order."
                  },
                  "Customer": {
                    "type": "object",
                    "description": "Customer details.",
                    "properties": {}
                  },
                  "CreatorID": {
                    "type": "string",
                    "description": "ID of the creator."
                  },
                  "Created": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Creation date of the sales order."
                  },
                  "Discount1": {
                    "type": "integer",
                    "description": "Discount percentage (type 1)."
                  },
                  "Discount2": {
                    "type": "integer",
                    "description": "Discount percentage (type 2)."
                  },
                  "DiscountAmount": {
                    "type": "integer",
                    "description": "Total discount amount."
                  },
                  "Gross": {
                    "type": "integer",
                    "description": "Total gross amount."
                  },
                  "Coupon": {
                    "type": "string",
                    "description": "Coupon used in the transaction."
                  },
                  "Note": {
                    "type": "string",
                    "description": "Additional notes for the sales order."
                  },
                  "PointUsed": {
                    "type": "integer",
                    "description": "Points used in the transaction."
                  },
                  "Delivery": {
                    "type": "string",
                    "description": "Delivery status (e.g., Sent, Partial, Unsent)."
                  },
                  "Void": {
                    "type": "string",
                    "description": "Void status (Yes or No)."
                  },
                  "Variants": {
                    "type": "array",
                    "description": "Product variants in the sales order.",
                    "items": {
                      "type": "object",
                      "properties": {
                        "VariantID": {
                          "type": "string",
                          "description": "ID of the product variant."
                        },
                        "Quantity": {
                          "type": "integer",
                          "description": "Quantity of the product."
                        },
                        "UnitQuantity": {
                          "type": "integer",
                          "description": "Unit measurement for the quantity."
                        },
                        "Cost": {
                          "type": "integer",
                          "description": "Cost of the product."
                        },
                        "Price": {
                          "type": "integer",
                          "description": "Selling price of the product."
                        },
                        "PriceOriginal": {
                          "type": "integer",
                          "description": "Original price of the product."
                        },
                        "Discount": {
                          "type": "integer",
                          "description": "Discount percentage applied to the product."
                        },
                        "DiscountAmount": {
                          "type": "integer",
                          "description": "Discount amount for the product."
                        },
                        "Taxable": {
                          "type": "boolean",
                          "description": "Indicates if the product is taxable."
                        },
                        "LoyaltyPoint": {
                          "type": "boolean",
                          "description": "Indicates if the product contributes to loyalty points."
                        },
                        "Expense": {
                          "type": "integer",
                          "description": "Additional expenses related to the product."
                        },
                        "NettPrice": {
                          "type": "integer",
                          "description": "Net price after all deductions."
                        },
                        "PriceTypeID": {
                          "type": "integer",
                          "description": "Price type identifier."
                        },
                        "Note": {
                          "type": "string",
                          "description": "Additional notes for the product."
                        }
                      }
                    }
                  }
                }
              },
              "examples": {
                "example-1": {
                  "value": {
                    "Outlet": "Offline",
                    "Number": "B1.22.07.00025",
                    "Date": "2022-07-25T00:00:00",
                    "Customer": {},
                    "CreatorID": "71e6e3df-257e-4a56-90ad-f6214b267aee",
                    "Created": "2022-07-25T16:14:03.9",
                    "Discount1": 0,
                    "Discount2": 0,
                    "DiscountAmount": 0,
                    "Gross": 7800000,
                    "Coupon": "KUPON123",
                    "Note": "CONTOH NOTE",
                    "PointUsed": 0,
                    "Delivery": "Sent",
                    "Void": "No",
                    "Variants": [
                      {
                        "VariantID": "ba629d54-c57c-47ec-a054-86f28eb8a1e8",
                        "Quantity": 6,
                        "UnitQuantity": 1,
                        "Cost": 0,
                        "Price": 1300000,
                        "PriceOriginal": 1500000,
                        "Discount": 0,
                        "DiscountAmount": 0,
                        "Taxable": true,
                        "LoyaltyPoint": true,
                        "Expense": 0,
                        "NettPrice": 7800000,
                        "PriceTypeID": 0,
                        "Note": "CONTOH NOTE"
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully received the webhook."
          },
          "400": {
            "description": "Invalid request."
          },
          "500": {
            "description": "Internal server error."
          }
        }
      }
    },
    "salesOrderConverted": {
      "post": {
        "tags": [
          "Sales Order"
        ],
        "operationId": "convertSalesOrder",
        "summary": "Sales Order Converted",
        "description": "This endpoint receives the data when a sales order is converted into an invoice.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "ID",
                  "Outlet",
                  "Number",
                  "Date",
                  "DueDate",
                  "Tag",
                  "Customer",
                  "CreatorID",
                  "Created",
                  "Discount1",
                  "Discount2",
                  "DiscountAmount",
                  "Gross",
                  "DiscountTotal",
                  "TaxType",
                  "TaxCalculation",
                  "Tax",
                  "TaxRate",
                  "Sales",
                  "Surcharge",
                  "SalesNTax",
                  "Coupon",
                  "Note",
                  "PointUsed",
                  "PointsEarned",
                  "Delivery",
                  "Void",
                  "Variants",
                  "OutboundLogistics",
                  "Payments"
                ],
                "properties": {
                  "ID": {
                    "type": "string"
                  },
                  "Outlet": {
                    "type": "string"
                  },
                  "Number": {
                    "type": "string"
                  },
                  "Date": {
                    "type": "string"
                  },
                  "DueDate": {
                    "type": "string"
                  },
                  "Tag": {
                    "type": "string"
                  },
                  "Customer": {
                    "type": "object",
                    "required": [
                      "Name",
                      "Email",
                      "Phone",
                      "Mobile",
                      "Code"
                    ],
                    "properties": {
                      "Name": {
                        "type": "string"
                      },
                      "Email": {
                        "type": "string"
                      },
                      "Phone": {
                        "type": "string"
                      },
                      "Mobile": {
                        "type": "string"
                      },
                      "Code": {
                        "type": "string"
                      }
                    }
                  },
                  "CreatorID": {
                    "type": "string"
                  },
                  "Created": {
                    "type": "string"
                  },
                  "Discount1": {
                    "type": "integer"
                  },
                  "Discount2": {
                    "type": "integer"
                  },
                  "DiscountAmount": {
                    "type": "integer"
                  },
                  "Gross": {
                    "type": "integer"
                  },
                  "DiscountTotal": {
                    "type": "integer"
                  },
                  "TaxType": {
                    "type": "string"
                  },
                  "TaxCalculation": {
                    "type": "string"
                  },
                  "Tax": {
                    "type": "integer"
                  },
                  "TaxRate": {
                    "type": "integer"
                  },
                  "Sales": {
                    "type": "integer"
                  },
                  "Surcharge": {
                    "type": "integer"
                  },
                  "SalesNTax": {
                    "type": "integer"
                  },
                  "Coupon": {
                    "type": "null"
                  },
                  "Note": {
                    "type": "null"
                  },
                  "PointUsed": {
                    "type": "integer"
                  },
                  "PointsEarned": {
                    "type": "integer"
                  },
                  "Delivery": {
                    "type": "string"
                  },
                  "Void": {
                    "type": "string"
                  },
                  "Variants": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "VariantID": {
                          "type": "string"
                        },
                        "Name": {
                          "type": "string"
                        },
                        "Code": {
                          "type": "string"
                        },
                        "Quantity": {
                          "type": "integer"
                        },
                        "UnitQuantity": {
                          "type": "integer"
                        },
                        "Cost": {
                          "type": "integer"
                        },
                        "Price": {
                          "type": "integer"
                        },
                        "PriceOriginal": {
                          "type": "number"
                        },
                        "Discount": {
                          "type": "integer"
                        },
                        "DiscountAmount": {
                          "type": "integer"
                        },
                        "Taxable": {
                          "type": "boolean"
                        },
                        "LoyaltyPoint": {
                          "type": "boolean"
                        },
                        "Expense": {
                          "type": "integer"
                        },
                        "NettPrice": {
                          "type": "integer"
                        },
                        "Commission": {
                          "type": "integer"
                        },
                        "SalesName": {
                          "type": "null"
                        },
                        "PriceTypeID": {
                          "type": "integer"
                        },
                        "Note": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  "OutboundLogistics": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "Outlet": {
                          "type": "string"
                        },
                        "Number": {
                          "type": "string"
                        },
                        "Date": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  "Payments": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "Date": {
                          "type": "string"
                        },
                        "Amount": {
                          "type": "integer"
                        },
                        "Method": {
                          "type": "string"
                        },
                        "Code": {
                          "type": "string"
                        },
                        "Note": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully received the webhook data"
          },
          "400": {
            "description": "Invalid data received"
          }
        },
        "x-examples": {
          "Example1": {
            "value": {
              "ID": "e0211b45-358e-4d5c-bf5b-8a31404b125e",
              "Outlet": "Outlet1",
              "Number": "20.09.00020",
              "Date": "2020-09-02T00:00:00",
              "DueDate": "0001-01-01T00:00:00",
              "Tag": "Take Away",
              "Customer": {
                "Name": "hendry",
                "Email": "henz2194w@gmail.com",
                "Phone": "0215851412",
                "Mobile": "0815161688",
                "Code": "HW0001"
              },
              "CreatorID": "ff7848c9-21f1-4c05-ac9e-1e71d829cc9c",
              "Created": "2020-09-02T13:52:18.33",
              "Discount1": 0,
              "Discount2": 0,
              "DiscountAmount": 0,
              "Gross": 100000,
              "DiscountTotal": 0,
              "TaxType": "No Tax",
              "TaxCalculation": "Add",
              "Tax": 0,
              "TaxRate": 0,
              "Sales": 100000,
              "Surcharge": 0,
              "SalesNTax": 100000,
              "Coupon": null,
              "Note": null,
              "PointUsed": 0,
              "PointsEarned": 0,
              "Delivery": "Sent",
              "Void": "No",
              "Variants": [
                {
                  "VariantID": "cdc45c7e-4990-40c3-a41e-3ee5fb1ec200",
                  "Name": "Muffin (Medium)",
                  "Code": "MM3002",
                  "Quantity": 1,
                  "UnitQuantity": 1,
                  "Cost": 213213,
                  "Price": 100000,
                  "PriceOriginal": 17389.03,
                  "Discount": 0,
                  "DiscountAmount": 0,
                  "Taxable": true,
                  "LoyaltyPoint": true,
                  "Expense": 10000,
                  "NettPrice": 100000,
                  "Commission": 0,
                  "SalesName": null,
                  "PriceTypeID": 1,
                  "Note": "Combo 1"
                }
              ],
              "OutboundLogistics": [
                {
                  "Outlet": "Outlet2",
                  "Number": "20.09.00020",
                  "Date": "2020-09-02T00:00:00"
                }
              ],
              "Payments": [
                {
                  "Date": "2020-09-02T00:00:00",
                  "Amount": 100000,
                  "Method": "Debit Card",
                  "Code": "1234-1546-1546",
                  "Note": "Pay With BCA Card"
                }
              ]
            }
          }
        }
      }
    },
    "loyaltyPointValidateCoupon": {
      "post": {
        "summary": "Validate Coupon",
        "description": "This webhook is triggered when the user inputs a promotional coupon from the SELL page from the external app.\nThis is a synchronous API that requires a response.\n\nTo developer who wants to use this webhook, you can create prototypes Endpoint URL mockserver from [beeceptor](https://beeceptor.com/).\n",
        "operationId": "validateCoupon",
        "tags": [
          "Loyalty Provider"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "Code": {
                    "type": "string",
                    "description": "Promotion Coupon Code"
                  },
                  "Outlet": {
                    "type": "string",
                    "description": "Outlet Name"
                  },
                  "Customer": {
                    "type": "object",
                    "properties": {
                      "Email": {
                        "type": "string",
                        "description": "Customer's Email"
                      },
                      "Phone": {
                        "type": "string",
                        "description": "Customer's Mobile Phone Number"
                      }
                    }
                  },
                  "ShoppingCart": {
                    "type": "object",
                    "properties": {
                      "Amount": {
                        "type": "number",
                        "description": "Total amount of the shopping cart"
                      },
                      "Items": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "VariantID": {
                              "type": "string",
                              "format": "guid",
                              "description": "ID Variant"
                            },
                            "Code": {
                              "type": "string",
                              "description": "Product Variant Code"
                            },
                            "Quantity": {
                              "type": "number",
                              "description": "Quantity of the product"
                            },
                            "Price": {
                              "type": "number",
                              "description": "Price of the product"
                            }
                          }
                        },
                        "description": "List of Product Variant Codes to apply the coupon"
                      }
                    }
                  }
                }
              },
              "example": {
                "Code": "1234",
                "Outlet": "Outlet1",
                "Customer": {
                  "Email": "hendry@dealpos.com",
                  "Phone": "81234567844"
                },
                "ShoppingCart": {
                  "Amount": 100000,
                  "Items": [
                    {
                      "VariantID": "12345678-1234-1234-1234-123456789012",
                      "Code": "T002",
                      "Quantity": 1,
                      "Price": 50000
                    },
                    {
                      "VariantID": "12345678-1234-1234-1234-123456789013",
                      "Code": "T003",
                      "Quantity": 2,
                      "Price": 25000
                    }
                  ]
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful validation response with discount details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Type": {
                      "type": "string",
                      "enum": [
                        "Percentage",
                        "Amount"
                      ],
                      "description": "Promotion Coupon Type (Percentage / Amount)"
                    },
                    "Amount": {
                      "type": "number",
                      "description": "Total discount percentage or amount given in invoice (if this property is not provided, it will be set to 0 or no discount applied in invoice)"
                    },
                    "Notification": {
                      "type": "string",
                      "description": "The message that will be shown to the USER in a Toaster!"
                    },
                    "ApplyToProduct": {
                      "type": "array",
                      "description": "List of Product Variant Codes to apply the coupon Amount. When **ApplyTo** is null, the coupon will be applied to discount invoice",
                      "items": {
                        "type": "object",
                        "properties": {
                          "ID": {
                            "type": "string",
                            "description": "Product Variant ID"
                          },
                          "Code": {
                            "type": "string",
                            "description": "Product Variant Code"
                          },
                          "Amount": {
                            "type": "number",
                            "description": "Discount in Amount / Percentage per product variant"
                          },
                          "Note": {
                            "type": "string",
                            "description": "Additional note for the coupon"
                          },
                          "UserOption": {
                            "type": "boolean",
                            "description": "Whether the user has selected product variant for coupon applied",
                            "default": false,
                            "example": false
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "Type Percentage Discount at Invoice": {
                    "value": {
                      "Type": "Percentage",
                      "Amount": 50,
                      "Notification": "Discount Percentage Applied. Keep your Proof of Transaction",
                      "ApplyToProduct": []
                    }
                  },
                  "Type Percentage Discount at Product": {
                    "value": {
                      "Type": "Percentage",
                      "Amount": 0,
                      "Notification": "Discount Percentage Applied. Keep your Proof of Transaction",
                      "ApplyToProduct": [
                        {
                          "Code": "T002",
                          "Amount": 20,
                          "Note": "Special Discount for T002",
                          "UserOption": false
                        },
                        {
                          "Code": "T003",
                          "Amount": 50,
                          "Note": "Special Discount for T003",
                          "UserOption": true
                        }
                      ]
                    }
                  },
                  "Type Amount Discount at Invoice": {
                    "value": {
                      "Type": "Amount",
                      "Amount": 10000,
                      "Notification": "Discount Amount Applied. Keep your Proof of Transaction",
                      "ApplyToProduct": []
                    }
                  },
                  "Type Amount Discount at Product": {
                    "value": {
                      "Type": "Amount",
                      "Amount": 0,
                      "Notification": "Discount Amount Applied. Keep your Proof of Transaction",
                      "ApplyToProduct": [
                        {
                          "Code": "T003",
                          "Amount": 5000,
                          "Note": "Special Discount for T003",
                          "UserOption": false
                        },
                        {
                          "Code": "T004",
                          "Amount": 10000,
                          "Note": "Special Discount for T004",
                          "UserOption": true
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid or expired coupon response.",
            "content": {
              "application/json": {
                "example": {
                  "Message": "Coupon 123456 has been used / expired / invalid"
                }
              }
            }
          }
        }
      }
    },
    "RedeemCoupon": {
      "post": {
        "tags": [
          "Loyalty Provider"
        ],
        "operationId": "RedeemCoupon",
        "summary": "Redeem Coupon",
        "description": "This webhook will be triggered once the provider has configured the coupon and completed the payment or invoice creation in Sell menu.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ID": {
                    "type": "string",
                    "description": "Unique ID of the invoice"
                  },
                  "Outlet": {
                    "type": "string",
                    "description": "Name of the outlet"
                  },
                  "Number": {
                    "type": "string",
                    "description": "Number of the invoice transaction"
                  },
                  "Date": {
                    "type": "string",
                    "description": "Date of the invoice transaction"
                  },
                  "DueDate": {
                    "type": "string",
                    "description": "Due date of the invoice transaction"
                  },
                  "Tag": {
                    "type": "string",
                    "description": "Channel Tagging system (e.g., Take Away, Shopee)"
                  },
                  "EReceipt": {
                    "type": "string",
                    "description": "EReceipt URL to show the invoice"
                  },
                  "Customer": {
                    "type": "object",
                    "properties": {
                      "ID": {
                        "type": "string",
                        "description": "Unique ID of the customer"
                      },
                      "Name": {
                        "type": "string",
                        "description": "Name of the customer"
                      },
                      "Email": {
                        "type": "string",
                        "description": "E-mail of the customer"
                      },
                      "Phone": {
                        "type": "string",
                        "description": "Phone number of the customer"
                      },
                      "Mobile": {
                        "type": "string",
                        "description": "Mobile Phone Number of the customer"
                      },
                      "Code": {
                        "type": "string",
                        "description": "Unique Code of the customer"
                      },
                      "Address": {
                        "type": "string",
                        "description": "Customer's address"
                      }
                    }
                  },
                  "CreatorID": {
                    "type": "string",
                    "description": "ID of the creator of the invoice"
                  },
                  "Created": {
                    "type": "string",
                    "description": "Date when the invoice was created"
                  },
                  "Discount1": {
                    "type": "integer",
                    "description": "Percentage of discount 1"
                  },
                  "Discount2": {
                    "type": "integer",
                    "description": "Percentage of discount 2"
                  },
                  "DiscountAmount": {
                    "type": "integer",
                    "description": "Discount amount applied"
                  },
                  "Gross": {
                    "type": "integer",
                    "description": "Total amount before discounts"
                  },
                  "DiscountTotal": {
                    "type": "integer",
                    "description": "Total discount applied"
                  },
                  "TaxType": {
                    "type": "string",
                    "description": "Type of tax (e.g., No Tax)"
                  },
                  "TaxCalculation": {
                    "type": "string",
                    "description": "Tax calculation method (e.g., Add or Include)"
                  },
                  "Tax": {
                    "type": "integer",
                    "description": "Total tax applied"
                  },
                  "TaxRate": {
                    "type": "integer",
                    "description": "Tax rate in percentage"
                  },
                  "Sales": {
                    "type": "integer",
                    "description": "Total sales after discounts"
                  },
                  "Surcharge": {
                    "type": "integer",
                    "description": "Additional surcharge (e.g., credit card fee)"
                  },
                  "SalesNTax": {
                    "type": "integer",
                    "description": "Sales total after tax"
                  },
                  "Coupon": {
                    "type": "string",
                    "description": "Coupon code used, if any"
                  },
                  "CouponNote": {
                    "type": "string",
                    "description": "Additional note for the coupon"
                  },
                  "Note": {
                    "type": "string",
                    "description": "Additional note for the invoice"
                  },
                  "PointUsed": {
                    "type": "integer",
                    "description": "Total loyalty points used"
                  },
                  "PointsEarned": {
                    "type": "integer",
                    "description": "Total loyalty points earned"
                  },
                  "Delivery": {
                    "type": "string",
                    "description": "Delivery status (Sent, Unsent, etc.)"
                  },
                  "Void": {
                    "type": "string",
                    "description": "Whether the invoice is voided (Yes/No)"
                  },
                  "Variants": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "VariantID": {
                          "type": "string",
                          "description": "ID of the product variant"
                        },
                        "Name": {
                          "type": "string",
                          "description": "Name of the product variant"
                        },
                        "Code": {
                          "type": "string",
                          "description": "Code of the product variant"
                        },
                        "Quantity": {
                          "type": "integer",
                          "description": "Quantity of the variant sold"
                        },
                        "UnitQuantity": {
                          "type": "integer",
                          "description": "Unit measurement for the variant"
                        },
                        "Cost": {
                          "type": "integer",
                          "description": "Cost of the product variant"
                        },
                        "Price": {
                          "type": "integer",
                          "description": "Price of the product variant"
                        },
                        "PriceOriginal": {
                          "type": "number",
                          "description": "Original price before discounts"
                        },
                        "Discount": {
                          "type": "integer",
                          "description": "Discount percentage for the variant"
                        },
                        "DiscountAmount": {
                          "type": "integer",
                          "description": "Discount amount applied to the variant"
                        },
                        "Taxable": {
                          "type": "boolean",
                          "description": "Whether the product variant is taxable"
                        },
                        "LoyaltyPoint": {
                          "type": "boolean",
                          "description": "Whether loyalty points can be used on the product"
                        },
                        "Expense": {
                          "type": "integer",
                          "description": "Any additional expense related to the variant"
                        },
                        "NettPrice": {
                          "type": "integer",
                          "description": "Price after discounts"
                        },
                        "Commission": {
                          "type": "integer",
                          "description": "Sales commission"
                        },
                        "SalesName": {
                          "type": "string",
                          "description": "Sales person name"
                        },
                        "PriceTypeID": {
                          "type": "integer",
                          "description": "Type of pricing applied"
                        },
                        "Note": {
                          "type": "string",
                          "description": "Note regarding the product variant"
                        }
                      }
                    }
                  },
                  "OutboundLogistics": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "Outlet": {
                          "type": "string",
                          "description": "Outlet name for outbound logistics"
                        },
                        "Number": {
                          "type": "string",
                          "description": "Outbound logistics transaction number"
                        },
                        "Date": {
                          "type": "string",
                          "description": "Date of outbound logistics"
                        }
                      }
                    }
                  },
                  "Payments": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "Date": {
                          "type": "string",
                          "description": "Payment date"
                        },
                        "Amount": {
                          "type": "integer",
                          "description": "Payment amount"
                        },
                        "Method": {
                          "type": "string",
                          "description": "Payment method (e.g., Debit Card)"
                        },
                        "Code": {
                          "type": "string",
                          "description": "Payment code"
                        },
                        "Note": {
                          "type": "string",
                          "description": "Payment method note"
                        }
                      }
                    }
                  },
                  "ReferenceNumber": {
                    "type": "string",
                    "description": "Reference number for the invoice"
                  },
                  "OrderFulfillmentRecipient": {
                    "type": "object",
                    "properties": {
                      "ID": {
                        "type": "string",
                        "description": "ID of the recipient"
                      },
                      "Name": {
                        "type": "string",
                        "description": "Name of the recipient"
                      },
                      "Phone": {
                        "type": "string",
                        "description": "Phone number of the recipient"
                      },
                      "Address": {
                        "type": "string",
                        "description": "Address of the recipient"
                      },
                      "City": {
                        "type": "string",
                        "description": "City of the recipient"
                      }
                    }
                  }
                }
              },
              "example": {
                "ID": "e0211b45-358e-4d5c-bf5b-8a31404b125e",
                "Outlet": "Outlet1",
                "Number": "20.09.00020",
                "Date": "2020-09-02T00:00:00",
                "DueDate": "0001-01-01T00:00:00",
                "Tag": "Take Away",
                "EReceipt": "https://receipt.dealpos.app/receipt?Data=N2E0MDJmZWItY2U3Ni00MzA5LWJiMTUtOGIwZDQ5NTIwMWEyX3Rva29hYmFkaWRhYmkuZGVhbHBvcy5uZXQ%3D",
                "Customer": {
                  "ID": "2774372b-0d5e-4171-8c83-dd66fbd4461e",
                  "Name": "hendry",
                  "Email": "henz2194w@gmail.com",
                  "Phone": "0215851412",
                  "Mobile": "0815161688",
                  "Code": "HW0001",
                  "Address": "Jl. Muara No. 3"
                },
                "CreatorID": "ff7848c9-21f1-4c05-ac9e-1e71d829cc9c",
                "Created": "2020-09-02T13:52:18.33",
                "Discount1": 0,
                "Discount2": 0,
                "DiscountAmount": 0,
                "Gross": 100000,
                "DiscountTotal": 0,
                "TaxType": "No Tax",
                "TaxCalculation": "Add",
                "Tax": 0,
                "TaxRate": 0,
                "Sales": 100000,
                "Surcharge": 0,
                "SalesNTax": 100000,
                "Coupon": "XPPW123",
                "CouponNote": "Test Coupon",
                "Note": "Note Test",
                "PointUsed": 0,
                "PointsEarned": 0,
                "Delivery": "Sent",
                "Void": "No",
                "Variants": [
                  {
                    "VariantID": "cdc45c7e-4990-40c3-a41e-3ee5fb1ec200",
                    "Name": "Muffin (Medium)",
                    "Code": "MM3002",
                    "Quantity": 1,
                    "UnitQuantity": 1,
                    "Cost": 213213,
                    "Price": 100000,
                    "PriceOriginal": 17389.03,
                    "Discount": 0,
                    "DiscountAmount": 0,
                    "Taxable": true,
                    "LoyaltyPoint": true,
                    "Expense": 10000,
                    "NettPrice": 100000,
                    "Commission": 0,
                    "SalesName": "Ferdi",
                    "PriceTypeID": 1,
                    "Note": "Combo 1"
                  }
                ],
                "Payments": [
                  {
                    "Date": "2020-09-02T00:00:00",
                    "Amount": 100000,
                    "Method": "Debit Card",
                    "Code": "1234-1546-1546",
                    "Note": "Pay With BCA Card"
                  }
                ],
                "OutboundLogistics": [
                  {
                    "Outlet": "Outlet2",
                    "Number": "20.09.00020",
                    "Date": "2020-09-02T00:00:00"
                  }
                ]
              }
            }
          }
        }
      }
    }
  }
}