You haven’t misunderstood. And we’re aware that in this scenario it would make sense for the approval to be modelled outside the deployment process.
There are a few options however:
Option 1: One approach is to put the approval step at the end of the deployment process, and scope it to the environment before production. For example, your second-to-last environment may be Staging, where some final testing is performed. Once that testing is passed, the release is approved, allowing it to be scheduled for deployment to Production.
Option 2: An alternative approach is to have two manual intervention steps at the beginning of the deployment, scoped to the Production environment. The first is the approval, allowing the appropriate team to approve/reject the release. The second effectively acts as “deploy now”, and can be actioned when the deployment is to actually run.
Option 3: A third option is to model the approval as an environment. So you could have a Production - Approval environment. This may even have only one step configured to run, which is the manual approval step. The deployment to the Production environment can then be scheduled for whenever you wish.
Would any of those approaches fit?