{"_id":"@bondsports/online-booking","_rev":"9-b5c01b1dd14b454cee79fae8c3e29add","name":"@bondsports/online-booking","dist-tags":{"squad-c":"0.0.2-beta-1","latest":"1.0.0"},"versions":{"0.0.1":{"name":"@bondsports/online-booking","version":"0.0.1","_id":"@bondsports/online-booking@0.0.1","maintainers":[{"name":"ido.naveh.bondsports","email":"ido.naveh@bondsports.co"},{"name":"tetrobond","email":"ofir.kenan@bondsports.co"},{"name":"barak_matityahu","email":"barakmatityahu90@gmail.com"},{"name":"noam.benzeev","email":"noam@bondsports.co"},{"name":"matthew-cafiero-bond","email":"matthew.cafiero@bondsports.co"},{"name":"alex-bondsports","email":"alex.massenzio@bondsports.co"},{"name":"orinavehbond","email":"ori.naveh@bondsports.co"},{"name":"jon.erickson","email":"jon.erickson@bondsports.co"},{"name":"slavabarkal","email":"slava.berkel@bondsports.co"},{"name":"paulhoover","email":"paul.hoover@bondsports.co"},{"name":"gittybond","email":"gitty@bondsports.co"},{"name":"aniambond","email":"aniam.wolff@bondsports.co"}],"dist":{"shasum":"442a7fa4ab0eb0e21dfe86d463e22d1b9d91b1d8","tarball":"https://registry.npmjs.org/@bondsports/online-booking/-/online-booking-0.0.1.tgz","fileCount":22,"integrity":"sha512-9ANAdqfQTLb9cIB51jmmitSF2W7OUqVr9JRWTW914N1WO94x9CDcJ5NF2oosCJrrEXU+SV7Cm0J/SusynIolGQ==","signatures":[{"sig":"MEUCIQDoTWD/vcQsLiyfDeYttz7jy0lXJslwVY79IdJ7359hagIgT0gdYRNjJfS6hkpbYvNW1kOY1lYcRRLKmA73tVgMIPQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34648},"main":"./dist/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"pretty-quick --staged"}},"types":"./dist/index.d.ts","gitHead":"ce2dc34235c2a23610f6116b4041c64b2f3568aa","scripts":{"lint":"eslint .","test":"jest --config=./tests/configurations/jest.config.js","build":"tsc --project tsconfig.build.json","clean":"rimraf dist","start":"npm run build && cd dist && node ./index.js","format":"prettier --check .","prelint":"npm run format","prepack":"npm run build","release":"standard-version","lint:fix":"eslint --fix .","prebuild":"npm run clean","format:fix":"prettier --write .","prelint:fix":"npm run format:fix"},"_npmUser":{"name":"ido.naveh.bondsports","email":"ido.naveh@bondsports.co"},"_npmVersion":"11.10.1","description":"Bond Sports online booking package","directories":{},"_nodeVersion":"20.20.0","dependencies":{"dayjs":"^1.11.12","@bondsports/general":"latest","@bondsports/date-time":"2.4.59"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.49","jest":"^26.6.3","husky":"^4.3.5","eslint":"^8.53.0","ts-jest":"^26.4.4","ts-node":"^9.1.1","typedoc":"^0.20.36","prettier":"^2.2.1","commitlint":"^11.0.0","typescript":"^4.9.5","@types/jest":"^26.0.19","@types/node":"^14.14.12","pretty-quick":"^3.1.0","@commitlint/cli":"^11.0.0","standard-version":"^9.3.0","@bondsports/types":"2.4.50-squad-c-2","jest-html-reporters":"^2.1.2","eslint-plugin-security":"^1.7.1","@bondsports/eslint-config":"^1.1.4","cz-conventional-changelog":"^3.3.0","jest-create-mock-instance":"^1.1.0","@bondsports/prettier-config":"^0.0.2","@commitlint/config-conventional":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/online-booking_0.0.1_1778418948876_0.16470210353939008","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-beta":{"name":"@bondsports/online-booking","version":"0.0.1-beta","_id":"@bondsports/online-booking@0.0.1-beta","maintainers":[{"name":"ido.naveh.bondsports","email":"ido.naveh@bondsports.co"},{"name":"tetrobond","email":"ofir.kenan@bondsports.co"},{"name":"barak_matityahu","email":"barakmatityahu90@gmail.com"},{"name":"noam.benzeev","email":"noam@bondsports.co"},{"name":"matthew-cafiero-bond","email":"matthew.cafiero@bondsports.co"},{"name":"alex-bondsports","email":"alex.massenzio@bondsports.co"},{"name":"orinavehbond","email":"ori.naveh@bondsports.co"},{"name":"jon.erickson","email":"jon.erickson@bondsports.co"},{"name":"slavabarkal","email":"slava.berkel@bondsports.co"},{"name":"paulhoover","email":"paul.hoover@bondsports.co"},{"name":"gittybond","email":"gitty@bondsports.co"},{"name":"aniambond","email":"aniam.wolff@bondsports.co"}],"dist":{"shasum":"ade2fa5c9c108f316f08bbfa916943c0c5fa29cc","tarball":"https://registry.npmjs.org/@bondsports/online-booking/-/online-booking-0.0.1-beta.tgz","fileCount":34,"integrity":"sha512-LXCHVkTZ4909bLGuY0y2vFggofIO8c61hSh5wO3ioRL7sP9N4ew1vZfwGEjMpY87cMad/+X++bBR0sVBuAeiag==","signatures":[{"sig":"MEQCICfCtGMaEY/JmFUBpVemu7LTaQOI2d1ss+cSCtTT0PoOAiBEzs1fuJazISAS+JvVOwFIoPNrozvajqi9CqGHxF5ScQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46954},"main":"./dist/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"pretty-quick --staged"}},"types":"./dist/index.d.ts","gitHead":"9921a88fc0404dc7456f8e70a50479e2303601c8","scripts":{"lint":"eslint .","test":"jest --config=./tests/configurations/jest.config.js","build":"tsc --project tsconfig.build.json","clean":"rimraf dist","start":"npm run build && cd dist && node ./index.js","format":"prettier --check .","prelint":"npm run format","prepack":"npm run build","release":"standard-version","lint:fix":"eslint --fix .","prebuild":"npm run clean","format:fix":"prettier --write .","prelint:fix":"npm run format:fix"},"_npmUser":{"name":"ido.naveh.bondsports","email":"ido.naveh@bondsports.co"},"_npmVersion":"11.10.1","description":"Bond Sports online booking package","directories":{},"_nodeVersion":"20.20.0","dependencies":{"dayjs":"^1.11.12","lodash":"^4.18.1","@bondsports/types":"2.4.52-squad-c-2","@bondsports/general":"0.2.56","@bondsports/date-time":"2.4.59"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"zod":"^3.25.49","jest":"^29.7.0","husky":"^4.3.5","eslint":"^8.53.0","ts-jest":"^29.4.9","ts-node":"^9.1.1","typedoc":"^0.25.4","prettier":"^2.2.1","commitlint":"^11.0.0","typescript":"^4.9.5","@types/jest":"^29.5.14","@types/node":"^14.14.12","pretty-quick":"^3.1.0","@commitlint/cli":"^11.0.0","standard-version":"^9.3.0","jest-html-reporters":"^2.1.2","eslint-plugin-security":"^1.7.1","@bondsports/eslint-config":"^1.1.4","cz-conventional-changelog":"^3.3.0","jest-create-mock-instance":"^1.1.0","@bondsports/prettier-config":"^0.0.2","@commitlint/config-conventional":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/online-booking_0.0.1-beta_1778518214510_0.8967684364865858","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@bondsports/online-booking","version":"0.0.2","_id":"@bondsports/online-booking@0.0.2","maintainers":[{"name":"ido.naveh.bondsports","email":"ido.naveh@bondsports.co"},{"name":"tetrobond","email":"ofir.kenan@bondsports.co"},{"name":"barak_matityahu","email":"barakmatityahu90@gmail.com"},{"name":"noam.benzeev","email":"noam@bondsports.co"},{"name":"matthew-cafiero-bond","email":"matthew.cafiero@bondsports.co"},{"name":"alex-bondsports","email":"alex.massenzio@bondsports.co"},{"name":"orinavehbond","email":"ori.naveh@bondsports.co"},{"name":"jon.erickson","email":"jon.erickson@bondsports.co"},{"name":"slavabarkal","email":"slava.berkel@bondsports.co"},{"name":"paulhoover","email":"paul.hoover@bondsports.co"},{"name":"gittybond","email":"gitty@bondsports.co"},{"name":"aniambond","email":"aniam.wolff@bondsports.co"}],"dist":{"shasum":"4c579c4a8e274e7fdfc0dc5af97915dc79f705c4","tarball":"https://registry.npmjs.org/@bondsports/online-booking/-/online-booking-0.0.2.tgz","fileCount":34,"integrity":"sha512-vuW3lUoYozZPVsSDqjs0oqImE0tjo8sUWzkBX9kr1UBQT5l1x47ZfWW5syA10DdpEbT5ZP5rNu3zCUe/hlL9UQ==","signatures":[{"sig":"MEUCIEGJlMFdJHZTA8Z5sbrMkeN8IM1qgG6Sfwqg/fxqnFZZAiEAtA/b9tb6q8ceJLgwXq0+0HZuM4H+nTlkfWKYC8tRIYY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47036},"main":"./dist/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"pretty-quick --staged"}},"types":"./dist/index.d.ts","gitHead":"bcd971db62158086b5bb50f112c091e5d31127ce","scripts":{"lint":"eslint .","test":"jest --config=./tests/configurations/jest.config.js","build":"tsc --project tsconfig.build.json","clean":"rimraf dist","start":"npm run build && cd dist && node ./index.js","format":"prettier --check .","prelint":"npm run format","prepack":"npm run build","release":"standard-version","lint:fix":"eslint --fix .","prebuild":"npm run clean","format:fix":"prettier --write .","prelint:fix":"npm run format:fix"},"_npmUser":{"name":"ido.naveh.bondsports","email":"ido.naveh@bondsports.co"},"_npmVersion":"11.10.1","description":"Bond Sports online booking package","directories":{},"_nodeVersion":"20.20.0","dependencies":{"dayjs":"^1.11.12","lodash":"^4.18.1","@bondsports/types":"2.4.52-squad-c-2","@bondsports/general":"0.2.56","@bondsports/date-time":"2.4.59"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"zod":"^3.25.49","jest":"^29.7.0","husky":"^4.3.5","eslint":"^8.53.0","ts-jest":"^29.4.9","ts-node":"^9.1.1","typedoc":"^0.25.4","prettier":"^2.2.1","commitlint":"^11.0.0","typescript":"^4.9.5","@types/jest":"^29.5.14","@types/node":"^14.14.12","pretty-quick":"^3.1.0","@commitlint/cli":"^11.0.0","standard-version":"^9.3.0","jest-html-reporters":"^2.1.2","eslint-plugin-security":"^1.7.1","@bondsports/eslint-config":"^1.1.4","cz-conventional-changelog":"^3.3.0","jest-create-mock-instance":"^1.1.0","@bondsports/prettier-config":"^0.0.2","@commitlint/config-conventional":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/online-booking_0.0.2_1779094657353_0.11691273747710085","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-beta":{"name":"@bondsports/online-booking","version":"0.0.2-beta","_id":"@bondsports/online-booking@0.0.2-beta","maintainers":[{"name":"ido.naveh.bondsports","email":"ido.naveh@bondsports.co"},{"name":"tetrobond","email":"ofir.kenan@bondsports.co"},{"name":"barak_matityahu","email":"barakmatityahu90@gmail.com"},{"name":"noam.benzeev","email":"noam@bondsports.co"},{"name":"matthew-cafiero-bond","email":"matthew.cafiero@bondsports.co"},{"name":"alex-bondsports","email":"alex.massenzio@bondsports.co"},{"name":"orinavehbond","email":"ori.naveh@bondsports.co"},{"name":"jon.erickson","email":"jon.erickson@bondsports.co"},{"name":"slavabarkal","email":"slava.berkel@bondsports.co"},{"name":"paulhoover","email":"paul.hoover@bondsports.co"},{"name":"gittybond","email":"gitty@bondsports.co"},{"name":"aniambond","email":"aniam.wolff@bondsports.co"}],"dist":{"shasum":"390a152e96f623c511698b3448f45358b643923b","tarball":"https://registry.npmjs.org/@bondsports/online-booking/-/online-booking-0.0.2-beta.tgz","fileCount":34,"integrity":"sha512-1Nhhg/iC5pN7KZFTLoUzXjW+frX+KiR4ZDVgyZR2Bd3NT3ZkW7pkYrsN1oHZz3X9YptiKjtUqCiJJ7rka4maJg==","signatures":[{"sig":"MEYCIQC3xCPvDJrFAmQRrC8j/9ukhE1odDPss9QvIOuIwvp3+AIhAK/nF8pRPHl6mzeika6J7Uw9qAxAT/GhwrO0lry/HHx/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47035},"main":"./dist/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"pretty-quick --staged"}},"types":"./dist/index.d.ts","gitHead":"3878949c05d6d002aae242823185ab10a53b1325","scripts":{"lint":"eslint .","test":"jest --config=./tests/configurations/jest.config.js","build":"tsc --project tsconfig.build.json","clean":"rimraf dist","start":"npm run build && cd dist && node ./index.js","format":"prettier --check .","prelint":"npm run format","prepack":"npm run build","release":"standard-version","lint:fix":"eslint --fix .","prebuild":"npm run clean","format:fix":"prettier --write .","prelint:fix":"npm run format:fix"},"_npmUser":{"name":"ido.naveh.bondsports","email":"ido.naveh@bondsports.co"},"_npmVersion":"11.10.1","description":"Bond Sports online booking package","directories":{},"_nodeVersion":"20.20.0","dependencies":{"dayjs":"^1.11.12","lodash":"^4.18.1","@bondsports/types":"2.4.52-squad-c-2","@bondsports/general":"0.2.56","@bondsports/date-time":"2.4.59"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"zod":"^3.25.49","jest":"^29.7.0","husky":"^4.3.5","eslint":"^8.53.0","ts-jest":"^29.4.9","ts-node":"^9.1.1","typedoc":"^0.25.4","prettier":"^2.2.1","commitlint":"^11.0.0","typescript":"^4.9.5","@types/jest":"^29.5.14","@types/node":"^14.14.12","pretty-quick":"^3.1.0","@commitlint/cli":"^11.0.0","standard-version":"^9.3.0","jest-html-reporters":"^2.1.2","eslint-plugin-security":"^1.7.1","@bondsports/eslint-config":"^1.1.4","cz-conventional-changelog":"^3.3.0","jest-create-mock-instance":"^1.1.0","@bondsports/prettier-config":"^0.0.2","@commitlint/config-conventional":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/online-booking_0.0.2-beta_1779123010061_0.7046079022426692","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-beta-1":{"name":"@bondsports/online-booking","version":"0.0.2-beta-1","_id":"@bondsports/online-booking@0.0.2-beta-1","maintainers":[{"name":"ido.naveh.bondsports","email":"ido.naveh@bondsports.co"},{"name":"tetrobond","email":"ofir.kenan@bondsports.co"},{"name":"barak_matityahu","email":"barakmatityahu90@gmail.com"},{"name":"noam.benzeev","email":"noam@bondsports.co"},{"name":"matthew-cafiero-bond","email":"matthew.cafiero@bondsports.co"},{"name":"alex-bondsports","email":"alex.massenzio@bondsports.co"},{"name":"orinavehbond","email":"ori.naveh@bondsports.co"},{"name":"jon.erickson","email":"jon.erickson@bondsports.co"},{"name":"slavabarkal","email":"slava.berkel@bondsports.co"},{"name":"paulhoover","email":"paul.hoover@bondsports.co"},{"name":"gittybond","email":"gitty@bondsports.co"},{"name":"aniambond","email":"aniam.wolff@bondsports.co"}],"dist":{"shasum":"88758f99dcd1419b91cfab2be82d96edd380d25e","tarball":"https://registry.npmjs.org/@bondsports/online-booking/-/online-booking-0.0.2-beta-1.tgz","fileCount":34,"integrity":"sha512-eEPYUq/mRavUj9uNzH8mN3Gh/BoFssIZztM1/GboKoXQk7Gcv3fuuXyDdJTlWPrCoMIBswCISlu278HHzdq/ng==","signatures":[{"sig":"MEYCIQCD1U40Y0yHdtrnu6rDZSiMCbKesTHK2syb86Os16PsLwIhAMQQqQaRINp4ky4jX28UYRUkW5RWqam2UtlT5euW6M+T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47043},"main":"./dist/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"pretty-quick --staged"}},"types":"./dist/index.d.ts","gitHead":"f83a226935d66c6234764548f18a172bc9088baf","scripts":{"lint":"eslint .","test":"jest --config=./tests/configurations/jest.config.js","build":"tsc --project tsconfig.build.json","clean":"rimraf dist","start":"npm run build && cd dist && node ./index.js","format":"prettier --check .","prelint":"npm run format","prepack":"npm run build","release":"standard-version","lint:fix":"eslint --fix .","prebuild":"npm run clean","format:fix":"prettier --write .","prelint:fix":"npm run format:fix"},"_npmUser":{"name":"ido.naveh.bondsports","email":"ido.naveh@bondsports.co"},"_npmVersion":"11.10.1","description":"Bond Sports online booking package","directories":{},"_nodeVersion":"20.20.0","dependencies":{"dayjs":"^1.11.12","lodash":"^4.18.1","@bondsports/types":"2.4.52-squad-c-2","@bondsports/general":"0.2.56","@bondsports/date-time":"2.4.59"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"zod":"^3.25.49","jest":"^29.7.0","husky":"^4.3.5","eslint":"^8.53.0","ts-jest":"^29.4.9","ts-node":"^9.1.1","typedoc":"^0.25.4","prettier":"^2.2.1","commitlint":"^11.0.0","typescript":"^4.9.5","@types/jest":"^29.5.14","@types/node":"^14.14.12","pretty-quick":"^3.1.0","@commitlint/cli":"^11.0.0","standard-version":"^9.3.0","jest-html-reporters":"^2.1.2","eslint-plugin-security":"^1.7.1","@bondsports/eslint-config":"^1.1.4","cz-conventional-changelog":"^3.3.0","jest-create-mock-instance":"^1.1.0","@bondsports/prettier-config":"^0.0.2","@commitlint/config-conventional":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/online-booking_0.0.2-beta-1_1779264328813_0.7407990500935506","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@bondsports/online-booking","version":"1.0.0","_id":"@bondsports/online-booking@1.0.0","maintainers":[{"name":"ido.naveh.bondsports","email":"ido.naveh@bondsports.co"},{"name":"tetrobond","email":"ofir.kenan@bondsports.co"},{"name":"barak_matityahu","email":"barakmatityahu90@gmail.com"},{"name":"noam.benzeev","email":"noam@bondsports.co"},{"name":"matthew-cafiero-bond","email":"matthew.cafiero@bondsports.co"},{"name":"alex-bondsports","email":"alex.massenzio@bondsports.co"},{"name":"orinavehbond","email":"ori.naveh@bondsports.co"},{"name":"jon.erickson","email":"jon.erickson@bondsports.co"},{"name":"slavabarkal","email":"slava.berkel@bondsports.co"},{"name":"paulhoover","email":"paul.hoover@bondsports.co"},{"name":"gittybond","email":"gitty@bondsports.co"},{"name":"aniambond","email":"aniam.wolff@bondsports.co"}],"dist":{"shasum":"90068cd35f5f5ef165c4fb8f0f2b3038fc967d83","tarball":"https://registry.npmjs.org/@bondsports/online-booking/-/online-booking-1.0.0.tgz","fileCount":34,"integrity":"sha512-5Uy5Q7bs7c8RD9CbzcasqlpyVzdABL0+qD/ulKUVganGhtrI+v0+wf+Nca8LjV2S1g1RJnfel2TrK0VUba+6VA==","signatures":[{"sig":"MEQCIFvFl2bjymN9pKG3VkzzCrFXp+OIRmTk+o8AjXM+s3W9AiAGW7fNFvqhXtmI2aIs7rYKJd6v2j1YMQ7RjJlIiU1/0Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47036},"main":"./dist/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"pretty-quick --staged"}},"types":"./dist/index.d.ts","gitHead":"a5696bec33200370ee9183abcdc0443b2541291b","scripts":{"lint":"eslint .","test":"jest --config=./tests/configurations/jest.config.js","build":"tsc --project tsconfig.build.json","clean":"rimraf dist","start":"npm run build && cd dist && node ./index.js","format":"prettier --check .","prelint":"npm run format","prepack":"npm run build","release":"standard-version","lint:fix":"eslint --fix .","prebuild":"npm run clean","format:fix":"prettier --write .","prelint:fix":"npm run format:fix"},"_npmUser":{"name":"ido.naveh.bondsports","email":"ido.naveh@bondsports.co"},"_npmVersion":"11.10.1","description":"Bond Sports online booking package","directories":{},"_nodeVersion":"20.20.0","dependencies":{"dayjs":"^1.11.12","lodash":"^4.18.1","@bondsports/types":"2.4.52-squad-c-2","@bondsports/general":"0.2.56","@bondsports/date-time":"2.4.59"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.49","jest":"^29.7.0","husky":"^4.3.5","eslint":"^8.53.0","ts-jest":"^29.4.9","ts-node":"^9.1.1","typedoc":"^0.25.4","prettier":"^2.2.1","commitlint":"^11.0.0","typescript":"^4.9.5","@types/jest":"^29.5.14","@types/node":"^14.14.12","pretty-quick":"^3.1.0","@commitlint/cli":"^11.0.0","standard-version":"^9.3.0","jest-html-reporters":"^2.1.2","eslint-plugin-security":"^1.7.1","@bondsports/eslint-config":"^1.1.4","cz-conventional-changelog":"^3.3.0","jest-create-mock-instance":"^1.1.0","@bondsports/prettier-config":"^0.0.2","@commitlint/config-conventional":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/online-booking_1.0.0_1780902280296_0.8937519795128119","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-05-10T13:15:48.642Z","modified":"2026-08-25T13:49:23.758Z","0.0.1":"2026-05-10T13:15:49.028Z","0.0.1-beta":"2026-05-11T16:50:14.694Z","0.0.2":"2026-05-18T08:57:37.482Z","0.0.2-beta":"2026-05-18T16:50:10.230Z","0.0.2-beta-1":"2026-05-20T08:05:28.967Z","1.0.0":"2026-06-08T07:04:40.436Z"},"description":"Bond Sports online booking package","maintainers":[{"email":"ido.naveh@bondsports.co","name":"ido.naveh.bondsports"},{"email":"ofir.kenan@bondsports.co","name":"tetrobond"},{"email":"barakmatityahu90@gmail.com","name":"barak_matityahu"},{"email":"noam@bondsports.co","name":"noam.benzeev"},{"email":"shir.gilboa@bondsports.co","name":"shirgilboa"},{"email":"matthew.cafiero@bondsports.co","name":"matthew-cafiero-bond"},{"email":"alex.massenzio@bondsports.co","name":"alex-bondsports"},{"email":"michal.wojtowicz@bondsports.co","name":"mw-bondsports"},{"email":"ori.naveh@bondsports.co","name":"orinavehbond"},{"email":"paul.hoover@bondsports.co","name":"paulhoover"},{"email":"gitty@bondsports.co","name":"gittybond"},{"email":"aniam.wolff@bondsports.co","name":"aniambond"}],"readme":"# @bondsports/online-booking\n\nValidation and settings-resolution utilities for online booking flows.\n\nThe package answers two questions:\n\n1. **What booking settings apply to this user right now?** — `resolveBookingSettings` merges the default product-category settings with the most favorable overrides from the user's active memberships.\n2. **Are the slots the user wants to book actually allowed?** — `validateBookingSlots` checks the requested slots (combined with the user's already-booked slots) against the resolved settings and returns a typed validation result.\n\n## Installation\n\n```\nnpm install @bondsports/online-booking\n```\n\n## Usage\n\n### `resolveBookingSettings`\n\nPick the effective `IBookingSettings` for a user. If the user has no active memberships (or none of them override the category settings), the default is returned. Otherwise the lowest `minimumBookingNotice` and the highest `advanceBookingWindow` across matching membership overrides win.\n\n```typescript\nimport { resolveBookingSettings } from '@bondsports/online-booking';\n\nconst settings = resolveBookingSettings(productCategory.onlineBookingSettings, user.activeMemberships);\n```\n\n- `productCategory.onlineBookingSettings` — `TProductCategoryOnlineBookingSettings` (`{ default, memberships }`)\n- `user.activeMemberships` — `{ membershipId: number }[]` (optional; pass `undefined` or `[]` for guests)\n\n### `validateBookingSlots`\n\nValidate a list of requested time slots against the resolved settings.\n\n```typescript\nimport { validateBookingSlots } from '@bondsports/online-booking';\n\nconst result = validateBookingSlots(requestedSlots, userBookedSlots, settings, facilityTimezone);\n\nif (!result.success) {\n\t// result.error is a ValidationError with a stable `code` (see ONLINE_BOOKING_ERRORS)\n\tthrow result.error;\n}\n```\n\nThe validator:\n\n- merges requested slots with the user's existing bookings (clamped to the booking window),\n- enforces `maxBookingHours` per calendar day (in the facility timezone),\n- enforces `maxSequentialBookings` on each continuous block,\n- enforces `minimumBookingNotice` and `advanceBookingWindow` against \"now\".\n\n### Error handling\n\nAll failures return `{ success: false, error }` where `error` is a `ValidationError` subclass carrying a stable `code` from `ONLINE_BOOKING_ERRORS`:\n\n| Error class               | Code                   | Meaning                                                  |\n| ------------------------- |------------------------|----------------------------------------------------------|\n| `InvalidTimesError`       | `INVALID_TIMES`        | Start date is not strictly before end date               |\n| `MinimumNoticeError`      | `MINIMUM_NOTICE_DATE`  | Start date is before `now + minimumBookingNotice`        |\n| `AdvanceBookingError`     | `ADVANCE_BOOKING_DATE` | Start date extends beyond `now + advanceBookingWindow`   |\n| `MaxSequentialHoursError` | `MAX_SEQUENTIAL_HOURS` | A contiguous block exceeds `maxSequentialBookings`       |\n| `MaxBookingHoursError`    | `MAX_BOOKING_HOURS`    | Total booked duration on a day exceeds `maxBookingHours` |\n\n```typescript\nimport { ONLINE_BOOKING_ERRORS, ValidationError } from '@bondsports/online-booking';\n\nif (!result.success && result.error.code === ONLINE_BOOKING_ERRORS.MINIMUM_NOTICE_DATE) {\n\t// show \"book at least N hours in advance\" message\n}\n```\n\n## API\n\n```typescript\nimport {\n\tvalidateBookingSlots,\n\tresolveBookingSettings,\n\tONLINE_BOOKING_ERRORS,\n\tValidationError,\n\tInvalidTimesError,\n\tMinimumNoticeError,\n\tAdvanceBookingError,\n\tMaxSequentialHoursError,\n\tMaxBookingHoursError,\n\tIBookingValidation,\n\tIBookingSettings,\n\tIMembershipBookingSettings,\n\tTProductCategoryOnlineBookingSettings,\n} from '@bondsports/online-booking';\n```\n\n## Scripts\n\n```\nnpm run build      # compile to ./dist\nnpm test           # run jest\nnpm run lint       # eslint + prettier check\nnpm run lint:fix   # autofix\n```\n","readmeFilename":"README.md"}