Ready-made parts (modules)
A module is a tested feature you add with one empty placeholder; Ginta renders it at serve time with live data, and the owner manages the content in Ginta (Your sites → Manage) without touching the page.
<div data-ginta-module="menu"></div>
| Module | Placeholder | What visitors get | Plans |
|---|---|---|---|
| Announcements | announcements |
A notice until a date ("Closed on Monday") | every plan |
| Menu | menu |
Sections, prices, sizes, dietary labels, print view | every plan |
| Gallery | gallery |
Albums, lightbox, a page per album | every plan |
| Blog | blog |
Posts with their own pages, RSS, scheduling | every plan |
| Quote requests | quote |
A step-by-step request form with photos | every plan |
| Bookings | bookings |
Free times, booking, change/cancel links, reminders, deposits | Hosting and up |
| Shop | catalog |
Products with pages, enquiries or cart + checkout on the owner's Stripe | Hosting and up |
| Events & classes | events |
Sign-ups, places, waiting list, reminders | Hosting and up |
With your assistant
- Put the placeholder where it belongs (
update_site). - Fill it with
manage_module. Ask for the fields first:{ "site_id": "duonos-namai", "module": "bookings", "action": "help" } - Set it up in one call:
{ "site_id": "duonos-namai", "module": "bookings", "action": "setup", "data": { "timezone": "Europe/Vilnius", "hours": { "tue": "10:00-14:00", "wed": "10:00-14:00", "thu": "10:00-14:00", "fri": "10:00-14:00" }, "services": [{ "name": "Cake consultation", "duration": 30, "price": 0 }] } }
Actions per module: announcements (list, post, delete) · menu (get, setup, save_item, delete_item) · gallery (get, add_photos, delete_photo) · blog (list, save, delete) · catalog (get, setup, save_product, delete_product, list_orders) · bookings (get, setup, list, cancel, add_days_off) · events (list, save, cancel, list_signups) · quote (setup, list, update).
Style: modules use the page's fonts and text colour; set --ginta-accent, --ginta-accent-ink and --ginta-radius
in your :root. Their classes start with ginta-<module>; your CSS wins. Never copy module content into the page.
