{"id":51615,"date":"2019-02-28T17:55:40","date_gmt":"2019-02-28T09:55:40","guid":{"rendered":"https:\/\/www.grab.com\/sg\/?page_id=51615"},"modified":"2019-03-07T14:28:18","modified_gmt":"2019-03-07T06:28:18","slug":"better-journeys","status":"publish","type":"page","link":"https:\/\/www.grab.com\/sg\/better-journeys\/","title":{"rendered":"Better Journeys"},"content":{"rendered":"<div class=\"container\">\n<div>\n<p class=\"p1\" style=\"text-align: center;\">Every ride has a turning point. It\u2019s the moment it stops being measured in kilometres travelled, but instead by the distance your driver goes to make it more memorable for you &#8211; whether your driver helped with your luggage, made you laugh or went of their way to ensure your safety and comfort.<\/p>\n<p class=\"p1\" style=\"text-align: center;\">It\u2019s these moments that make #BetterJourneys. And they\u2019re always better shared so scroll down to read them or tell us about your experiences.<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" width=\"862\" height=\"399\" class=\"aligncenter size-full wp-image-51903\" src=\"https:\/\/assets.grab.com\/wp-content\/uploads\/sites\/4\/2019\/03\/04185329\/Sentiment-Campaign-Page-Layout-5.jpg\" alt=\"\" srcset=\"https:\/\/assets.grab.com\/wp-content\/uploads\/sites\/4\/2019\/03\/04185329\/Sentiment-Campaign-Page-Layout-5.jpg 862w, https:\/\/assets.grab.com\/wp-content\/uploads\/sites\/4\/2019\/03\/04185329\/Sentiment-Campaign-Page-Layout-5-250x165.jpg 250w, https:\/\/assets.grab.com\/wp-content\/uploads\/sites\/4\/2019\/03\/04185329\/Sentiment-Campaign-Page-Layout-5-768x508.jpg 768w, https:\/\/assets.grab.com\/wp-content\/uploads\/sites\/4\/2019\/03\/04185329\/Sentiment-Campaign-Page-Layout-5-700x463.jpg 700w, https:\/\/assets.grab.com\/wp-content\/uploads\/sites\/4\/2019\/03\/04185329\/Sentiment-Campaign-Page-Layout-5-120x79.jpg 120w\" sizes=\"(max-width: 862px) 100vw, 862px\" \/><\/p>\n<\/div>\n<div id=\"shortcode-1\" class=\"section shortcode-section active-section\">\n<p class=\"shortcode\"><link rel='stylesheet' id='ff-dynamic-css1' type='text\/css' href='https:\/\/www.grab.com\/sg\/wp-content\/resources\/flow-flow\/css\/stream-id1-4.css?ver=1559884371'\/><!-- Flow-Flow \u2014 Social stream plugin for WordPress -->\n<div class=\"ff-stream\" data-plugin=\"flow_flow\" id=\"ff-stream-1\"><span class=\"ff-loader\"><span class=\"ff-square\" ><\/span><span class=\"ff-square\"><\/span><span class=\"ff-square ff-last\"><\/span><span class=\"ff-square ff-clear\"><\/span><span class=\"ff-square\"><\/span><span class=\"ff-square ff-last\"><\/span><span class=\"ff-square ff-clear\"><\/span><span class=\"ff-square\"><\/span><span class=\"ff-square ff-last\"><\/span><\/span><\/div>\n<script type=\"text\/javascript\">\n(function ( $ ) {\n    \"use strict\";\n\n    var hash = '1589820598.61160fb12ea2d15f805a2428a201f6ffaa042ad8f9d682f63c455eeb68545a2f0614efa4ad4da017624bf75afaf368a1';\n\n    var opts = window.FlowFlowOpts || {\"streams\":{},\"open_in_new\":\"yep\",\"filter_all\":\"All\",\"filter_search\":\"Search\",\"expand_text\":\"Expand\",\"collapse_text\":\"Collapse\",\"posted_on\":\"Posted on\",\"followers\":\"Followers\",\"following\":\"Following\",\"posts\":\"Posts\",\"show_more\":\"Show more\",\"date_style\":\"agoStyleDate\",\"dates\":{\"Yesterday\":\"Yesterday\",\"s\":\"s\",\"m\":\"m\",\"h\":\"h\",\"ago\":\"ago\",\"months\":[\"Jan\",\"Feb\",\"March\",\"April\",\"May\",\"June\",\"July\",\"Aug\",\"Sept\",\"Oct\",\"Nov\",\"Dec\"]},\"lightbox_navigate\":\"Navigate with arrow keys\",\"view_on\":\"View on\",\"view_on_site\":\"View on site\",\"view_all\":\"View all\",\"comments\":\"comments\",\"scroll\":\"Scroll for more\",\"no_comments\":\"No comments yet.\",\"be_first\":\"Be the first!\",\"server_time\":1777043394,\"forceHTTPS\":\"nope\",\"isAdmin\":false,\"ajaxurl\":\"https:\\\/\\\/www.grab.com\\\/sg\\\/wp-admin\\\/admin-ajax.php\",\"isLog\":false,\"plugin_base\":\"https:\\\/\\\/www.grab.com\\\/sg\\\/wp-content\\\/plugins\\\/flow-flow\",\"plugin_ver\":\"4.1.6\"};\n\n    var isLS = isLocalStorageNameSupported();\n\n    var FF_resource = window.FF_resource ||\n        {\n            scriptDeferred: $.Deferred(),\n            styleDeferred:  $.Deferred(),\n            scriptLoading: false,\n            styleLoading: false\n        };\n\n    if (!window.FF_resource) window.FF_resource = FF_resource;\n    if (!window.FlowFlowOpts) window.FlowFlowOpts = opts;\n\n    var data = {\n        'action': 'fetch_posts',\n        'stream-id': '1',\n        'disable-cache': '',\n        'hash': hash,\n        'page': '0',\n        'preview': '0'\n    };\n\n    var isMobile = \/android|blackBerry|iphone|ipad|ipod|opera mini|iemobile\/i.test( navigator.userAgent );\n\n    var streamOpts = {\"name\":\"Better Journey\",\"moderation\":\"nope\",\"order\":\"smartCompare\",\"posts\":\"30\",\"days\":\"\",\"page-posts\":\"40\",\"cache\":\"yep\",\"cache_lifetime\":\"10\",\"gallery\":\"yep\",\"gallery-type\":\"news\",\"private\":\"nope\",\"hide-on-desktop\":\"nope\",\"hide-on-mobile\":\"nope\",\"max-res\":\"nope\",\"show-only-media-posts\":\"nope\",\"titles\":\"nope\",\"hidemeta\":\"nope\",\"hidetext\":\"nope\",\"heading\":\"\",\"headingcolor\":\"rgb(59, 61, 64)\",\"subheading\":\"\",\"subheadingcolor\":\"rgb(114, 112, 114)\",\"hhalign\":\"center\",\"bgcolor\":\"rgb(255, 255, 255)\",\"filter\":\"nope\",\"filtercolor\":\"rgb(205, 205, 205)\",\"mobileslider\":\"nope\",\"viewportin\":\"nope\",\"width\":\"260\",\"margin\":\"20\",\"layout\":\"masonry\",\"theme\":\"classic\",\"gc-style\":\"style-1\",\"upic-pos\":\"centered-big\",\"upic-style\":\"round\",\"icon-style\":\"stamp1\",\"cardcolor\":\"rgb(255, 255, 255)\",\"namecolor\":\"rgb(59, 61, 64)\",\"textcolor\":\"rgb(131, 141, 143)\",\"linkscolor\":\"rgb(94, 159, 202)\",\"restcolor\":\"rgb(132, 118, 129)\",\"shadow\":\"rgba(0, 0, 0, 0.05)\",\"bcolor\":\"rgba(0, 0, 0, 0.75)\",\"talign\":\"left\",\"icons-style\":\"fill\",\"cards-num\":\"3\",\"scrolltop\":\"yep\",\"c-desktop\":\"5\",\"c-laptop\":\"4\",\"c-tablet-l\":\"3\",\"c-tablet-p\":\"2\",\"c-smart-l\":\"2\",\"c-smart-p\":\"1\",\"s-desktop\":\"15\",\"s-laptop\":\"15\",\"s-tablet-l\":\"10\",\"s-tablet-p\":\"10\",\"s-smart-l\":\"15\",\"s-smart-p\":\"15\",\"m-c-desktop\":\"5\",\"m-c-laptop\":\"4\",\"m-c-tablet-l\":\"3\",\"m-c-tablet-p\":\"2\",\"m-c-smart-l\":\"2\",\"m-c-smart-p\":\"1\",\"m-s-desktop\":\"15\",\"m-s-laptop\":\"15\",\"m-s-tablet-l\":\"10\",\"m-s-tablet-p\":\"10\",\"m-s-smart-l\":\"15\",\"m-s-smart-p\":\"15\",\"j-h-desktop\":\"260\",\"j-h-laptop\":\"240\",\"j-h-tablet-l\":\"220\",\"j-h-tablet-p\":\"200\",\"j-h-smart-l\":\"180\",\"j-h-smart-p\":\"160\",\"j-s-desktop\":\"0\",\"j-s-laptop\":\"0\",\"j-s-tablet-l\":\"0\",\"j-s-tablet-p\":\"0\",\"j-s-smart-l\":\"0\",\"j-s-smart-p\":\"0\",\"c-r-desktop\":\"2\",\"c-r-laptop\":\"2\",\"c-r-tablet-l\":\"2\",\"c-r-tablet-p\":\"2\",\"c-r-smart-l\":\"2\",\"c-r-smart-p\":\"2\",\"c-c-desktop\":\"5\",\"c-c-laptop\":\"4\",\"c-c-tablet-l\":\"3\",\"c-c-tablet-p\":\"3\",\"c-c-smart-l\":\"2\",\"c-c-smart-p\":\"2\",\"c-s-desktop\":\"0\",\"c-s-laptop\":\"0\",\"c-s-tablet-l\":\"0\",\"c-s-tablet-p\":\"0\",\"c-s-smart-l\":\"0\",\"c-s-smart-p\":\"0\",\"c-autoplay\":\"\",\"c-arrows-always\":\"yep\",\"c-arrows-mob\":\"nope\",\"c-dots\":\"yep\",\"c-dots-mob\":\"nope\",\"wallwidth\":\"\",\"wallvm\":\"20\",\"wallhm\":\"0\",\"wallcomments\":\"yep\",\"g-ratio-w\":\"1\",\"g-ratio-h\":\"2\",\"g-ratio-img\":\"1\\\/2\",\"g-overlay\":\"nope\",\"m-overlay\":\"nope\",\"css\":\"\",\"template\":[\"meta\",\"image\",\"header\",\"text\"],\"tv\":\"nope\",\"tv-int\":\"5\",\"tv-logo\":\"\",\"tv-bg\":\"\",\"big\":\"nope\",\"id\":\"1\",\"last_changes\":1559884371,\"status\":\"1\",\"feeds\":[{\"id\":\"pn94641\",\"errors\":[],\"status\":\"1\",\"enabled\":\"yep\",\"last_update\":\"Mar 11 12:56\",\"cache_lifetime\":\"60\",\"system_enabled\":\"1\",\"timeline-type\":\"tag\",\"content\":\"betterjourneys\",\"api-type\":\"official\",\"posts\":\"10\",\"mod\":\"yep\",\"type\":\"instagram\",\"include\":\"\",\"filter-by-words\":\"\"}],\"preview\":false};\n    streamOpts.plugin = 'flow_flow';\n    streamOpts.trueLayout = streamOpts.layout;\n\n    \/*we will modify 'grid' layout to get 'carousel' layout*\/\n    if ( streamOpts.layout == 'carousel' ) {\n        streamOpts['layout'] = 'grid';\n        streamOpts['g-ratio-h'] = \"1\";\n        streamOpts['g-ratio-img'] = \"1\/2\";\n        streamOpts['g-ratio-w'] = \"1\";\n        streamOpts['g-overlay'] = \"yep\";\n        streamOpts['c-overlay'] = \"yep\";\n        streamOpts['s-desktop'] = \"0\";\n        streamOpts['s-laptop'] = \"0\";\n        streamOpts['s-smart-l'] = \"0\";\n        streamOpts['s-smart-p'] = \"0\";\n        streamOpts['s-tablet-l'] = \"0\";\n        streamOpts['s-tablet-p'] = \"0\";\n    }\n    else if ( streamOpts.layout == 'list' ) {  \/*the same with list, we only need news feed style*\/\n        streamOpts['layout'] = 'masonry';\n    }\n\n    opts.streams['stream' + streamOpts.id] = streamOpts;\n    var $cont = $(\"[data-plugin='flow_flow']#ff-stream-\"+data['stream-id']);\n    var ajaxDeferred;\n    var script, style;\n    var layout_pre = streamOpts.layout.charAt(0);\n    var isOverlay = layout_pre === 'j' || streamOpts[layout_pre + '-overlay'] === 'yep' && streamOpts.trueLayout !== 'list';\n    var imgIndex;\n    if (isOverlay) {\n        if (streamOpts.template[0] !== 'image') {\n            for (var i = 0, len = streamOpts.template.length; i < len; i++) {\n                if (streamOpts.template[i] === 'image') imgIndex = i;\n            }\n            streamOpts.template.splice(0, 0, streamOpts.template.splice(imgIndex, 1)[0]);\n        }\n        streamOpts.isOverlay = true;\n    };\n    if (FF_resource.scriptDeferred.state() === 'pending' && !FF_resource.scriptLoading) {\n        script = document.createElement('script');\n        script.src = \"https:\/\/www.grab.com\/sg\/wp-content\/plugins\/flow-flow\/js\/public.js\";\n        script.onload = function( script, textStatus ) {\n            FF_resource.scriptDeferred.resolve();\n        };\n        document.body.appendChild(script);\n        FF_resource.scriptLoading = true;\n    };\n    if (FF_resource.styleDeferred.state() === 'pending' && !FF_resource.styleLoading) {\n        style = document.createElement('link');\n        style.type = \"text\/css\";\n        style.id = \"ff_style\";\n        style.rel = \"stylesheet\";\n        style.href = \"https:\/\/www.grab.com\/sg\/wp-content\/plugins\/flow-flow\/css\/public.css\";\n        style.media = \"screen\";\n        style.onload = function( script, textStatus ) {\n            FF_resource.styleDeferred.resolve();\n        };\n        document.getElementsByTagName(\"head\")[0].appendChild(style);\n        FF_resource.styleLoading = true;\n    }\n    $cont.addClass('ff-layout-' + streamOpts.trueLayout);\n    if (!isMobile && streamOpts.trueLayout !== 'carousel') $cont.css('minHeight', '500px');\n    ajaxDeferred = isLS && sessionStorage.getItem(hash) ? {} : $.get(opts.ajaxurl, data)\n;\n    $.when( ajaxDeferred, FF_resource.scriptDeferred, FF_resource.styleDeferred ).done(function ( data ) {\n        var response, $errCont, err;\n        var moderation = 0;\n        var original = (isLS && sessionStorage.getItem(hash)) ? JSON.parse( sessionStorage.getItem(hash) ) : data[0];\n        try {\n            \/\/ response = JSON.parse(original);\n            response = original; \/\/ since 4.1\n        } catch (e) {\n            window.console && window.console.log('Flow-Flow gets invalid data from server');\n            if (opts.isAdmin || opts.isLog) {\n                $errCont = $('<div class=\"ff-errors\" id=\"ff-errors-invalid-response\"><div class=\"ff-disclaim\">If you see this message then you have administrator permissions and Flow-Flow got invalid data from server. Please provide error message below if you are doing support request.<\\\/div><div class=\"ff-err-info\"><\\\/div><\\\/div>');\n                $cont.before($errCont);\n                $errCont.find('.ff-err-info').html(original == '' ? 'Empty response from server' : original);\n            }\n            return;\n        }\n        opts.streams['stream' + streamOpts.id]['items'] = response;\n        if (!FlowFlowOpts.dependencies) FlowFlowOpts.dependencies = {};\n                var requests = [];\n        var request, extension, style;\n\n        for ( extension in FlowFlowOpts.dependencies ) {\n            if ( FlowFlowOpts.dependencies[extension] && FlowFlowOpts.dependencies[extension] !== 'loaded') {\n                request = $.getScript( opts.plugin_base + '-' + extension + '\/js\/ff_' + extension + '_public.js');\n                requests.push(request);\n\n                style = document.createElement('link');\n                style.type = \"text\/css\";\n                style.rel = \"stylesheet\";\n                style.id = \"ff_ad_style\";\n                style.href = opts.plugin_base + '-' + extension + '\/css\/ff_' + extension + '_public.css';\n                style.media = \"screen\";\n                document.getElementsByTagName(\"head\")[0].appendChild(style);\n\n                FlowFlowOpts.dependencies[extension] = 'loaded';\n            }\n        }\n\n        var resourcesLoaded = $.when.apply($, requests);\n\n        resourcesLoaded.done(function(){\n            var $stream, width;\n            console.log(response);\n\n            $stream = FlowFlow.buildStreamWith(response, streamOpts, moderation, FlowFlowOpts.dependencies);\n\n            if (isLS && response.items.length > 0 && response.hash.length > 0) sessionStorage.setItem( JSON.stringify( response.hash ), original);\n\n            var num = streamOpts.layout === 'compact' || (streamOpts.mobileslider === 'yep' && isMobile)? (streamOpts.mobileslider === 'yep' ? 3 : streamOpts['cards-num']) : false;\n\n            $cont.append( $stream );\n\n            if ( typeof $stream !== 'string' ) {\n                FlowFlow.setupGrid($cont.find('.ff-stream-wrapper'), num, streamOpts.scrolltop === 'yep', streamOpts.gallery === 'yep', streamOpts, $cont);\n            }\n\n            setTimeout(function(){\n                $cont.find('.ff-header').removeClass('ff-loading').end().find('.ff-loader').addClass('ff-squeezed').delay(300).hide();\n            }, 0);\n\n            \n        }).fail(function(){\n            console.log('Flow-Flow: resource loading failed');\n        });\n\n        var isErr = response.status === \"errors\";\n        if ((opts.isAdmin || opts.isLog) && isErr) {\n            $errCont = $('<div class=\"ff-errors\"><div class=\"ff-err-info\">If you see this then you are administrator and Flow-Flow got errors from APIs while requesting data. Please go to plugin admin and after refreshing page check for error(s) on stream settings page. Please provide error message info if you are doing support request.<\\\/div><\\\/div>');\n            $cont.before($errCont);\n        }\n\n        if (opts.isAdmin && response.status === 'building') {\n            window.console && window.console.log(response);\n            $cont.prepend($('<div id=\"ff-admin-info\">ADMIN INFO: Feeds cache is being built in background. Please wait for changes to apply. Page reload is required.<\\\/div>'));\n        }\n    });\n\n    function isLocalStorageNameSupported() {\n        var testKey = 'test', storage = window.sessionStorage;\n        try {\n            storage.setItem(testKey, '1');\n            storage.removeItem(testKey);\n            return true;\n        } catch (error) {\n            return false;\n        }\n    };\n\n    return false;\n}(jQuery));\n<\/script>\n<!-- Flow-Flow \u2014 Social streams plugin for Wordpress --><\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"Every ride has a turning point. It\u2019s the moment it stops being measured in kilometres travelled, but instead by the distance your driver goes to make it more memorable for you &#8211; whether your driver helped with your luggage, made you laugh or went of their way to ensure your safety and comfort. It\u2019s these [&hellip;]","protected":false},"author":617,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"tpl\/tpl-page-sections.php","meta":{"_acf_changed":false,"footnotes":""},"acf":[],"_links":{"self":[{"href":"https:\/\/www.grab.com\/sg\/wp-json\/wp\/v2\/pages\/51615"}],"collection":[{"href":"https:\/\/www.grab.com\/sg\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.grab.com\/sg\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.grab.com\/sg\/wp-json\/wp\/v2\/users\/617"}],"replies":[{"embeddable":true,"href":"https:\/\/www.grab.com\/sg\/wp-json\/wp\/v2\/comments?post=51615"}],"version-history":[{"count":3,"href":"https:\/\/www.grab.com\/sg\/wp-json\/wp\/v2\/pages\/51615\/revisions"}],"predecessor-version":[{"id":51862,"href":"https:\/\/www.grab.com\/sg\/wp-json\/wp\/v2\/pages\/51615\/revisions\/51862"}],"wp:attachment":[{"href":"https:\/\/www.grab.com\/sg\/wp-json\/wp\/v2\/media?parent=51615"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}