Message exchange in pools

hi dears
please point me if there is a mistake in this model
pool
I want to send a message from first processes to the second but when the execution reaches “send request” the instance (token) goes to "check price " instead of the second pool what is wrong? I have used message correlation code in all the send message tasks and I have configured the message receiver task in the camunda modeler but the second pool is not executing. why is the dotted notation for message exchange not working?

execution.getProcessEngineServices()
.getRuntimeService()
.createMessageCorrelation(“sendrequest”)
.processInstanceBusinessKey(“hotel”)
//.setVariable(“cancellation”, “order”)
.correlateAll();

Can you show more of your BPMN?

Is Receive Request the only activity in that pool? Do you have a start event in the bottom pool?

When you send the message from Send Request to Receive Request, there would be two tokens: The Token that moved from Send Request to Check Price, and the second token that was generated in the bottom process instance.

pooldiagram.bpmn (24.3 KB)
I don’t have start message event in the second pool. can i make the receive request a message start event ?

Try like this:

edit: just to make sure everything is working from your code: try something like this with expressions: Support for Script Implementation on Messages Events

thanks for your help @StephenOTT but this is not working for me there is an error. and I have one question about the pool i.e how is the deployment of single bpmn file containing two pools produce two separate processes in the task list of the camunda and how to manage the communication among the processes?

Pools are different processes. The bpmn file is just a container. When no pool is used then the file is also the pool. When you add a pool then multiple pools are separate processes

Can you build from my example bpmn file in my previous link and build a example of your interaction between pools.

Here is a example bpmn file Camunda Message and signalling