# OurVend UI exploration Date: 2026-06-06 Scope: broad operator exploration, not narrow reverse engineering. ## Primary manual found - URL: `https://os.ourvend.com/Content/Manual/%E8%87%AA%E5%8A%A8%E5%94%AE%E8%B4%A7%E6%9C%BA%E5%90%8E%E5%8F%B0%E6%93%8D%E4%BD%9C%E8%AF%B4%E6%98%8E%E6%96%87%E6%A1%A3.PDF` - Title: `云数自动售货机管理系统 V2 / Yunshu Vending Machine Management System V2.0` - PDF metadata date: 2019-07-27 - Manual version inside doc: `V2.0`, update date `2018-06-15` - Pages: `32` - Local copy: `/tmp/ourvend-manual.pdf` - Extracted text: `/tmp/ourvend-manual.txt` ## Manual takeaways ### Product shape - Yunshu expects a browser cloud UI plus a mobile/H5 companion. - It explicitly distinguishes standard functions from paid VIP functions. - Many functions in the manual are broader than what the Ballbox account currently sees. ### Core menu families in the manual - Daily operation monitoring - Historical record - System settings - Vending machine management - Commodity management - Report statistics - Member management - System log ### Important ad-related claim from the manual Manual section: `机器广告 (Machine Advertisement) (VIP Function)`. Claimed flow: 1. Go to `Vending Machine Management -> Machine Management` 2. Select machine ID 3. Click enable advertisement 4. Choose duration and pay by QR scan 5. Go to `Vending Machine Management -> Machine Advertisement` 6. Find paid-enabled machine ID 7. Click edit 8. Upload advertisement image 9. Wait for platform approval 10. Payment waiting-page image changes to uploaded image Meaning: - At least one ad type is officially documented as a paid VIP feature. - It is specifically for the waiting page during phone QR payment. - There should exist a separate `Machine Advertisement` page in richer accounts, even though Ballbox current account menu does not expose it. ### Other important manual claims - `Configuration Parameters (VIP Function)` supports remote machine config for track behavior, drop detection, change logic, temperatures, fault lock, accepted cash types, etc. - There are payment-parameter and WeChat-payment-parameter sections, implying richer payment-admin surface than Ballbox currently uses. - There is a large member-management system in the product family, not visible in Ballbox current account. ## Ballbox account current visible menu From live `YSTemplet/GetMenu` on 2026-06-06. Visible top-level groups: - `运营监控` / Operations Monitoring - `历史记录` / Historical Record - `系统设置` / System Settings - `货机管理` / Vending Machine Management - `商品管理` / Commodity Management - `统计分析` / Report Statistics - `首页` / Home Visible child pages: - Status Monitoring - Sales Monitoring - Machine Stockout Query - Replenishment Suggestion - Sales Details - Delivery Records - Money Records - Machine Alarm - Role Management - User Management - Machine Group Settings - Machine Management - Track Management - Commodity Type - Manufacturer Management - Commodity Information - Sales Summary Statistics Not visible in Ballbox current account menu, despite manual mentioning them: - Machine Advertisement - Configuration Parameters - Member Management - System Log - WeChat membership modules - Notice Management - Payment parameter pages ## Live UI finding: hidden ad flow still present in page code In `AssetsManage/Index` source code: - `OpenAD()` exists - `CreateCode()` exists - `CreateCode()` POSTs to `/AssetsManage/OpenMAD` - Visible ad type in modal: `支付前广告` = pre-payment ad - Success generates QR login/payment flow on: - `http://www.tcnvmms.com/wxjoin/madlogin?oid=...` Meaning: - Even if menu item is missing, current account still has page code for at least part of the machine-ad enablement flow. - Current visible fragment looks like ad-service activation/payment, not full asset CRUD. ## Broad product understanding so far - OurVend is role- and entitlement-gated heavily. - Manual is a superset product doc, not exact Ballbox-account truth. - Hidden UI code can exist on pages even when menu entries are absent. - Ad publishing is likely split into phases: 1. enable/purchase ad feature for machine 2. manage ad asset in separate page or portal 3. platform approval 4. machine/payment waiting-page reflects approved asset ## Practical next exploration lanes 1. Read more of manual sections not exposed in current menu, especially payment params and VIP config. 2. Inspect page JS/source across visible pages for hidden buttons or endpoints gated by flags. 3. Explore whether `tcnvmms.com/wxjoin/madlogin` can be inspected read-only. 4. Compare manual ad model with machine-local folders: - `ImageScreen` - `ImageRight` - `ImagePay` - `VideoAndImageAd` - `VideoAndImageRemote` ## Files generated this pass - `/tmp/ourvend-manual.pdf` - `/tmp/ourvend-manual.txt` - `/tmp/ourvend-menu-full.json`