{"_id":"@25madisonhealth/turbo-scheduler","_rev":"6-cf47ac3564e37fbc2682d9a949cff585","name":"@25madisonhealth/turbo-scheduler","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@25madisonhealth/turbo-scheduler","version":"0.1.0","keywords":["sdk","api-client","turbo-scheduler","scheduling","healthcare","calendar","appointments","booking","typescript"],"author":{"name":"David Cabal & Ryan Frost","email":"david.cabal@25mhealth.com"},"license":"MIT","_id":"@25madisonhealth/turbo-scheduler@0.1.0","maintainers":[{"name":"ryan25mh","email":"ryan.macy@25mhealth.com"},{"name":"dcabal_25mh","email":"david.cabal@25mhealth.com"}],"homepage":"https://github.com/25MH/turbo/tree/main/packages/sdk","bugs":{"url":"https://github.com/25MH/turbo/issues"},"dist":{"shasum":"9425ef3d374babde383e3bd435497b7ebbc87144","tarball":"https://registry.npmjs.org/@25madisonhealth/turbo-scheduler/-/turbo-scheduler-0.1.0.tgz","fileCount":48,"integrity":"sha512-AB23Fm38H6vSkKBD0Xu+T8N6ivJln1GXqMzSj+ExkUrGPrHLrPL250JiY2Up8S/RCTK7JM9NujpP5Z3ATvRMWw==","signatures":[{"sig":"MEQCIAgBBpUaHN7LLbsZrTaF9Hsr8CpsuKJutnyX+ocLxWk2AiA8QwG2SeqH6SHlci71MIDo8pi3VNxK3UbcqJQ+XZUKbw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94037},"main":"dist/index.js","_from":"file:25madisonhealth-turbo-scheduler-0.1.0.tgz","types":"dist/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=16.0.0"},"scripts":{"docs":"typedoc src/index.ts --out docs --plugin typedoc-github-theme","test":"jest","build":"tsc -p tsconfig.json && tsc -p tsconfig.esm.json","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"dcabal_25mh","email":"david.cabal@25mhealth.com"},"_resolved":"/tmp/92d23dff8cdd79bebf64ee544de065e3/25madisonhealth-turbo-scheduler-0.1.0.tgz","_integrity":"sha512-AB23Fm38H6vSkKBD0Xu+T8N6ivJln1GXqMzSj+ExkUrGPrHLrPL250JiY2Up8S/RCTK7JM9NujpP5Z3ATvRMWw==","repository":{"url":"git+https://github.com/25MH/turbo.git","type":"git","directory":"packages/sdk"},"_npmVersion":"10.8.2","description":"The official TypeScript SDK for interacting with the Turbo Scheduler API. Provides convenient methods for accessing all API endpoints with TypeScript typings.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"dayjs":"^1.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.3.4","typedoc":"^0.28.5","typescript":"^5.0.0","@types/jest":"^29.5.14","typedoc-github-theme":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/turbo-scheduler_0.1.0_1749228491909_0.45532390517764654","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@25madisonhealth/turbo-scheduler","version":"0.1.1","keywords":["sdk","api-client","turbo-scheduler","scheduling","healthcare","calendar","appointments","booking","typescript"],"author":{"name":"David Cabal & Ryan Frost","email":"david.cabal@25mhealth.com"},"license":"MIT","_id":"@25madisonhealth/turbo-scheduler@0.1.1","maintainers":[{"name":"ryan25mh","email":"ryan.macy@25mhealth.com"},{"name":"dcabal_25mh","email":"david.cabal@25mhealth.com"}],"homepage":"https://github.com/25MH/turbo/tree/main/packages/sdk","bugs":{"url":"https://github.com/25MH/turbo/issues"},"dist":{"shasum":"b5fa08e20a8bd4508de28173cca2b4b260d4b256","tarball":"https://registry.npmjs.org/@25madisonhealth/turbo-scheduler/-/turbo-scheduler-0.1.1.tgz","fileCount":48,"integrity":"sha512-E3ghPfmO5nsZo6yt5occhGYBmIgzKSy4nJCZ/10mzLudTr+qh9roxY6HhantlPi+VvplF7VdgUOlb9fbqmQJNA==","signatures":[{"sig":"MEYCIQCLJvnXYFJYs3FQNxqYY+iCjM+ii1N/lWbPUpDur37GQAIhAOATbRVV1z7VHsjugYt8shIW7umH0ApZxKjgz63CC0NH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93820},"main":"dist/index.js","_from":"file:25madisonhealth-turbo-scheduler-0.1.1.tgz","types":"dist/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=16.0.0"},"scripts":{"docs":"typedoc src/index.ts --out docs --plugin typedoc-github-theme","test":"jest","build":"tsc -p tsconfig.json && tsc -p tsconfig.esm.json","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"dcabal_25mh","email":"david.cabal@25mhealth.com"},"_resolved":"/tmp/39f718dc5e10b80e4c3501ece5ac14c4/25madisonhealth-turbo-scheduler-0.1.1.tgz","_integrity":"sha512-E3ghPfmO5nsZo6yt5occhGYBmIgzKSy4nJCZ/10mzLudTr+qh9roxY6HhantlPi+VvplF7VdgUOlb9fbqmQJNA==","repository":{"url":"git+https://github.com/25MH/turbo.git","type":"git","directory":"packages/sdk"},"_npmVersion":"10.8.2","description":"The official TypeScript SDK for interacting with the Turbo Scheduler API. Provides convenient methods for accessing all API endpoints with TypeScript typings.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"dayjs":"^1.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.3.4","typedoc":"^0.28.5","typescript":"^5.0.0","@types/jest":"^29.5.14","typedoc-github-theme":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/turbo-scheduler_0.1.1_1749228696511_0.2740686797578802","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@25madisonhealth/turbo-scheduler","version":"0.1.2","keywords":["sdk","api-client","turbo-scheduler","scheduling","healthcare","calendar","appointments","booking","typescript"],"author":{"name":"David Cabal & Ryan Frost","email":"david.cabal@25mhealth.com"},"license":"MIT","_id":"@25madisonhealth/turbo-scheduler@0.1.2","maintainers":[{"name":"ryan25mh","email":"ryan.macy@25mhealth.com"},{"name":"dcabal_25mh","email":"david.cabal@25mhealth.com"}],"homepage":"https://github.com/25MH/turbo/tree/main/packages/sdk","bugs":{"url":"https://github.com/25MH/turbo/issues"},"dist":{"shasum":"fd62fef470a94309f58e851ef29b901fe8a2c8de","tarball":"https://registry.npmjs.org/@25madisonhealth/turbo-scheduler/-/turbo-scheduler-0.1.2.tgz","fileCount":48,"integrity":"sha512-hasm9QiZJnKJo7DHiHGIED65WFtz+RWlBbqIMnxA9syyRaZBxhHafyH2CzuEpW7JAzblE//pF5/IQqTN1vojaA==","signatures":[{"sig":"MEUCIQCdgmmA2nIpgly7aU7pO/56950tunweRyD/wGOOmyo0qQIgCdS6VO0TYz3/Nn49CePDoqCn2gtSTcTmdJpyc+Rcw9g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93832},"main":"dist/index.js","_from":"file:25madisonhealth-turbo-scheduler-0.1.2.tgz","types":"dist/index.d.ts","module":"dist/esm/index.js","engines":{"node":">=16.0.0"},"scripts":{"docs":"typedoc src/index.ts --out docs --plugin typedoc-github-theme","test":"jest","build":"tsc -p tsconfig.json && tsc -p tsconfig.esm.json","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"dcabal_25mh","email":"david.cabal@25mhealth.com"},"_resolved":"/tmp/b1e31eeaf2faa8c1ef8b40125744b087/25madisonhealth-turbo-scheduler-0.1.2.tgz","_integrity":"sha512-hasm9QiZJnKJo7DHiHGIED65WFtz+RWlBbqIMnxA9syyRaZBxhHafyH2CzuEpW7JAzblE//pF5/IQqTN1vojaA==","repository":{"url":"git+https://github.com/25MH/turbo.git","type":"git","directory":"packages/sdk"},"_npmVersion":"10.8.2","description":"The official TypeScript SDK for interacting with the Turbo Scheduler API. Provides convenient methods for accessing all API endpoints with TypeScript typings.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"dayjs":"^1.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.3.4","typedoc":"^0.28.5","typescript":"^5.0.0","@types/jest":"^29.5.14","typedoc-github-theme":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/turbo-scheduler_0.1.2_1749228927978_0.008977152140816402","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-06-06T16:48:11.835Z","modified":"2026-06-16T18:06:12.648Z","0.1.0":"2025-06-06T16:48:12.102Z","0.1.1":"2025-06-06T16:51:36.674Z","0.1.2":"2025-06-06T16:55:28.170Z"},"bugs":{"url":"https://github.com/25MH/turbo/issues"},"author":{"name":"David Cabal & Ryan Frost","email":"david.cabal@25mhealth.com"},"license":"MIT","homepage":"https://github.com/25MH/turbo/tree/main/packages/sdk","keywords":["sdk","api-client","turbo-scheduler","scheduling","healthcare","calendar","appointments","booking","typescript"],"repository":{"url":"git+https://github.com/25MH/turbo.git","type":"git","directory":"packages/sdk"},"description":"The official TypeScript SDK for interacting with the Turbo Scheduler API. Provides convenient methods for accessing all API endpoints with TypeScript typings.","maintainers":[{"email":"ryan.frost@25mhealth.com","name":"rfrost3"},{"email":"ryan.macy@25mhealth.com","name":"ryan25mh"},{"email":"david.cabal@25mhealth.com","name":"dcabal_25mh"},{"email":"ryan.frost926@gmail.com","name":"rfrost2"},{"email":"roy.timor@25madison.com","name":"roytimor25m"}],"readme":"# Turbo Scheduler SDK\n\nThe official TypeScript SDK for interacting with the Turbo Scheduler API.\n\nThis SDK provides convenient methods for accessing all API endpoints, along with TypeScript typings for requests and responses, and utility functions for common tasks.\n\n## Installation\n\nYou can install the SDK using npm, pnpm, or yarn:\n\n**npm:**\n\n```bash\nnpm install @25madisonhealth/turbo-scheduler\n```\n\n**pnpm:**\n\n```bash\npnpm add @25madisonhealth/turbo-scheduler\n```\n\n**yarn:**\n\n```bash\nyarn add @25madisonhealth/turbo-scheduler\n```\n\n## Getting Started\n\n### Initialization\n\nFirst, import and instantiate the `TurboApiClient`, providing your API key. You can also optionally provide a custom `baseUrl` if you need to target a non-production environment (e.g., for local development or a staging server).\n\n```typescript\nimport { TurboApiClient } from '@25madisonhealth/turbo-scheduler';\n\nconst client = new TurboApiClient({\n  apiKey: 'YOUR_API_KEY_HERE', // Replace with your actual API key\n  // baseUrl: 'http://localhost:3001' // Optional: For local development\n});\n```\n\nThe client will automatically determine the correct base URL based on the `process.env.ENVIRONMENT` variable if `baseUrl` is not explicitly provided:\n\n- `local`: `http://localhost:3001`\n- `dev`: `https://dev-303703761.us-central1.run.app`\n- `prod` (or any other value/undefined): `https://prod-303703761.us-central1.run.app`\n\n### Making API Calls\n\nThe SDK methods are organized by resource. For example, to get account details:\n\n```typescript\nimport { TurboApiClient, Account, TurboApiError } from '@25madisonhealth/turbo-scheduler';\n\nconst client = new TurboApiClient({ apiKey: 'YOUR_API_KEY_HERE' });\n\nasync function main() {\n  try {\n    const myAccount: Account = await client.account.getAccount();\n    console.log('My Account:', myAccount);\n\n    // Example: Adding a user\n    const newUser = await client.user.addUser({ name: 'Jane Doe' });\n    console.log('New User:', newUser);\n  } catch (error) {\n    if (error instanceof TurboApiError) {\n      console.error('API Error:', error.message, 'Status:', error.status, 'Data:', error.data);\n    } else {\n      console.error('Generic Error:', error);\n    }\n  }\n}\n\nmain();\n```\n\n### Using Utilities\n\nThe SDK also exports utility functions. For example, `convertToLocalTime`:\n\n```typescript\nimport { convertToLocalTime } from '@25madisonhealth/turbo-scheduler';\n\n// Assuming you have an array of availability data from an API call\n// This data structure should match what convertToLocalTime expects\nconst availabilityDataFromApi = [\n  // ... your data from an endpoint like client.availability.getAllAvailability() ...\n  // Example:\n  // {\n  //   userId: 'user123',\n  //   availability: [\n  //     {\n  //       start: '2024-07-15T09:00:00.000Z', // UTC time from server\n  //       end: '2024-07-15T17:00:00.000Z',   // UTC time from server\n  //       timeZone: 'America/New_York',   // Original timezone\n  //       offset: -240                    // Original offset in minutes for that specific time\n  //     }\n  //   ]\n  // }\n];\n\nconst localAvailability = convertToLocalTime(availabilityDataFromApi);\nconsole.log('Availability in local time:', localAvailability);\n```\n\n**Note**: The `convertToLocalTime` function expects the input items to have `timeZone` and an `offset` (or `originalItemOffset`) property to correctly perform the \"sticky\" time conversion. Ensure your API responses used with this utility provide these fields.\n\n## API Documentation\n\nFor detailed information on all available SDK methods, parameters, and types, please refer to our [TypeDoc API Documentation](https://25mh.github.io/turbo/).\n\n## License\n\nThis SDK is MIT licensed.\n","readmeFilename":"README.md"}