ferrero-ac-creator/Readme.md
2026-03-31 07:21:44 +00:00

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.html directly 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_INGEST
    

    Filename 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.