The first one is ticketCatalogueService which is in charge of managing the sales process, providing the list of ordinal tickets and season tickets. The service is accessed via a REST API, which exposes various end-points, some accessible to everybody, some restricted to authenticated users and others accessible only to users having administrative privileges. This service cooperates with TravelerService, in order to retrieve additional information of the user, which are used to check compatibility constraints with sales available. In case the acquisition process can be performed, it sends back an order with status PENDING. From this point two things happens: the pending order is saved in the database, and send payment informations to the PaymentService. The latter is in charge of sending payment informations to the bank through a kafka topic, replying back the result in a different topic.
The first one is ticketCatalogueService which is in charge of managing the sales process, providing the list of ordinal tickets and season tickets. The service is accessed via a REST API, which exposes various end-points, some accessible to everybody, some restricted to authenticated users and others accessible only to users having administrative privileges. This service cooperates with TravelerService, in order to retrieve additional information of the user, which are used to check compatibility constraints with sales available. In case the acquisition process can be performed, it sends back an order with status PENDING. From this point two things happens: the pending order is saved in the database, and send payment informations to the PaymentService. The latter is in charge of sending payment informations to the bank through a kafka topic, replying back the result in a different topic.