Franchise
A franchise unit (school) of the CNA network as managed in Nexus - registration and tax data, lifecycle statuses, category, economic group, region, partners and products. Created by activating an opening contract. Aggregate root of the Franchise Kafka topic.
Overview
A franchise is born when an opening ContractContractEntityv1.0.0A franchise contract in CNA Nexus - opening, renewal or resale - uploaded as a document, analysed by AI, reviewed by a p...Ownercna-platformView docs is activated: the activation creates the unit with its brand, address, territory and partners, and links the contract to it. From then on it changes through contract amendments, renewals and resales (which re-apply the contract snapshot) and through the four franchise edit screens (legal, operational, financial, location and contact). Every change publishes a full snapshot as Franchise UpdatedFranchise UpdatedEventv1.2.0A franchise unit changed in CNA Nexus - edited in one of the franchise screens, re-activated from a contract, or amended...Ownercna-platformSchemaMapView docs on Franchise (Kafka topic)Franchise (Kafka topic)Channelv1.0.0Kafka topic for the Franchise aggregate. Carries the nine NEXUS events about franchise units, their addresses, economic ...Ownercna-platformView docs. The unit’s Franchise AddressFranchise AddressEntityv1.0.0The address of a franchise unit - street, number, complement, neighborhood, postal code, IBGE city or foreign city and s...Ownercna-platformView docs also publishes its own Franchise Address CreatedFranchise Address CreatedEventv1.0.0A franchise unit received its address in CNA Nexus. The address block of the franchise snapshot plus the franchise id. P...Ownercna-platformSchemaMapView docs and Franchise Address UpdatedFranchise Address UpdatedEventv1.0.0The address of a franchise unit changed in CNA Nexus. The address block of the franchise snapshot plus the franchise id....Ownercna-platformSchemaMapView docs whenever its row is inserted or changed.
The unit belongs to at most one Economic GroupEconomic GroupEntityv1.0.0A grouping of franchise units under one economic owner, used for reporting and statistics. Optional on a franchise; soft...Ownercna-platformView docs and has people behind it as Franchise PartnerFranchise PartnerEntityv1.0.0The link between a franchise unit and a person behind it, with one or more roles - FRANCHISEE (leads the unit) or OPERAT...Ownercna-platformView docss. CNA OneCNA OneServicev1.0.0Franchise operating system (franchises and employees, pricing, products and learning books, school operations). Publishe...PublishesGrantApplicationAccess, EmployeeCreated +6SubscribesInviteUser, FranchiseCreated +9Ownercna-platformMapRepoView docs mirrors the unit, its address and its partners (as employees) when it receives Franchise CreatedFranchise CreatedEventv1.2.0A franchise unit was created in CNA Nexus by activating an opening contract. Full snapshot of the unit; cna-one mirrors ...Ownercna-platformSchemaMapView docs.
| Name | Type | Required | Description | Reference |
|---|---|---|---|---|
id | string | Required | Internal id (UUID) in franchise.franchises. Kafka message key of the franchise events and the id cna-one mirrors the unit under. | |
name | string | Required | Unit name. | |
code | string | Optional | Internal unit code, unique. | |
cnpj | string | Optional | Company registration number, unique. Stored as typed; cna-one normalises and validates it when mirroring. | |
legalName | string | Optional | Legal company name. | |
categoryId | string | Required | Size/type category of the unit (franchise.categories). | |
economicGroupId | string | Optional | Economic group that owns the unit, when any. | EconomicGroupProperty: id |
operationalRegionId | string | Optional | Operational region the unit is managed in, when any. | |
openingStatus | stringEnum:
| Required | Lifecycle stage of the unit. | |
operationalStatus | stringEnum:
| Required | Whether the unit operates. cna-one derives ACTIVE from OPERATIONAL. | |
financialStatus | stringEnum:
| Optional | Financial standing. | |
taxRegime | stringEnum:
| Optional | Tax regime. | |
conectaEnabled | boolean | Required | Whether the unit takes part in inter-school sharing (Conecta). | |
operationalStartAt | string | Optional | When operations started. | |
operationalEndAt | string | Optional | When operations ended. |
Custom properties
| Property | Value |
|---|---|
| Kafka Topicx-kafka-topic | Franchise |
| Routing Keyx-routing-key | id |