{children}
)
}
function GuideStepRow({
chip,
children,
}: {
chip: string
children: ReactNode
}) {
return (
{t( 'Every group name in the pricing table can be used in two places: on a user (the user group, assigned by admins) and on a token (the token group, chosen when creating the token). Same name pool, two different jobs.' )}
{t('Token group')} {': '} {t( 'decides which channels are used and which base ratio applies.' )}
{t('User group')} {': '} {t( 'decides the top-up ratio, which groups the user can pick for tokens, and whether an override ratio applies.' )}
{t( 'Common pitfall: the user group base ratio is NOT a personal discount. It only applies when the user group itself is the billing group.' )}
{t( 'The admin configured three groups and one special ratio rule:' )}
| {t('Group name')} | {t('Ratio')} |
|---|---|
| default | 1.0 |
| premium | 0.5 |
| vip | 0.8 |
{t( 'Three calls made by the same vip user. Assume the base price of one call is 10.' )}
{t( 'Use the pricing group table to manage the ratio and whether the group appears in the token creation dropdown.' )}
{t( 'Users only see groups marked as user selectable. Non-selectable groups can still be assigned by administrators.' )}
{t( 'When a token uses the auto group, the system tries groups from top to bottom until it finds an available group.' )}
{t( 'If default auto group is enabled, newly created tokens start with auto instead of an empty group.' )}
{t( 'In JSON, the user group is the outer key and the billing group is the inner key. The example below means: vip users pay 0.8 when billed as standard, and 0.3 when billed as premium.' )}
{t( 'Only configured combinations are overridden. All other calls keep the billing group base ratio.' )}
{t( 'Special usable group rules make extra token groups visible to, or hide default ones from, users of a specific user group.' )}
{t( 'In the visual editor these appear as Extra visible and Hidden. In JSON, +: (or no prefix) adds a group and -: removes one.' )}