Table of Contents |
---|
Goals
...
Goal
The purpose of Guest Checkout is to allow guests to place an order by providing some basic information in addition to the payment, without the need to register or login.
Designs
Figma: Burger King
Challenges
Overall Complexity
How to save these customers in the database and how to handle the case when such customers return again for an additional purchase.
Lots of services rely on user data, therefore there is a high level of dependency if we decided to store user information in User entries (record = sk= v0_User in monotable) - we’d have to figure out how other services can consume guest data
Eventually, based on the 2023-08-24 Guest checkout PoC works we went with the approach of not creating the User entity in the Cognito and DB. All Guest data will be stored in the Order DB entry.
Database does not allow for adding multiple users with the same e-mail address
(it’s not a problem anymore since we don’t store the guest data within the user entries in monotable)
We need to create functionalities that are usable for all markets and due to architectural differences per market (transition from
whitelabel-gql
tofulfillment-service
, currently DE useswhitelabel-gql
but will have to transition tofulfillment-service
eventually) , this posed a need for code duality since the code needs to be created in both places.
...