Sharing Events Between Clients

I would like to find out if it is possible to share events between different clients.
I would like to update all clients when some something of importance happens.
In my example the hotel booking system, rooms can be booked by many booking agents
as well as online clients. When a room is booked I would like to then update other users
viewmodel and inform them about the change.

My other alternative is to constantly at regular intervals poll the Database and reguest changes.
I just think if it was possible in some way to rather use the event aggregator, this would indeed save a lot
of wasted bandwidth.

The guidance Prism provides is about building client side applications; therefore, components such as the Event Aggregator, whose purpose is to achieve communication between components that are loosely coupled, are intented
to be used within a single "composite" application. A composite application is an application composed of different, independent modules, that are loosely coupled from each other, but can be easily and seamlessly integrated into the overall
application. This implies that such components reside in the same solution.

So, it's not possible to use the event aggregator to communicate between different clients, placed on different machines, out of the box.

In order to achieve the scenario you're mentioning, you could follow an approach like the one that you mentioned (polling the database), or a similar one, but necessarily involving a server component (e.g. a web service), which is out of the scope of a Prism
application.

You might find the following threads useful, where you might find some information about using web services (such as
WCF services) in the context of a Prism application:

Technically, you can write service that uses HTTP Polling and import EventAggregator into that service. When event comes in from server - publish event via EventAggregator and you in business. All other PRISM stuff will work like a charm.