How can I change the value of a field in Entity B based on the value of a field in Entity A?
You may need to write a quick custom action for this given your use case but its fairly easy to do. First create a custom module and add this hook to declare that you are creating a new action to be taken when 'someone checks out'.

/**
 * Implements hook_action_info().
 */

function YOURMODULE_action_info() {
  return array(
    'YOURMODULE_room_checkout_action' =&gt; array(
      'label' =&gt; t('Action to take after someone checks out'),
      'type' =&gt; 'node',
      'configurable' =&gt; FALSE,
      'triggers' =&gt; array('any'),
    ),
}


Presumably, you want to attach this action to the trigger you already have, perhaps 'when booking content type is updated'.

Next, all you need to do is write your payload function that gets triggered for the action. The name for this is the same as what we defined in the array above. After that, you just need to set the two values which is a bit more involved but the pseudo code here should get your started.

/**
 * Action function for 'check out of room' action.
 *
 * @see action_example_action_info()
 */
function YOURMODULE_room_checkout_action(&amp;$entity, $context = array()) {

  // find entity id for your room entity and load entity as $room
  // set $room-&gt;needs_cleaning field to 1 (or same value as $booking-&gt;checked_out
  // note that the $entity passed here is the one from your trigger (ex. the booking node)

}