{
    "componentChunkName": "component---src-templates-article-page-template-js",
    "path": "/ftw/ftw-hourly/",
    "result": {"data":{"markdownRemark":{"frontmatter":{"title":"FTW hourly","slug":"ftw-hourly","updated":"2019-11-21T00:00:00.000Z","category":"ftw-introduction","ingress":"This article introduces FTW-hourly and what's different compared to FTW-daily.","skills":null},"htmlAst":{"type":"root","children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"https://github.com/sharetribe/ftw-hourly","target":"_blank","rel":["noopener","noreferrer"]},"children":[{"type":"text","value":"FTW-hourly"}]},{"type":"text","value":" is a Flex\nTemplate for Web with support for time-based bookings and it's built\nwith service marketplaces in mind. This template introduces Yogatime - a\nfictional marketplace for booking yoga classes from various yoga\nteachers."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"By default, FTW-hourly uses a transaction process\n"},{"type":"element","tagName":"a","properties":{"href":"https://github.com/sharetribe/example-processes#flex-hourly-default-process","target":"_blank","rel":["noopener","noreferrer"]},"children":[{"type":"text","value":"flex-hourly-default-process"}]},{"type":"text","value":"\nwhich is a unit-based process and has value "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"time"}]},{"type":"text","value":" in\n"},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"create-pending-booking"}]},{"type":"text","value":" booking action."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"blockquote","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"Note:"}]},{"type":"text","value":" "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"BookingDatesForm"}]},{"type":"text","value":" and "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"EditListingAvailabilityForm"}]},{"type":"text","value":"\ncomponents have been removed from the template as they are heavily\nrelated to the day-based process. If you have started with FTW-daily\nand you are planning to move to FTW-hourly, you should check if you\nhave done any customization to these components."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{"id":"handling-time-zones","style":"position:relative;"},"children":[{"type":"element","tagName":"a","properties":{"href":"#handling-time-zones","ariaLabel":"handling time zones permalink","className":["anchor","before"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]},{"type":"text","value":"Handling time zones"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"With time-based bookings, time zones play a larger role than with night-\nand day-based ones. This is the case especially if your marketplace\noperates on multiple time zones and some listings could be booked from a\ndifferent time zone as the one in which the listing is located."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"FTW-hourly introduces a new library "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"moment-timezone"}]},{"type":"text","value":" for handling the\ntime zones when operating with dates. You need to use the\nmoment-timezone whenever you create new date objects. E.g. on\nListingPage the start and end of the month should have time zone so that\nthe moment-timezone library can handle e.g daylight savings."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"The time zone of the listing will be saved to the listing's\n"},{"type":"element","tagName":"a","properties":{"href":"https://www.sharetribe.com/api-reference/marketplace.html#ownlisting-availability-plan","target":"_blank","rel":["noopener","noreferrer"]},"children":[{"type":"text","value":"availability plan"}]},{"type":"text","value":".\nFor that, we have a new component "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"FieldTimeZoneSelect"}]},{"type":"text","value":" where the\nprovider can choose the time zone of the listing. By default, the\ncomponent will select browser's time zone."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{"id":"booking-the-listing","style":"position:relative;"},"children":[{"type":"element","tagName":"a","properties":{"href":"#booking-the-listing","ariaLabel":"booking the listing permalink","className":["anchor","before"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]},{"type":"text","value":"Booking the listing"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"In FTW-hourly, the default minimum duration of the booking is 1 hour and\nthe available booking times are starting on sharp hours (e.g. 9:00,\n10:00, etc). Since the minimum duration of a timeslot is 5 minutes and\nstarting times can be customized to support different use-cases, you\nmight want to change the duration or timing of your timeslot-units.\nStart this process from\n"},{"type":"element","tagName":"a","properties":{"href":"https://github.com/sharetribe/ftw-hourly/blob/master/src/util/dates.js","target":"_blank","rel":["noopener","noreferrer"]},"children":[{"type":"text","value":"util/dates.js"}]},{"type":"text","value":"\nfile. You should edit at least the "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"findNextBoundary"}]},{"type":"text","value":", "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"getSharpHours"}]},{"type":"text","value":"\nand "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"calculateQuantityFromHours"}]},{"type":"text","value":" functions."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"All the dates are displayed in the time zone of the listing. New\ncomponents "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"BookingTimeForm"}]},{"type":"text","value":" and "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"FieldDateAndTimeInput"}]},{"type":"text","value":" handle querying\nthe available timeslots and picking the booking start and end times.\nAlso, all the dates in the email templates are in the listing's time\nzone. Listing's availability plan and the time zone are available in\ntransaction email context"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-wrapper"],"style":"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 476px; "},"children":[{"type":"text","value":"\n      "},{"type":"element","tagName":"a","properties":{"className":["gatsby-resp-image-link"],"href":"/docs/legacy/static/b0a42a40b9cb885bad61613ef438dc8d/f622e/bookingPanel.png","style":"display: block","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"\n    "},{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-background-image"],"style":"padding-bottom: 167.9245283018868%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAiCAYAAABfqvm9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAD4UlEQVRIx5VV3Y7bRBTe54ALuIHCEyABQsAFDwGXlUCi5RooKuIJ4LogFQkqVLhFXLDSigJFbQNKNqvN0iXJxk7Wf7Hz4397POMPnUkn63XiZbH0acb2me/8zJlvdjjnKIoCWZahLEvkeQ7GGOg7PUII+Z+gbGlswg4ZENHBwQG63S56vR4ODw/R6XTQbrcRBIEkrpL+JyFNZrMZXNfFYrGQc4JlWZjP5/B9fx31pSKkyXK5lAtpVKTqGzmiklyKUBlRrQj0ruYKVJLLkJ0jpEWE+kZsg1q8bbN2VHSO48D1XJiWiTAMQdT1qMhhfdfrNmtCyzBhGxasUxNzb4YsTsHSHKUowXKGImMI/QBplACiBHgJzrZFyAvwgmNgaPj7dIjHp0Mc6X10+j0M7DEywbCMAozcUzzqddDT+5izCF4WwAlnG7u/3mWfp/B4CK8IMc19uLkPO1siyGMkRSbnLgvkPztdSHh5ABXQBiGlEyx8+PMlwMU6LcEFBJ0aelfgZ2iuoWlhrI+hjTTkWbYqPDurT8HY6ljmqxTJCS8uqOFoouNkomFkjPGPNkSv/xgTxwQvBYIoxMQx0D7s4ng0QMRSxCzFIvSba2gnc2jxFKPQhhY50EIHo8jBIo8Q5jH0eCoxjl1MEg964sJM55sRqhesenrzoe9l+f9qKM8ynWPfl+oShCGCMMDSX8IPfERRhJyxC0/ORspEVBUINaq5qtU2nIuw6dArUVBQdkRcRWOESZIgjmOkaSrbY5tA0Df6R7YkZ9mT9toqDrZtwzRNDAYD9Pt9qYEUWZWMHJKNrusYDodybCScTCaSTKk0bURdWSg6UiJyRk5PTk6a+1ClvO6WSnRVUiVhVBpa01hD2kkFkn8ir4poFRQV2VAmjSlTGoZhyJHEllJTKdc7gAip5mTXGCERkRH143Q6lbWsGtdrqZxfmDLddtTIlK5KrZ6qlLowXF0ZTYSUmud50iu1BRGrZq6fCPpO9Ts+Poamac3iUAiOolyB8QJpnm0Hy6StQClRNB09CKUsWM1zAFl5NiYCSAXAKyoksF1tSIZ+cv/CLeNnfG3u4ba5hy+NXfl+y9hdz2m8/eT/V8YufnD+QF7UGpsVTHp6++hzPPXgKl5oXcdzj97Hq50beK3ziRxfan+4nj/fuoYrrWt45uG7eGP/plRuuncqhKt03zn6Ak8/uIoXWx/IRa90PsZb3c/w+v5NvNz+SI5EeqV1XTp99uF7eHP/001CuXNcYG92gDvWPXxv38dd+76cf2P9gm+te7hj/SpHwl37d2nznfUbfnT/3Ez53BVQR/UaALba1DflX47RHkgyfhTpAAAAAElFTkSuQmCC'); background-size: cover; display: block;"},"children":[]},{"type":"text","value":"\n  "},{"type":"element","tagName":"picture","properties":{},"children":[{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/docs/legacy/static/b0a42a40b9cb885bad61613ef438dc8d/82e29/bookingPanel.webp 159w","/docs/legacy/static/b0a42a40b9cb885bad61613ef438dc8d/ef33f/bookingPanel.webp 318w","/docs/legacy/static/b0a42a40b9cb885bad61613ef438dc8d/923b5/bookingPanel.webp 476w"],"sizes":"(max-width: 476px) 100vw, 476px","type":"image/webp"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/docs/legacy/static/b0a42a40b9cb885bad61613ef438dc8d/8b9b5/bookingPanel.png 159w","/docs/legacy/static/b0a42a40b9cb885bad61613ef438dc8d/fa108/bookingPanel.png 318w","/docs/legacy/static/b0a42a40b9cb885bad61613ef438dc8d/f622e/bookingPanel.png 476w"],"sizes":"(max-width: 476px) 100vw, 476px","type":"image/png"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"img","properties":{"className":["gatsby-resp-image-image"],"src":"/docs/legacy/static/b0a42a40b9cb885bad61613ef438dc8d/f622e/bookingPanel.png","alt":"Booking panel","title":"BookingPanel","loading":"lazy","decoding":"async","style":"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"},"children":[]},{"type":"text","value":"\n        "}]},{"type":"text","value":"\n  "}]},{"type":"text","value":"\n    "}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{"id":"managing-availability","style":"position:relative;"},"children":[{"type":"element","tagName":"a","properties":{"href":"#managing-availability","ariaLabel":"managing availability permalink","className":["anchor","before"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]},{"type":"text","value":"Managing availability"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"In the EditListingWizard you can save and edit the listing's default\nschedule. Each day can have several entries which mark bookable periods\nof time. So, you can add holes to your business hours with entries like\n09 - 12 and 14 - 18. You can also have days when the listing is not\navailable. If you want to enable bookings over the night you can set the\nend time to 24.00 and start availability of the next day from 00:00."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Saving the default schedule is handled with the new\n"},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"EditListingAvailabilityPlanForm"}]},{"type":"text","value":" inside "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"EditListingAvailabilityPanel"}]},{"type":"text","value":".\nThere is also a new component "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"FieldTimeZoneSelect"}]},{"type":"text","value":" for saving the time\nzone of the listing to availability plan."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-wrapper"],"style":"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 635px; "},"children":[{"type":"text","value":"\n      "},{"type":"element","tagName":"a","properties":{"className":["gatsby-resp-image-link"],"href":"/docs/legacy/static/bba50e97986fb244a1966ad9ab8ffab3/e99e8/availabilityPlan.png","style":"display: block","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"\n    "},{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-background-image"],"style":"padding-bottom: 74.21383647798743%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAPCAYAAADkmO9VAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA9klEQVQ4y6WTC67CMAwEc//D9v9vnUUT5MpICMJ7kRaEW4/XsUnXdWnbNu37rmVZZGbKOSsefn+UJDt2ndOoRMI72HEcpRCqgiKzJxDYMAwvD4lN06RxHOtgOctyVqJlYIhkF7B5noti/JMwcQP7vi/JgCIsxr6pAGmZpLZtta7rPQheoAjFau7Q30mldzOd5ync+kOK+FVUD8WBTBl3sRoxX6da2A1kRWgxOgRGEb5/Anpy3DePccnReTWQtnAZgd7ynxySTMsMx090WHvuO/R/CmCmjYj5HuK+RuQlPpqmKWLvXL4yvvTf1HVd6TLRpt/Vf4XLB2uImfTX+kMBAAAAAElFTkSuQmCC'); background-size: cover; display: block;"},"children":[]},{"type":"text","value":"\n  "},{"type":"element","tagName":"picture","properties":{},"children":[{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/docs/legacy/static/bba50e97986fb244a1966ad9ab8ffab3/82e29/availabilityPlan.webp 159w","/docs/legacy/static/bba50e97986fb244a1966ad9ab8ffab3/ef33f/availabilityPlan.webp 318w","/docs/legacy/static/bba50e97986fb244a1966ad9ab8ffab3/f1837/availabilityPlan.webp 635w","/docs/legacy/static/bba50e97986fb244a1966ad9ab8ffab3/29549/availabilityPlan.webp 953w","/docs/legacy/static/bba50e97986fb244a1966ad9ab8ffab3/c5420/availabilityPlan.webp 1270w","/docs/legacy/static/bba50e97986fb244a1966ad9ab8ffab3/a32b7/availabilityPlan.webp 1614w"],"sizes":"(max-width: 635px) 100vw, 635px","type":"image/webp"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/docs/legacy/static/bba50e97986fb244a1966ad9ab8ffab3/8b9b5/availabilityPlan.png 159w","/docs/legacy/static/bba50e97986fb244a1966ad9ab8ffab3/fa108/availabilityPlan.png 318w","/docs/legacy/static/bba50e97986fb244a1966ad9ab8ffab3/53fb6/availabilityPlan.png 635w","/docs/legacy/static/bba50e97986fb244a1966ad9ab8ffab3/5a426/availabilityPlan.png 953w","/docs/legacy/static/bba50e97986fb244a1966ad9ab8ffab3/91155/availabilityPlan.png 1270w","/docs/legacy/static/bba50e97986fb244a1966ad9ab8ffab3/e99e8/availabilityPlan.png 1614w"],"sizes":"(max-width: 635px) 100vw, 635px","type":"image/png"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"img","properties":{"className":["gatsby-resp-image-image"],"src":"/docs/legacy/static/bba50e97986fb244a1966ad9ab8ffab3/53fb6/availabilityPlan.png","alt":"Availability plan","title":"Availability plan","loading":"lazy","decoding":"async","style":"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"},"children":[]},{"type":"text","value":"\n        "}]},{"type":"text","value":"\n  "}]},{"type":"text","value":"\n    "}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{"id":"each-provider-can-have-only-one-listing","style":"position:relative;"},"children":[{"type":"element","tagName":"a","properties":{"href":"#each-provider-can-have-only-one-listing","ariaLabel":"each provider can have only one listing permalink","className":["anchor","before"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]},{"type":"text","value":"Each provider can have only one listing"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Because FTW-hourly has been built with a focus on service marketplaces,\neach user can only have one listing by default. In Yogatime's context,\nthe listing is set up as a teacher profile. There are some changes you\nneed to make to the template if you want to enable multiple listings:"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Remove "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"allowOnlyOneListing"}]},{"type":"text","value":" prop from "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"EditListingPage"}]},{"type":"text","value":" routing in\n"},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"routeConfiguration.js"}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Add a link to "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"NewListingPage"}]},{"type":"text","value":" e.g. to "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"Topbar"}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Add "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"ManageListingsPage"}]},{"type":"text","value":" to routing, and add a link to that page e.g.\nin "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"UserNav"}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Change "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"OwnListingLink"}]},{"type":"text","value":" to direct to user profile. Note that in the\n"},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"Avatar"}]},{"type":"text","value":" component you can enable the profile link by removing the\n"},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"disableProfileLink"}]},{"type":"text","value":" flag."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"You can see all the changes we did when changing Saunatime to Yogatime\nin this\n"},{"type":"element","tagName":"a","properties":{"href":"https://github.com/sharetribe/ftw-hourly/pull/56","target":"_blank","rel":["noopener","noreferrer"]},"children":[{"type":"text","value":"pull request"}]},{"type":"text","value":"."}]}],"data":{"quirksMode":false}},"headings":[{"value":"Handling time zones","depth":2},{"value":"Booking the listing","depth":2},{"value":"Managing availability","depth":2},{"value":"Each provider can have only one listing","depth":2}]}},"pageContext":{"slug":"ftw-hourly","category":"ftw-introduction"}},
    "staticQueryHashes": ["3794076007","439097193","717698143"]}