4.1 KiB
Ferrero AC Booking Tool
A browser-based tool for generating and managing Ferrero communication asset bookings. It produces CSV files formatted for import into the OMG media booking system.
Quick Start
cd /Users/pauljohns/Documents/Claude_Coding/Ferrero_OMG_Booking
node server.js
Then open http://localhost:3456 in your browser.
Note: The server is required for the "Send to OMG" feature, which saves CSVs directly to the Box folder. If you only need "Download CSV", you can open
index.htmldirectly in a browser without the server.
Features
Input Table (AC Generator)
| Column | Type | Description |
|---|---|---|
| Master File Name | Free text | The creative execution master filename |
| Local Meta ID | Free text | Local master metadata identifier (e.g. IGR$VEElc9) |
| Asset Type | Dropdown | Asset classification (Gadget, On Line Video, TVC, etc.) |
| Media Type | Dropdown | Platform/placement (FB - Feed, IG - Stories, YT - Youtube Ad, etc.) |
| Aspect Ratio | Dropdown | 9x16, 16x9, or 1x1 |
| ISO Code | Dropdown | Language/country code (e.g. CZ-cs, GB-en) |
| Supply Date | Date picker | Date the asset is supplied |
| Live Date | Date picker | Date the asset goes live |
| End Date | Date picker | Date the asset is taken down |
Toolbar Actions
- + Add Row - Add a new blank row
- Duplicate - Copy selected rows (select 1 or more)
- Edit Selected - Bulk-edit dropdown and date fields across 2+ selected rows
- Analyse - Generate the output table with computed fields
- Delete Selected - Remove selected rows
Analyse (Output Table)
Clicking Analyse generates an output table with the following computed columns:
| Column | Source |
|---|---|
| Title | Built from the Excel Column J formula: extracts filename segments, looks up asset/media codes, combines with aspect ratio, ISO code, and metadata ID |
| Status | Always set to "Booked" |
| Category | Auto-populated based on Media Type (e.g. "Social Media" for FB/IG/YT/Amazon/DV360) |
| Media | Auto-populated (e.g. "Social") |
| Sub Media | Auto-populated (e.g. "Video") |
| Destination | Derived from Media Type (e.g. "[Facebook - Instagram | Meta]") |
| Format | Text after the hyphen in Media Type + Aspect Ratio (e.g. "Feed | 16x9") |
| Supply/Live/End Date | Carried from input |
| Language | Full language name from ISO code (e.g. "Czech (cs-cz)") |
| Country | Full country name from ISO code (e.g. "Czech Republic") |
| Creative Execution | The Master File Name value |
| Quantity | Always 1 |
Export Options
-
Send to OMG - Prompts for a 7-digit campaign number, then saves the CSV directly to:
/Users/pauljohns/Library/CloudStorage/Box-Box/AUTOMATION_MAIN/OMG_NIFI/OMG_CORE_AC_INGESTFilename format:
OMG{campaign_number}_ACINGEST.csv -
Download CSV - Same CSV but downloaded via the browser to your default downloads folder.
CSV Format
The exported CSV matches the OMG media bookings import format:
Title,Status,Category,Media,Sub media,Destination,Format,Supply date,Live date,End date,Special instructions,Language,Country,Creative Execution,Quantity
- Dates are formatted as
DD/MM/YYYY 00:00 - Values containing commas are quoted
- Special instructions column is included but left empty
Project Structure
Ferrero_OMG_Booking/
index.html - Main application (single-page HTML/CSS/JS)
server.js - Node.js server for serving the app and saving CSVs to Box
README.md - This file
Export CSV/ - Local export folder
Example/ - Reference files
AC_Booking.xlsx - Source Excel with dropdown data
Site_Example.png - UI reference screenshot
Project_2159544_mediaBookings.csv - Example OMG export for format reference
Requirements
- Node.js (any recent version) - only needed for "Send to OMG"
- A modern web browser (Chrome, Safari, Firefox, Edge)
- No npm packages or build step required
Dropdown Data
All dropdown values (Asset Types, Media Types, Aspect Ratios, ISO Codes) are sourced from the Dropdowns sheet in Example/AC_Booking.xlsx and embedded directly in index.html.