Hi, Moregreenhouse; thanks for the response and the thoughtful question.
I think I understand the specific problem you’re proposing (and if not, I assume I’ll be close enough). So what we’re saying is that users of our Search tool can associate their own information — for example, notes, as you say — to specific hotels that they’ve found.
I’d say that those notes would stay within the Search bounded context, because:
1) they are generated there. Presumably a user is attaching notes to hotels that they’ve just searched for
2) they are only used in that context. Again, presumably, a user will only see their notes (and even other users’ notes, if we make them public) while performing subsequent searches
As to exactly how the notes would be stored… as an architect, I’d say that that would be up to the Search team. :) But I would guess they would simply create a database table (probably in a separate database altogether) which can be queried by userId+hotelId.
Saving notes would probably be a simple synchronous call. However, a successful saving of a note should probably result in a message being published to a dedicated Kafka topic. Because some other Bounded Context(s) might very well be interested in learning about the notes that users publish about hotels.