[{"data":1,"prerenderedAt":1968},["ShallowReactive",2],{"navigation":3,"\u002Fbooki-documentation\u002Fguides\u002Fguides-subscription-billing":303,"\u002Fbooki-documentation\u002Fguides\u002Fguides-subscription-billing-surround":1965},[4,55,105],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":54},"Nuxt Guide","i-lucide-layout","\u002Fnuxt-guide","1.nuxt-guide",[10,14,19,24,29,34,39,44,49],{"title":11,"path":12,"stem":13,"icon":6},"Overview","\u002Fnuxt-guide\u002Foverview","1.nuxt-guide\u002F1.overview",{"title":15,"path":16,"stem":17,"icon":18},"Folder Structure","\u002Fnuxt-guide\u002Ffolder-structure","1.nuxt-guide\u002F2.folder-structure","i-lucide-folder-tree",{"title":20,"path":21,"stem":22,"icon":23},"Components","\u002Fnuxt-guide\u002Fcomponents","1.nuxt-guide\u002F3.components","i-lucide-component",{"title":25,"path":26,"stem":27,"icon":28},"Composables","\u002Fnuxt-guide\u002Fcomposables","1.nuxt-guide\u002F4.composables","i-lucide-puzzle",{"title":30,"path":31,"stem":32,"icon":33},"Pages & Routing","\u002Fnuxt-guide\u002Fpages-routing","1.nuxt-guide\u002F5.pages-routing","i-lucide-file-text",{"title":35,"path":36,"stem":37,"icon":38},"Middleware","\u002Fnuxt-guide\u002Fmiddleware","1.nuxt-guide\u002F6.middleware","i-lucide-shield-check",{"title":40,"path":41,"stem":42,"icon":43},"Plugins","\u002Fnuxt-guide\u002Fplugins","1.nuxt-guide\u002F7.plugins","i-lucide-plug",{"title":45,"path":46,"stem":47,"icon":48},"State Management","\u002Fnuxt-guide\u002Fstate-management","1.nuxt-guide\u002F8.state-management","i-lucide-database",{"title":50,"path":51,"stem":52,"icon":53},"TypeScript","\u002Fnuxt-guide\u002Ftypescript","1.nuxt-guide\u002F9.typescript","i-lucide-braces",false,{"title":56,"icon":57,"path":58,"stem":59,"children":60,"page":54},"Node \u002F Express Guide","i-lucide-server","\u002Fnode-express-guide","2.node-express-guide",[61,64,69,72,77,82,86,91,96,100],{"title":11,"path":62,"stem":63,"icon":57},"\u002Fnode-express-guide\u002Foverview","2.node-express-guide\u002F1.overview",{"title":65,"path":66,"stem":67,"icon":68},"Error Handling","\u002Fnode-express-guide\u002Ferror-handling","2.node-express-guide\u002F10.error-handling","i-lucide-alert-triangle",{"title":15,"path":70,"stem":71,"icon":18},"\u002Fnode-express-guide\u002Ffolder-structure","2.node-express-guide\u002F2.folder-structure",{"title":73,"path":74,"stem":75,"icon":76},"Controllers","\u002Fnode-express-guide\u002Fcontrollers","2.node-express-guide\u002F3.controllers","i-lucide-cpu",{"title":78,"path":79,"stem":80,"icon":81},"Services","\u002Fnode-express-guide\u002Fservices","2.node-express-guide\u002F4.services","i-lucide-workflow",{"title":83,"path":84,"stem":85,"icon":48},"Repositories","\u002Fnode-express-guide\u002Frepositories","2.node-express-guide\u002F5.repositories",{"title":87,"path":88,"stem":89,"icon":90},"Models","\u002Fnode-express-guide\u002Fmodels","2.node-express-guide\u002F6.models","i-lucide-boxes",{"title":92,"path":93,"stem":94,"icon":95},"Routes","\u002Fnode-express-guide\u002Froutes","2.node-express-guide\u002F7.routes","i-lucide-route",{"title":35,"path":97,"stem":98,"icon":99},"\u002Fnode-express-guide\u002Fmiddleware","2.node-express-guide\u002F8.middleware","i-lucide-shield",{"title":101,"path":102,"stem":103,"icon":104},"Validation","\u002Fnode-express-guide\u002Fvalidation","2.node-express-guide\u002F9.validation","i-lucide-check-circle",{"title":106,"icon":107,"path":108,"stem":109,"children":110,"page":54},"Booki Documentation","i-lucide-book-open","\u002Fbooki-documentation","3.booki-documentation",[111,115,120,125,130,229,244,257],{"title":112,"path":113,"stem":114,"icon":107},"Project Overview","\u002Fbooki-documentation\u002Foverview","3.booki-documentation\u002F1.overview",{"title":116,"path":117,"stem":118,"icon":119},"Installation","\u002Fbooki-documentation\u002F1.installation","3.booki-documentation\u002F2.1.installation","i-lucide-download",{"title":121,"path":122,"stem":123,"icon":124},"Development Overview","\u002Fbooki-documentation\u002F2.architecture","3.booki-documentation\u002F2.2.architecture","i-lucide-layers",{"title":126,"path":127,"stem":128,"icon":129},"Local Development","\u002Fbooki-documentation\u002F3.local-development","3.booki-documentation\u002F2.3.local-development","i-lucide-monitor",{"title":131,"icon":57,"path":132,"stem":133,"children":134,"page":54},"API","\u002Fbooki-documentation\u002Fapi","3.booki-documentation\u002F3.api",[135,139,144,149,154,159,163,168,173,178,183,188,192,197,202,206,211,216,220,224],{"title":136,"path":137,"stem":138,"icon":57},"Booki API Reference","\u002Fbooki-documentation\u002Fapi\u002Fbooki-api","3.booki-documentation\u002F3.api\u002F1.booki-api",{"title":140,"path":141,"stem":142,"icon":143},"Auth - Login & Refresh","\u002Fbooki-documentation\u002Fapi\u002Fauth","3.booki-documentation\u002F3.api\u002F2.auth","i-lucide-key",{"title":145,"path":146,"stem":147,"icon":148},"Auth - Customer Registration","\u002Fbooki-documentation\u002Fapi\u002Fauth-customer-register","3.booki-documentation\u002F3.api\u002F2.auth-customer-register","i-lucide-user-check",{"title":150,"path":151,"stem":152,"icon":153},"Auth - Owner Registration","\u002Fbooki-documentation\u002Fapi\u002Fauth-owner-register","3.booki-documentation\u002F3.api\u002F2.auth-owner-register","i-lucide-user-plus",{"title":155,"path":156,"stem":157,"icon":158},"Bookings","\u002Fbooki-documentation\u002Fapi\u002Fbookings","3.booki-documentation\u002F3.api\u002F3.bookings","i-lucide-calendar-check",{"title":160,"path":161,"stem":162,"icon":158},"Bookings - Authenticated","\u002Fbooki-documentation\u002Fapi\u002Fbookings-auth","3.booki-documentation\u002F3.api\u002F3.bookings-auth",{"title":164,"path":165,"stem":166,"icon":167},"Bookings - Public & Guest","\u002Fbooki-documentation\u002Fapi\u002Fbookings-public","3.booki-documentation\u002F3.api\u002F3.bookings-public","i-lucide-calendar-plus",{"title":169,"path":170,"stem":171,"icon":172},"Booking Services","\u002Fbooki-documentation\u002Fapi\u002Fbooking-services","3.booki-documentation\u002F3.api\u002F4.booking-services","i-lucide-box",{"title":174,"path":175,"stem":176,"icon":177},"Organizations - Branches","\u002Fbooki-documentation\u002Fapi\u002Fbranches","3.booki-documentation\u002F3.api\u002F5.branches","i-lucide-git-branch",{"title":179,"path":180,"stem":181,"icon":182},"Organizations - Business Hours","\u002Fbooki-documentation\u002Fapi\u002Fbusiness-hours","3.booki-documentation\u002F3.api\u002F5.business-hours","i-lucide-clock",{"title":184,"path":185,"stem":186,"icon":187},"Organizations - Base","\u002Fbooki-documentation\u002Fapi\u002Forganizations","3.booki-documentation\u002F3.api\u002F5.organizations","i-lucide-building-2",{"title":189,"path":190,"stem":191,"icon":172},"Organizations - Packages","\u002Fbooki-documentation\u002Fapi\u002Fpackages","3.booki-documentation\u002F3.api\u002F5.packages",{"title":193,"path":194,"stem":195,"icon":196},"Organizations - Payments & Integrations","\u002Fbooki-documentation\u002Fapi\u002Fpayments","3.booki-documentation\u002F3.api\u002F5.payments","i-lucide-credit-card",{"title":198,"path":199,"stem":200,"icon":201},"Users - Profile & Settings","\u002Fbooki-documentation\u002Fapi\u002Fusers","3.booki-documentation\u002F3.api\u002F6.users","i-lucide-user",{"title":203,"path":204,"stem":205,"icon":196},"Maya Payments","\u002Fbooki-documentation\u002Fapi\u002Fmaya","3.booki-documentation\u002F3.api\u002F7.maya",{"title":207,"path":208,"stem":209,"icon":210},"Owner - Booking Management","\u002Fbooki-documentation\u002Fapi\u002Fowner-bookings","3.booki-documentation\u002F3.api\u002F7.owner-bookings","i-lucide-calendar",{"title":212,"path":213,"stem":214,"icon":215},"Owner - Customer Management","\u002Fbooki-documentation\u002Fapi\u002Fowner-customers","3.booki-documentation\u002F3.api\u002F7.owner-customers","i-lucide-users",{"title":217,"path":218,"stem":219,"icon":196},"Admin - Billing & Subscriptions","\u002Fbooki-documentation\u002Fapi\u002Fadmin-billing","3.booki-documentation\u002F3.api\u002F8.admin-billing",{"title":221,"path":222,"stem":223,"icon":187},"Admin - Organizations Management","\u002Fbooki-documentation\u002Fapi\u002Fadmin-organizations","3.booki-documentation\u002F3.api\u002F8.admin-organizations",{"title":225,"path":226,"stem":227,"icon":228},"Admin - User Management","\u002Fbooki-documentation\u002Fapi\u002Fadmin-users","3.booki-documentation\u002F3.api\u002F8.admin-users","i-lucide-shield-admin",{"title":230,"icon":231,"path":232,"stem":233,"children":234,"page":54},"Shared","i-lucide-package","\u002Fbooki-documentation\u002Fshared","3.booki-documentation\u002F4.shared",[235,240],{"title":236,"path":237,"stem":238,"icon":239},"codi-node-utils","\u002Fbooki-documentation\u002Fshared\u002Fcodi-node-utils","3.booki-documentation\u002F4.shared\u002F1.codi-node-utils","i-lucide-wrench",{"title":241,"path":242,"stem":243,"icon":124},"codi-layer","\u002Fbooki-documentation\u002Fshared\u002Fcodi-layer","3.booki-documentation\u002F4.shared\u002F2.codi-layer",{"title":245,"path":246,"stem":247,"children":248,"page":54},"Flowcharts","\u002Fbooki-documentation\u002Fflowcharts","3.booki-documentation\u002F5.flowcharts",[249,253],{"title":250,"path":251,"stem":252,"icon":158},"Owner Booking Management Flow","\u002Fbooki-documentation\u002Fflowcharts\u002Fowner-booking-management","3.booki-documentation\u002F5.flowcharts\u002F1.owner-booking-management",{"title":254,"path":255,"stem":256,"icon":167},"Customer Booking Flow","\u002Fbooki-documentation\u002Fflowcharts\u002Fcustomer-booking-flow","3.booki-documentation\u002F5.flowcharts\u002F2.customer-booking-flow",{"title":258,"path":259,"stem":260,"children":261,"page":54},"Guides","\u002Fbooki-documentation\u002Fguides","3.booki-documentation\u002Fguides",[262,267,271,275,280,285,290,294,298],{"title":263,"path":264,"stem":265,"icon":266},"Guide - Authentication Flow & Sessions","\u002Fbooki-documentation\u002Fguides\u002Fguides-auth-flow","3.booki-documentation\u002Fguides\u002Fguides-auth-flow","i-lucide-lock",{"title":268,"path":269,"stem":270,"icon":177},"Guide - Branch Management","\u002Fbooki-documentation\u002Fguides\u002Fguides-branch-management","3.booki-documentation\u002Fguides\u002Fguides-branch-management",{"title":272,"path":273,"stem":274,"icon":196},"Guide - Customer Payment Methods","\u002Fbooki-documentation\u002Fguides\u002Fguides-customer-payments","3.booki-documentation\u002Fguides\u002Fguides-customer-payments",{"title":276,"path":277,"stem":278,"icon":279},"Guide - Environment Setup","\u002Fbooki-documentation\u002Fguides\u002Fguides-environment-setup","3.booki-documentation\u002Fguides\u002Fguides-environment-setup","i-lucide-settings",{"title":281,"path":282,"stem":283,"icon":284},"Guide - Common Error Responses","\u002Fbooki-documentation\u002Fguides\u002Fguides-errors","3.booki-documentation\u002Fguides\u002Fguides-errors","i-lucide-alert-circle",{"title":286,"path":287,"stem":288,"icon":289},"Guide - Gmail SMTP Setup","\u002Fbooki-documentation\u002Fguides\u002Fguides-gmail-setup","3.booki-documentation\u002Fguides\u002Fguides-gmail-setup","i-lucide-mail",{"title":291,"path":292,"stem":293,"icon":124},"Guide - Multi-Tenancy & Tenant Slug Resolution","\u002Fbooki-documentation\u002Fguides\u002Fguides-multi-tenancy","3.booki-documentation\u002Fguides\u002Fguides-multi-tenancy",{"title":295,"path":296,"stem":297,"icon":48},"Guide - Redis Caching","\u002Fbooki-documentation\u002Fguides\u002Fguides-redis","3.booki-documentation\u002Fguides\u002Fguides-redis",{"title":299,"path":300,"stem":301,"icon":302},"Guide - Subscription Billing","\u002Fbooki-documentation\u002Fguides\u002Fguides-subscription-billing","3.booki-documentation\u002Fguides\u002Fguides-subscription-billing","i-lucide-receipt",{"id":304,"title":299,"body":305,"description":1958,"extension":1959,"links":1960,"meta":1961,"navigation":1962,"path":300,"seo":1963,"stem":301,"__hash__":1964},"docs\u002F3.booki-documentation\u002Fguides\u002Fguides-subscription-billing.md",{"type":306,"value":307,"toc":1942},"minimark",[308,317,320,325,330,589,593,600,602,606,660,662,666,709,712,714,718,728,730,734,738,759,765,958,963,1067,1069,1073,1092,1097,1563,1565,1569,1583,1590,1592,1596,1603,1657,1670,1672,1676,1828,1938],[309,310,311,312,316],"p",{},"Organization owners subscribe to a paid plan via Maya. Without an active subscription, organizations default to the free plan. Payment history is tracked in the ",[313,314,315],"code",{},"SubscriptionPayment"," collection for billing records and analytics.",[318,319],"hr",{},[321,322,324],"h2",{"id":323},"data-model","Data Model",[326,327,329],"h3",{"id":328},"isubscriptionpayment","ISubscriptionPayment",[331,332,333,349],"table",{},[334,335,336],"thead",{},[337,338,339,343,346],"tr",{},[340,341,342],"th",{},"Field",[340,344,345],{},"Type",[340,347,348],{},"Description",[350,351,352,366,379,391,403,415,428,447,460,472,484,496,515,527,550,562,574],"tbody",{},[337,353,354,360,363],{},[355,356,357],"td",{},[313,358,359],{},"userId",[355,361,362],{},"ObjectId",[355,364,365],{},"Owner user who holds the subscription",[337,367,368,373,376],{},[355,369,370],{},[313,371,372],{},"customerId",[355,374,375],{},"string",[355,377,378],{},"Maya checkout ID or customer ref",[337,380,381,386,388],{},[355,382,383],{},[313,384,385],{},"subscriptionId",[355,387,375],{},[355,389,390],{},"Internal subscription ID",[337,392,393,398,400],{},[355,394,395],{},[313,396,397],{},"invoiceId",[355,399,375],{},[355,401,402],{},"Maya payment ID",[337,404,405,410,413],{},[355,406,407],{},[313,408,409],{},"paymentIntentId",[355,411,412],{},"string?",[355,414,402],{},[337,416,417,422,425],{},[355,418,419],{},[313,420,421],{},"amount",[355,423,424],{},"number",[355,426,427],{},"Payment amount (in smallest currency unit)",[337,429,430,435,437],{},[355,431,432],{},[313,433,434],{},"currency",[355,436,375],{},[355,438,439,440,443,444],{},"e.g. ",[313,441,442],{},"\"php\"",", ",[313,445,446],{},"\"usd\"",[337,448,449,454,457],{},[355,450,451],{},[313,452,453],{},"billingPeriodStart",[355,455,456],{},"Date",[355,458,459],{},"Start of the billing period",[337,461,462,467,469],{},[355,463,464],{},[313,465,466],{},"billingPeriodEnd",[355,468,456],{},[355,470,471],{},"End of the billing period",[337,473,474,479,481],{},[355,475,476],{},[313,477,478],{},"seats",[355,480,424],{},[355,482,483],{},"Number of branches\u002Fseats paid for",[337,485,486,491,493],{},[355,487,488],{},[313,489,490],{},"pricePerSeat",[355,492,424],{},[355,494,495],{},"Cost per seat",[337,497,498,503,512],{},[355,499,500],{},[313,501,502],{},"interval",[355,504,505,508,509],{},[313,506,507],{},"\"monthly\""," | ",[313,510,511],{},"\"annually\"",[355,513,514],{},"Billing interval",[337,516,517,522,524],{},[355,518,519],{},[313,520,521],{},"paymentMethod",[355,523,412],{},[355,525,526],{},"Payment method used",[337,528,529,534,536],{},[355,530,531],{},[313,532,533],{},"status",[355,535,375],{},[355,537,538,443,541,443,544,443,547],{},[313,539,540],{},"pending",[313,542,543],{},"paid",[313,545,546],{},"failed",[313,548,549],{},"refunded",[337,551,552,557,559],{},[355,553,554],{},[313,555,556],{},"receiptUrl",[355,558,412],{},[355,560,561],{},"Maya receipt reference URL",[337,563,564,569,571],{},[355,565,566],{},[313,567,568],{},"failureReason",[355,570,412],{},[355,572,573],{},"Reason for payment failure",[337,575,576,581,584],{},[355,577,578],{},[313,579,580],{},"metadata",[355,582,583],{},"object?",[355,585,586],{},[313,587,588],{},"{ name, serviceName }",[326,590,592],{"id":591},"user-model-extension","User Model Extension",[309,594,595,596,599],{},"Owner users have a ",[313,597,598],{},"mayaCustomerId"," field on their user document. It is created automatically when the first subscription checkout is initiated.",[318,601],{},[321,603,605],{"id":604},"subscription-states","Subscription States",[331,607,608,618],{},[334,609,610],{},[337,611,612,615],{},[340,613,614],{},"State",[340,616,617],{},"Meaning",[350,619,620,630,640,650],{},[337,621,622,627],{},[355,623,624],{},[313,625,626],{},"trial",[355,628,629],{},"In trial period",[337,631,632,637],{},[355,633,634],{},[313,635,636],{},"active",[355,638,639],{},"Paid and current",[337,641,642,647],{},[355,643,644],{},[313,645,646],{},"suspended",[355,648,649],{},"Payment failed or manually suspended",[337,651,652,657],{},[355,653,654],{},[313,655,656],{},"cancelled",[355,658,659],{},"Subscription ended",[318,661],{},[321,663,665],{"id":664},"plans","Plans",[331,667,668,681],{},[334,669,670],{},[337,671,672,675,678],{},[340,673,674],{},"Plan",[340,676,677],{},"Requires subscription",[340,679,680],{},"Features",[350,682,683,696],{},[337,684,685,690,693],{},[355,686,687],{},[313,688,689],{},"free",[355,691,692],{},"No",[355,694,695],{},"Limited (platform-specific)",[337,697,698,703,706],{},[355,699,700],{},[313,701,702],{},"pro",[355,704,705],{},"Yes — active Maya subscription",[355,707,708],{},"Full feature access",[309,710,711],{},"All new organizations default to the free plan.",[318,713],{},[321,715,717],{"id":716},"subscription-checkout-flow","Subscription Checkout Flow",[719,720,725],"pre",{"className":721,"code":723,"language":724},[722],"language-text","1. Owner initiates subscription\n        ↓\n2. POST \u002Fapi\u002Fv1\u002Fmaya\u002Fcreate-subscription-checkout\n   → API creates Maya checkout session\n   → Returns checkout URL\n        ↓\n3. Owner completes payment on Maya-hosted page\n        ↓\n4. Frontend calls POST \u002Fapi\u002Fv1\u002Fmaya\u002Fverify-session to confirm\n        ↓\n5. Maya fires webhook to POST \u002Fapi\u002Fv1\u002Fmaya\u002Fwebhook\n        ↓\n6. API processes event, records subscription payment\n","text",[313,726,723],{"__ignoreMap":727},"",[318,729],{},[321,731,733],{"id":732},"api-endpoints","API Endpoints",[326,735,737],{"id":736},"get-current-subscription","Get Current Subscription",[719,739,743],{"className":740,"code":741,"language":742,"meta":727,"style":727},"language-http shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","GET \u002Fapi\u002Fv1\u002Forganizations\u002Fbilling\u002Fsubscription\nAuthorization: Bearer \u003Cowner_token>\n","http",[313,744,745,753],{"__ignoreMap":727},[746,747,750],"span",{"class":748,"line":749},"line",1,[746,751,752],{},"GET \u002Fapi\u002Fv1\u002Forganizations\u002Fbilling\u002Fsubscription\n",[746,754,756],{"class":748,"line":755},2,[746,757,758],{},"Authorization: Bearer \u003Cowner_token>\n",[309,760,761],{},[762,763,764],"strong",{},"Response — active plan:",[719,766,770],{"className":767,"code":768,"language":769,"meta":727,"style":727},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"id\": \"sub_1234567890\",\n  \"plan\": \"pro\",\n  \"status\": \"active\",\n  \"billingInterval\": \"monthly\",\n  \"currentPeriodEnd\": \"2026-04-15T00:00:00.000Z\",\n  \"trialEnd\": null,\n  \"cancelAtPeriodEnd\": false,\n  \"amount\": 999,\n  \"currency\": \"php\"\n}\n","json",[313,771,772,778,805,825,844,865,886,901,916,933,952],{"__ignoreMap":727},[746,773,774],{"class":748,"line":749},[746,775,777],{"class":776},"sMK4o","{\n",[746,779,780,783,787,790,793,796,800,802],{"class":748,"line":755},[746,781,782],{"class":776},"  \"",[746,784,786],{"class":785},"spNyl","id",[746,788,789],{"class":776},"\"",[746,791,792],{"class":776},":",[746,794,795],{"class":776}," \"",[746,797,799],{"class":798},"sfazB","sub_1234567890",[746,801,789],{"class":776},[746,803,804],{"class":776},",\n",[746,806,808,810,813,815,817,819,821,823],{"class":748,"line":807},3,[746,809,782],{"class":776},[746,811,812],{"class":785},"plan",[746,814,789],{"class":776},[746,816,792],{"class":776},[746,818,795],{"class":776},[746,820,702],{"class":798},[746,822,789],{"class":776},[746,824,804],{"class":776},[746,826,828,830,832,834,836,838,840,842],{"class":748,"line":827},4,[746,829,782],{"class":776},[746,831,533],{"class":785},[746,833,789],{"class":776},[746,835,792],{"class":776},[746,837,795],{"class":776},[746,839,636],{"class":798},[746,841,789],{"class":776},[746,843,804],{"class":776},[746,845,847,849,852,854,856,858,861,863],{"class":748,"line":846},5,[746,848,782],{"class":776},[746,850,851],{"class":785},"billingInterval",[746,853,789],{"class":776},[746,855,792],{"class":776},[746,857,795],{"class":776},[746,859,860],{"class":798},"monthly",[746,862,789],{"class":776},[746,864,804],{"class":776},[746,866,868,870,873,875,877,879,882,884],{"class":748,"line":867},6,[746,869,782],{"class":776},[746,871,872],{"class":785},"currentPeriodEnd",[746,874,789],{"class":776},[746,876,792],{"class":776},[746,878,795],{"class":776},[746,880,881],{"class":798},"2026-04-15T00:00:00.000Z",[746,883,789],{"class":776},[746,885,804],{"class":776},[746,887,889,891,894,896,898],{"class":748,"line":888},7,[746,890,782],{"class":776},[746,892,893],{"class":785},"trialEnd",[746,895,789],{"class":776},[746,897,792],{"class":776},[746,899,900],{"class":776}," null,\n",[746,902,904,906,909,911,913],{"class":748,"line":903},8,[746,905,782],{"class":776},[746,907,908],{"class":785},"cancelAtPeriodEnd",[746,910,789],{"class":776},[746,912,792],{"class":776},[746,914,915],{"class":776}," false,\n",[746,917,919,921,923,925,927,931],{"class":748,"line":918},9,[746,920,782],{"class":776},[746,922,421],{"class":785},[746,924,789],{"class":776},[746,926,792],{"class":776},[746,928,930],{"class":929},"sbssI"," 999",[746,932,804],{"class":776},[746,934,936,938,940,942,944,946,949],{"class":748,"line":935},10,[746,937,782],{"class":776},[746,939,434],{"class":785},[746,941,789],{"class":776},[746,943,792],{"class":776},[746,945,795],{"class":776},[746,947,948],{"class":798},"php",[746,950,951],{"class":776},"\"\n",[746,953,955],{"class":748,"line":954},11,[746,956,957],{"class":776},"}\n",[309,959,960],{},[762,961,962],{},"Response — no subscription (free plan):",[719,964,966],{"className":767,"code":965,"language":769,"meta":727,"style":727},"{\n  \"plan\": \"free\",\n  \"status\": \"active\",\n  \"billingInterval\": \"monthly\",\n  \"currentPeriodEnd\": null,\n  \"trialEnd\": null,\n  \"cancelAtPeriodEnd\": false\n}\n",[313,967,968,972,990,1008,1026,1038,1050,1063],{"__ignoreMap":727},[746,969,970],{"class":748,"line":749},[746,971,777],{"class":776},[746,973,974,976,978,980,982,984,986,988],{"class":748,"line":755},[746,975,782],{"class":776},[746,977,812],{"class":785},[746,979,789],{"class":776},[746,981,792],{"class":776},[746,983,795],{"class":776},[746,985,689],{"class":798},[746,987,789],{"class":776},[746,989,804],{"class":776},[746,991,992,994,996,998,1000,1002,1004,1006],{"class":748,"line":807},[746,993,782],{"class":776},[746,995,533],{"class":785},[746,997,789],{"class":776},[746,999,792],{"class":776},[746,1001,795],{"class":776},[746,1003,636],{"class":798},[746,1005,789],{"class":776},[746,1007,804],{"class":776},[746,1009,1010,1012,1014,1016,1018,1020,1022,1024],{"class":748,"line":827},[746,1011,782],{"class":776},[746,1013,851],{"class":785},[746,1015,789],{"class":776},[746,1017,792],{"class":776},[746,1019,795],{"class":776},[746,1021,860],{"class":798},[746,1023,789],{"class":776},[746,1025,804],{"class":776},[746,1027,1028,1030,1032,1034,1036],{"class":748,"line":846},[746,1029,782],{"class":776},[746,1031,872],{"class":785},[746,1033,789],{"class":776},[746,1035,792],{"class":776},[746,1037,900],{"class":776},[746,1039,1040,1042,1044,1046,1048],{"class":748,"line":867},[746,1041,782],{"class":776},[746,1043,893],{"class":785},[746,1045,789],{"class":776},[746,1047,792],{"class":776},[746,1049,900],{"class":776},[746,1051,1052,1054,1056,1058,1060],{"class":748,"line":888},[746,1053,782],{"class":776},[746,1055,908],{"class":785},[746,1057,789],{"class":776},[746,1059,792],{"class":776},[746,1061,1062],{"class":776}," false\n",[746,1064,1065],{"class":748,"line":903},[746,1066,957],{"class":776},[318,1068],{},[326,1070,1072],{"id":1071},"get-payment-history","Get Payment History",[719,1074,1076],{"className":740,"code":1075,"language":742,"meta":727,"style":727},"GET \u002Fapi\u002Fv1\u002Fsubscription\u002Fmy-payments\nAuthorization: Bearer \u003Cowner_token>\nQuery: search, page (default 1), limit (default 10), status (\"pending\"|\"paid\"|\"failed\"|\"refunded\")\n",[313,1077,1078,1083,1087],{"__ignoreMap":727},[746,1079,1080],{"class":748,"line":749},[746,1081,1082],{},"GET \u002Fapi\u002Fv1\u002Fsubscription\u002Fmy-payments\n",[746,1084,1085],{"class":748,"line":755},[746,1086,758],{},[746,1088,1089],{"class":748,"line":807},[746,1090,1091],{},"Query: search, page (default 1), limit (default 10), status (\"pending\"|\"paid\"|\"failed\"|\"refunded\")\n",[309,1093,1094],{},[762,1095,1096],{},"Response (200):",[719,1098,1100],{"className":767,"code":1099,"language":769,"meta":727,"style":727},"{\n  \"stats\": {\n    \"totalPaid\": 5995,\n    \"totalPending\": 0,\n    \"totalFailed\": 999,\n    \"totalRefunded\": 0\n  },\n  \"payments\": {\n    \"data\": [\n      {\n        \"_id\": \"507f1f77bcf86cd799439011\",\n        \"amount\": 999,\n        \"currency\": \"php\",\n        \"billingPeriodStart\": \"2026-02-15T00:00:00.000Z\",\n        \"billingPeriodEnd\": \"2026-03-15T00:00:00.000Z\",\n        \"seats\": 1,\n        \"pricePerSeat\": 999,\n        \"interval\": \"monthly\",\n        \"status\": \"paid\",\n        \"receiptUrl\": \"https:\u002F\u002Fpayments.maya.ph\u002Freceipts\u002F...\",\n        \"metadata\": { \"name\": \"Codi Solutions\", \"serviceName\": \"Photo Studio\" },\n        \"createdAt\": \"2026-02-15T00:00:00.000Z\"\n      }\n    ],\n    \"page\": 1,\n    \"limit\": 10,\n    \"total\": 6,\n    \"totalPages\": 1\n  }\n}\n",[313,1101,1102,1106,1120,1138,1154,1169,1183,1188,1201,1215,1220,1241,1256,1275,1295,1315,1331,1346,1365,1384,1404,1457,1475,1481,1487,1503,1520,1537,1552,1558],{"__ignoreMap":727},[746,1103,1104],{"class":748,"line":749},[746,1105,777],{"class":776},[746,1107,1108,1110,1113,1115,1117],{"class":748,"line":755},[746,1109,782],{"class":776},[746,1111,1112],{"class":785},"stats",[746,1114,789],{"class":776},[746,1116,792],{"class":776},[746,1118,1119],{"class":776}," {\n",[746,1121,1122,1125,1129,1131,1133,1136],{"class":748,"line":807},[746,1123,1124],{"class":776},"    \"",[746,1126,1128],{"class":1127},"sBMFI","totalPaid",[746,1130,789],{"class":776},[746,1132,792],{"class":776},[746,1134,1135],{"class":929}," 5995",[746,1137,804],{"class":776},[746,1139,1140,1142,1145,1147,1149,1152],{"class":748,"line":827},[746,1141,1124],{"class":776},[746,1143,1144],{"class":1127},"totalPending",[746,1146,789],{"class":776},[746,1148,792],{"class":776},[746,1150,1151],{"class":929}," 0",[746,1153,804],{"class":776},[746,1155,1156,1158,1161,1163,1165,1167],{"class":748,"line":846},[746,1157,1124],{"class":776},[746,1159,1160],{"class":1127},"totalFailed",[746,1162,789],{"class":776},[746,1164,792],{"class":776},[746,1166,930],{"class":929},[746,1168,804],{"class":776},[746,1170,1171,1173,1176,1178,1180],{"class":748,"line":867},[746,1172,1124],{"class":776},[746,1174,1175],{"class":1127},"totalRefunded",[746,1177,789],{"class":776},[746,1179,792],{"class":776},[746,1181,1182],{"class":929}," 0\n",[746,1184,1185],{"class":748,"line":888},[746,1186,1187],{"class":776},"  },\n",[746,1189,1190,1192,1195,1197,1199],{"class":748,"line":903},[746,1191,782],{"class":776},[746,1193,1194],{"class":785},"payments",[746,1196,789],{"class":776},[746,1198,792],{"class":776},[746,1200,1119],{"class":776},[746,1202,1203,1205,1208,1210,1212],{"class":748,"line":918},[746,1204,1124],{"class":776},[746,1206,1207],{"class":1127},"data",[746,1209,789],{"class":776},[746,1211,792],{"class":776},[746,1213,1214],{"class":776}," [\n",[746,1216,1217],{"class":748,"line":935},[746,1218,1219],{"class":776},"      {\n",[746,1221,1222,1225,1228,1230,1232,1234,1237,1239],{"class":748,"line":954},[746,1223,1224],{"class":776},"        \"",[746,1226,1227],{"class":929},"_id",[746,1229,789],{"class":776},[746,1231,792],{"class":776},[746,1233,795],{"class":776},[746,1235,1236],{"class":798},"507f1f77bcf86cd799439011",[746,1238,789],{"class":776},[746,1240,804],{"class":776},[746,1242,1244,1246,1248,1250,1252,1254],{"class":748,"line":1243},12,[746,1245,1224],{"class":776},[746,1247,421],{"class":929},[746,1249,789],{"class":776},[746,1251,792],{"class":776},[746,1253,930],{"class":929},[746,1255,804],{"class":776},[746,1257,1259,1261,1263,1265,1267,1269,1271,1273],{"class":748,"line":1258},13,[746,1260,1224],{"class":776},[746,1262,434],{"class":929},[746,1264,789],{"class":776},[746,1266,792],{"class":776},[746,1268,795],{"class":776},[746,1270,948],{"class":798},[746,1272,789],{"class":776},[746,1274,804],{"class":776},[746,1276,1278,1280,1282,1284,1286,1288,1291,1293],{"class":748,"line":1277},14,[746,1279,1224],{"class":776},[746,1281,453],{"class":929},[746,1283,789],{"class":776},[746,1285,792],{"class":776},[746,1287,795],{"class":776},[746,1289,1290],{"class":798},"2026-02-15T00:00:00.000Z",[746,1292,789],{"class":776},[746,1294,804],{"class":776},[746,1296,1298,1300,1302,1304,1306,1308,1311,1313],{"class":748,"line":1297},15,[746,1299,1224],{"class":776},[746,1301,466],{"class":929},[746,1303,789],{"class":776},[746,1305,792],{"class":776},[746,1307,795],{"class":776},[746,1309,1310],{"class":798},"2026-03-15T00:00:00.000Z",[746,1312,789],{"class":776},[746,1314,804],{"class":776},[746,1316,1318,1320,1322,1324,1326,1329],{"class":748,"line":1317},16,[746,1319,1224],{"class":776},[746,1321,478],{"class":929},[746,1323,789],{"class":776},[746,1325,792],{"class":776},[746,1327,1328],{"class":929}," 1",[746,1330,804],{"class":776},[746,1332,1334,1336,1338,1340,1342,1344],{"class":748,"line":1333},17,[746,1335,1224],{"class":776},[746,1337,490],{"class":929},[746,1339,789],{"class":776},[746,1341,792],{"class":776},[746,1343,930],{"class":929},[746,1345,804],{"class":776},[746,1347,1349,1351,1353,1355,1357,1359,1361,1363],{"class":748,"line":1348},18,[746,1350,1224],{"class":776},[746,1352,502],{"class":929},[746,1354,789],{"class":776},[746,1356,792],{"class":776},[746,1358,795],{"class":776},[746,1360,860],{"class":798},[746,1362,789],{"class":776},[746,1364,804],{"class":776},[746,1366,1368,1370,1372,1374,1376,1378,1380,1382],{"class":748,"line":1367},19,[746,1369,1224],{"class":776},[746,1371,533],{"class":929},[746,1373,789],{"class":776},[746,1375,792],{"class":776},[746,1377,795],{"class":776},[746,1379,543],{"class":798},[746,1381,789],{"class":776},[746,1383,804],{"class":776},[746,1385,1387,1389,1391,1393,1395,1397,1400,1402],{"class":748,"line":1386},20,[746,1388,1224],{"class":776},[746,1390,556],{"class":929},[746,1392,789],{"class":776},[746,1394,792],{"class":776},[746,1396,795],{"class":776},[746,1398,1399],{"class":798},"https:\u002F\u002Fpayments.maya.ph\u002Freceipts\u002F...",[746,1401,789],{"class":776},[746,1403,804],{"class":776},[746,1405,1407,1409,1411,1413,1415,1418,1420,1424,1426,1428,1430,1433,1435,1438,1440,1443,1445,1447,1449,1452,1454],{"class":748,"line":1406},21,[746,1408,1224],{"class":776},[746,1410,580],{"class":929},[746,1412,789],{"class":776},[746,1414,792],{"class":776},[746,1416,1417],{"class":776}," {",[746,1419,795],{"class":776},[746,1421,1423],{"class":1422},"swJcz","name",[746,1425,789],{"class":776},[746,1427,792],{"class":776},[746,1429,795],{"class":776},[746,1431,1432],{"class":798},"Codi Solutions",[746,1434,789],{"class":776},[746,1436,1437],{"class":776},",",[746,1439,795],{"class":776},[746,1441,1442],{"class":1422},"serviceName",[746,1444,789],{"class":776},[746,1446,792],{"class":776},[746,1448,795],{"class":776},[746,1450,1451],{"class":798},"Photo Studio",[746,1453,789],{"class":776},[746,1455,1456],{"class":776}," },\n",[746,1458,1460,1462,1465,1467,1469,1471,1473],{"class":748,"line":1459},22,[746,1461,1224],{"class":776},[746,1463,1464],{"class":929},"createdAt",[746,1466,789],{"class":776},[746,1468,792],{"class":776},[746,1470,795],{"class":776},[746,1472,1290],{"class":798},[746,1474,951],{"class":776},[746,1476,1478],{"class":748,"line":1477},23,[746,1479,1480],{"class":776},"      }\n",[746,1482,1484],{"class":748,"line":1483},24,[746,1485,1486],{"class":776},"    ],\n",[746,1488,1490,1492,1495,1497,1499,1501],{"class":748,"line":1489},25,[746,1491,1124],{"class":776},[746,1493,1494],{"class":1127},"page",[746,1496,789],{"class":776},[746,1498,792],{"class":776},[746,1500,1328],{"class":929},[746,1502,804],{"class":776},[746,1504,1506,1508,1511,1513,1515,1518],{"class":748,"line":1505},26,[746,1507,1124],{"class":776},[746,1509,1510],{"class":1127},"limit",[746,1512,789],{"class":776},[746,1514,792],{"class":776},[746,1516,1517],{"class":929}," 10",[746,1519,804],{"class":776},[746,1521,1523,1525,1528,1530,1532,1535],{"class":748,"line":1522},27,[746,1524,1124],{"class":776},[746,1526,1527],{"class":1127},"total",[746,1529,789],{"class":776},[746,1531,792],{"class":776},[746,1533,1534],{"class":929}," 6",[746,1536,804],{"class":776},[746,1538,1540,1542,1545,1547,1549],{"class":748,"line":1539},28,[746,1541,1124],{"class":776},[746,1543,1544],{"class":1127},"totalPages",[746,1546,789],{"class":776},[746,1548,792],{"class":776},[746,1550,1551],{"class":929}," 1\n",[746,1553,1555],{"class":748,"line":1554},29,[746,1556,1557],{"class":776},"  }\n",[746,1559,1561],{"class":748,"line":1560},30,[746,1562,957],{"class":776},[318,1564],{},[326,1566,1568],{"id":1567},"get-single-payment","Get Single Payment",[719,1570,1572],{"className":740,"code":1571,"language":742,"meta":727,"style":727},"GET \u002Fapi\u002Fv1\u002Fsubscription\u002Fpayments\u002F:id\nAuthorization: Bearer \u003Cowner_token>\n",[313,1573,1574,1579],{"__ignoreMap":727},[746,1575,1576],{"class":748,"line":749},[746,1577,1578],{},"GET \u002Fapi\u002Fv1\u002Fsubscription\u002Fpayments\u002F:id\n",[746,1580,1581],{"class":748,"line":755},[746,1582,758],{},[309,1584,1585,1586,1589],{},"Returns the full payment record. Returns ",[313,1587,1588],{},"403 Forbidden"," if the payment belongs to a different user.",[318,1591],{},[321,1593,1595],{"id":1594},"maya-webhook","Maya Webhook",[309,1597,1598,1599,1602],{},"The webhook handler listens at ",[313,1600,1601],{},"POST \u002Fapi\u002Fv1\u002Fmaya\u002Fwebhook",".",[331,1604,1605,1615],{},[334,1606,1607],{},[337,1608,1609,1612],{},[340,1610,1611],{},"Event",[340,1613,1614],{},"Handling",[350,1616,1617,1627,1637,1647],{},[337,1618,1619,1624],{},[355,1620,1621],{},[313,1622,1623],{},"payment.completed",[355,1625,1626],{},"Processes completed checkout; records subscription payment",[337,1628,1629,1634],{},[355,1630,1631],{},[313,1632,1633],{},"payment.failed",[355,1635,1636],{},"Marks subscription payment as failed",[337,1638,1639,1644],{},[355,1640,1641],{},[313,1642,1643],{},"payment.expired",[355,1645,1646],{},"Handles expired checkout sessions",[337,1648,1649,1654],{},[355,1650,1651],{},[313,1652,1653],{},"payment.cancelled",[355,1655,1656],{},"Handles cancelled payment sessions",[1658,1659,1660],"blockquote",{},[309,1661,1662,1663,1666,1667,1602],{},"Configure the webhook endpoint URL in the Maya developer portal and set ",[313,1664,1665],{},"MAYA_SECRET_KEY"," in ",[313,1668,1669],{},".env",[318,1671],{},[321,1673,1675],{"id":1674},"frontend-integration","Frontend Integration",[719,1677,1681],{"className":1678,"code":1679,"language":1680,"meta":727,"style":727},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F Check subscription status\nconst subscription = await $fetch(\n  \"\u002Fapi\u002Fv1\u002Forganizations\u002Fbilling\u002Fsubscription\",\n  {\n    headers: { Authorization: `Bearer ${token}` },\n  },\n);\n\nif (subscription.plan === \"free\") {\n  \u002F\u002F Show upgrade prompt\n} else {\n  \u002F\u002F Show plan details, next billing date, manage button\n}\n","typescript",[313,1682,1683,1689,1712,1723,1728,1759,1763,1771,1777,1804,1809,1819,1824],{"__ignoreMap":727},[746,1684,1685],{"class":748,"line":749},[746,1686,1688],{"class":1687},"sHwdD","\u002F\u002F Check subscription status\n",[746,1690,1691,1694,1698,1701,1705,1709],{"class":748,"line":755},[746,1692,1693],{"class":785},"const",[746,1695,1697],{"class":1696},"sTEyZ"," subscription ",[746,1699,1700],{"class":776},"=",[746,1702,1704],{"class":1703},"s7zQu"," await",[746,1706,1708],{"class":1707},"s2Zo4"," $fetch",[746,1710,1711],{"class":1696},"(\n",[746,1713,1714,1716,1719,1721],{"class":748,"line":807},[746,1715,782],{"class":776},[746,1717,1718],{"class":798},"\u002Fapi\u002Fv1\u002Forganizations\u002Fbilling\u002Fsubscription",[746,1720,789],{"class":776},[746,1722,804],{"class":776},[746,1724,1725],{"class":748,"line":827},[746,1726,1727],{"class":776},"  {\n",[746,1729,1730,1733,1735,1737,1740,1742,1745,1748,1751,1754,1757],{"class":748,"line":846},[746,1731,1732],{"class":1422},"    headers",[746,1734,792],{"class":776},[746,1736,1417],{"class":776},[746,1738,1739],{"class":1422}," Authorization",[746,1741,792],{"class":776},[746,1743,1744],{"class":776}," `",[746,1746,1747],{"class":798},"Bearer ",[746,1749,1750],{"class":776},"${",[746,1752,1753],{"class":1696},"token",[746,1755,1756],{"class":776},"}`",[746,1758,1456],{"class":776},[746,1760,1761],{"class":748,"line":867},[746,1762,1187],{"class":776},[746,1764,1765,1768],{"class":748,"line":888},[746,1766,1767],{"class":1696},")",[746,1769,1770],{"class":776},";\n",[746,1772,1773],{"class":748,"line":903},[746,1774,1776],{"emptyLinePlaceholder":1775},true,"\n",[746,1778,1779,1782,1785,1787,1790,1793,1795,1797,1799,1802],{"class":748,"line":918},[746,1780,1781],{"class":1703},"if",[746,1783,1784],{"class":1696}," (subscription",[746,1786,1602],{"class":776},[746,1788,1789],{"class":1696},"plan ",[746,1791,1792],{"class":776},"===",[746,1794,795],{"class":776},[746,1796,689],{"class":798},[746,1798,789],{"class":776},[746,1800,1801],{"class":1696},") ",[746,1803,777],{"class":776},[746,1805,1806],{"class":748,"line":935},[746,1807,1808],{"class":1687},"  \u002F\u002F Show upgrade prompt\n",[746,1810,1811,1814,1817],{"class":748,"line":954},[746,1812,1813],{"class":776},"}",[746,1815,1816],{"class":1703}," else",[746,1818,1119],{"class":776},[746,1820,1821],{"class":748,"line":1243},[746,1822,1823],{"class":1687},"  \u002F\u002F Show plan details, next billing date, manage button\n",[746,1825,1826],{"class":748,"line":1258},[746,1827,957],{"class":776},[719,1829,1831],{"className":1678,"code":1830,"language":1680,"meta":727,"style":727},"\u002F\u002F Paginated payment history\nconst history = await $fetch(\"\u002Fapi\u002Fv1\u002Fsubscription\u002Fmy-payments\", {\n  headers: { Authorization: `Bearer ${token}` },\n  params: { page: 1, limit: 10, status: \"paid\" },\n});\n",[313,1832,1833,1838,1865,1890,1930],{"__ignoreMap":727},[746,1834,1835],{"class":748,"line":749},[746,1836,1837],{"class":1687},"\u002F\u002F Paginated payment history\n",[746,1839,1840,1842,1845,1847,1849,1851,1854,1856,1859,1861,1863],{"class":748,"line":755},[746,1841,1693],{"class":785},[746,1843,1844],{"class":1696}," history ",[746,1846,1700],{"class":776},[746,1848,1704],{"class":1703},[746,1850,1708],{"class":1707},[746,1852,1853],{"class":1696},"(",[746,1855,789],{"class":776},[746,1857,1858],{"class":798},"\u002Fapi\u002Fv1\u002Fsubscription\u002Fmy-payments",[746,1860,789],{"class":776},[746,1862,1437],{"class":776},[746,1864,1119],{"class":776},[746,1866,1867,1870,1872,1874,1876,1878,1880,1882,1884,1886,1888],{"class":748,"line":807},[746,1868,1869],{"class":1422},"  headers",[746,1871,792],{"class":776},[746,1873,1417],{"class":776},[746,1875,1739],{"class":1422},[746,1877,792],{"class":776},[746,1879,1744],{"class":776},[746,1881,1747],{"class":798},[746,1883,1750],{"class":776},[746,1885,1753],{"class":1696},[746,1887,1756],{"class":776},[746,1889,1456],{"class":776},[746,1891,1892,1895,1897,1899,1902,1904,1906,1908,1911,1913,1915,1917,1920,1922,1924,1926,1928],{"class":748,"line":827},[746,1893,1894],{"class":1422},"  params",[746,1896,792],{"class":776},[746,1898,1417],{"class":776},[746,1900,1901],{"class":1422}," page",[746,1903,792],{"class":776},[746,1905,1328],{"class":929},[746,1907,1437],{"class":776},[746,1909,1910],{"class":1422}," limit",[746,1912,792],{"class":776},[746,1914,1517],{"class":929},[746,1916,1437],{"class":776},[746,1918,1919],{"class":1422}," status",[746,1921,792],{"class":776},[746,1923,795],{"class":776},[746,1925,543],{"class":798},[746,1927,789],{"class":776},[746,1929,1456],{"class":776},[746,1931,1932,1934,1936],{"class":748,"line":846},[746,1933,1813],{"class":776},[746,1935,1767],{"class":1696},[746,1937,1770],{"class":776},[1939,1940,1941],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}",{"title":727,"searchDepth":749,"depth":755,"links":1943},[1944,1948,1949,1950,1951,1956,1957],{"id":323,"depth":755,"text":324,"children":1945},[1946,1947],{"id":328,"depth":807,"text":329},{"id":591,"depth":807,"text":592},{"id":604,"depth":755,"text":605},{"id":664,"depth":755,"text":665},{"id":716,"depth":755,"text":717},{"id":732,"depth":755,"text":733,"children":1952},[1953,1954,1955],{"id":736,"depth":807,"text":737},{"id":1071,"depth":807,"text":1072},{"id":1567,"depth":807,"text":1568},{"id":1594,"depth":755,"text":1595},{"id":1674,"depth":755,"text":1675},"Maya subscription management for organizations in booki-api — plans, payment history, webhook handling, and the checkout flow.","md",null,{},{"icon":302},{"title":299,"description":1958},"_4w8e_JiCdgy2Vu3Uocn8zeOz8M0CbTxA99tGQDKs6w",[1966,1960],{"title":295,"path":296,"stem":297,"description":1967,"icon":48,"children":-1},"Redis setup, cache key patterns, and common CLI commands used in booki-api.",1777787844708]