[{"data":1,"prerenderedAt":2130},["ShallowReactive",2],{"navigation":3,"\u002Fbooki-documentation\u002Fapi\u002Fpackages":303,"\u002Fbooki-documentation\u002Fapi\u002Fpackages-surround":2125},[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":189,"body":305,"description":2118,"extension":2119,"links":2120,"meta":2121,"navigation":2122,"path":190,"seo":2123,"stem":191,"__hash__":2124},"docs\u002F3.booki-documentation\u002F3.api\u002F5.packages.md",{"type":306,"value":307,"toc":2080},"minimark",[308,316,344,347,350,358,389,394,483,486,505,509,541,545,551,597,602,646,652,697,701,790,792,799,824,827,830,868,876,880,1194,1197,1230,1232,1239,1264,1267,1273,1276,1427,1430,1436,1481,1484,1512,1514,1521,1546,1549,1613,1616,1633,1636,1666,1669,1675,1720,1723,1789,1791,1798,1826,1829,1835,1838,1868,1871,1876,1918,1924,1969,1972,2000,2002,2006,2009,2031,2037,2046,2048,2052,2076],[309,310,311,312],"p",{},"Base path: ",[313,314,315],"code",{},"\u002Fapi\u002Fv1\u002Forganizations\u002Fpackages",[309,317,318,322,323,326,327,322,330,333,334,337,340,343],{},[319,320,321],"strong",{},"Used by:"," ",[313,324,325],{},"owner-booki-web-app"," · ",[319,328,329],{},"Role:",[313,331,332],{},"owner",", ",[313,335,336],{},"branch-manager",[338,339],"br",{},[319,341,342],{},"organizationId:"," From authenticated user's JWT token (no tenant header needed)",[309,345,346],{},"Package endpoints allow owners\u002Fmanagers to manage service offerings. All require branch-manager or above authentication.",[348,349],"hr",{},[351,352,354,355,357],"h2",{"id":353},"post-apiv1organizationspackages-create-package","POST ",[313,356,315],{}," — Create Package",[309,359,360,363,364,367,368,370,371,373,322,375,326,377,322,379,333,381,383,385,388],{},[319,361,362],{},"Auth:"," Protected (",[313,365,366],{},"Authorization: Bearer \u003CaccessToken>",") · ",[313,369,336],{},"+",[338,372],{},[319,374,321],{},[313,376,325],{},[319,378,329],{},[313,380,332],{},[313,382,336],{},[338,384],{},[319,386,387],{},"Description:"," Create a new service package for the organization.",[390,391,393],"h3",{"id":392},"request","Request",[395,396,401],"pre",{"className":397,"code":398,"language":399,"meta":400,"style":400},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"name\": \"Haircut + Wash\",\n  \"description\": \"Professional haircut with complimentary shampoo and conditioner wash. Includes styling.\",\n  \"amount\": 450.0\n}\n","json","",[313,402,403,412,440,461,477],{"__ignoreMap":400},[404,405,408],"span",{"class":406,"line":407},"line",1,[404,409,411],{"class":410},"sMK4o","{\n",[404,413,415,418,422,425,428,431,435,437],{"class":406,"line":414},2,[404,416,417],{"class":410},"  \"",[404,419,421],{"class":420},"spNyl","name",[404,423,424],{"class":410},"\"",[404,426,427],{"class":410},":",[404,429,430],{"class":410}," \"",[404,432,434],{"class":433},"sfazB","Haircut + Wash",[404,436,424],{"class":410},[404,438,439],{"class":410},",\n",[404,441,443,445,448,450,452,454,457,459],{"class":406,"line":442},3,[404,444,417],{"class":410},[404,446,447],{"class":420},"description",[404,449,424],{"class":410},[404,451,427],{"class":410},[404,453,430],{"class":410},[404,455,456],{"class":433},"Professional haircut with complimentary shampoo and conditioner wash. Includes styling.",[404,458,424],{"class":410},[404,460,439],{"class":410},[404,462,464,466,469,471,473],{"class":406,"line":463},4,[404,465,417],{"class":410},[404,467,468],{"class":420},"amount",[404,470,424],{"class":410},[404,472,427],{"class":410},[404,474,476],{"class":475},"sbssI"," 450.0\n",[404,478,480],{"class":406,"line":479},5,[404,481,482],{"class":410},"}\n",[309,484,485],{},"Fields:",[487,488,489,495,500],"ul",{},[490,491,492,494],"li",{},[313,493,421],{}," (string, required): Package name (2-255 chars)",[490,496,497,499],{},[313,498,447],{}," (string, required): Detailed description (10-500 chars)",[490,501,502,504],{},[313,503,468],{}," (number, required): Price in PHP (≥ 0)",[390,506,508],{"id":507},"response-201-created","Response (201 Created)",[395,510,512],{"className":397,"code":511,"language":399,"meta":400,"style":400},"{\n  \"message\": \"Package created successfully.\"\n}\n",[313,513,514,518,537],{"__ignoreMap":400},[404,515,516],{"class":406,"line":407},[404,517,411],{"class":410},[404,519,520,522,525,527,529,531,534],{"class":406,"line":414},[404,521,417],{"class":410},[404,523,524],{"class":420},"message",[404,526,424],{"class":410},[404,528,427],{"class":410},[404,530,430],{"class":410},[404,532,533],{"class":433},"Package created successfully.",[404,535,536],{"class":410},"\"\n",[404,538,539],{"class":406,"line":442},[404,540,482],{"class":410},[390,542,544],{"id":543},"error-responses","Error Responses",[309,546,547,550],{},[319,548,549],{},"422 Unprocessable Entity"," — Missing fields:",[395,552,554],{"className":397,"code":553,"language":399,"meta":400,"style":400},"{\n  \"statusCode\": 422,\n  \"message\": \"Name is required.\"\n}\n",[313,555,556,560,576,593],{"__ignoreMap":400},[404,557,558],{"class":406,"line":407},[404,559,411],{"class":410},[404,561,562,564,567,569,571,574],{"class":406,"line":414},[404,563,417],{"class":410},[404,565,566],{"class":420},"statusCode",[404,568,424],{"class":410},[404,570,427],{"class":410},[404,572,573],{"class":475}," 422",[404,575,439],{"class":410},[404,577,578,580,582,584,586,588,591],{"class":406,"line":442},[404,579,417],{"class":410},[404,581,524],{"class":420},[404,583,424],{"class":410},[404,585,427],{"class":410},[404,587,430],{"class":410},[404,589,590],{"class":433},"Name is required.",[404,592,536],{"class":410},[404,594,595],{"class":406,"line":463},[404,596,482],{"class":410},[309,598,599,601],{},[319,600,549],{}," — Description too short:",[395,603,605],{"className":397,"code":604,"language":399,"meta":400,"style":400},"{\n  \"statusCode\": 422,\n  \"message\": \"Description must be at least 10 characters long.\"\n}\n",[313,606,607,611,625,642],{"__ignoreMap":400},[404,608,609],{"class":406,"line":407},[404,610,411],{"class":410},[404,612,613,615,617,619,621,623],{"class":406,"line":414},[404,614,417],{"class":410},[404,616,566],{"class":420},[404,618,424],{"class":410},[404,620,427],{"class":410},[404,622,573],{"class":475},[404,624,439],{"class":410},[404,626,627,629,631,633,635,637,640],{"class":406,"line":442},[404,628,417],{"class":410},[404,630,524],{"class":420},[404,632,424],{"class":410},[404,634,427],{"class":410},[404,636,430],{"class":410},[404,638,639],{"class":433},"Description must be at least 10 characters long.",[404,641,536],{"class":410},[404,643,644],{"class":406,"line":463},[404,645,482],{"class":410},[309,647,648,651],{},[319,649,650],{},"403 Forbidden"," — Insufficient role:",[395,653,655],{"className":397,"code":654,"language":399,"meta":400,"style":400},"{\n  \"statusCode\": 403,\n  \"message\": \"Insufficient permissions to access this resource.\"\n}\n",[313,656,657,661,676,693],{"__ignoreMap":400},[404,658,659],{"class":406,"line":407},[404,660,411],{"class":410},[404,662,663,665,667,669,671,674],{"class":406,"line":414},[404,664,417],{"class":410},[404,666,566],{"class":420},[404,668,424],{"class":410},[404,670,427],{"class":410},[404,672,673],{"class":475}," 403",[404,675,439],{"class":410},[404,677,678,680,682,684,686,688,691],{"class":406,"line":442},[404,679,417],{"class":410},[404,681,524],{"class":420},[404,683,424],{"class":410},[404,685,427],{"class":410},[404,687,430],{"class":410},[404,689,690],{"class":433},"Insufficient permissions to access this resource.",[404,692,536],{"class":410},[404,694,695],{"class":406,"line":463},[404,696,482],{"class":410},[390,698,700],{"id":699},"curl-example","cURL Example",[395,702,706],{"className":703,"code":704,"language":705,"meta":400,"style":400},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -X POST http:\u002F\u002Flocalhost:4001\u002Fapi\u002Fv1\u002Forganizations\u002Fpackages \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -H \"Authorization: Bearer eyJhbGc...\" \\\n  -d '{\n    \"name\": \"Haircut + Wash\",\n    \"description\": \"Professional haircut with complimentary shampoo and conditioner wash. Includes styling.\",\n    \"amount\": 450.00\n  }'\n","bash",[313,707,708,727,741,754,764,769,775,781],{"__ignoreMap":400},[404,709,710,714,717,720,723],{"class":406,"line":407},[404,711,713],{"class":712},"sBMFI","curl",[404,715,716],{"class":433}," -X",[404,718,719],{"class":433}," POST",[404,721,722],{"class":433}," http:\u002F\u002Flocalhost:4001\u002Fapi\u002Fv1\u002Forganizations\u002Fpackages",[404,724,726],{"class":725},"sTEyZ"," \\\n",[404,728,729,732,734,737,739],{"class":406,"line":414},[404,730,731],{"class":433},"  -H",[404,733,430],{"class":410},[404,735,736],{"class":433},"Content-Type: application\u002Fjson",[404,738,424],{"class":410},[404,740,726],{"class":725},[404,742,743,745,747,750,752],{"class":406,"line":442},[404,744,731],{"class":433},[404,746,430],{"class":410},[404,748,749],{"class":433},"Authorization: Bearer eyJhbGc...",[404,751,424],{"class":410},[404,753,726],{"class":725},[404,755,756,759,762],{"class":406,"line":463},[404,757,758],{"class":433},"  -d",[404,760,761],{"class":410}," '",[404,763,411],{"class":433},[404,765,766],{"class":406,"line":479},[404,767,768],{"class":433},"    \"name\": \"Haircut + Wash\",\n",[404,770,772],{"class":406,"line":771},6,[404,773,774],{"class":433},"    \"description\": \"Professional haircut with complimentary shampoo and conditioner wash. Includes styling.\",\n",[404,776,778],{"class":406,"line":777},7,[404,779,780],{"class":433},"    \"amount\": 450.00\n",[404,782,784,787],{"class":406,"line":783},8,[404,785,786],{"class":433},"  }",[404,788,789],{"class":410},"'\n",[348,791],{},[351,793,795,796,798],{"id":794},"get-apiv1organizationspackages-list-packages","GET ",[313,797,315],{}," — List Packages",[309,800,801,363,803,367,805,370,807,809,322,811,326,813,322,815,333,817,819,821,823],{},[319,802,362],{},[313,804,366],{},[313,806,336],{},[338,808],{},[319,810,321],{},[313,812,325],{},[319,814,329],{},[313,816,332],{},[313,818,336],{},[338,820],{},[319,822,387],{}," List all packages for the authenticated user's organization.",[390,825,393],{"id":826},"request-1",[309,828,829],{},"Query Parameters (optional):",[487,831,832,838,844,850,860],{},[490,833,834,837],{},[313,835,836],{},"page"," (number, default: 1)",[490,839,840,843],{},[313,841,842],{},"limit"," (number, default: 10, max: 100)",[490,845,846,849],{},[313,847,848],{},"search"," (string): Filter by package name",[490,851,852,855,856,859],{},[313,853,854],{},"sort"," (string, default: ",[313,857,858],{},"_id",")",[490,861,862,855,865,859],{},[313,863,864],{},"order",[313,866,867],{},"desc",[395,869,874],{"className":870,"code":872,"language":873},[871],"language-text","GET \u002Fapi\u002Fv1\u002Forganizations\u002Fpackages?page=1&limit=20&search=wash\n","text",[313,875,872],{"__ignoreMap":400},[390,877,879],{"id":878},"response-200-ok","Response (200 OK)",[395,881,883],{"className":397,"code":882,"language":399,"meta":400,"style":400},"{\n  \"items\": [\n    {\n      \"_id\": \"69de52154f3e4272e30c7a14\",\n      \"name\": \"Haircut + Wash\",\n      \"description\": \"Professional haircut with complimentary shampoo and conditioner wash. Includes styling.\",\n      \"amount\": 450,\n      \"createdAt\": \"2026-04-14T14:41:25.867Z\",\n      \"updatedAt\": \"2026-04-14T14:41:25.867Z\"\n    },\n    {\n      \"_id\": \"69de52bc4f3e4272e30c7a15\",\n      \"name\": \"Hair Coloring Package\",\n      \"description\": \"Full hair coloring service using premium dye. Includes consultation, application, and rinse.\",\n      \"amount\": 1500,\n      \"createdAt\": \"2026-04-14T14:44:12.229Z\",\n      \"updatedAt\": \"2026-04-14T14:44:12.229Z\"\n    }\n  ],\n  \"pages\": 1,\n  \"pageRange\": \"1-2 of 2\"\n}\n",[313,884,885,889,903,908,928,946,964,979,999,1017,1023,1028,1048,1068,1088,1104,1124,1141,1147,1153,1170,1189],{"__ignoreMap":400},[404,886,887],{"class":406,"line":407},[404,888,411],{"class":410},[404,890,891,893,896,898,900],{"class":406,"line":414},[404,892,417],{"class":410},[404,894,895],{"class":420},"items",[404,897,424],{"class":410},[404,899,427],{"class":410},[404,901,902],{"class":410}," [\n",[404,904,905],{"class":406,"line":442},[404,906,907],{"class":410},"    {\n",[404,909,910,913,915,917,919,921,924,926],{"class":406,"line":463},[404,911,912],{"class":410},"      \"",[404,914,858],{"class":712},[404,916,424],{"class":410},[404,918,427],{"class":410},[404,920,430],{"class":410},[404,922,923],{"class":433},"69de52154f3e4272e30c7a14",[404,925,424],{"class":410},[404,927,439],{"class":410},[404,929,930,932,934,936,938,940,942,944],{"class":406,"line":479},[404,931,912],{"class":410},[404,933,421],{"class":712},[404,935,424],{"class":410},[404,937,427],{"class":410},[404,939,430],{"class":410},[404,941,434],{"class":433},[404,943,424],{"class":410},[404,945,439],{"class":410},[404,947,948,950,952,954,956,958,960,962],{"class":406,"line":771},[404,949,912],{"class":410},[404,951,447],{"class":712},[404,953,424],{"class":410},[404,955,427],{"class":410},[404,957,430],{"class":410},[404,959,456],{"class":433},[404,961,424],{"class":410},[404,963,439],{"class":410},[404,965,966,968,970,972,974,977],{"class":406,"line":777},[404,967,912],{"class":410},[404,969,468],{"class":712},[404,971,424],{"class":410},[404,973,427],{"class":410},[404,975,976],{"class":475}," 450",[404,978,439],{"class":410},[404,980,981,983,986,988,990,992,995,997],{"class":406,"line":783},[404,982,912],{"class":410},[404,984,985],{"class":712},"createdAt",[404,987,424],{"class":410},[404,989,427],{"class":410},[404,991,430],{"class":410},[404,993,994],{"class":433},"2026-04-14T14:41:25.867Z",[404,996,424],{"class":410},[404,998,439],{"class":410},[404,1000,1002,1004,1007,1009,1011,1013,1015],{"class":406,"line":1001},9,[404,1003,912],{"class":410},[404,1005,1006],{"class":712},"updatedAt",[404,1008,424],{"class":410},[404,1010,427],{"class":410},[404,1012,430],{"class":410},[404,1014,994],{"class":433},[404,1016,536],{"class":410},[404,1018,1020],{"class":406,"line":1019},10,[404,1021,1022],{"class":410},"    },\n",[404,1024,1026],{"class":406,"line":1025},11,[404,1027,907],{"class":410},[404,1029,1031,1033,1035,1037,1039,1041,1044,1046],{"class":406,"line":1030},12,[404,1032,912],{"class":410},[404,1034,858],{"class":712},[404,1036,424],{"class":410},[404,1038,427],{"class":410},[404,1040,430],{"class":410},[404,1042,1043],{"class":433},"69de52bc4f3e4272e30c7a15",[404,1045,424],{"class":410},[404,1047,439],{"class":410},[404,1049,1051,1053,1055,1057,1059,1061,1064,1066],{"class":406,"line":1050},13,[404,1052,912],{"class":410},[404,1054,421],{"class":712},[404,1056,424],{"class":410},[404,1058,427],{"class":410},[404,1060,430],{"class":410},[404,1062,1063],{"class":433},"Hair Coloring Package",[404,1065,424],{"class":410},[404,1067,439],{"class":410},[404,1069,1071,1073,1075,1077,1079,1081,1084,1086],{"class":406,"line":1070},14,[404,1072,912],{"class":410},[404,1074,447],{"class":712},[404,1076,424],{"class":410},[404,1078,427],{"class":410},[404,1080,430],{"class":410},[404,1082,1083],{"class":433},"Full hair coloring service using premium dye. Includes consultation, application, and rinse.",[404,1085,424],{"class":410},[404,1087,439],{"class":410},[404,1089,1091,1093,1095,1097,1099,1102],{"class":406,"line":1090},15,[404,1092,912],{"class":410},[404,1094,468],{"class":712},[404,1096,424],{"class":410},[404,1098,427],{"class":410},[404,1100,1101],{"class":475}," 1500",[404,1103,439],{"class":410},[404,1105,1107,1109,1111,1113,1115,1117,1120,1122],{"class":406,"line":1106},16,[404,1108,912],{"class":410},[404,1110,985],{"class":712},[404,1112,424],{"class":410},[404,1114,427],{"class":410},[404,1116,430],{"class":410},[404,1118,1119],{"class":433},"2026-04-14T14:44:12.229Z",[404,1121,424],{"class":410},[404,1123,439],{"class":410},[404,1125,1127,1129,1131,1133,1135,1137,1139],{"class":406,"line":1126},17,[404,1128,912],{"class":410},[404,1130,1006],{"class":712},[404,1132,424],{"class":410},[404,1134,427],{"class":410},[404,1136,430],{"class":410},[404,1138,1119],{"class":433},[404,1140,536],{"class":410},[404,1142,1144],{"class":406,"line":1143},18,[404,1145,1146],{"class":410},"    }\n",[404,1148,1150],{"class":406,"line":1149},19,[404,1151,1152],{"class":410},"  ],\n",[404,1154,1156,1158,1161,1163,1165,1168],{"class":406,"line":1155},20,[404,1157,417],{"class":410},[404,1159,1160],{"class":420},"pages",[404,1162,424],{"class":410},[404,1164,427],{"class":410},[404,1166,1167],{"class":475}," 1",[404,1169,439],{"class":410},[404,1171,1173,1175,1178,1180,1182,1184,1187],{"class":406,"line":1172},21,[404,1174,417],{"class":410},[404,1176,1177],{"class":420},"pageRange",[404,1179,424],{"class":410},[404,1181,427],{"class":410},[404,1183,430],{"class":410},[404,1185,1186],{"class":433},"1-2 of 2",[404,1188,536],{"class":410},[404,1190,1192],{"class":406,"line":1191},22,[404,1193,482],{"class":410},[390,1195,700],{"id":1196},"curl-example-1",[395,1198,1200],{"className":703,"code":1199,"language":705,"meta":400,"style":400},"curl -X GET \"http:\u002F\u002Flocalhost:4001\u002Fapi\u002Fv1\u002Forganizations\u002Fpackages?page=1&limit=20\" \\\n  -H \"Authorization: Bearer eyJhbGc...\"\n",[313,1201,1202,1220],{"__ignoreMap":400},[404,1203,1204,1206,1208,1211,1213,1216,1218],{"class":406,"line":407},[404,1205,713],{"class":712},[404,1207,716],{"class":433},[404,1209,1210],{"class":433}," GET",[404,1212,430],{"class":410},[404,1214,1215],{"class":433},"http:\u002F\u002Flocalhost:4001\u002Fapi\u002Fv1\u002Forganizations\u002Fpackages?page=1&limit=20",[404,1217,424],{"class":410},[404,1219,726],{"class":725},[404,1221,1222,1224,1226,1228],{"class":406,"line":414},[404,1223,731],{"class":433},[404,1225,430],{"class":410},[404,1227,749],{"class":433},[404,1229,536],{"class":410},[348,1231],{},[351,1233,795,1235,1238],{"id":1234},"get-apiv1organizationspackagesid-get-package",[313,1236,1237],{},"\u002Fapi\u002Fv1\u002Forganizations\u002Fpackages\u002F:id"," — Get Package",[309,1240,1241,363,1243,367,1245,370,1247,1249,322,1251,326,1253,322,1255,333,1257,1259,1261,1263],{},[319,1242,362],{},[313,1244,366],{},[313,1246,336],{},[338,1248],{},[319,1250,321],{},[313,1252,325],{},[319,1254,329],{},[313,1256,332],{},[313,1258,336],{},[338,1260],{},[319,1262,387],{}," Retrieve a specific package by ID.",[390,1265,393],{"id":1266},"request-2",[395,1268,1271],{"className":1269,"code":1270,"language":873},[871],"GET \u002Fapi\u002Fv1\u002Forganizations\u002Fpackages\u002F69de52154f3e4272e30c7a14\n",[313,1272,1270],{"__ignoreMap":400},[390,1274,879],{"id":1275},"response-200-ok-1",[395,1277,1279],{"className":397,"code":1278,"language":399,"meta":400,"style":400},"{\n  \"_id\": \"69de52154f3e4272e30c7a14\",\n  \"name\": \"Haircut + Wash\",\n  \"description\": \"Professional haircut with complimentary shampoo and conditioner wash. Includes styling.\",\n  \"amount\": 450,\n  \"organizationId\": \"69dcbeec1a79a4eac35bc721\",\n  \"createdAt\": \"2026-04-14T14:41:25.867Z\",\n  \"updatedAt\": \"2026-04-14T14:41:25.867Z\",\n  \"deletedAt\": null\n}\n",[313,1280,1281,1285,1303,1321,1339,1353,1373,1391,1409,1423],{"__ignoreMap":400},[404,1282,1283],{"class":406,"line":407},[404,1284,411],{"class":410},[404,1286,1287,1289,1291,1293,1295,1297,1299,1301],{"class":406,"line":414},[404,1288,417],{"class":410},[404,1290,858],{"class":420},[404,1292,424],{"class":410},[404,1294,427],{"class":410},[404,1296,430],{"class":410},[404,1298,923],{"class":433},[404,1300,424],{"class":410},[404,1302,439],{"class":410},[404,1304,1305,1307,1309,1311,1313,1315,1317,1319],{"class":406,"line":442},[404,1306,417],{"class":410},[404,1308,421],{"class":420},[404,1310,424],{"class":410},[404,1312,427],{"class":410},[404,1314,430],{"class":410},[404,1316,434],{"class":433},[404,1318,424],{"class":410},[404,1320,439],{"class":410},[404,1322,1323,1325,1327,1329,1331,1333,1335,1337],{"class":406,"line":463},[404,1324,417],{"class":410},[404,1326,447],{"class":420},[404,1328,424],{"class":410},[404,1330,427],{"class":410},[404,1332,430],{"class":410},[404,1334,456],{"class":433},[404,1336,424],{"class":410},[404,1338,439],{"class":410},[404,1340,1341,1343,1345,1347,1349,1351],{"class":406,"line":479},[404,1342,417],{"class":410},[404,1344,468],{"class":420},[404,1346,424],{"class":410},[404,1348,427],{"class":410},[404,1350,976],{"class":475},[404,1352,439],{"class":410},[404,1354,1355,1357,1360,1362,1364,1366,1369,1371],{"class":406,"line":771},[404,1356,417],{"class":410},[404,1358,1359],{"class":420},"organizationId",[404,1361,424],{"class":410},[404,1363,427],{"class":410},[404,1365,430],{"class":410},[404,1367,1368],{"class":433},"69dcbeec1a79a4eac35bc721",[404,1370,424],{"class":410},[404,1372,439],{"class":410},[404,1374,1375,1377,1379,1381,1383,1385,1387,1389],{"class":406,"line":777},[404,1376,417],{"class":410},[404,1378,985],{"class":420},[404,1380,424],{"class":410},[404,1382,427],{"class":410},[404,1384,430],{"class":410},[404,1386,994],{"class":433},[404,1388,424],{"class":410},[404,1390,439],{"class":410},[404,1392,1393,1395,1397,1399,1401,1403,1405,1407],{"class":406,"line":783},[404,1394,417],{"class":410},[404,1396,1006],{"class":420},[404,1398,424],{"class":410},[404,1400,427],{"class":410},[404,1402,430],{"class":410},[404,1404,994],{"class":433},[404,1406,424],{"class":410},[404,1408,439],{"class":410},[404,1410,1411,1413,1416,1418,1420],{"class":406,"line":1001},[404,1412,417],{"class":410},[404,1414,1415],{"class":420},"deletedAt",[404,1417,424],{"class":410},[404,1419,427],{"class":410},[404,1421,1422],{"class":410}," null\n",[404,1424,1425],{"class":406,"line":1019},[404,1426,482],{"class":410},[390,1428,544],{"id":1429},"error-responses-1",[309,1431,1432,1435],{},[319,1433,1434],{},"404 Not Found"," — Package doesn't exist:",[395,1437,1439],{"className":397,"code":1438,"language":399,"meta":400,"style":400},"{\n  \"statusCode\": 404,\n  \"message\": \"Package not found\"\n}\n",[313,1440,1441,1445,1460,1477],{"__ignoreMap":400},[404,1442,1443],{"class":406,"line":407},[404,1444,411],{"class":410},[404,1446,1447,1449,1451,1453,1455,1458],{"class":406,"line":414},[404,1448,417],{"class":410},[404,1450,566],{"class":420},[404,1452,424],{"class":410},[404,1454,427],{"class":410},[404,1456,1457],{"class":475}," 404",[404,1459,439],{"class":410},[404,1461,1462,1464,1466,1468,1470,1472,1475],{"class":406,"line":442},[404,1463,417],{"class":410},[404,1465,524],{"class":420},[404,1467,424],{"class":410},[404,1469,427],{"class":410},[404,1471,430],{"class":410},[404,1473,1474],{"class":433},"Package not found",[404,1476,536],{"class":410},[404,1478,1479],{"class":406,"line":463},[404,1480,482],{"class":410},[390,1482,700],{"id":1483},"curl-example-2",[395,1485,1487],{"className":703,"code":1486,"language":705,"meta":400,"style":400},"curl -X GET http:\u002F\u002Flocalhost:4001\u002Fapi\u002Fv1\u002Forganizations\u002Fpackages\u002F69de52154f3e4272e30c7a14 \\\n  -H \"Authorization: Bearer eyJhbGc...\"\n",[313,1488,1489,1502],{"__ignoreMap":400},[404,1490,1491,1493,1495,1497,1500],{"class":406,"line":407},[404,1492,713],{"class":712},[404,1494,716],{"class":433},[404,1496,1210],{"class":433},[404,1498,1499],{"class":433}," http:\u002F\u002Flocalhost:4001\u002Fapi\u002Fv1\u002Forganizations\u002Fpackages\u002F69de52154f3e4272e30c7a14",[404,1501,726],{"class":725},[404,1503,1504,1506,1508,1510],{"class":406,"line":414},[404,1505,731],{"class":433},[404,1507,430],{"class":410},[404,1509,749],{"class":433},[404,1511,536],{"class":410},[348,1513],{},[351,1515,1517,1518,1520],{"id":1516},"put-apiv1organizationspackagesid-update-package","PUT ",[313,1519,1237],{}," — Update Package",[309,1522,1523,363,1525,367,1527,370,1529,1531,322,1533,326,1535,322,1537,333,1539,1541,1543,1545],{},[319,1524,362],{},[313,1526,366],{},[313,1528,336],{},[338,1530],{},[319,1532,321],{},[313,1534,325],{},[319,1536,329],{},[313,1538,332],{},[313,1540,336],{},[338,1542],{},[319,1544,387],{}," Update package details. At least one field must be provided.",[390,1547,393],{"id":1548},"request-3",[395,1550,1552],{"className":397,"code":1551,"language":399,"meta":400,"style":400},"{\n  \"name\": \"Haircut + Premium Wash\",\n  \"description\": \"Professional haircut with premium hair spa wash treatment.\",\n  \"amount\": 550.0\n}\n",[313,1553,1554,1558,1577,1596,1609],{"__ignoreMap":400},[404,1555,1556],{"class":406,"line":407},[404,1557,411],{"class":410},[404,1559,1560,1562,1564,1566,1568,1570,1573,1575],{"class":406,"line":414},[404,1561,417],{"class":410},[404,1563,421],{"class":420},[404,1565,424],{"class":410},[404,1567,427],{"class":410},[404,1569,430],{"class":410},[404,1571,1572],{"class":433},"Haircut + Premium Wash",[404,1574,424],{"class":410},[404,1576,439],{"class":410},[404,1578,1579,1581,1583,1585,1587,1589,1592,1594],{"class":406,"line":442},[404,1580,417],{"class":410},[404,1582,447],{"class":420},[404,1584,424],{"class":410},[404,1586,427],{"class":410},[404,1588,430],{"class":410},[404,1590,1591],{"class":433},"Professional haircut with premium hair spa wash treatment.",[404,1593,424],{"class":410},[404,1595,439],{"class":410},[404,1597,1598,1600,1602,1604,1606],{"class":406,"line":463},[404,1599,417],{"class":410},[404,1601,468],{"class":420},[404,1603,424],{"class":410},[404,1605,427],{"class":410},[404,1607,1608],{"class":475}," 550.0\n",[404,1610,1611],{"class":406,"line":479},[404,1612,482],{"class":410},[309,1614,1615],{},"All fields optional; at least one required:",[487,1617,1618,1623,1628],{},[490,1619,1620,1622],{},[313,1621,421],{}," (string, 2-255 chars)",[490,1624,1625,1627],{},[313,1626,447],{}," (string, 10-500 chars)",[490,1629,1630,1632],{},[313,1631,468],{}," (number, ≥ 0)",[390,1634,879],{"id":1635},"response-200-ok-2",[395,1637,1639],{"className":397,"code":1638,"language":399,"meta":400,"style":400},"{\n  \"message\": \"Package updated successfully.\"\n}\n",[313,1640,1641,1645,1662],{"__ignoreMap":400},[404,1642,1643],{"class":406,"line":407},[404,1644,411],{"class":410},[404,1646,1647,1649,1651,1653,1655,1657,1660],{"class":406,"line":414},[404,1648,417],{"class":410},[404,1650,524],{"class":420},[404,1652,424],{"class":410},[404,1654,427],{"class":410},[404,1656,430],{"class":410},[404,1658,1659],{"class":433},"Package updated successfully.",[404,1661,536],{"class":410},[404,1663,1664],{"class":406,"line":442},[404,1665,482],{"class":410},[390,1667,544],{"id":1668},"error-responses-2",[309,1670,1671,1674],{},[319,1672,1673],{},"400 Bad Request"," — No fields provided:",[395,1676,1678],{"className":397,"code":1677,"language":399,"meta":400,"style":400},"{\n  \"statusCode\": 400,\n  \"message\": \"At least one field must be provided for update\"\n}\n",[313,1679,1680,1684,1699,1716],{"__ignoreMap":400},[404,1681,1682],{"class":406,"line":407},[404,1683,411],{"class":410},[404,1685,1686,1688,1690,1692,1694,1697],{"class":406,"line":414},[404,1687,417],{"class":410},[404,1689,566],{"class":420},[404,1691,424],{"class":410},[404,1693,427],{"class":410},[404,1695,1696],{"class":475}," 400",[404,1698,439],{"class":410},[404,1700,1701,1703,1705,1707,1709,1711,1714],{"class":406,"line":442},[404,1702,417],{"class":410},[404,1704,524],{"class":420},[404,1706,424],{"class":410},[404,1708,427],{"class":410},[404,1710,430],{"class":410},[404,1712,1713],{"class":433},"At least one field must be provided for update",[404,1715,536],{"class":410},[404,1717,1718],{"class":406,"line":463},[404,1719,482],{"class":410},[390,1721,700],{"id":1722},"curl-example-3",[395,1724,1726],{"className":703,"code":1725,"language":705,"meta":400,"style":400},"curl -X PUT http:\u002F\u002Flocalhost:4001\u002Fapi\u002Fv1\u002Forganizations\u002Fpackages\u002F69de52154f3e4272e30c7a14 \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -H \"Authorization: Bearer eyJhbGc...\" \\\n  -d '{\n    \"name\": \"Haircut + Premium Wash\",\n    \"amount\": 550.00\n  }'\n",[313,1727,1728,1741,1753,1765,1773,1778,1783],{"__ignoreMap":400},[404,1729,1730,1732,1734,1737,1739],{"class":406,"line":407},[404,1731,713],{"class":712},[404,1733,716],{"class":433},[404,1735,1736],{"class":433}," PUT",[404,1738,1499],{"class":433},[404,1740,726],{"class":725},[404,1742,1743,1745,1747,1749,1751],{"class":406,"line":414},[404,1744,731],{"class":433},[404,1746,430],{"class":410},[404,1748,736],{"class":433},[404,1750,424],{"class":410},[404,1752,726],{"class":725},[404,1754,1755,1757,1759,1761,1763],{"class":406,"line":442},[404,1756,731],{"class":433},[404,1758,430],{"class":410},[404,1760,749],{"class":433},[404,1762,424],{"class":410},[404,1764,726],{"class":725},[404,1766,1767,1769,1771],{"class":406,"line":463},[404,1768,758],{"class":433},[404,1770,761],{"class":410},[404,1772,411],{"class":433},[404,1774,1775],{"class":406,"line":479},[404,1776,1777],{"class":433},"    \"name\": \"Haircut + Premium Wash\",\n",[404,1779,1780],{"class":406,"line":771},[404,1781,1782],{"class":433},"    \"amount\": 550.00\n",[404,1784,1785,1787],{"class":406,"line":777},[404,1786,786],{"class":433},[404,1788,789],{"class":410},[348,1790],{},[351,1792,1794,1795,1797],{"id":1793},"delete-apiv1organizationspackagesid-delete-package","DELETE ",[313,1796,1237],{}," — Delete Package",[309,1799,1800,363,1802,367,1804,370,1806,1808,322,1810,326,1812,322,1814,333,1816,1818,1820,1822,1823,1825],{},[319,1801,362],{},[313,1803,366],{},[313,1805,336],{},[338,1807],{},[319,1809,321],{},[313,1811,325],{},[319,1813,329],{},[313,1815,332],{},[313,1817,336],{},[338,1819],{},[319,1821,387],{}," Soft-delete a package (marks ",[313,1824,1415],{},", not removed from DB).",[390,1827,393],{"id":1828},"request-4",[395,1830,1833],{"className":1831,"code":1832,"language":873},[871],"DELETE \u002Fapi\u002Fv1\u002Forganizations\u002Fpackages\u002F69de52154f3e4272e30c7a14\n",[313,1834,1832],{"__ignoreMap":400},[390,1836,879],{"id":1837},"response-200-ok-3",[395,1839,1841],{"className":397,"code":1840,"language":399,"meta":400,"style":400},"{\n  \"message\": \"Package deleted successfully.\"\n}\n",[313,1842,1843,1847,1864],{"__ignoreMap":400},[404,1844,1845],{"class":406,"line":407},[404,1846,411],{"class":410},[404,1848,1849,1851,1853,1855,1857,1859,1862],{"class":406,"line":414},[404,1850,417],{"class":410},[404,1852,524],{"class":420},[404,1854,424],{"class":410},[404,1856,427],{"class":410},[404,1858,430],{"class":410},[404,1860,1861],{"class":433},"Package deleted successfully.",[404,1863,536],{"class":410},[404,1865,1866],{"class":406,"line":442},[404,1867,482],{"class":410},[390,1869,544],{"id":1870},"error-responses-3",[309,1872,1873,1875],{},[319,1874,1434],{}," — Package not found:",[395,1877,1878],{"className":397,"code":1438,"language":399,"meta":400,"style":400},[313,1879,1880,1884,1898,1914],{"__ignoreMap":400},[404,1881,1882],{"class":406,"line":407},[404,1883,411],{"class":410},[404,1885,1886,1888,1890,1892,1894,1896],{"class":406,"line":414},[404,1887,417],{"class":410},[404,1889,566],{"class":420},[404,1891,424],{"class":410},[404,1893,427],{"class":410},[404,1895,1457],{"class":475},[404,1897,439],{"class":410},[404,1899,1900,1902,1904,1906,1908,1910,1912],{"class":406,"line":442},[404,1901,417],{"class":410},[404,1903,524],{"class":420},[404,1905,424],{"class":410},[404,1907,427],{"class":410},[404,1909,430],{"class":410},[404,1911,1474],{"class":433},[404,1913,536],{"class":410},[404,1915,1916],{"class":406,"line":463},[404,1917,482],{"class":410},[309,1919,1920,1923],{},[319,1921,1922],{},"409 Conflict"," — Active bookings prevent deletion:",[395,1925,1927],{"className":397,"code":1926,"language":399,"meta":400,"style":400},"{\n  \"statusCode\": 409,\n  \"message\": \"Cannot delete package with active bookings\"\n}\n",[313,1928,1929,1933,1948,1965],{"__ignoreMap":400},[404,1930,1931],{"class":406,"line":407},[404,1932,411],{"class":410},[404,1934,1935,1937,1939,1941,1943,1946],{"class":406,"line":414},[404,1936,417],{"class":410},[404,1938,566],{"class":420},[404,1940,424],{"class":410},[404,1942,427],{"class":410},[404,1944,1945],{"class":475}," 409",[404,1947,439],{"class":410},[404,1949,1950,1952,1954,1956,1958,1960,1963],{"class":406,"line":442},[404,1951,417],{"class":410},[404,1953,524],{"class":420},[404,1955,424],{"class":410},[404,1957,427],{"class":410},[404,1959,430],{"class":410},[404,1961,1962],{"class":433},"Cannot delete package with active bookings",[404,1964,536],{"class":410},[404,1966,1967],{"class":406,"line":463},[404,1968,482],{"class":410},[390,1970,700],{"id":1971},"curl-example-4",[395,1973,1975],{"className":703,"code":1974,"language":705,"meta":400,"style":400},"curl -X DELETE http:\u002F\u002Flocalhost:4001\u002Fapi\u002Fv1\u002Forganizations\u002Fpackages\u002F69de52154f3e4272e30c7a14 \\\n  -H \"Authorization: Bearer eyJhbGc...\"\n",[313,1976,1977,1990],{"__ignoreMap":400},[404,1978,1979,1981,1983,1986,1988],{"class":406,"line":407},[404,1980,713],{"class":712},[404,1982,716],{"class":433},[404,1984,1985],{"class":433}," DELETE",[404,1987,1499],{"class":433},[404,1989,726],{"class":725},[404,1991,1992,1994,1996,1998],{"class":406,"line":414},[404,1993,731],{"class":433},[404,1995,430],{"class":410},[404,1997,749],{"class":433},[404,1999,536],{"class":410},[348,2001],{},[351,2003,2005],{"id":2004},"public-packages-customer-view","Public Packages (Customer View)",[309,2007,2008],{},"Customers and guests see packages without authentication.",[309,2010,2011,322,2013,326,2016,2018,2019,2022,2024,2026,2027,2030],{},[319,2012,321],{},[313,2014,2015],{},"customer-booki-web-app",[319,2017,329],{}," guest \u002F ",[313,2020,2021],{},"customer",[338,2023],{},[319,2025,342],{}," Resolved by tenant middleware from ",[313,2028,2029],{},"x-tenant-slug"," header or subdomain.",[395,2032,2035],{"className":2033,"code":2034,"language":873},[871],"GET \u002Fapi\u002Fv1\u002Fpackages        (public, tenant required)\nGET \u002Fapi\u002Fv1\u002Fpackages\u002F:id    (public, tenant required)\n",[313,2036,2034],{"__ignoreMap":400},[309,2038,2039,2040,2045],{},"These endpoints return only active, non-deleted packages and don't require authentication. See ",[2041,2042,2044],"a",{"href":2043},".\u002Fbooking-services","Services & Contact Form"," for details.",[348,2047],{},[351,2049,2051],{"id":2050},"notes","Notes",[487,2053,2054,2057,2060,2066,2069],{},[490,2055,2056],{},"Packages are scoped to the organization; managers can only see their org's packages.",[490,2058,2059],{},"Prices are in PHP (Philippine Peso).",[490,2061,2062,2063,2065],{},"Deleted packages are soft-deleted (",[313,2064,1415],{}," timestamp) but remain in DB.",[490,2067,2068],{},"Pagination defaults to 10 items per page (max 100).",[490,2070,2071,2072,2075],{},"See ",[313,2073,2074],{},"booki-api\u002Fsrc\u002Fvalidations\u002Fpackage.validation.ts"," for exact constraints.",[2077,2078,2079],"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 pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}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 .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":400,"searchDepth":407,"depth":414,"links":2081},[2082,2089,2095,2102,2109,2116,2117],{"id":353,"depth":414,"text":2083,"children":2084},"POST \u002Fapi\u002Fv1\u002Forganizations\u002Fpackages — Create Package",[2085,2086,2087,2088],{"id":392,"depth":442,"text":393},{"id":507,"depth":442,"text":508},{"id":543,"depth":442,"text":544},{"id":699,"depth":442,"text":700},{"id":794,"depth":414,"text":2090,"children":2091},"GET \u002Fapi\u002Fv1\u002Forganizations\u002Fpackages — List Packages",[2092,2093,2094],{"id":826,"depth":442,"text":393},{"id":878,"depth":442,"text":879},{"id":1196,"depth":442,"text":700},{"id":1234,"depth":414,"text":2096,"children":2097},"GET \u002Fapi\u002Fv1\u002Forganizations\u002Fpackages\u002F:id — Get Package",[2098,2099,2100,2101],{"id":1266,"depth":442,"text":393},{"id":1275,"depth":442,"text":879},{"id":1429,"depth":442,"text":544},{"id":1483,"depth":442,"text":700},{"id":1516,"depth":414,"text":2103,"children":2104},"PUT \u002Fapi\u002Fv1\u002Forganizations\u002Fpackages\u002F:id — Update Package",[2105,2106,2107,2108],{"id":1548,"depth":442,"text":393},{"id":1635,"depth":442,"text":879},{"id":1668,"depth":442,"text":544},{"id":1722,"depth":442,"text":700},{"id":1793,"depth":414,"text":2110,"children":2111},"DELETE \u002Fapi\u002Fv1\u002Forganizations\u002Fpackages\u002F:id — Delete Package",[2112,2113,2114,2115],{"id":1828,"depth":442,"text":393},{"id":1837,"depth":442,"text":879},{"id":1870,"depth":442,"text":544},{"id":1971,"depth":442,"text":700},{"id":2004,"depth":414,"text":2005},{"id":2050,"depth":414,"text":2051},"Create, list, update, and delete service packages (owner endpoints).","md",null,{},{"icon":172},{"title":189,"description":2118},"fxmtY3IUNzF0X1vRgOhtKlmfMMtopRPtXNeDEfRovKQ",[2126,2128],{"title":184,"path":185,"stem":186,"description":2127,"icon":187,"children":-1},"Retrieve organization details and public organization lookup.",{"title":193,"path":194,"stem":195,"description":2129,"icon":196,"children":-1},"Payment gateway connections, payment method setup, and integration management.",1777787844708]