Filter via /api/Product/products/out|in (supports CategoryId and EstablishmentId), then click a card to pull detail from /api/Product/product. Edit a selected product with POST /api/Vendor/updateproduct (multipart; nullable fields) and fetch add-ons via /api/Admin/addonsfor/{productId} (Admin auth required).
Sends multipart POST /api/admin/products/product?establishmentId=. Pick an establishment below first.
Sends multipart POST /api/admin/products/addon. Select an establishment below; backend requires establishmentId.
Uploads a CSV via POST /api/Vendor/vouchers. Requires a vendor token.