Table of Contents |
---|
...
FE tech discovery can be found here
Mapping of how delivery fee is set (BE):
...
SNS: dev-plk-delivery-quote-outcome
SQS: aws-rbi-dev-plk-apply-delivery-service-quote
Lambda: sls-rbi-dev-plk-orders-delivery-service-apply-quote ( intl-orders-service)
Which get the message and updates the current order in the database (dynamodb)
...
BE Proposal
Enhance this lambda function (dev-plk-delivery-on-apply-quote) to not overwrite discount and service fees with zeroes. It should keep the value from launchdarkly.
Configure launchdarkly to fit business needs enabling FE to show fees and discounts properly.
discount <> 0
serviceFee <> 0
fee <> 0
...
Lucidchart |
---|
...
|
...
Note |
---|
Note: The calls to the BE in priceOrder is being executed through intl-gateway-service in the envs (enable-fulfillment-service-price-order = true) for Iberia Prod markets. Since in both flows (gateway and graphql) the impact is in intl-delivery-service, no major issues may be found with intl-whitelabel-graphql, but a double check plus tests are needed to ensure no major issues. |
Proposal validation with transactions team:
https://rbidigital.slack.com/archives/C04D0V74P0D/p1702672116251489Note: The calls to the BE in priceOrder is executed through gateway. A double-check is desirable to ensure that graphql flow is not impacted..com/archives/C04D0V74P0D/p1702672116251489
FE impacts
When discount, fee and service fee come to FE, intl-whitelabel-app can be changed to display FREE fees as according to UX (figma). The design screens should be adapted to consider them accordingly. In such case, depending on the launchdarkly config ( fee tier), we may have a different value for fee, service and discount. In principle, to minimize BE impacts, we may continue using a single field for discount. It’s up to the FE display "FREE” for the related use-cases. E.g:
...
Example:
yarn start:function on-apply-quote
A suggestion from trx team is to use partners-service repo as reference, where it shows also how to mock local events simulating (local queues). It ensures that you will be able that your lambda “consumer” will really read the event (and not the lambda that is AWS).