The interactions between these subsystems are detailed by the major use cases below
- On the Login/Authenticate call Identity Management checks User credentials with User Management
- Inform Dashboard Manager of active user [will be useful for further use cases...]
- Return valid bearer token
- Valid bearer token is must for all further use case calls
NOTE: API Gateway will reject all subsequent calls with invalid bearer tokens Also for simplicity sake in below diagrams The API Gateway is not explicitly shown
- User config management has the responsibility to add/update/get email and filter information
NOTE: Use of User Config Management Service is illustrated in next interaction
- Dashboard Manager activates Email Service for polling and scraping emails
- Email Service get users whitelist/filters through User Config Management
- Informs Trip Organizer of trip/booking data from E-mail. E.g. data extracted from PNR
- Trip Organizer will check if data is newer and commit
NOTE: Trip Organizer also works with Trip Service Provider to get more details on the Trip/Booking
In this interaction Dashboard Manager directly interacts with Trip Organizer
- Interfaces with different mailing services to get and scrape the user mails. Works as an aggregator for all the mail service provider.
-
Travel Service provider Interfaces with 3rd party travel providers{eg. make my trip} and air,hotel, car rental service provider. To get
- more details on PNR.
- updates etc.
-
TripOrganizer is a Key component on the dashboard using which trip details are managed (Add/Modify/delete)
- PNR Handling
- Provides analytical options (What are the different data mining options available for traveler) to UI
- Generates reports
- Onboard/Adds/Removes third part vendors which provide booking services such as Airlines, Cars and Hotels
- OAuth2 integration
- User Management
- Interface with various social media providers
- Enables user of the RW Dashboard to share the trip info
- Handles the notification to the user for changes and updates in itinerary
- Broadcast messaging to all users (e.g. ads [ads may need to be as per user profiles], emergency updates)
- Integrates to various travel aggregators help desk
- User related settings like whitelisting emails
Encapsulates storage and retrieval of Trip/Booking/User information.
- Handles quick reads
- Caching of recent user data
- Secure write/updates
- Will be used by other services in RW backend
- Get the live data (real world updates) from the travel service provider.
- Handles communications across services and components
- Used for new user registration
- Manages routing, load balancing etc. and will be the entry point for the UI layer for Web and Mobile app
- Overarching component which encapsulates different service on the UI
- Used for user behavior tracking