Stage represents a runtime environment either on a local machine (DEV) or in AWS (CODE or PROD)
TouchPointEnvironment represents a logical environment for our backend systems, mainly Zuora and Salesforce.
Touchpoint represents 3rd party enterprise systems which have a number of different stages or environments (DEV, UAT and PROD) TouchpointConfig abstracts the details of talking to the correct environment based on the user details contained in the request.
TouchPointEnvironment represents a logical environment for our backend systems, mainly Zuora and Salesforce. Any environment *could* be used by any stage (see Stages) however in practice they are restricted to the following: DEV and CODE stages use the SANDBOX environment for non test users the UAT environment for test users PROD stage uses the PROD environment for non test users and UAT for test users