Rose Perl Technology logo

Rose Perl Technology

RP Locator Setup Guide

Add the RP Locator widget to your existing store locator or website, help customers install the mobile app, and let them save your store or product locator with one quick scan.

Add Your Locator Download The App Scan To Set Up All options

Get Started In 3 Easy Steps

Give customers a simple path from your website to a saved locator in the RP Locator app.

1. Add And Customize The Widget

Add the widget to your existing store locator page or website. Set your website or locator URL, locator name (such as your store name), a custom message about your store, and whether it is a Store or Product locator. You can also add your logo and style the widget to match your color theme.

<!-- Copy and paste this where you want the widget to appear. -->
<div id="my-qr-widget"></div>

<script src="https://cdn.roseperl.com/widgets/rp-qr/RP-QR-Widget-Prod.js"></script>
<script>
  document.addEventListener("DOMContentLoaded", function () {
    QrWidget.init({
      target: "#my-qr-widget",

      // Update these four settings for your locator.
      website: "https://your-site.com/store-locator",
      name: "Your Store Name",
      custom: "Find our products near you",
      app: "Store", // Use "Store" or "Product".

      // Optional branding and display settings.
      logo: "https://your-site.com/your-logo.png",
      logoLabel: "Your Brand Name",
      theme: "brand", // Use "light", "dark", or "brand".
      color: "#A4118D",
      showHeader: true,
      showForm: false,
      showQRPreview: false
    });
  });
</script>

3. Scan The QR Code

Once the app is installed, scan the widget's QR code to set up and save the new locator in the app. The locator will then be ready whenever you want to find nearby stores or favorite products.

Build A More Useful Locator Collection

Open RP Locator and go to your saved locators whenever you need them. The more store and product locators you add, the more useful your personal locator collection becomes.

Production Configuration Examples

These live examples use options supported by the production widget.

Customer-Facing Branded Widget

A polished widget for your store locator or product locator page, with your branding and a QR code ready for customers to scan.

QrWidget.init({
  target: "#widget-header-only",
  theme: "brand",
  color: "#A4118D",
  logo: "https://roseperl.com/.../rp-svg-black-2.webp",
  logoLabel: "Rose Perl Technology",
  headerGeneratedQrLabel: "Scan To Install",
  website: "https://example.com/store-locator",
  name: "Rose Perl Main Store",
  custom: "roseperl-demo",
  app: "Store",
  showHeader: true,
  showForm: false,
  showQRPreview: false
});

Interactive Form + Preview

Use this version when staff or customers should be able to enter locator details and download or copy the generated QR code.

QrWidget.init({
  target: "#widget-full-ui",
  showHeader: true,
  showForm: true,
  showQRPreview: true,
  enableCopy: true,
  enableDownload: true
});

Auto Init With Data Attributes

Use data attributes for display and styling settings when you prefer markup-based initialization.

<div
  data-qr-widget
  data-qr-title="Rose Perl Auto Init Example"
  data-qr-theme="brand"
  data-qr-color="#A4118D"
  data-qr-logo="https://roseperl.com/.../rp-svg-black-2.webp"
  data-qr-show-header="true"
  data-qr-show-form="false"
  data-qr-show-display="false">
</div>

Customize Your App Download Links

The production defaults point to RP Locator in the Apple App Store and Google Play. You can also customize RP Locator as your own branded app, publish it in the app stores, and update these links to send customers directly to your branded app. Learn more about building a custom app with Rose Perl.

QrWidget.init({
  target: "#widget-store-links",
  iosDownloadLink: "https://apps.apple.com/us/app/rp-locator/id6770829229",
  googlePlayDownloadLink: "https://play.google.com/store/apps/details?id=com.roseperl"
});

All Widget Options

Pass these options to QrWidget.init({...}). Only target identifies where the widget is mounted; all other options customize its content, behavior, or appearance.

Locator and mount options

OptionValues / defaultPurpose
targetCSS selector or element; default nullElement that will contain the widget. Use a unique target for every instance.
websiteURL string; default emptyYour store locator, product locator, or website URL. The generated QR code opens this URL.
nameText; default emptyLocator name, such as a store name or product finder name.
customText; default emptyCustom value or customer-facing message saved with the locator.
app"Store" or "Product"; inferred when omittedSets the locator type. Unknown or missing values fall back to URL detection and then Store.
autofillBoolean; default trueReads supported page URL parameters and generates the QR automatically when all required values are available.

Layout and appearance options

OptionValues / defaultPurpose
theme"light", "dark", or "brand"; default "light"Selects the widget color scheme.
colorCSS color; default #A4118DSets the accent color used by controls and highlights.
logoImage URL; default RP imageDisplays your logo in the header. When supplied, it also becomes the header image source.
logoLabelText; default "Scan to setup"Label displayed below the logo.
showHeaderBoolean; default trueShows or hides the complete header area.
showFormBoolean; default falseShows or hides the editable locator form.
showQRPreviewBoolean; default falseShows or hides the larger QR preview card below the header.
enableDownloadBoolean; default falseAdds a button for downloading the generated QR image.
enableCopyBoolean; default falseAdds a button for copying the generated locator URL.
mode"full" or "compact"; default "full"Reserved layout setting. The current production renderer does not apply a visual mode difference.

Header and form text options

OptionDefaultPurpose
headerHeadingScan this QR Code to Setup your LocatorMain widget heading.
headerDescriptionRP Locator download descriptionSupporting text beneath the heading.
headerInstructionsDownload-and-scan instructionsInstructions shown above the app badges and QR code.
headerGeneratedQrLabelGenerated QR CodeLabel beneath the generated header QR code.
headerQrAltQR code to download appAlternative text for the initial header image.
headerQrImageRP default image URLFallback header image when no custom logo is supplied.
formTitleQR Code GeneratorHeading above the editable form.
formSubtitleCreate a custom QR code for your locator setup.Supporting text above the form fields.
previewTitleGenerated QR PreviewHeading above the large QR preview.

App-store options

OptionDefaultPurpose
iosDownloadLinkEmptyPreferred override for the Apple App Store badge destination.
googlePlayDownloadLinkEmptyPreferred override for the Google Play badge destination.
appStoreLinkRP Locator App Store listingDefault Apple badge destination when iosDownloadLink is empty.
playStoreLinkRP Locator Google Play listingDefault Android badge destination when googlePlayDownloadLink is empty.
appStoreBadgeRP App Store badge image URLReplaces the displayed Apple badge image.
playStoreBadgeRP Google Play badge image URLReplaces the displayed Google Play badge image.

HTML data attributes

Use the display attributes on an element with data-qr-widget for markup-based auto-initialization. The parent and position attributes belong on the widget's script tag.

AttributeEquivalent option / purpose
data-qr-titleheaderHeading
data-qr-autofillautofill; use "true" or "false"
data-qr-modemode; reserved for "full" or "compact"
data-qr-themetheme
data-qr-colorcolor
data-qr-downloadenableDownload; use "true" to enable
data-qr-copyenableCopy; use "true" to enable
data-qr-logologo
data-qr-show-headershowHeader
data-qr-show-formshowForm
data-qr-show-displayshowQRPreview
data-qr-parentScript-tag attribute containing a CSS selector for the automatic fallback mount's parent.
data-qr-positionScript-tag attribute using append, prepend, before, or after placement for the fallback mount.

URL autofill parameters

With autofill: true, the page query parameters website, name, custom, and app can supply locator values. Explicit JavaScript values take priority. Use app=Store or app=Product.

Complete JavaScript example

QrWidget.init({
  target: "#my-qr-widget",
  website: "https://your-site.com/store-locator",
  name: "Your Store Name",
  custom: "Find our products near you",
  app: "Store",
  autofill: true,
  theme: "brand",
  color: "#A4118D",
  logo: "https://your-site.com/your-logo.png",
  logoLabel: "Your Brand Name",
  headerHeading: "Add Our Store To RP Locator",
  headerDescription: "Keep our locator ready on your phone.",
  headerInstructions: "Install the app, then scan this QR code.",
  headerGeneratedQrLabel: "Scan To Add This Locator",
  showHeader: true,
  showForm: false,
  showQRPreview: false,
  enableDownload: false,
  enableCopy: false,
  iosDownloadLink: "https://apps.apple.com/us/app/rp-locator/id6770829229",
  googlePlayDownloadLink: "https://play.google.com/store/apps/details?id=com.roseperl"
});