Training is split by role. End users are trained on the specific tasks they do rather than the whole system, and administrators receive a separate session covering configuration, what is safe to change, and what is not. Training is delivered close to go-live so it is still fresh when people start using the system.
A single all-hands training session fails in both directions. End users sit through configuration detail they will never use and lose attention before their own section. Administrators get a shallow pass over the parts they most need. Splitting by role takes marginally longer and works considerably better.
Training too far ahead of go-live is wasted, because people forget. Training is scheduled close to launch. A short follow-up session two to three weeks after go-live is often more valuable than the original, because by then people have real questions rather than hypothetical ones.
Decide early who your administrator will be and make sure that person attends the administrator session. Sending someone who will not own the system afterwards is a common and expensive shortcut.
For what documentation accompanies the training, read How does Cirro hand over the system to our team?