Customer provides input for search to obtain a sorted list of products filtered by price and other range attributes. Data is sent through an Amazon API Gateway which calls multiple AWS Lambda functions to process multiple pricing requests in parallel to perform real time price lookups and data sourcing. The batch parallel processor Lambda functions call the rule calculator function to get the latest product rules from Amazon DynamoDB. The product is calculated against the search ID and stored in Amazon ElastiCache. After the batch parallel processor functions are complete, all results for the search ID are returned from the cache. Historical data from the booking engine and external market data provide information so the pricing engine has sufficient information to effectively update pricing in real time. The booking engine events are captured and monitored for trend behaviour on Amazon Kinesis. Amazon Kinesis Data Analytics queries the data stream, and triggers the price evaluator Lambda function if a change is detected. Events are stored in Amazon S3 with supporting historical batch data. An Amazon SageMaker Train model uses historic booking data and augmented historic data to train the model for pricing recommendations. Utilizing an Amazon SageMaker infer