Compare loyalty card features available on the mobile app and website
The loyalty card system works across both the petakopi.my website and the mobile app. Here’s what’s available on each platform.
For shop owners
We recommend owners use the mobile app — the Quick Start walks you through it. The web Manage panel still supports the same features, but it’s not the documented path.
Feature
App
Web
Create loyalty programs
✓
✓
Edit program settings
✓
✓
Activate/deactivate programs
✓
✓
Customize card colors
✓
✓
Wallet card preview
✓
✓
Scan customer QR codes
✓
✓
Upload QR image
✓
✓
Award stamps
✓
✓
Redeem completed cards
✓
✓
View enrolled customers
✓
✓
View activity log
✓
✓
View stamp history per card
✓
✓
Send messages to cardholders
✓
✓
View message history
✓
✓
Download counter QR poster
—
✓
Both the web and app scanners support uploading a QR image — useful when a customer sends a screenshot of their QR code.
For customers
Feature
App
Web
Get a loyalty card
✓
✓
Choose from multiple programs
✓
✓
Add to Apple Wallet (iOS)
✓
✓
Add to Google Wallet (Android)
✓
✓
View all my cards
✓
✓
See stamp progress
✓
✓
View stamp history
✓
✓
Remove a card
✓
✓
Real-time wallet notifications
✓
✓
Customers get the same loyalty experience on the web and the app. The QR code for scanning is always shown via your phone wallet (Apple Wallet on iOS, Google Wallet on Android) — both web and app flows lead there.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"petakopi.my","colors":{"primary":"#7A4F38","light":"#B07453","dark":"#543626"},"logo":{"light":"https://mintcdn.com/petakopimy/azWBOEQjLI6RrrMW/logo/light.png?fit=max\u0026auto=format\u0026n=azWBOEQjLI6RrrMW\u0026q=85\u0026s=0ec5c50a8b92930452ce71095748d9e7","dark":"https://mintcdn.com/petakopimy/azWBOEQjLI6RrrMW/logo/dark.png?fit=max\u0026auto=format\u0026n=azWBOEQjLI6RrrMW\u0026q=85\u0026s=f14609928de13c30ba6c3b10989834e9"},"favicon":"https://mintcdn.com/petakopimy/k4j2cdHaZSNV4Vtr/favicon.svg?fit=max\u0026auto=format\u0026n=k4j2cdHaZSNV4Vtr\u0026q=85\u0026s=3cfa023686c7bb2c90126016d6ac850a","navbar":{"links":[{"href":"https://petakopi.my","label":"petakopi.my"}]},"interaction":{"drilldown":false},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"petakopimy","hasAudioNarration":false,"actualSubdomain":"petakopimy","customDomains":["docs.petakopi.my"],"gitSource":{"type":"github","owner":"petakopi","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"entitlements":{},"buildId":"6af44804c3ee4c182d910803","clientVersion":"0.0.4142","searchFilterCounts":[{"language":"default","tag":"For Owners","count":42},{"language":"default","tag":"Insights","count":15},{"language":"default","tag":"Performance","count":12},{"language":"default","tag":"Loyalty Card","count":10},{"language":"default","tag":"Shop","count":9},{"language":"default","tag":"AI assistant","count":4},{"language":"default","tag":"Guides","count":4},{"language":"default","tag":"Getting Started","count":4},{"language":"default","tag":"Setup","count":4},{"language":"default","tag":"Reference","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"loyalty-card/app-vs-web","slug":"/loyalty-card/app-vs-web","pageMetadata":{"title":"App vs Web","description":"Compare loyalty card features available on the mobile app and website","href":"/loyalty-card/app-vs-web"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Compare loyalty card features available on the mobile app and website\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Heading,Note,Table,Tip}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`The loyalty card system works across both the petakopi.my website and the mobile app. Here’s what’s available on each platform.`}),`\n`,_jsx(Heading,{level:`2`,id:`for-shop-owners`,children:`For shop owners`}),`\n`,_jsxs(Tip,{children:[`We recommend owners use the mobile app — the `,_jsx(_components.a,{href:`/loyalty-card/quick-start`,children:`Quick Start`}),` walks you through it. The web Manage panel still supports the same features, but it’s not the documented path.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Feature`}),_jsx(_components.th,{style:{textAlign:`center`},children:`App`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Web`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Create loyalty programs`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Edit program settings`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Activate/deactivate programs`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Customize card colors`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Wallet card preview`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Scan customer QR codes`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Upload QR image`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Award stamps`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Redeem completed cards`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`View enrolled customers`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`View activity log`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`View stamp history per card`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Send messages to cardholders`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`View message history`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Download counter QR poster`}),_jsx(_components.td,{style:{textAlign:`center`},children:`—`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`})]})]})]}),`\n`,_jsxs(Tip,{children:[`Both the web and app scanners support `,_jsx(_components.strong,{children:`uploading a QR image`}),` — useful when a customer sends a screenshot of their QR code.`]}),`\n`,_jsx(Heading,{level:`2`,id:`for-customers`,children:`For customers`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Feature`}),_jsx(_components.th,{style:{textAlign:`center`},children:`App`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Web`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Get a loyalty card`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Choose from multiple programs`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Add to Apple Wallet (iOS)`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Add to Google Wallet (Android)`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`View all my cards`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`See stamp progress`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`View stamp history`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Remove a card`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Real-time wallet notifications`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`})]})]})]}),`\n`,_jsx(Note,{children:`Customers get the same loyalty experience on the web and the app. The QR code for scanning is always shown via your phone wallet (Apple Wallet on iOS, Google Wallet on Android) — both web and app flows lead there.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"App vs Web","description":"Compare loyalty card features available on the mobile app and website","href":"/loyalty-card/app-vs-web"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"For shop owners","slug":"for-shop-owners","depth":2,"children":[]},{"title":"For customers","slug":"for-customers","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"petakopimy","siteName":"petakopi.my","title":"App vs Web - petakopi.my","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-15T08:00:01.554Z","originalFileLocation":"loyalty-card/app-vs-web.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Compare loyalty card features available on the mobile app and website\">\u003cmeta data-mint-head name=\"application-name\" content=\"petakopi.my\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/petakopimy/dyws7H7IW_osCAn0/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/petakopimy/dyws7H7IW_osCAn0/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/petakopimy/dyws7H7IW_osCAn0/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/petakopimy/dyws7H7IW_osCAn0/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/petakopimy/dyws7H7IW_osCAn0/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/petakopimy/dyws7H7IW_osCAn0/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/petakopimy/dyws7H7IW_osCAn0/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/petakopimy/dyws7H7IW_osCAn0/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/petakopimy/dyws7H7IW_osCAn0/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"App vs Web - petakopi.my\">\u003cmeta data-mint-head property=\"og:description\" content=\"Compare loyalty card features available on the mobile app and website\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"petakopi.my\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.petakopi.my/loyalty-card/app-vs-web\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://petakopimy.mintlify.site/_mintlify/api/og/v2?division=Reference\u0026amp;title=App+vs+Web\u0026amp;description=Compare+loyalty+card+features+available+on+the+mobile+app+and+website\u0026amp;theme=a7c4e537db4f36ee3782b886\u0026amp;signature=a8451c2fca5f42ac1d02c116f6e73b928829b5e68f0501bd98fa6749a9b46a66\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"App vs Web - petakopi.my\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Compare loyalty card features available on the mobile app and website\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://petakopimy.mintlify.site/_mintlify/api/og/v2?division=Reference\u0026amp;title=App+vs+Web\u0026amp;description=Compare+loyalty+card+features+available+on+the+mobile+app+and+website\u0026amp;theme=a7c4e537db4f36ee3782b886\u0026amp;signature=a8451c2fca5f42ac1d02c116f6e73b928829b5e68f0501bd98fa6749a9b46a66\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/petakopimy/dyws7H7IW_osCAn0/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"petakopi.my\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#7A4F38\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.petakopi.my/loyalty-card/app-vs-web\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/loyalty-card/app-vs-web.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.petakopi.my/#organization\",\"name\":\"petakopi.my\",\"url\":\"https://docs.petakopi.my\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/petakopimy/azWBOEQjLI6RrrMW/logo/light.png?fit=max\u0026auto=format\u0026n=azWBOEQjLI6RrrMW\u0026q=85\u0026s=0ec5c50a8b92930452ce71095748d9e7\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.petakopi.my#website\",\"name\":\"petakopi.my\",\"url\":\"https://docs.petakopi.my\",\"publisher\":{\"@id\":\"https://docs.petakopi.my/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.petakopi.my/loyalty-card/app-vs-web#webpage\",\"url\":\"https://docs.petakopi.my/loyalty-card/app-vs-web\",\"name\":\"App vs Web\",\"description\":\"Compare loyalty card features available on the mobile app and website\",\"dateModified\":\"2026-10-15T08:00:01.554Z\",\"isPartOf\":{\"@id\":\"https://docs.petakopi.my#website\"},\"breadcrumb\":{\"@id\":\"https://docs.petakopi.my/loyalty-card/app-vs-web#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.petakopi.my/loyalty-card/app-vs-web#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Loyalty Card\",\"item\":\"https://docs.petakopi.my/loyalty-card/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"App vs Web\",\"item\":\"https://docs.petakopi.my/loyalty-card/app-vs-web\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.petakopi.my/loyalty-card/app-vs-web#article\",\"headline\":\"App vs Web\",\"name\":\"App vs Web\",\"description\":\"Compare loyalty card features available on the mobile app and website\",\"url\":\"https://docs.petakopi.my/loyalty-card/app-vs-web\",\"mainEntityOfPage\":{\"@id\":\"https://docs.petakopi.my/loyalty-card/app-vs-web#webpage\"},\"dateModified\":\"2026-10-15T08:00:01.554Z\",\"publisher\":{\"@id\":\"https://docs.petakopi.my/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.petakopi.my#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"petakopi.my\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"petakopi.my\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/loyalty-card/app-vs-web.md","siteName":"petakopi.my","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"For Owners","groups":[{"group":"Untung ke rugi?","expanded":false,"pages":[{"title":"1. Ten minutes: your break-even","sidebarTitle":"Ten minutes","href":"/untung-ke-rugi/ten-minutes"},{"title":"2. First week: your top 5 and your daily total","sidebarTitle":"First week","href":"/untung-ke-rugi/first-week"},{"title":"3. End of month: make it real","sidebarTitle":"End of month","href":"/untung-ke-rugi/end-of-month"}]},{"group":"Shop","pages":[{"title":"Manage Your Shop","href":"/manage-shop/overview"},{"group":"Setup","expanded":false,"pages":[{"title":"Shop Information","href":"/manage-shop/shop-information"},{"title":"Location","href":"/manage-shop/location"},{"title":"Sync from Google","href":"/manage-shop/sync-from-google"},{"title":"Customer Feedback","href":"/manage-shop/customer-feedback"}]},{"group":"Online Store","expanded":false,"pages":[{"title":"Online Store","href":"/manage-shop/online-store"},{"title":"Vouchers","href":"/manage-shop/vouchers"}]},{"group":"Point of Sale","expanded":false,"pages":[{"title":"Customise your receipt","href":"/manage-shop/receipt"},{"title":"Prep stations","href":"/manage-shop/prep-stations"}]}]},{"group":"Insights","pages":[{"group":"Performance","expanded":false,"pages":[{"title":"Performance","sidebarTitle":"Overview","href":"/manage-shop/performance/overview"},{"title":"1. Create your menu","href":"/manage-shop/performance/menu"},{"title":"2. Assign ingredient costs","href":"/manage-shop/performance/costing"},{"title":"Expenses","href":"/manage-shop/performance/expenses"},{"title":"4. Record sales events","href":"/manage-shop/performance/sales"},{"title":"Waste","href":"/manage-shop/performance/waste"},{"title":"Bought vs Used","href":"/manage-shop/performance/bought-vs-used"},{"title":"Price your menu","href":"/manage-shop/performance/menu-pricing"},{"title":"5. Review your monthly answer","href":"/manage-shop/performance/monthly-answer"},{"title":"6. Set up email reports","href":"/manage-shop/performance/email-reports"},{"title":"Resolve missing information","sidebarTitle":"Troubleshooting","href":"/manage-shop/performance/missing-information"},{"title":"Older expenses","href":"/manage-shop/performance/legacy-expenses"}]},{"group":"Costs \u0026 Pricing","expanded":false,"pages":[{"title":"Costs \u0026 Pricing","href":"/manage-shop/costs-and-pricing/overview"},{"title":"Materials","href":"/manage-shop/costs-and-pricing/items"},{"title":"Recipes","href":"/manage-shop/costs-and-pricing/recipes"}]}]},{"group":"AI assistant","expanded":false,"pages":[{"title":"Ask AI about your shop","href":"/ai-assistant/overview"},{"title":"Connect Claude","href":"/ai-assistant/claude"},{"title":"Connect ChatGPT","href":"/ai-assistant/chatgpt"},{"title":"Set up by an AI agent","href":"/ai-assistant/agent-setup"}]},{"group":"Loyalty Card","pages":[{"title":"Loyalty Card Overview","href":"/loyalty-card/overview"},{"group":"Quick start","expanded":false,"pages":[{"title":"Quick Start (EN)","href":"/loyalty-card/quick-start"},{"title":"Quick Start (BM)","href":"/loyalty-card/quick-start-bm"}]},{"title":"Running a Program","href":"/loyalty-card/for-owners"},{"title":"Redeem a Reward at the POS","href":"/loyalty-card/redeem-at-pos"},{"title":"QR Poster","href":"/loyalty-card/qr-template"},{"title":"Weekly Recap Email","description":"Understand the four numbers in your Monday-morning loyalty recap email","href":"/loyalty-card/weekly-recap"},{"group":"Reference","expanded":false,"pages":[{"title":"App vs Web","href":"/loyalty-card/app-vs-web"},{"title":"FAQ","description":"Frequently asked questions about the petakopi.my loyalty card system","href":"/loyalty-card/faq"},{"title":"App vs Web","href":"/app-vs-web"}]}]},{"group":"Coffee Pass","pages":[{"title":"Selling Passes","href":"/coffee-pass/for-owners"}]}]},{"tab":"For Customers","pages":[{"title":"For Customers","href":"/trip-planner"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"App vs Web - petakopi.my","buildId":"dpl_G2Qd45vZZ7MkBiGF9yYx8ZsbbKXX","deploymentId":"dpl_G2Qd45vZZ7MkBiGF9yYx8ZsbbKXX","dynamics":[],"chunks":[]}