Delivery method
description
Transcript of Delivery method
![Page 2: Delivery method](https://reader034.fdocuments.net/reader034/viewer/2022050801/54b5d2614a7959d93c8b45ba/html5/thumbnails/2.jpg)
Vendors share • Similar goods • Similar pricing
Differentiators • Customer experience • Delivery
Delivery Matters
![Page 3: Delivery method](https://reader034.fdocuments.net/reader034/viewer/2022050801/54b5d2614a7959d93c8b45ba/html5/thumbnails/3.jpg)
• Links stores and couriers
• Handles the hard stuff • Courier selection • Price calculation • Lead times
• Exposes a simple API
Shutl
![Page 4: Delivery method](https://reader034.fdocuments.net/reader034/viewer/2022050801/54b5d2614a7959d93c8b45ba/html5/thumbnails/4.jpg)
• Shutl Now • Rapid delivery, as soon as possible • Can be as fast as 15 minutes
• Shutl When • Delivery within a specified hour
Shutl services
![Page 5: Delivery method](https://reader034.fdocuments.net/reader034/viewer/2022050801/54b5d2614a7959d93c8b45ba/html5/thumbnails/5.jpg)
• Built by neoworks
• Data model and business services • Location service • Delivery service
• CS cockpit widget
Shutl Hybris Extension
![Page 6: Delivery method](https://reader034.fdocuments.net/reader034/viewer/2022050801/54b5d2614a7959d93c8b45ba/html5/thumbnails/6.jpg)
locs = ls.getNearbyShutlLocations( cart.getDeliverAddress(), 20.0);
Quote = ds.getDeliveryQuotation(cart,
locs.get(0), cart.getDeliveryAddress(), null);
cart.setDeliveryQuotation(quote);
conf = ds.bookDelivery(cart);
For a demo, go to thetoyshop.com
Shutl Now Example
![Page 7: Delivery method](https://reader034.fdocuments.net/reader034/viewer/2022050801/54b5d2614a7959d93c8b45ba/html5/thumbnails/7.jpg)
• Cancel quote • Failure in process after quote was booked
• Preview quotes • Rapid, approximate
Feature wish list
![Page 8: Delivery method](https://reader034.fdocuments.net/reader034/viewer/2022050801/54b5d2614a7959d93c8b45ba/html5/thumbnails/8.jpg)
• Separate retrieval of data and processing
• Retrieved data leaves audit trail • Good for debugging
• No need to refetch data if the error was local
• Remember to clean up
• Some data expires
Message Caching
![Page 9: Delivery method](https://reader034.fdocuments.net/reader034/viewer/2022050801/54b5d2614a7959d93c8b45ba/html5/thumbnails/9.jpg)
• Add file end points for inbound data interfaces
• Allows for easy production fixes
• Remember to track the source of the data
• Spring integration is good for this
File Endpoints
![Page 10: Delivery method](https://reader034.fdocuments.net/reader034/viewer/2022050801/54b5d2614a7959d93c8b45ba/html5/thumbnails/10.jpg)
• Atomicity, Consistency, Isolation, Durability
• Stock example • Stock numbers guaranteed by ACID properties • What happens when some stock is destroyed?
• Downside: bottleneck due to locking
Database Transactions
![Page 11: Delivery method](https://reader034.fdocuments.net/reader034/viewer/2022050801/54b5d2614a7959d93c8b45ba/html5/thumbnails/11.jpg)
• Stock example • Many people buy the same goods • Web applications are very concurrent
• Single SQL statement • UPDATE StockLevel SET qty = 98 WHERE
qty = 100 AND sku = 1234
• Retry if no rows updated
No transactions?