4 ms·
20 years as an eCommerce developer/architect. This is really good for a first take. It covers quite a lot of what we document in most of our initial pre-projec
by weard_beard 3y ago
20 years as an eCommerce developer/architect.
This is really good for a first take. It covers quite a lot of what we document in most of our initial pre-project planning sessions. A couple considerations not covered here that we would dig into are:
.05) Integrations! A Point of Sale and a Website an Enterprise Record System, a Product Information Management tool, A content management and authoring tool, A digital image and media management tool, Warehouse management and Order management software, and Business Intelligence Data Lake, Customer Data Platform, Email Marketing Platform, Ratings and Reviews Service, Search, and a rainbow of minor 3rd party web based services don't really help much unless they all talk to each other. Nowadays, you also need a way to mix the data from all these services together to provide unified data management and a unified user experience. To achieve this we usually build a dedicated orchestration layer to handle the services that merge data from all these sources.
1) Products. Bundles, Groups, Configurables, Packs that can or cannot be split, special pricing (distinct from discounts), add-ons, virtual products, inventory, stocking from warehouse, resale through market places or other omnichannel availability, attributes that affect pricing or shipping or purchase availability, etc.
2) Order Management. Order modification and workflows for different types of returns and exchanges. How long/can orders be modified between placement and delivery. How are chargebacks and price differences handled? What's the workflow? How is manufacturing/warehouse/shipping notified?
3) Sales channels. Specifically BOPIS (Buy Online, Pickup In Store) inter-store transfers for sales, or inventory stocking), delivery types (freight, refrigerated, courier, plus the usual UPS/USPS/FedEx options). Return and delivery tracking services and customer assistance programs.
4) Reporting. Financial, marketing, service and technical performance, Data Warehousing and Cross functional Business Intelligence, taxes, refunds, breakage, etc.
5) Customer service integrations, customer management, customer support, ticketing and tracking through customer data platforms like Salesforce.
6) Loyalty and reward programs including virtual and physical ledgers of points and campaigns to earn points. Loyalty as payment type. Ratings and reviews. Social media engagement. Gift cards.
7) Transactional communications systems such as email, text, and social media integrations, mailing lists, newsletters, and push notifications.
8) Multi-language and international sales considerations. There is a LOT to consider here. From tax to payment types, to product availability and shipping.
9) There is a mention of payment types, but payments get so much more complex than what is covered here. Who is your merchant bank? What payment gateway to use? International payments get even more complex. When to auth and capture. Services to tokenize and preserve payment info for future purchases or changing order amounts.
10) Fraud detection for payments. Mitigating carding attacks and other fraud attempts through monitoring and 3rd party integration.
11) Recurring payments/subscriptions.
- monksy 3y agoFor the love of god don't forget taxes.. fucking taxes. Federal, state, local, type, etc.
- weard_beard 3y agoI include that mostly under integrations. These days most companies are smart enough to use a centralized service instead of rate tables. The services are pretty good and provide pre-built integrations for most common frameworks. A security audit, install, and QA and you're 90% done.
- joshstrange 3y agoI hope your taxes system has a concept of only applying to certain item groups and/or certain specific items. Some places have food taxed, others do not, water isn't taxed, alcohol is taxed differently, food with enough sugar is taxed differently than just "food", and the list goes on. Also your clients might want to be able to add their own "taxes" (aka service charges) for certain days/weeks of the year or by the channel that the order was placed. POS system are incredibly complicated and even more-so if they span multiple restaurant industries or types. Think table service vs drive thru vs carryout vs curbside and things like pizza vs coffee. A lot of what you build will not transfer over. Your logic to handle half and half pizza probably isn't going to be reusable in other industries. I will say one thing, it's never dull.
- datavirtue 3y agoDelivery is taxed if the food is taxed...in most jurisdictions. You could easily have any variation apply in edge cases. Your software has to do it all.
- datavirtue 3y agoI'm building an online ordering system right now. Just for pizzerias. Generalized systems suck hard.
- sebastianlay 3y agoYour coffee in a café in Germany is taxed differently based on the amount and type of milk in your coffee. Oh and of course the tax rate is different depending on whether you consume it in the café or take it to go.