Hybris for B2B - Can pricing be hidden for non-registered customers? - sap-commerce-cloud

We are looking to implement Hybris and one important feature we are looking for is to hide pricing for non-registered customers. We do want to allow them browse the catalog but we don't want them to see any pricing information. Is this a standard feature on Hybris or do we need to have it custom coded?

If you would like to hide in only jsp(storefront) you can put price tag under security tag.
<sec:authorize ifAnyGranted="ROLE_CUSTOMERGROUP">
</sec:authorize>

I can think of one way to do this.
Log into HMC and click on the Price Settings - Prices - Customer Price Lists tree node. Create a Customer Price List.
Create new user group and map the registered users to belong this user group. In Customer Prices tab of the user group, Choose Customer Prices group for registered users you just created.
Go to Catalog-> Products and the Prices tab. Create two Price Rows, one for registered Customer Price List containing product price and the other for non-registered Customer Price List containing no product price. You don't need to create a Customer Product List for non-registered users. Just keep it blank.
Make sure you sync the catalog to reflect in online version.
If you log in with the registered user and go to product detail page you could see the price and for non-registered user, it will show no price.
PS: I have not done it myself, so I'm not 100% sure if it'll work. If it does, do let me know.

Related

In Stripe Billing Portal with Multiple Prices, how do you simplify the Plan Name?

I am using the integrated Billing Portal in Stripe. Using the Node SDK, I've added several different prices (and their associated products) to a user's Subscription. The same set of prices are added to every user - this is basically a SaaS plan.
If I then use the Billing Portal to provide the end user with information (such as their invoices), the fact that there are multiple prices on a single Subscription becomes confusing to the End user. That's because Stripe, in describing the billing plan, lists all the different products that are included in the subscription.
This description appears under the Stripe Portal's heading "CURRENT PLAN" when the user opens the portal - e.g., using the link obtained through an API call like this:
const getLink = await stripe.billingPortal.sessions.create({
customer: customerId,
return_url: `${baseFrontEndUrl}/billing/portal/return`
});
The trouble is, the "Current Plan" presented in the Stripe Billing Portal lists all the different prices in the title, so instead of saying, for example, "Pro Plan" the name of the plan simply lists all the different line items that are included in the plan, like, "Cheese Utilization, Hot Sauce Utilization, Bread Utilization," etc.
Instead, I would like the Portal to refer to the CURRENT PLAN by a name, such as "Pro Plan."
Is there a way to label a Stripe Subscription so that the "Current Plan" references a unified plan name, such as "Pro Plan" even though it has multiple line items?
For others who might find this - Stripe's tech support wrote to say this is not possible yet, but is on the roadmap:
Upon checking with our team, this feature is currently on our roadmap
for customer portal products. As of the moment, all the names added on
the line items will reflect as the name of the plan. You may consider
creating a specific subscription for each product to avoid multiple
names.
That said, I have filed feedback with our team. I have alerted them
with this information and they have added it to the queue of issues to
be addressed. Unfortunately, I do not have a timeline of when this may
become available.

How to associate an affiliate to a BuyNow purchase

I'm starting to work with a few affiliates, who will sell my products (from my BlueSnap account) in their websites. They'll manage their online stores as they wish, but when they send to checkout they will use a hosted payment page in an iFrame, and take the URL from me.
I already set up their affiliate account with BlueSnap, and I want to make sure they associate any purchases on their sites so I get a cut and they get their commission. How can I configure the BuyNow URL as associated to a specific affiliate? Is it a setup in the control panel or just a URL parameter?
Is it different for BuyNow 1 and BuyNow2?
In order to make sure your affiliates are getting their cut and that their commissions work you need to make sure that:
The affiliate account is allowed to sell your products.
The affiliate is using the right link.
Managing your Affiliates
From one of your contracts - at the General settings tab, scroll down to the Marketing section and click the Invite Partners link - this will lead you to the Affiliate Management screen where you can make sure that the affiliate account is allowed to sell your goods.
Affiliates that are not on your list, may sell your products, but they will not get any commission.
Setting up the Affiliate link
Whether you're using BN1 or BN2 - the link should have the contract (SKU) ID, and the referrer (affiliate) ID:
Example:
https://www.bluesnap.com/jsp/buynow.jsp?contractId=1234567&referrer=123456
I hope this information is useful, by the way - you may want to check our Marketplace - if you want to take the affiliating experience to the next level.

2011 Dynamic CRM Workflow

I have added companies and contacts to 2011 Dynamic CRM online. The contacts are tied back to the company. However, I want to create a workflow that allows me to update the company and add a primary contact to the company record whenever the contact full name is present in the active contact list under the company form. Any suggestions?
A few thoughts:
1) A workflow can be triggered by either an event, or by a person hitting "Run Workflow." It's not clear from your question whether you want this workflow to run automatically or by human intervention ("whenever the contact full name is present in the active contacts list" - that really just means the 2 records are related to each other through the Contact's "Parent Customer" field). If you want it to run automatically, you would set it to run either on Create of Contact or Update of the Parent Customer field on Contact (or both). If you want a person to trigger it, you just set it to On-Demand.
2) If you set up this workflow, that means that the newest contact will always overwrite the existing contact in the account form as the "Primary Contact". This is not always advisable. You probably want to include a check in the workflow to only run if this field does not contain data, otherwise stop the workflow.
You can create a workflow, which triggers on: Create of contact and update of contact.
Then in the workflow check, if the full name is present. If yes you can update the company.

How to add geolocation to Service Scheduling in CRM 2011 On-Premise

This is more of a general question on design approach rather than a specific programming challenge. We have a business need to schedule resources, but to reduce travel costs we need to be able to schedule resources for a customer's appointment that are geographically close. These appointments are typically in the customer's home and not at a designated site.
The process for doing the geolocation is to take the customer's location and chosen service activty, find all resources that have availability during that time frame and then rank them in order of proximity based on their previous appointment location.
That is all well and good, but the problem I have is where do I insert this logic? Would it be during the "Book" message on the Service Appointment entity through a plugin? How would this appear to the end user? Do I have to simiulate the Service Calendar functionality in a custom aspx page to accomplish this instead?
Is there a better way of doing this?
You can do this via JavaScript...
1) Create the service rep relationship to the service appointment entity. Add the service rep lookup to the service appointment entity.
2) Create a dummy text attribute and add to service appointment form
3) Fetch all of the records meeting the availability criteria you have and use either a 3rd party mapping service or based on the lng/lat distance to determine who is closest.
FetchXML - GeoCode Distance search by distance
4) Switch your dummy textbox to a select and add the options of the 10 closest service reps with their name and distance (ie. Paul Way - 1.2 miles)
5) When the new select box value is changed, populate the rep attribute on the form.
6) After testing, hide the rep attribute via javascript so that it will save the change but the user is forced to use the custom select box.

Can SharePoint's Select People and Groups dialog box's Title and Department fields be customized with a custom membership provider?

I have created a custom membership provider for a SharePoint application but would like to populate the Title and Department columns for the MembershipUsers that are displayed with data from my user repository.
Is this possible? How can it be done?
I don't see anything in the System.Web.Security.MembershipUser class that could store this information. How does the Windows AD MembershipProvider have a different Display Name than the Account Name? Are some of these values coming from someplace else?
What happens in the AD is that, SharePoint runs the User Profile Sync Job that will pull all the required information from AD and updated the SharePoint UserProfile DB which In turn pushes to Each of the Site. Whereas in the case of the Custom Membership we don't have a direct option to update the Profile Information.
One method you can do is to update those information using code.There are two options you can update the User Profile information in the SSP so that it will be displayed in all the Site Collection or to Update the SPWeb.SiteUserInfo List. Please refer these link1 , link2 on how to do that. In case you want to update in SiteUserInfo list it is just another list just search for Item based on the user account name and update that item.

Resources