# 360LM BTL Add-in — Client Install Guide

## What the client gets

| File | Purpose |
|---|---|
| `360LM_BTL_Template.pptx` | Branded template with sample slides (open this first) |
| After Step 3 below | A `.pptm` (macro-enabled) file with a "360LM Branding" ribbon tab |

---

## One-time Setup (Windows PowerPoint Desktop only)

### Step 1 — Enable the Developer tab
File → Options → Customize Ribbon → tick **Developer** → OK

### Step 2 — Open the template
Double-click `360LM_BTL_Template.pptx` to open it.
File → Save As → choose **PowerPoint Macro-Enabled Presentation (*.pptm)**
Save as `360LM_BTL_Deck.pptm` (or name it Brand_Campaign_Year.pptm)

### Step 3 — Import the VBA modules
1. Press **Alt + F11** to open the VBA editor
2. In the **Project Explorer** (left panel), find your presentation
3. Right-click on the project → **Import File**
4. Import each of these files in order:
   - `vba/Module_Main.bas`
   - `vba/Module_JSON.bas`
   - `vba/Module_Validate.bas`
   - `vba/Module_SlideBuilder.bas`
   - `vba/frmNewCounter.frm`
5. Close the VBA editor (Alt+F4 or X)

### Step 4 — Enable macros
When you reopen the file, PowerPoint will show a yellow security bar:
→ Click **Enable Content**

You should now see the **"360LM Branding"** tab in the ribbon.

---

## Daily Use

### Adding a counter
1. Click **360LM Branding** tab → **New Counter**
2. Fill the form: Brand, Counter/Store name, City, State
3. Add branding items row by row (Item Type, Size W×H, Qty, Remarks)
4. Click **Generate Slide** → a new formatted slide is added automatically

### Attaching creatives
Drag and drop each creative image into the orange-bordered box on the right of each counter slide.

### Validating
Click **Validate** → any missing sizes, blank names, or unrecognised item types are flagged.

### Sending to 360LM
Click **Email to 360LM** → Outlook opens with:
- The `.pptm` file attached
- A `.json` file with all counter data embedded (for zero-friction PWA import)
- `To:` pre-filled as `360degreemktg@gmail.com`

Review the email and hit Send.

---

## Shape naming convention (for 360LM internal use)

| Shape name | Contains |
|---|---|
| `lm360_brand` | Cover: brand name |
| `lm360_campaign` | Cover: campaign name |
| `lm360_date` | Cover: date |
| `lm360_counter_N` | Counter N name |
| `lm360_city_state_N` | Counter N city \| state |
| `lm360_brand_tag_N` | Counter N brand pill |
| `lm360_N_R_type` | Counter N, row R, item type |
| `lm360_N_R_material` | Counter N, row R, material |
| `lm360_N_R_size` | Counter N, row R, size |
| `lm360_N_R_qty` | Counter N, row R, quantity |
| `lm360_N_R_rem_prod` | Counter N, row R, production remarks |
| `lm360_N_R_rem_inst` | Counter N, row R, installation remarks |
| `lm360_creative_N` | Counter N, creative image placeholder |
| `lm360_json_N` | Hidden: machine-readable JSON for PWA import |

---

## Troubleshooting

| Problem | Fix |
|---|---|
| "360LM Branding" tab not visible | Macros not enabled — close file, reopen, click Enable Content |
| VBA Import File option greyed out | Macros disabled at Trust Center level — File → Options → Trust Center → Trust Center Settings → Macro Settings → Enable all macros |
| Email button says "Outlook not found" | Use Export JSON instead, attach the .json + .pptm manually |
| Slide not added | Check you filled Brand + Counter Name + at least one item row |
