Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Statamic Offers

Statamic Offers Laravel Package

goldnead/statamic-offers

Statamic Offers is a Laravel package that adds offer management to Statamic CMS. Editors can create and organize offers in the control panel, while developers can surface them in Antlers templates for promotions, deals, or listings.

View on GitHub
Deep Wiki
Context7

Offers for Statamic: a product, a price of its own, the words that sell it, and where it appears. The piece between a catalogue and a funnel.

Frequently asked questions about Statamic Offers
What is goldnead/statamic-offers used for?
goldnead/statamic-offers is a Statamic addon for publishing and managing promotional offers from the control panel. Editors can create time-limited deals, discounts, or campaigns with titles, descriptions, links, and validity periods. Developers surface those offers in Antlers or Blade templates for storefronts and landing pages. It keeps promotional content structured and reusable inside Statamic.
How do I install goldnead/statamic-offers?
Install it with Composer as a Statamic addon in a Laravel project that already runs Statamic; the provided context does not list exact publish or migration commands, so follow the README. The package declares a hard dependency on statamic-brand-context ^1.17 in v1.18.0, so Composer must resolve that addon too. After installation, editors manage offers in the Statamic control panel and developers render them in templates. Verify the resolved dependency tree before rollout.
Which Laravel and Statamic versions does goldnead/statamic-offers support?
The provided context does not state explicit Laravel, PHP, or Statamic version floors for goldnead/statamic-offers. It is a Statamic addon and, from v1.18.0, requires statamic-brand-context ^1.17, which can impose transitive Statamic and PHP constraints. Check the package composer.json and test against your pinned Laravel and Statamic versions. If you run a plain Laravel service without Statamic, this package is not a clean fit.
How do I render offers from goldnead/statamic-offers in Antlers or Blade?
Offers are designed to be rendered with Antlers or Blade for storefronts and landing pages. Store offer details such as titles, descriptions, links, and validity periods, then loop over the offers in your template and output those fields. Because validity periods are part of the content model, filter or conditionally render offers by date in your template logic. Audit templates after v1.18.0 because funnel map entries changed shape.
Can I use goldnead/statamic-offers in a headless Laravel API without Statamic?
The assessment says goldnead/statamic-offers is now explicitly a Statamic addon with a Statamic addon dependency, so it no longer sits cleanly in a plain Laravel service. Headless or API-only consumers inherit the Statamic runtime and content model. If you only need an API, consider whether you want that coupling before adopting it. For Statamic-backed sites, the CP management and template rendering are the intended workflow.
What changed in v1.18.0 of goldnead/statamic-offers?
v1.18.0 changes the funnels map to store offers as objects with type: offer, id set to the handle, and number representing seats accepted in the period. It also adds a hard dependency on statamic-brand-context ^1.17. That is a data-shape change plus a dependency change, so any templates, imports, or API resources that read funnel map entries as a scalar or handle can break or silently render an empty offer. Audit those readers before upgrading.
Does goldnead/statamic-offers support per-seat pricing and due-today calculations?
The assessment flags seats and money as adjacent but says nothing indicates they are connected. If pricing is per seat, firstPaymentCent() must account for the number field or the due-today line will be correct for one seat and wrong for many. Until proven connected, assume they are not and treat the integration as a product decision to schedule. The prior firstPaymentCent() and charge-path dual source of truth remains an unchanged risk.
What are the risks of the statamic-brand-context ^1.17 dependency?
An addon-to-addon constraint can force a cascading upgrade of Statamic, brand context, and anything sharing those transitive constraints, and Composer will not negotiate. You also inherit brand-context's release cadence, PHP and Statamic floor, and defects, so a patch to brand-context can break checkout-adjacent code. The assessment notes there is no recorded review for versions 1.16 and 1.17, so diff those changelogs before trusting 1.18.0 as the whole story.
How should I test upgrading goldnead/statamic-offers in production?
Start by diffing the changelog for 1.16.0 and 1.17.0, because the assessment has no recorded evaluation for those releases and 1.18.0 requires brand-context ^1.17. Then audit every template, import, and API resource that reads the funnels map and assume the old scalar or handle shape is gone. Resolve dependencies in a staging branch and test offer rendering, seat counts, and any due-today calculations. Also review exhaustive switches on type: offer because a discriminator invites new types.
What are alternatives to goldnead/statamic-offers for managing promotions in Statamic?
The context does not name direct competitors, but a common alternative is modeling offers as Statamic entries or collections with custom fields instead of a dedicated addon. That gives you full control over fields and templates but lacks the package's purpose-built CP workflow for time-limited offers. A general promotions or commerce addon may fit if you need pricing, seats, and checkout integration. Choose based on whether you need Statamic-native offer management or broader commerce features.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console