Every large company has its own way of structuring its business. A global bank, for example, has a corporate headquarters with global regions, which break down into countries that have states, that have cities where you find branches.

To support a variety of complex organizational structures, Pismo's corporate banking solution extends the Pismo platform by introducing a flexible, generic hierarchy that can accommodate any type of structure you need. A hierarchy is created under a single organization (Org) and is divided into levels. Levels are categories, such as Region, Country, or City, such as North America, Brazil, or Chile. Each level contains divisions. At the City level, for example, you might add the divisions London and Glasgow. Level is the primary element and may contain one or more divisions. Typically, levels are organized by geography. Beneath the Headquarters level, for example, you might place levels for region > country > city > branch.

1: RegionDivisions in Level 1 could include: North America; South America; Europe, Middle East, Africa (EMEA)
2: CountryCountry divisions would be countries, such as Mexico, Brazil, Argentina, France
3: CityDivisions in level 3: London, Manchester, Buenos Aires, Bariloche, etc. London and Manchester are child divisions of Brazil. Buenos Aires and Bariloche are child divisions of Argentina.

Every hierarchy has a unique ID, as does each level and division. These IDs are used when creating account families. Each level has an index (0, 1, 2, ...), with 0 representing the Headquarters level, for example, and a description.

Create hierarchies, levels, and divisions

You set up levels using the Create hierarchy endpoint. After creating levels, use their IDs to add divisions using the Create Division endpoint. A division is also used in scenarios related to account creation, defining business holidays, program binding, and so on. (Additional pages in this guide explore these options.)
A division element (for example, Country = United Kingdom) can have a parent/child relationship with a division at a higher level. For example, London is not only a division element for the city level, it could also have United Kingdom as its parent division at the country level.

diagram showing hierarchies, levels, and divisions

Parent/child relationships between divisions are represented by the red arrows.

Bind a program to a division

You bind the specific program IDs for a division and its children using the Patch division endpoint. A division can be bound to one program set (the group of programs that are available to a division), so a subsequent call to this endpoint for the same division creates a new program set that effectively replaces the previous one.

Other hierarchy endpoints

  • Get hierarchy – Enables you to view hierarchies by ID.
  • Get division – Gets information about a specific division.
  • Further, you can update a division with certain configurations and behaviors. You can define a division's holidays, for example, and forbid transactions on those days. All accounts created within that division inherit the holiday configuration. Holidays will validate for a division if a specific transaction can occur on that day. If a transaction occurs in a division on a day that is not a business day for that division, or any of its parents (since holiday configurations are always inherited), that transaction will be denied.