Co jsou skupiny zákazníků?
Skupiny zákazníků (customer groups) jsou jedním z nejjednodušších, přesto nejsilnějších konceptů v BillingEngine. Skupina je pojmenovaný kontejner, do kterého přiřazujete zákazníky. Na tyto skupiny pak cílí pravidla oceňování — tím určujete, kdo dostane jaký ceník.
Bez skupin by pravidla oceňování musela cílit na každého zákazníka zvlášť nebo vůbec nediferencovat. Se skupinami stačí zákazníka přidat do skupiny a automaticky se na něj aplikují všechna pravidla cílená na tuto skupinu.
Typické způsoby využití skupin:
- Segmentace zákazníků — VIP, Standard, Startup, Enterprise
- Geografická segmentace — zákazníci v různých regionech s odlišnými sazbami
- Projektové skupiny — dočasné skupiny pro promo akce nebo pilotní programy
- Smluvní skupiny — zákazníci se zvláštními smlouvami vyžadující specifické ceníky
Vytvoření skupiny
Skupinu vytvoříte jednoduchým POST požadavkem:
POST /api/v1/groups
Content-Type: application/json
{
"name": "VIP zákazníci",
"description": "Zákazníci s obratem nad 500 000 CZK/měsíc"
}
BillingEngine vrátí objekt skupiny s přiděleným id. Toto id pak použijete při přiřazování zákazníků a při vytváření pravidel oceňování.
Skupinu si pojmenujte srozumitelně. "VIP Q1 2026" nebo "Startup program" jsou dobrá jména. Vyhněte se abstraktním názvům jako "skupina_A" — za půl roku nebudete vědět, co znamená.
Přiřazení zákazníků do skupiny
Zákazníka přiřadíte do skupiny pomocí:
POST /api/v1/groups/{groupId}/customers
Content-Type: application/json
{
"customer_id": "uuid-zakaznika"
}
Jeden zákazník může být členem více skupin najednou. To umožňuje flexibilní kombinace — zákazník může být zároveň ve skupině “VIP” i ve skupině “Promo léto 2026”. Pravidla oceňování pak soutěží o zákazníka na základě priority.
Přehled zákazníků ve skupině získáte dotazem:
GET /api/v1/groups/{groupId}/customers
Odebrání zákazníka ze skupiny:
DELETE /api/v1/groups/{groupId}/customers/{customerId}
Skupiny a pravidla oceňování
Skupina sama o sobě nic necení — je to jen kontejner. Skutečnou práci dělají pravidla oceňování, která na skupinu odkazují přes group_id. Když engine ohodnocuje datový záznam, zkontroluje, zda zákazník patří do skupiny specifikované v pravidle — a pokud ano, pravidlo se zařadí mezi kandidáty pro ohodnocení.
POST /api/v1/pricing-rules
Content-Type: application/json
{
"name": "VIP zákazníci — retail ceny 2026",
"code": "VIP-RETAIL-2026",
"billing_category": "retail",
"price_list_id": "uuid-vip-cenik",
"group_id": "uuid-skupina-vip",
"priority": 100,
"valid_from": "2026-01-01"
}
Toto pravidlo se aplikuje pouze na zákazníky ve skupině VIP. Zákazníci mimo skupinu toto pravidlo přeskočí a engine prohledá další pravidla s nižší prioritou.
Příklad: Segmentační architektura
Představte si operátora se třemi zákaznickými segmenty. Architektura skupin a pravidel by mohla vypadat takto:
Skupiny:
VIP zákazníci → pravidla s prioritou 100+
Standard → pravidla s prioritou 10
Startup program → pravidla s prioritou 50
Zákazník "End Customer a.s.": člen skupiny VIP
Zákazník "Tech Corp s.r.o.": člen skupiny Standard
Zákazník "Startup XYZ": člen skupin Standard + Startup
Zákazník “Startup XYZ” je ve dvou skupinách. Engine seřadí pravidla sestupně podle priority — pravidla skupiny Startup mají prioritu 50, pravidla skupiny Standard mají 10. Engine zpracuje Startup pravidla jako první (vyšší číslo = vyšší priorita), Standard pravidla jako zálohu.
Dočasné skupiny pro akce
Skupiny jsou ideálním nástrojem pro časově omezené promo akce bez nutnosti měnit trvalou konfiguraci:
- Vytvořte skupinu
"Letní promo 2026"s popisem a datem expirace akce - Vytvořte pravidlo s vysokou prioritou cílící na tuto skupinu
- Přidejte zákazníky — jen ty, kteří se mají akce zúčastnit
- Po skončení akce — odeberte zákazníky ze skupiny nebo skupinu smažte
Pravidlo pro promo skupinu odkazuje na speciální ceník s akčními sazbami. Po odebrání zákazníků ze skupiny se automaticky vrátí k standardním pravidlům — pravidlo samotné zůstane, ale bez zákazníků ve skupině se nikdy neuplatní.
Skupiny vs. přímé přiřazení zákazníka
Pravidlo oceňování může cílit přímo na konkrétního zákazníka přes customer_id — bez skupiny. To se hodí pro jednorázové individuální dohody nebo výjimky.
Skupiny jsou ale vhodné pro většinu případů, protože:
- Škálovatelnost — přidání nového zákazníka do skupiny je instantní, bez nutnosti vytvářet nové pravidlo
- Konzistence — všichni zákazníci ve skupině dostávají identické podmínky ze stejného pravidla
- Přehlednost — jasná logika: skupina X → pravidlo Y → ceník Z
- Auditovatelnost — při pohledu na rated záznam je zřejmé, přes jakou skupinu pravidlo zapůsobilo
Přímé customer_id na pravidle je vhodné jen pro skutečně individuální případy. Pro segmentaci používejte skupiny.
Správa skupin v čase
Skupiny jsou živé objekty — jejich členství se mění s vaší obchodní realitou:
- Nový VIP zákazník → přidejte ho do skupiny VIP
- Zákazník ukončil smlouvu → odeberte ho ze skupin, nebo skupinu archivujte
- Konec promo akce → vymažte zákazníky z promo skupiny
- Restrukturalizace segmentů → vytvořte nové skupiny, přesuňte zákazníky, smažte staré skupiny
BillingEngine nedrží historii členství ve skupině — pokud zákazníka odeberete ze skupiny, záznamy zpracované v minulosti zůstávají správné (cena je uložena v záznamu), ale nové záznamy budou oceněny bez skupinové příslušnosti.
Doporučené postupy
Mějte jasnou segmentační strategii. Před vytvářením skupin si rozmyslete, jak chcete zákazníky segmentovat. Dobře navržené skupiny šetří čas při správě pravidel.
Dokumentujte skupiny. Pole description využijte naplno — popište, kdo do skupiny patří a proč. Za rok to oceníte.
Pravidelně revidujte členství. Zákazníci, kteří už do skupiny nepatří, mohou dostávat nesprávné ceny. Naplánujte si pravidelnou revizi.
Využívejte skupiny jako přepínač. Pro dočasné akce nepřepisujte pravidla — používejte skupiny jako přepínač, který aktivuje nebo deaktivuje speciální ceník.
Nenechávejte prázdné skupiny. Prázdné skupiny zbytečně znečišťují konfiguraci. Pokud skupina nemá žádné zákazníky ani plánované přiřazení, smažte ji.
Závěr
Skupiny zákazníků jsou jednoduchým, ale mocným mechanismem pro segmentaci. Jejich kombinace s pravidly oceňování umožňuje modelovat libovolně složité cenové strategie bez duplicitní konfigurace. V Kapitole 4 se zaměříme na zákazníky samotné — jak je spravovat a jak využít external ID pro bezešvou integraci s vašimi systémy.