In-Store pickup not fully available in ATG reference store? - atg

I had a question on in-store pickup. I see that there is support for it in the CRS module (it has GeoLocatorService, GeoLocatorDroplet etc), but don't see any buttons or JSPs that display or let you use it out of the box. On the other hand, commerce service center has this functionality fully exposed, with in-store pickup buttons, popup widgets to search for stores and shopping carts showing store pickup line items etc. Looks like the web stores would need this functionality exclusively coded, which would involve creating JSPs and components as required.
Is there something I can copy over from CSC (commerce service center) that will enable store pickup in web module (store US or home US etc?) very quickly? Please let me know. Thanks for your response!

Not sure if you want to capture payment and collect from store , or reserve in store and pay when you pick up the item.
In both the cases your DOM (distributed Order Management) and WMS (warehouse management system) has important role to play. ATG can lookup the selected store inventory , both locally (location repository) or using realtime webservice interface to the system that manages your global inventory.
In all cases ATG will be able to capture the order, but this order has to be handled by DOM in such a way that its routed to local store for fulfillment. If by any chance this order is not available in local store, your DOM/ WMS system should be able to send order item to local store from warehouse or from another store.
Walmart has both the functionality available (click to collect and reserve and pay at store) , walmart has proprietary software DOM3 which eventually addresses these interfaces.
Please realize ATG is just your online order capture system, Click to Collect and any 'commerce anywhere' functionality must be offered by your DOM. if this is offered by your DOM , all you need to do is exchange messages with DOM to achieve this.
I am not sure if this answers your question, but its not recommended to over engineer ATG , and ATG should follow the heart beat of your DOM.

In Store Pickup - often called Click & Collect - has not been implemented as a feature in the CRS. It is also not in CSC either.
You will need to do quite a bit of customisation to support it.
The feature that is part of CRS is Store Locator. This allows you to find and view details of physical stores.
You can use this as a basis to build Click & Collect functionality.
Assuming that other back-end systems can handle it, and your business is set up to consider things like promotions, pricing etc. for a Click & Collect proposition...
Basically, you will need to implement a new Shipping Method, a New subtype of Hardgood Shipping Group that can use a Store Code instead of a Customer Address, as well as the UI to support choosing a store during checkout.
Depending on how sophisticated your multi channel requirements are, you may need to modify the Inventory Manager to accommodate knowing local stock in store as well as central stock.
Other shipping related entities may need to change to represent any new statuses such as Arrived in Store or Ready for Collection.
If you are using ATG Fulfilment, you may need to change messaging there to accommodate, say, conveying a store code instead of a delivery address to fulfillers and carriers.

Related

What is the easiest way to fetch data dynamically from a cloud storage to a flutter app

I am looking for a way to fetch data to my flutter app which can be adjusted and modified dynamically after deploying the app. As an example, if I want to change the images of the carousel depending on promotions or launch new books to the digital library. I need an economic option to host the data in cloud storage and fetch it from there.
I have considered firebase as well as google drive, but have yet to find a good guide. being a beginner and having concerns about security I want some expert advice if possible.
*edit-
Seeing many a tutorial I assume there is no better way than linking file URLs from the
Cloud Storage. So to dynamically change those is it possible to refer the URLs to some excel sheet fields to obtain URLs. Those fields can certainly be adjusted then without any hard coding. but the question is how to refer to such a sheet file? *
I also want to segregate the users into paid and free users, I have successfully proceeded with the authentication with firebase but still don't understand(I do have some concepts but don't know where to do that) how to put them in groups and impose limitations on them about accessing the data. any guidance, links and helpful advice will be cordially appreciated.
According to what you are looking for, I highly recommend you to use Firebase Remote Config, which is a cloud tool that allows you to modify your app's functionality and appearance without forcing users to download an update. You define in-app default values that control the functionality and appearance of your app when you use Remote Config. Then, for all app users or for subsets of your user base, you may utilize the Firebase console or the Remote Config backend APIs to modify in-app default values.
Your program can control when updates are applied, and it can check for updates regularly and apply them with minimal performance impact.
Remote Config comes with a client library that takes care of essential functions like fetching parameter values and caching them while still allowing you to manage when new values are active and how they affect the user experience in your app.
Here is a tutorial that uses Flutter and Firebase Remote Config that could also help you.

Call Web Service when contents change

We'd like to allow our users to make changes to our ERP (only very limited conditions) from within the smartsheet. Is there a way to add a web service call based on changes to a cell?
It's certainly possible to do what you've described (provided, of course, that your ERP supports inbound web service calls to update data there).
If you're wanting to do this programmatically (i.e., by writing a script in Python or any other supported language), you can use the Smartsheet API to create one or more webhooks that will monitor Smartsheet for the type of changes you specify, and send your integration notifications when those events occur. Your integration would then listen for those inbound event notifications, and when they are received, it would programmatically issue the appropriate web service call(s) to update data in the ERP.
It's also worth mentioning that, depending on what ERP you're using, it may be possible for you to accomplish your goal without having to write any code. If you're interested in exploring the feasibility of that approach, I'd suggest you check out products like Zapier, Power Automate, etc. to see if they offer a connector for Smartsheet and your ERP. You may also want to check out the Smartsheet Connectors and Integrations page to see if there's a connector for your ERP listed there.

Cloud service to store email activity and to pull reports

What is a good way to store and run some reports on email analytics? Imagine this is a pretty high volume of emails sent, open, click stats broken down to email categories. This info has to be stored at some DB and we need to be able to slice the data in different ways to extract some valuable business information.
One way to do this would be in-house, build a new database and log and track every action. And later on built reports on top of it.
However, this is a lot of work and I was wondering if there's some cloud service that we can use to do this. Azure and Amazon offer cloud DB storage, I guess we can use them, but that means a lot of setup work as well. Not sure if there's a 3rd party email analytics in the cloud service.
Any recommendations on best way to tackle this problem?
Indeed, tracking your email links and analyzing the relevant is a lot of work. I recomend you use a third party application to take care of it.
Most email-as-a-service providers offer prety goood analytics, including things like opens, clicks, by location, time, etc...
It really depends on the provider, but I think you should take a look at some of the best known ones such as Sendgrid, Postmarkapp or Mailjet

How do I create an iPhone app to take a picture and send it back to an Oracle database?

I'm trying to create a program that you can take a photo with your camera, and send it back, where it will then be attached as a field into an Oracle database. An existing app that this is similar to (if I'm not explaining it clearly enough) would be bank apps that allow you to photograph the front and back of your checks, then send them off to a different location to be processed.
From my understanding, I would need some sort of middleware and not access the database directly with the pictures taken, but I'm just trying to get the project off the ground at the moment.
So, my immediate questions are:
What sort of base project template would be the best to use for this kind of app?
What sort of code is required to send a file from one location to another? (I'm mainly used to these scenarios in .NET languages, not in xCode)
Expose an HTTP based service (and that can be written in any language and run on any platform e.g. GNU/Linux).
The app itself would be native iOS, and you can certainly consume web-services.
The server itself is just your basic CRUD system backed by a persistent store, in your case an RDBMS.
[iOS] <-----/net:HTTP/---->[server]<==/LINQ/==>[RDBMS]

IPhone - Is it possible to add a Custom Image as the data source for a Map View?

I want to have a map view that loads from an image that I provide rather than using Google maps. This is basically because the internet will not be available where this app will be used.
I have heard that this is possible since map view is a CATiledLayer, so I should be able to provide custom content, but I am struggling to find information on the topic.
Could someone point me in the right direction?
You can't and doing this would be a violation of Google Map API terms. So Apple cannot even provide you such a feature. You must revert to third-party (and often non-free) services that use other maps.
The terms are here:
Google Maps API terms
This is a relevant (for this answer) extract from the terms:
License Restrictions. Except as expressly permitted under the Terms, or unless you have received prior written authorization from Google (or, as applicable, from the provider of particular Content), Google's licenses above are subject to your adherence to all of the restrictions below. Except as explicitly permitted in Section 7, you must not (nor may you permit anyone else to):
10.1 access or use the Service or any Content through any technology or means other than those provided in the Service, or through other explicitly authorized means Google may designate;
10.2 copy, translate, modify, create a derivative work of, or publicly display any Content or any part thereof (for example, the following are prohibited: (a) creating server-side modification of map tiles; and (b) stitching multiple static map images together to display a map that is larger than permitted in the Maps API Documentation);
10.3 pre-fetch, cache, or store any Content, except that you may store limited amounts of Content for the purpose of improving the performance of your Maps API Implementation if you do so temporarily, securely, and in a manner that does not permit use of the Content outside of the Service;
10.4 charge users or any other third party any incremental fee solely for the use of the Maps API Implementation, the Service, or the Content, unless you have entered into a separate written agreement with Google or obtained Google's written permission to do so (but if you are a consultant who creates or hosts Maps API Implementations for third party customers, you may charge such customers a fee for your consulting or hosting services);
10.5 reverse engineer, decompile or otherwise attempt to extract the source code of the Service or any part thereof, unless this is expressly permitted or required by applicable law;
10.6 use the Service in a manner that gives you or any other person access to mass downloads or bulk feeds of any Content, including but not limited to numerical latitude or longitude coordinates, imagery, and visible map data;
10.7 delete, obscure, or in any manner alter any warning, notice (including but not limited to any copyright or other proprietary rights notice), or link that appears in the Service or the Content;
10.8 use the Static Maps API other than in an implementation in a web browser;
10.9 use the Service or Content with any products, systems, or applications for or in connection with:
(a) real time navigation or route guidance, including but not limited to turn-by-turn route guidance that is synchronized to the position of a user's sensor-enabled device;
(b) any systems or functions for automatic or autonomous control of vehicle behavior; or
(c) dispatch, fleet management, business asset tracking, or similar enterprise applications (the Google Maps API can be used to track assets (such as cars, buses or other vehicles) as long as the tracking application is made available to the public without charge. For example, you may offer a free, public Maps API Implementation that displays real-time public transit or other transportation status information.
After some digging I found that this was not possible using a Map View
I ended up re-implementing a map view from a UIScroll View using a tiled layer as the content view. There is a tutorial how to do this in the 2010 WWDC videos on scroll views.
I then used open maps tiles.
This wasn't easy by any means. It took about a week to implement.