Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Installation

https://documentation.gomeddo.com/widg/booker25-widget

How to demo

Video

Walkthrough

  1. Mention how to install the latest version of GoMeddo and refer to the Documentation

  1. Essential setup in Salesforce

    1. Demonstrate a simple Resource setup

      1. Make it API visible

    2. Set up price and price calculation for the Resources you intend to use

    3. Set up or highlight the Reservation type intended to use in the demo

    4. Set up description and picture for the Resources you intend to use (can easily access the required fields in the Salesforce Inspector Chrome Extension

Essential setup steps in the Widget setup UI

...

Info

This page explains the steps needed to demo the GoMeddo Widget. If you have any questions or remarks, feel free to reach out to presales@gomeddo.com!

1. Install GoMeddo

Start with installing GoMeddo and performing the clean install configuration.

You can also verify if GoMeddo is already installed:

  1. Go to Setup

  2. Go to Installed Packages

  3. Search for GoMeddo

2. Install the Widget extension

Next, install and configure the widget as explained here.

You can also verify if the widget extension is already installed:

  1. Go to Setup

  2. Go to Installed Packages

  3. Search for GoMeddo Widget & Integration

3. Configure the widget

  1. Login to the widget configuration page

  2. In the menu, go to Reservation Settings and disable the ‘Use reservation contacts’ checkbox

    Image Added

  3. Go to Resource Settings, where you can select the Resource Type that you would like to reserve

...

Select the default Reservation type/status that the widget should create in Salesforce when used

  1. Disable the reservation contacts checkbox

...

Select whether the widget should create a Lead or Contact from the details submitted by the end user

...

Define time slot lengths and increments

...

Set up Colours (hex code) and Logos (image URL)

...

Mention the code snippet and mention that the integration of payments is possible

...

Select Translations - emphasise you have to select one

...

  1. Image Added
  2. Go to Styling Settings, where you can set up Colours (with using the hex code of the chosen colour) and Logos (with using the image URL)

    Image Added

  3. In the menu, go to Translation Settings - here you have to select one translation. Otherwise an error occurs in the widget (for default, select English)

    Image Added

  4. Under the translation settings section, you can find further options for text setup (texts that you can see within the widget (eg.: support email address). In this section you can easily search with CMD+f or CTRL+f after looking at the widget and

...

  1. finding a text that you want to change

Glitch

Code Block
languagehtml
<!DOCTYPE html>
<html lang="en">
  <head>
    <!--
      This is the page head - it contains info the browser uses to display the page
      You won't see what's in the head in the page
      Scroll down to the body element for the page content
    -->

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <link rel="icon" href="https://cdn.glitch.global/56f3d5cb-b7a9-4ba2-a950-8993afbf0174/celer-favicon.png?v=1661773630649" />

    <!-- 
      This is an HTML comment
      You can write text in a comment and the content won't be visible in the page
    -->

    <title>GoMeddo</title>

    <!-- Meta tags for SEO and social sharing -->
    <link rel="canonical" href="https://cdn.glitch.global/56f3d5cb-b7a9-4ba2-a950-8993afbf0174/celer-link-image.png?v=1661773629241" />
    <meta
      name="description"
      content="Book a Test Drive"
    />
    <meta name="robots" content="index,follow" />
    <meta property="og:title" content="GoMeddo" />
    <meta property="og:type" content="article" />
    <meta property="og:url" content="https://cdn.glitch.global/56f3d5cb-b7a9-4ba2-a950-8993afbf0174/celer-link-image.png?v=1661773629241" />
    <meta
      property="og:description"
      content="Book a Test Drive"
    />
    <meta
      property="og:image"
      content="https://cdn.glitch.com/605e2a51-d45f-4d87-a285-9410ad350515%2Fhello-website-social.png?v=1616712748147"
    />
    <meta name="twitter:card" content="summary" />

    <!-- Import the webpage's stylesheet -->
    <link rel="stylesheet" href="/style.css" />

    <!-- Import the webpage's javascript file -->
    <script src="/script.js" defer></script>
  </head>

  <body style="background-color: #16072D">    
    
<!-- The script tag does not need to be near the booker-widget tag -->
       <img style="max-width:100%" src="https://cdn.glitch.global/fad7e81d-7a38-4a56-a5b5-36f5c9589ff0/website.png?v=1674807648755">
    

  </body>
<script>
  (function() {
      const script = document.createElement('script');
      script.src = 'https://dev.widget.gomeddo.com/js/widget25.js';
      script.async = true;
      script.onload = function () {
        const button = document.createElement('booker-button');
        button.setAttribute('business', 'forney');
        button.setAttribute('page', '9cd48049-0a73-4620-97be-90e21ea51614');
        button.setAttribute('auto', 'reservation');
        document.body.insertBefore(button, null);
      }
      document.body.insertBefore(script, null);
  }());
</script>
</html>

Code Block
languagecss
/******************************************************************************
START Glitch hello-app default styles

The styles in this section do some minimal CSS resets, set default fonts and 
colors, and handle the layout for our footer and "Remix on Glitch" button. If
you're new to CSS they may seem a little complicated, but you can scroll down
to this section's matching END comment to see page-specific styles.
******************************************************************************/


/* 
  The style rules specify elements by type and by attributes such as class and ID
  Each section indicates an element or elements, then lists the style properties to apply
  See if you can cross-reference the rules in this file with the elements in index.html
*/

/* Our default values set as CSS variables */
:root {
  --color-bg: #69F7BE;
  --color-text-main: #000000;
  --color-primary: #FFFF00;
  --wrapper-height: 87vh;
  --image-max-width: 300px;
  --image-margin: 3rem;
  --font-family: "HK Grotesk";
  --font-family-header: "HK Grotesk";
}

/* Basic page style resets */
* {
  box-sizing: border-box;
}
[hidden] {
  display: none !important;
}

/* Import fonts */
@font-face {
  font-family: HK Grotesk;
  src: url("https://cdn.glitch.me/605e2a51-d45f-4d87-a285-9410ad350515%2FHKGrotesk-Regular.otf?v=1603136326027")
    format("opentype");
}
@font-face {
  font-family: HK Grotesk;
  font-weight: bold;
  src: url("https://cdn.glitch.me/605e2a51-d45f-4d87-a285-9410ad350515%2FHKGrotesk-Bold.otf?v=1603136323437")
    format("opentype");
}

/* Our remix on glitch button */
.btn--remix {
  font-family: HK Grotesk;
  padding: 0.75rem 1rem;
  font-size: 1.1rem;
  line-height: 1rem;
  font-weight: 500;
  height: 2.75rem;
  align-items: center;
  cursor: pointer;
  background: #FFFFFF;
  border: 1px solid #000000;
  box-sizing: border-box;
  border-radius: 4px;
  text-decoration: none;
  color: #000;
  white-space: nowrap;
  margin-left: auto;
}
.btn--remix img {
  margin-right: 0.5rem;
}
.btn--remix:hover {
  background-color: #D0FFF1;
}

/* Navigation grid */
.footer {
  display: flex;
  justify-content: space-between;
  margin: 1rem auto 0;
  padding: 1rem 0 0.75rem 0;
  width: 100%;
  flex-wrap: wrap;
  border-top: 4px solid #fff;
}

.footer a:not(.btn--remix):link,
a:not(.btn--remix):visited {
  font-family: HK Grotesk;
  font-style: normal;
  font-weight: normal;
  font-size: 1.1rem;
  color: #000;
  text-decoration: none;
  border-style: none;
}
.footer a:hover {
  background: var(--color-primary);
}

.footer .links {
  padding: 0.5rem 1rem 1.5rem;
  white-space: nowrap;
}

.divider {
  padding: 0 1rem;
}
/******************************************************************************
END Glitch hello-app default styles
******************************************************************************/

body {
  font-family: HK Grotesk;
  background-color: #16072D;
}

/* Page structure */
.wrapper {
  min-height: var(--wrapper-height);
  display: grid;
  place-items: center;
  margin: 0 1rem;
}
.content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* Very light scaling for our illustration */
.title {
  color: #2800FF;
  font-family: HK Grotesk;
  font-style: normal;
  font-weight: bold;
  font-size: 100px;
  line-height: 105%;
  margin: 0;
}

/* Very light scaling for our illustration */
.illustration {
  max-width: 100%;
  max-height: var(--image-max-width);
  margin-top: var(--image-margin);
}

/* Instructions */
.instructions {
  margin: 1rem auto 0;
}

/* Button - Add it from the README instructions */
button,
input {
  font-family: inherit;
  font-size: 100%;
  background: #FFFFFF;
  border: 1px solid #000000;
  box-sizing: border-box;
  border-radius: 4px;
  padding: 0.5rem 1rem;
  transition: 500ms;
}

/* Subheading */
h2 {
  color: #2800FF;
}

/* Interactive image */
.illustration:active {
  transform: translateY(5px);
}

/* Button dip
- Toggling this class on and off will move it down and up again
- The button transition property above determines the speed of the translate (500ms)
*/
.dipped {
  transform: translateY(5px);
}

Go go to the ready widget page and show how all the settings come to life 

...

Make a short recap what we set up

...

4. Create a website

Info

We typically use Glitch to quickly create a web page with a full screen screenshot of an existing website, but feel free to use your own tools or Salesforce Experience Cloud.

  1. Go to https://glitch.com/

  2. Create an account and create a new project

    Image Added

  3. Select the glitch-hello-website option

  4. You can use this HTMLandCSS for the website

    Image Added

  5. You will need a long website screenshot to serve as the example website. We typically use the GoFullPage extension to create this screenshot

  6. Upload the screenshot in the Assets folder of Glitch

  7. Use the image’s URL in the HTML code we provided in step 4:

    Image Added

  8. On the widget configuration page, go to Widget Code Settings and copy the ‘code snippet’ from the widget setup UI into the HTML script as also seen in the HTML script above. Or have a look at this article for more information on how to place the widget on your website.

...

5. Check your widget website and see how all the settings come to life 

  • See the Resources with their corresponding descriptions and pictures

...

  • Test the flow and see how date picker generates available time slots from the calendar (it looks at the

...

  • Lightning Calendar in

...

  • Salesforce and checks availability

...

  • of your Resources based on

...

  • your conflict checking settings

  • Check styling - Logo, colours and texts within the widget

Expand
Code Block
/******************************************************************************
START Glitch hello-app default styles

The styles in this section do some minimal CSS resets, set default fonts and 
colors, and handle the layout for our footer and "Remix on Glitch" button. If
you're new to CSS they may seem a little complicated, but you can scroll down
to this section's matching END comment to see page-specific styles.
******************************************************************************/


/* 
  The style rules specify elements by type and by attributes such as class and ID
  Each section indicates an element or elements, then lists the style properties to apply
  See if you can cross-reference the rules in this file with the elements in index.html
*/

/* Our default values set as CSS variables */
:root {
  --color-bg: #69F7BE;
  --color-text-main: #000000;
  --color-primary: #FFFF00;
  --wrapper-height: 87vh;
  --image-max-width: 300px;
  --image-margin: 3rem;
  --font-family: "HK Grotesk";
  --font-family-header: "HK Grotesk";
}

/* Basic page style resets */
* {
  box-sizing: border-box;
}
[hidden] {
  display: none !important;
}

/* Import fonts */
@font-face {
  font-family: HK Grotesk;
  src: url("https://cdn.glitch.me/605e2a51-d45f-4d87-a285-9410ad350515%2FHKGrotesk-Regular.otf?v=1603136326027")
    format("opentype");
}
@font-face {
  font-family: HK Grotesk;
  font-weight: bold;
  src: url("https://cdn.glitch.me/605e2a51-d45f-4d87-a285-9410ad350515%2FHKGrotesk-Bold.otf?v=1603136323437")
    format("opentype");
}

/* Our remix on glitch button */
.btn--remix {
  font-family: HK Grotesk;
  padding: 0.75rem 1rem;
  font-size: 1.1rem;
  line-height: 1rem;
  font-weight: 500;
  height: 2.75rem;
  align-items: center;
  cursor: pointer;
  background: #FFFFFF;
  border: 1px solid #000000;
  box-sizing: border-box;
  border-radius: 4px;
  text-decoration: none;
  color: #000;
  white-space: nowrap;
  margin-left: auto;
}
.btn--remix img {
  margin-right: 0.5rem;
}
.btn--remix:hover {
  background-color: #D0FFF1;
}

/* Navigation grid */
.footer {
  display: flex;
  justify-content: space-between;
  margin: 1rem auto 0;
  padding: 1rem 0 0.75rem 0;
  width: 100%;
  flex-wrap: wrap;
  border-top: 4px solid #fff;
}

.footer a:not(.btn--remix):link,
a:not(.btn--remix):visited {
  font-family: HK Grotesk;
  font-style: normal;
  font-weight: normal;
  font-size: 1.1rem;
  color: #000;
  text-decoration: none;
  border-style: none;
}
.footer a:hover {
  background: var(--color-primary);
}

.footer .links {
  padding: 0.5rem 1rem 1.5rem;
  white-space: nowrap;
}

.divider {
  padding: 0 1rem;
}
/******************************************************************************
END Glitch hello-app default styles
******************************************************************************/

body {
  font-family: HK Grotesk;
  background-color: #16072D;
}

/* Page structure */
.wrapper {
  min-height: var(--wrapper-height);
  display: grid;
  place-items: center;
  margin: 0 1rem;
}
.content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* Very light scaling for our illustration */
.title {
  color: #2800FF;
  font-family: HK Grotesk;
  font-style: normal;
  font-weight: bold;
  font-size: 100px;
  line-height: 105%;
  margin: 0;
}

/* Very light scaling for our illustration */
.illustration {
  max-width: 100%;
  max-height: var(--image-max-width);
  margin-top: var(--image-margin);
}

/* Instructions */
.instructions {
  margin: 1rem auto 0;
}

/* Button - Add it from the README instructions */
button,
input {
  font-family: inherit;
  font-size: 100%;
  background: #FFFFFF;
  border: 1px solid #000000;
  box-sizing: border-box;
  border-radius: 4px;
  padding: 0.5rem 1rem;
  transition: 500ms;
}

/* Subheading */
h2 {
  color: #2800FF;
}

/* Interactive image */
.illustration:active {
  transform: translateY(5px);
}

/* Button dip
- Toggling this class on and off will move it down and up again
- The button transition property above determines the speed of the translate (500ms)
*/
.dipped {
  transform: translateY(5px);
}

...

Test Drive creating a Reservation

  1. Make a reservation to test if there are any setup errors

  2. Switch tabs back to your Salesforce environment

  3. Go to your

...

  1. Lightning Calendar and

...

  1. check the new reservation that appeared in the system as the result of the widget