[{"data":1,"prerenderedAt":1190},["ShallowReactive",2],{"navigation":3,"\u002Fbooki-documentation\u002Fapi\u002Fbooking-services":303,"\u002Fbooki-documentation\u002Fapi\u002Fbooking-services-surround":1185},[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":169,"body":305,"description":1178,"extension":1179,"links":1180,"meta":1181,"navigation":1182,"path":170,"seo":1183,"stem":171,"__hash__":1184},"docs\u002F3.booki-documentation\u002F3.api\u002F4.booking-services.md",{"type":306,"value":307,"toc":1156},"minimark",[308,316,338,341,349,361,366,416,419,428,432,463,467,473,522,526,580,582,589,598,601,604,649,657,661,828,831,852,854,861,870,873,961,963,989,992,1022,1025,1029,1073,1076,1152],[309,310,311,312],"p",{},"Base path: ",[313,314,315],"code",{},"\u002Fapi\u002Fv1\u002Fservices",[309,317,318,322,323,326,327,330,331,334,337],{},[319,320,321],"strong",{},"Used by:"," ",[313,324,325],{},"cms-booki-web-app"," · ",[319,328,329],{},"Role:"," guest (public)",[332,333],"br",{},[319,335,336],{},"organizationId:"," Not required — services are global, not tenant-scoped",[339,340],"hr",{},[342,343,345,346,348],"h2",{"id":344},"post-apiv1services-create-booking-service","POST ",[313,347,315],{}," — Create Booking Service",[309,350,351,354,355,357,360],{},[319,352,353],{},"Auth:"," Public",[332,356],{},[319,358,359],{},"Description:"," Create a new booking service category.",[362,363,365],"h3",{"id":364},"request","Request",[367,368,373],"pre",{"className":369,"code":370,"language":371,"meta":372,"style":372},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"name\": \"Haircut\"\n}\n","json","",[313,374,375,384,410],{"__ignoreMap":372},[376,377,380],"span",{"class":378,"line":379},"line",1,[376,381,383],{"class":382},"sMK4o","{\n",[376,385,387,390,394,397,400,403,407],{"class":378,"line":386},2,[376,388,389],{"class":382},"  \"",[376,391,393],{"class":392},"spNyl","name",[376,395,396],{"class":382},"\"",[376,398,399],{"class":382},":",[376,401,402],{"class":382}," \"",[376,404,406],{"class":405},"sfazB","Haircut",[376,408,409],{"class":382},"\"\n",[376,411,413],{"class":378,"line":412},3,[376,414,415],{"class":382},"}\n",[309,417,418],{},"Fields:",[420,421,422],"ul",{},[423,424,425,427],"li",{},[313,426,393],{}," (string, required): Service name (2–100 chars)",[362,429,431],{"id":430},"response-201-created","Response (201 Created)",[367,433,435],{"className":369,"code":434,"language":371,"meta":372,"style":372},"{\n  \"message\": \"Booking service created successfully.\"\n}\n",[313,436,437,441,459],{"__ignoreMap":372},[376,438,439],{"class":378,"line":379},[376,440,383],{"class":382},[376,442,443,445,448,450,452,454,457],{"class":378,"line":386},[376,444,389],{"class":382},[376,446,447],{"class":392},"message",[376,449,396],{"class":382},[376,451,399],{"class":382},[376,453,402],{"class":382},[376,455,456],{"class":405},"Booking service created successfully.",[376,458,409],{"class":382},[376,460,461],{"class":378,"line":412},[376,462,415],{"class":382},[362,464,466],{"id":465},"error-responses","Error Responses",[309,468,469,472],{},[319,470,471],{},"422 Unprocessable Entity"," — Validation failure:",[367,474,476],{"className":369,"code":475,"language":371,"meta":372,"style":372},"{\n  \"statusCode\": 422,\n  \"message\": \"Name must be at least 2 characters long.\"\n}\n",[313,477,478,482,500,517],{"__ignoreMap":372},[376,479,480],{"class":378,"line":379},[376,481,383],{"class":382},[376,483,484,486,489,491,493,497],{"class":378,"line":386},[376,485,389],{"class":382},[376,487,488],{"class":392},"statusCode",[376,490,396],{"class":382},[376,492,399],{"class":382},[376,494,496],{"class":495},"sbssI"," 422",[376,498,499],{"class":382},",\n",[376,501,502,504,506,508,510,512,515],{"class":378,"line":412},[376,503,389],{"class":382},[376,505,447],{"class":392},[376,507,396],{"class":382},[376,509,399],{"class":382},[376,511,402],{"class":382},[376,513,514],{"class":405},"Name must be at least 2 characters long.",[376,516,409],{"class":382},[376,518,520],{"class":378,"line":519},4,[376,521,415],{"class":382},[362,523,525],{"id":524},"curl-example","cURL Example",[367,527,531],{"className":528,"code":529,"language":530,"meta":372,"style":372},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -X POST http:\u002F\u002Flocalhost:4001\u002Fapi\u002Fv1\u002Fservices \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"name\": \"Haircut\"}'\n","bash",[313,532,533,552,566],{"__ignoreMap":372},[376,534,535,539,542,545,548],{"class":378,"line":379},[376,536,538],{"class":537},"sBMFI","curl",[376,540,541],{"class":405}," -X",[376,543,544],{"class":405}," POST",[376,546,547],{"class":405}," http:\u002F\u002Flocalhost:4001\u002Fapi\u002Fv1\u002Fservices",[376,549,551],{"class":550},"sTEyZ"," \\\n",[376,553,554,557,559,562,564],{"class":378,"line":386},[376,555,556],{"class":405},"  -H",[376,558,402],{"class":382},[376,560,561],{"class":405},"Content-Type: application\u002Fjson",[376,563,396],{"class":382},[376,565,551],{"class":550},[376,567,568,571,574,577],{"class":378,"line":412},[376,569,570],{"class":405},"  -d",[376,572,573],{"class":382}," '",[376,575,576],{"class":405},"{\"name\": \"Haircut\"}",[376,578,579],{"class":382},"'\n",[339,581],{},[342,583,585,586,588],{"id":584},"get-apiv1services-list-booking-services","GET ",[313,587,315],{}," — List Booking Services",[309,590,591,354,593,595,597],{},[319,592,353],{},[332,594],{},[319,596,359],{}," Retrieve all available booking service categories.",[362,599,365],{"id":600},"request-1",[309,602,603],{},"Query Parameters (optional):",[420,605,606,612,618,624,634],{},[423,607,608,611],{},[313,609,610],{},"page"," (number, default: 1)",[423,613,614,617],{},[313,615,616],{},"limit"," (number, default: 10, max: 100)",[423,619,620,623],{},[313,621,622],{},"search"," (string, max 100 chars)",[423,625,626,629,630,633],{},[313,627,628],{},"sort"," (string, default: ",[313,631,632],{},"_id",")",[423,635,636,629,639,642,643,646,647],{},[313,637,638],{},"order",[313,640,641],{},"desc","): ",[313,644,645],{},"asc"," or ",[313,648,641],{},[367,650,655],{"className":651,"code":653,"language":654},[652],"language-text","GET \u002Fapi\u002Fv1\u002Fservices?page=1&limit=10\n","text",[313,656,653],{"__ignoreMap":372},[362,658,660],{"id":659},"response-200-ok","Response (200 OK)",[367,662,664],{"className":369,"code":663,"language":371,"meta":372,"style":372},"{\n  \"items\": [\n    {\n      \"_id\": \"69dcbe3f1a79a4eac35bc717\",\n      \"name\": \"Personal Care & Beauty\"\n    },\n    {\n      \"_id\": \"69dcbe3f1a79a4eac35bc718\",\n      \"name\": \"Haircut\"\n    }\n  ],\n  \"pages\": 1,\n  \"pageRange\": \"1-2 of 2\"\n}\n",[313,665,666,670,684,689,709,727,733,738,758,775,781,787,804,823],{"__ignoreMap":372},[376,667,668],{"class":378,"line":379},[376,669,383],{"class":382},[376,671,672,674,677,679,681],{"class":378,"line":386},[376,673,389],{"class":382},[376,675,676],{"class":392},"items",[376,678,396],{"class":382},[376,680,399],{"class":382},[376,682,683],{"class":382}," [\n",[376,685,686],{"class":378,"line":412},[376,687,688],{"class":382},"    {\n",[376,690,691,694,696,698,700,702,705,707],{"class":378,"line":519},[376,692,693],{"class":382},"      \"",[376,695,632],{"class":537},[376,697,396],{"class":382},[376,699,399],{"class":382},[376,701,402],{"class":382},[376,703,704],{"class":405},"69dcbe3f1a79a4eac35bc717",[376,706,396],{"class":382},[376,708,499],{"class":382},[376,710,712,714,716,718,720,722,725],{"class":378,"line":711},5,[376,713,693],{"class":382},[376,715,393],{"class":537},[376,717,396],{"class":382},[376,719,399],{"class":382},[376,721,402],{"class":382},[376,723,724],{"class":405},"Personal Care & Beauty",[376,726,409],{"class":382},[376,728,730],{"class":378,"line":729},6,[376,731,732],{"class":382},"    },\n",[376,734,736],{"class":378,"line":735},7,[376,737,688],{"class":382},[376,739,741,743,745,747,749,751,754,756],{"class":378,"line":740},8,[376,742,693],{"class":382},[376,744,632],{"class":537},[376,746,396],{"class":382},[376,748,399],{"class":382},[376,750,402],{"class":382},[376,752,753],{"class":405},"69dcbe3f1a79a4eac35bc718",[376,755,396],{"class":382},[376,757,499],{"class":382},[376,759,761,763,765,767,769,771,773],{"class":378,"line":760},9,[376,762,693],{"class":382},[376,764,393],{"class":537},[376,766,396],{"class":382},[376,768,399],{"class":382},[376,770,402],{"class":382},[376,772,406],{"class":405},[376,774,409],{"class":382},[376,776,778],{"class":378,"line":777},10,[376,779,780],{"class":382},"    }\n",[376,782,784],{"class":378,"line":783},11,[376,785,786],{"class":382},"  ],\n",[376,788,790,792,795,797,799,802],{"class":378,"line":789},12,[376,791,389],{"class":382},[376,793,794],{"class":392},"pages",[376,796,396],{"class":382},[376,798,399],{"class":382},[376,800,801],{"class":495}," 1",[376,803,499],{"class":382},[376,805,807,809,812,814,816,818,821],{"class":378,"line":806},13,[376,808,389],{"class":382},[376,810,811],{"class":392},"pageRange",[376,813,396],{"class":382},[376,815,399],{"class":382},[376,817,402],{"class":382},[376,819,820],{"class":405},"1-2 of 2",[376,822,409],{"class":382},[376,824,826],{"class":378,"line":825},14,[376,827,415],{"class":382},[362,829,525],{"id":830},"curl-example-1",[367,832,834],{"className":528,"code":833,"language":530,"meta":372,"style":372},"curl -X GET \"http:\u002F\u002Flocalhost:4001\u002Fapi\u002Fv1\u002Fservices?page=1&limit=10\"\n",[313,835,836],{"__ignoreMap":372},[376,837,838,840,842,845,847,850],{"class":378,"line":379},[376,839,538],{"class":537},[376,841,541],{"class":405},[376,843,844],{"class":405}," GET",[376,846,402],{"class":382},[376,848,849],{"class":405},"http:\u002F\u002Flocalhost:4001\u002Fapi\u002Fv1\u002Fservices?page=1&limit=10",[376,851,409],{"class":382},[339,853],{},[342,855,345,857,860],{"id":856},"post-apiv1servicescontact-us-send-contact-form",[313,858,859],{},"\u002Fapi\u002Fv1\u002Fservices\u002Fcontact-us"," — Send Contact Form",[309,862,863,354,865,867,869],{},[319,864,353],{},[332,866],{},[319,868,359],{}," Submit a contact form inquiry for a booking service. Sends a notification to admin emails.",[362,871,365],{"id":872},"request-2",[367,874,876],{"className":369,"code":875,"language":371,"meta":372,"style":372},"{\n  \"name\": \"Jane Doe\",\n  \"email\": \"jane@example.com\",\n  \"service\": \"Haircut\",\n  \"message\": \"I'd like to know available slots for next week.\"\n}\n",[313,877,878,882,901,921,940,957],{"__ignoreMap":372},[376,879,880],{"class":378,"line":379},[376,881,383],{"class":382},[376,883,884,886,888,890,892,894,897,899],{"class":378,"line":386},[376,885,389],{"class":382},[376,887,393],{"class":392},[376,889,396],{"class":382},[376,891,399],{"class":382},[376,893,402],{"class":382},[376,895,896],{"class":405},"Jane Doe",[376,898,396],{"class":382},[376,900,499],{"class":382},[376,902,903,905,908,910,912,914,917,919],{"class":378,"line":412},[376,904,389],{"class":382},[376,906,907],{"class":392},"email",[376,909,396],{"class":382},[376,911,399],{"class":382},[376,913,402],{"class":382},[376,915,916],{"class":405},"jane@example.com",[376,918,396],{"class":382},[376,920,499],{"class":382},[376,922,923,925,928,930,932,934,936,938],{"class":378,"line":519},[376,924,389],{"class":382},[376,926,927],{"class":392},"service",[376,929,396],{"class":382},[376,931,399],{"class":382},[376,933,402],{"class":382},[376,935,406],{"class":405},[376,937,396],{"class":382},[376,939,499],{"class":382},[376,941,942,944,946,948,950,952,955],{"class":378,"line":711},[376,943,389],{"class":382},[376,945,447],{"class":392},[376,947,396],{"class":382},[376,949,399],{"class":382},[376,951,402],{"class":382},[376,953,954],{"class":405},"I'd like to know available slots for next week.",[376,956,409],{"class":382},[376,958,959],{"class":378,"line":729},[376,960,415],{"class":382},[309,962,418],{},[420,964,965,970,975,984],{},[423,966,967,969],{},[313,968,393],{}," (string, required): Full name (2–255 chars)",[423,971,972,974],{},[313,973,907],{}," (string, required): Valid email address (lowercase)",[423,976,977,979,980,983],{},[313,978,927],{}," (string, required): Service ID (24-hex) ",[319,981,982],{},"or"," service name (2–255 chars)",[423,985,986,988],{},[313,987,447],{}," (string, required): Inquiry message (10–1000 chars)",[362,990,660],{"id":991},"response-200-ok-1",[367,993,995],{"className":369,"code":994,"language":371,"meta":372,"style":372},"{\n  \"message\": \"Contact form submitted successfully.\"\n}\n",[313,996,997,1001,1018],{"__ignoreMap":372},[376,998,999],{"class":378,"line":379},[376,1000,383],{"class":382},[376,1002,1003,1005,1007,1009,1011,1013,1016],{"class":378,"line":386},[376,1004,389],{"class":382},[376,1006,447],{"class":392},[376,1008,396],{"class":382},[376,1010,399],{"class":382},[376,1012,402],{"class":382},[376,1014,1015],{"class":405},"Contact form submitted successfully.",[376,1017,409],{"class":382},[376,1019,1020],{"class":378,"line":412},[376,1021,415],{"class":382},[362,1023,466],{"id":1024},"error-responses-1",[309,1026,1027,472],{},[319,1028,471],{},[367,1030,1032],{"className":369,"code":1031,"language":371,"meta":372,"style":372},"{\n  \"statusCode\": 422,\n  \"message\": \"Message must be at least 10 characters long.\"\n}\n",[313,1033,1034,1038,1052,1069],{"__ignoreMap":372},[376,1035,1036],{"class":378,"line":379},[376,1037,383],{"class":382},[376,1039,1040,1042,1044,1046,1048,1050],{"class":378,"line":386},[376,1041,389],{"class":382},[376,1043,488],{"class":392},[376,1045,396],{"class":382},[376,1047,399],{"class":382},[376,1049,496],{"class":495},[376,1051,499],{"class":382},[376,1053,1054,1056,1058,1060,1062,1064,1067],{"class":378,"line":412},[376,1055,389],{"class":382},[376,1057,447],{"class":392},[376,1059,396],{"class":382},[376,1061,399],{"class":382},[376,1063,402],{"class":382},[376,1065,1066],{"class":405},"Message must be at least 10 characters long.",[376,1068,409],{"class":382},[376,1070,1071],{"class":378,"line":519},[376,1072,415],{"class":382},[362,1074,525],{"id":1075},"curl-example-2",[367,1077,1079],{"className":528,"code":1078,"language":530,"meta":372,"style":372},"curl -X POST http:\u002F\u002Flocalhost:4001\u002Fapi\u002Fv1\u002Fservices\u002Fcontact-us \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"name\": \"Jane Doe\",\n    \"email\": \"jane@example.com\",\n    \"service\": \"Haircut\",\n    \"message\": \"I'\\''d like to know available slots for next week.\"\n  }'\n",[313,1080,1081,1094,1106,1114,1119,1124,1129,1145],{"__ignoreMap":372},[376,1082,1083,1085,1087,1089,1092],{"class":378,"line":379},[376,1084,538],{"class":537},[376,1086,541],{"class":405},[376,1088,544],{"class":405},[376,1090,1091],{"class":405}," http:\u002F\u002Flocalhost:4001\u002Fapi\u002Fv1\u002Fservices\u002Fcontact-us",[376,1093,551],{"class":550},[376,1095,1096,1098,1100,1102,1104],{"class":378,"line":386},[376,1097,556],{"class":405},[376,1099,402],{"class":382},[376,1101,561],{"class":405},[376,1103,396],{"class":382},[376,1105,551],{"class":550},[376,1107,1108,1110,1112],{"class":378,"line":412},[376,1109,570],{"class":405},[376,1111,573],{"class":382},[376,1113,383],{"class":405},[376,1115,1116],{"class":378,"line":519},[376,1117,1118],{"class":405},"    \"name\": \"Jane Doe\",\n",[376,1120,1121],{"class":378,"line":711},[376,1122,1123],{"class":405},"    \"email\": \"jane@example.com\",\n",[376,1125,1126],{"class":378,"line":729},[376,1127,1128],{"class":405},"    \"service\": \"Haircut\",\n",[376,1130,1131,1134,1137,1140,1142],{"class":378,"line":735},[376,1132,1133],{"class":405},"    \"message\": \"I",[376,1135,1136],{"class":382},"'",[376,1138,1139],{"class":550},"\\'",[376,1141,1136],{"class":382},[376,1143,1144],{"class":405},"d like to know available slots for next week.\"\n",[376,1146,1147,1150],{"class":378,"line":740},[376,1148,1149],{"class":405},"  }",[376,1151,579],{"class":382},[1153,1154,1155],"style",{},"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 .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 .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 .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}",{"title":372,"searchDepth":379,"depth":386,"links":1157},[1158,1165,1171],{"id":344,"depth":386,"text":1159,"children":1160},"POST \u002Fapi\u002Fv1\u002Fservices — Create Booking Service",[1161,1162,1163,1164],{"id":364,"depth":412,"text":365},{"id":430,"depth":412,"text":431},{"id":465,"depth":412,"text":466},{"id":524,"depth":412,"text":525},{"id":584,"depth":386,"text":1166,"children":1167},"GET \u002Fapi\u002Fv1\u002Fservices — List Booking Services",[1168,1169,1170],{"id":600,"depth":412,"text":365},{"id":659,"depth":412,"text":660},{"id":830,"depth":412,"text":525},{"id":856,"depth":386,"text":1172,"children":1173},"POST \u002Fapi\u002Fv1\u002Fservices\u002Fcontact-us — Send Contact Form",[1174,1175,1176,1177],{"id":872,"depth":412,"text":365},{"id":991,"depth":412,"text":660},{"id":1024,"depth":412,"text":466},{"id":1075,"depth":412,"text":525},"Create and list booking service categories; contact form endpoint.","md",null,{},{"icon":172},{"title":169,"description":1178},"jCpsAVwgeeTyLJOa0ndjUFOtbUlC1bVqjTSXeoIxYMw",[1186,1188],{"title":164,"path":165,"stem":166,"description":1187,"icon":167,"children":-1},"Public booking endpoints for guests and tenant customers (no auth required).",{"title":174,"path":175,"stem":176,"description":1189,"icon":177,"children":-1},"Branch management, invitations, and branch creation via token.",1777787844708]