@atzentis/booking-sdk 0.1.8 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -40,18 +40,23 @@ __export(index_exports, {
40
40
  DistributionService: () => DistributionService,
41
41
  FinanceService: () => FinanceService,
42
42
  ForbiddenError: () => ForbiddenError,
43
+ GroupsService: () => GroupsService,
43
44
  GuestsService: () => GuestsService,
45
+ HousekeepingService: () => HousekeepingService,
44
46
  HttpClient: () => HttpClient,
47
+ NightAuditService: () => NightAuditService,
45
48
  NotFoundError: () => NotFoundError,
46
49
  PROPERTY_MODULES: () => PROPERTY_MODULES,
47
50
  PaymentError: () => PaymentError,
48
51
  PaymentsService: () => PaymentsService,
49
52
  PropertiesService: () => PropertiesService,
50
53
  RateLimitError: () => RateLimitError,
54
+ RatePlansService: () => RatePlansService,
51
55
  SPACE_STATUSES: () => SPACE_STATUSES,
52
56
  SPACE_TYPES: () => SPACE_TYPES,
53
57
  ServerError: () => ServerError,
54
58
  SpacesService: () => SpacesService,
59
+ StaffService: () => StaffService,
55
60
  TimeoutError: () => TimeoutError,
56
61
  VERSION: () => VERSION,
57
62
  ValidationError: () => ValidationError,
@@ -1326,6 +1331,94 @@ var FinanceService = class extends BaseService {
1326
1331
  if (params.propertyId !== void 0) query.propertyId = params.propertyId;
1327
1332
  return this._get(this._buildPath("accounting", "vat"), query);
1328
1333
  }
1334
+ // ---------------------------------------------------------------------------
1335
+ // POS Bridge operations (P13)
1336
+ // ---------------------------------------------------------------------------
1337
+ /** Post a POS charge to a guest folio */
1338
+ folioPost(input) {
1339
+ return this._post(this._buildPath("folio-post"), input);
1340
+ }
1341
+ /** List POS charges on a folio */
1342
+ listFolioPostCharges(folioId, params) {
1343
+ if (!params) {
1344
+ return this._get(this._buildPath("folio-post", folioId));
1345
+ }
1346
+ const query = {};
1347
+ if (params.posTerminalId !== void 0) query.posTerminalId = params.posTerminalId;
1348
+ if (params.from !== void 0) query.from = params.from;
1349
+ if (params.to !== void 0) query.to = params.to;
1350
+ if (params.limit !== void 0) query.limit = params.limit;
1351
+ if (params.cursor !== void 0) query.cursor = params.cursor;
1352
+ return this._get(this._buildPath("folio-post", folioId), query);
1353
+ }
1354
+ };
1355
+
1356
+ // src/services/groups.ts
1357
+ var GroupsService = class extends BaseService {
1358
+ constructor() {
1359
+ super(...arguments);
1360
+ this.basePath = "/booking/v1/groups";
1361
+ }
1362
+ // ---------------------------------------------------------------------------
1363
+ // Group CRUD
1364
+ // ---------------------------------------------------------------------------
1365
+ /** Create a group booking */
1366
+ create(input) {
1367
+ return this._post(this.basePath, input);
1368
+ }
1369
+ /** Get a group booking by ID */
1370
+ get(groupId) {
1371
+ return this._get(this._buildPath(groupId));
1372
+ }
1373
+ /** List group bookings with filters */
1374
+ list(params) {
1375
+ const query = {};
1376
+ query.propertyId = params.propertyId;
1377
+ if (params.status !== void 0) {
1378
+ query.status = Array.isArray(params.status) ? params.status.join(",") : params.status;
1379
+ }
1380
+ if (params.type !== void 0) {
1381
+ query.type = Array.isArray(params.type) ? params.type.join(",") : params.type;
1382
+ }
1383
+ if (params.search !== void 0) query.search = params.search;
1384
+ if (params.limit !== void 0) query.limit = params.limit;
1385
+ if (params.cursor !== void 0) query.cursor = params.cursor;
1386
+ return this._get(this.basePath, query);
1387
+ }
1388
+ /** Update a group booking */
1389
+ update(groupId, input) {
1390
+ return this._patch(this._buildPath(groupId), input);
1391
+ }
1392
+ /** Delete a group booking */
1393
+ delete(groupId) {
1394
+ return this._delete(this._buildPath(groupId));
1395
+ }
1396
+ // ---------------------------------------------------------------------------
1397
+ // Block management
1398
+ // ---------------------------------------------------------------------------
1399
+ /** Create a room block for a group */
1400
+ createBlock(groupId, input) {
1401
+ return this._post(this._buildPath(groupId, "blocks"), input);
1402
+ }
1403
+ /** List blocks for a group */
1404
+ listBlocks(groupId) {
1405
+ return this._get(this._buildPath(groupId, "blocks"));
1406
+ }
1407
+ // ---------------------------------------------------------------------------
1408
+ // Pickup, release, and folio
1409
+ // ---------------------------------------------------------------------------
1410
+ /** Get pickup tracking data for a group */
1411
+ getPickup(groupId) {
1412
+ return this._get(this._buildPath(groupId, "pickup"));
1413
+ }
1414
+ /** Release blocks back to inventory */
1415
+ release(groupId, input) {
1416
+ return this._post(this._buildPath(groupId, "release"), input ?? {});
1417
+ }
1418
+ /** Create a master folio for a group */
1419
+ createFolio(groupId, input) {
1420
+ return this._post(this._buildPath(groupId, "folio"), input ?? {});
1421
+ }
1329
1422
  };
1330
1423
 
1331
1424
  // src/services/guests.ts
@@ -1607,6 +1700,89 @@ var GuestsService = class extends BaseService {
1607
1700
  }
1608
1701
  };
1609
1702
 
1703
+ // src/services/housekeeping.ts
1704
+ var HousekeepingService = class extends BaseService {
1705
+ constructor() {
1706
+ super(...arguments);
1707
+ this.basePath = "/operations/v1/housekeeping";
1708
+ }
1709
+ // ---------------------------------------------------------------------------
1710
+ // Board and space status
1711
+ // ---------------------------------------------------------------------------
1712
+ /** Get the housekeeping board with optional filters */
1713
+ getBoard(params) {
1714
+ if (!params) return this._get(this._buildPath("board"));
1715
+ const query = {};
1716
+ if (params.propertyId !== void 0) query.propertyId = params.propertyId;
1717
+ if (params.floor !== void 0) query.floor = params.floor;
1718
+ if (params.status !== void 0) query.status = params.status;
1719
+ if (params.assignedTo !== void 0) query.assignedTo = params.assignedTo;
1720
+ return this._get(this._buildPath("board"), query);
1721
+ }
1722
+ /** Update the housekeeping status of a space */
1723
+ updateSpaceStatus(spaceId, input) {
1724
+ return this._patch(this._buildPath("spaces", spaceId), input);
1725
+ }
1726
+ // ---------------------------------------------------------------------------
1727
+ // Task CRUD
1728
+ // ---------------------------------------------------------------------------
1729
+ /** Create a housekeeping task */
1730
+ createTask(input) {
1731
+ return this._post(this._buildPath("tasks"), input);
1732
+ }
1733
+ /** List housekeeping tasks with optional filters */
1734
+ listTasks(params) {
1735
+ if (!params) return this._get(this._buildPath("tasks"));
1736
+ const query = {};
1737
+ if (params.spaceId !== void 0) query.spaceId = params.spaceId;
1738
+ if (params.status !== void 0) query.status = params.status;
1739
+ if (params.type !== void 0) query.type = params.type;
1740
+ if (params.assignedTo !== void 0) query.assignedTo = params.assignedTo;
1741
+ if (params.priority !== void 0) query.priority = params.priority;
1742
+ if (params.limit !== void 0) query.limit = params.limit;
1743
+ if (params.cursor !== void 0) query.cursor = params.cursor;
1744
+ return this._get(this._buildPath("tasks"), query);
1745
+ }
1746
+ /** Update a housekeeping task */
1747
+ updateTask(taskId, input) {
1748
+ return this._patch(this._buildPath("tasks", taskId), input);
1749
+ }
1750
+ };
1751
+
1752
+ // src/services/night-audit.ts
1753
+ var NightAuditService = class extends BaseService {
1754
+ constructor() {
1755
+ super(...arguments);
1756
+ this.basePath = "/operations/v1/night-audit";
1757
+ }
1758
+ // ---------------------------------------------------------------------------
1759
+ // Run and history
1760
+ // ---------------------------------------------------------------------------
1761
+ /** Run a night audit for a property */
1762
+ run(input) {
1763
+ return this._post(this._buildPath("run"), input);
1764
+ }
1765
+ /** Get night audit history with optional filters */
1766
+ getHistory(params) {
1767
+ if (!params) return this._get(this._buildPath("history"));
1768
+ const query = {};
1769
+ if (params.propertyId !== void 0) query.propertyId = params.propertyId;
1770
+ if (params.status !== void 0) query.status = params.status;
1771
+ if (params.fromDate !== void 0) query.fromDate = params.fromDate;
1772
+ if (params.toDate !== void 0) query.toDate = params.toDate;
1773
+ if (params.limit !== void 0) query.limit = params.limit;
1774
+ if (params.cursor !== void 0) query.cursor = params.cursor;
1775
+ return this._get(this._buildPath("history"), query);
1776
+ }
1777
+ // ---------------------------------------------------------------------------
1778
+ // Report
1779
+ // ---------------------------------------------------------------------------
1780
+ /** Get the detailed report for a completed night audit */
1781
+ getReport(auditId) {
1782
+ return this._get(this._buildPath(auditId, "report"));
1783
+ }
1784
+ };
1785
+
1610
1786
  // src/services/payments.ts
1611
1787
  var PaymentsService = class extends BaseService {
1612
1788
  constructor() {
@@ -1775,6 +1951,100 @@ var PropertiesService = class extends BaseService {
1775
1951
  }
1776
1952
  };
1777
1953
 
1954
+ // src/services/rate-plans.ts
1955
+ var RatePlansService = class extends BaseService {
1956
+ constructor() {
1957
+ super(...arguments);
1958
+ this.basePath = "/rate/v1";
1959
+ }
1960
+ // ---------------------------------------------------------------------------
1961
+ // Rate plan CRUD
1962
+ // ---------------------------------------------------------------------------
1963
+ /** List rate plans with optional filters */
1964
+ list(params) {
1965
+ if (!params) return this._get(this._buildPath("plans"));
1966
+ const query = {};
1967
+ if (params.propertyId !== void 0) query.propertyId = params.propertyId;
1968
+ if (params.categoryId !== void 0) query.categoryId = params.categoryId;
1969
+ if (params.status !== void 0) query.status = params.status;
1970
+ if (params.limit !== void 0) query.limit = params.limit;
1971
+ if (params.cursor !== void 0) query.cursor = params.cursor;
1972
+ return this._get(this._buildPath("plans"), query);
1973
+ }
1974
+ /** Get a rate plan by ID */
1975
+ get(planId) {
1976
+ return this._get(this._buildPath("plans", planId));
1977
+ }
1978
+ /** Create a new rate plan */
1979
+ create(input) {
1980
+ return this._post(this._buildPath("plans"), input);
1981
+ }
1982
+ /** Update a rate plan */
1983
+ update(planId, input) {
1984
+ return this._patch(this._buildPath("plans", planId), input);
1985
+ }
1986
+ /** Delete a rate plan */
1987
+ delete(planId) {
1988
+ return this._delete(this._buildPath("plans", planId));
1989
+ }
1990
+ // ---------------------------------------------------------------------------
1991
+ // Rate period management
1992
+ // ---------------------------------------------------------------------------
1993
+ /** List rate periods for a plan */
1994
+ listPeriods(planId, params) {
1995
+ if (!params) {
1996
+ return this._get(this._buildPath("plans", planId, "periods"));
1997
+ }
1998
+ const query = {};
1999
+ if (params.fromDate !== void 0) query.fromDate = params.fromDate;
2000
+ if (params.toDate !== void 0) query.toDate = params.toDate;
2001
+ if (params.limit !== void 0) query.limit = params.limit;
2002
+ if (params.cursor !== void 0) query.cursor = params.cursor;
2003
+ return this._get(this._buildPath("plans", planId, "periods"), query);
2004
+ }
2005
+ /** Get a rate period by ID */
2006
+ getPeriod(planId, periodId) {
2007
+ return this._get(this._buildPath("plans", planId, "periods", periodId));
2008
+ }
2009
+ /** Create a rate period */
2010
+ createPeriod(planId, input) {
2011
+ return this._post(this._buildPath("plans", planId, "periods"), input);
2012
+ }
2013
+ /** Update a rate period */
2014
+ updatePeriod(planId, periodId, input) {
2015
+ return this._patch(this._buildPath("plans", planId, "periods", periodId), input);
2016
+ }
2017
+ // ---------------------------------------------------------------------------
2018
+ // Restrictions
2019
+ // ---------------------------------------------------------------------------
2020
+ /** Get restrictions for a rate plan */
2021
+ getRestrictions(planId) {
2022
+ return this._get(this._buildPath("plans", planId, "restrictions"));
2023
+ }
2024
+ /** Update restrictions for a rate plan */
2025
+ updateRestrictions(planId, input) {
2026
+ return this._patch(this._buildPath("plans", planId, "restrictions"), input);
2027
+ }
2028
+ // ---------------------------------------------------------------------------
2029
+ // Price calculation
2030
+ // ---------------------------------------------------------------------------
2031
+ /** Calculate price for a stay */
2032
+ calculate(input) {
2033
+ return this._post(this._buildPath("calculate"), input);
2034
+ }
2035
+ // ---------------------------------------------------------------------------
2036
+ // Portfolio operations
2037
+ // ---------------------------------------------------------------------------
2038
+ /** Push rates to portfolio properties */
2039
+ pushToPortfolio(input) {
2040
+ return this._post(this._buildPath("portfolio", "push"), input);
2041
+ }
2042
+ /** Compare rates across portfolio properties */
2043
+ comparePortfolioRates(input) {
2044
+ return this._post(this._buildPath("portfolio", "compare"), input);
2045
+ }
2046
+ };
2047
+
1778
2048
  // src/services/spaces.ts
1779
2049
  var SpacesService = class extends BaseService {
1780
2050
  constructor() {
@@ -1904,6 +2174,69 @@ var SpacesService = class extends BaseService {
1904
2174
  }
1905
2175
  };
1906
2176
 
2177
+ // src/services/staff.ts
2178
+ var StaffService = class extends BaseService {
2179
+ constructor() {
2180
+ super(...arguments);
2181
+ this.basePath = "/operations/v1/staff";
2182
+ }
2183
+ // ---------------------------------------------------------------------------
2184
+ // Staff CRUD
2185
+ // ---------------------------------------------------------------------------
2186
+ /** Create a staff member */
2187
+ create(input) {
2188
+ return this._post(this.basePath, input);
2189
+ }
2190
+ /** Get a staff member by ID */
2191
+ get(staffId) {
2192
+ return this._get(this._buildPath(staffId));
2193
+ }
2194
+ /** List staff members with optional filters */
2195
+ list(params) {
2196
+ const query = {};
2197
+ query.propertyId = params.propertyId;
2198
+ if (params.department !== void 0) {
2199
+ query.department = Array.isArray(params.department) ? params.department.join(",") : params.department;
2200
+ }
2201
+ if (params.role !== void 0) {
2202
+ query.role = Array.isArray(params.role) ? params.role.join(",") : params.role;
2203
+ }
2204
+ if (params.status !== void 0) query.status = params.status;
2205
+ if (params.search !== void 0) query.search = params.search;
2206
+ if (params.limit !== void 0) query.limit = params.limit;
2207
+ if (params.cursor !== void 0) query.cursor = params.cursor;
2208
+ return this._get(this.basePath, query);
2209
+ }
2210
+ /** Update a staff member */
2211
+ update(staffId, input) {
2212
+ return this._patch(this._buildPath(staffId), input);
2213
+ }
2214
+ /** Delete a staff member */
2215
+ delete(staffId) {
2216
+ return this._delete(this._buildPath(staffId));
2217
+ }
2218
+ // ---------------------------------------------------------------------------
2219
+ // Shift management
2220
+ // ---------------------------------------------------------------------------
2221
+ /** Create a shift for a staff member */
2222
+ createShift(staffId, input) {
2223
+ return this._post(this._buildPath(staffId, "shifts"), input);
2224
+ }
2225
+ /** List shifts for a staff member */
2226
+ listShifts(staffId, params) {
2227
+ if (!params) return this._get(this._buildPath(staffId, "shifts"));
2228
+ const query = {};
2229
+ if (params.startDate !== void 0) query.startDate = params.startDate;
2230
+ if (params.endDate !== void 0) query.endDate = params.endDate;
2231
+ if (params.shiftType !== void 0) {
2232
+ query.shiftType = Array.isArray(params.shiftType) ? params.shiftType.join(",") : params.shiftType;
2233
+ }
2234
+ if (params.limit !== void 0) query.limit = params.limit;
2235
+ if (params.cursor !== void 0) query.cursor = params.cursor;
2236
+ return this._get(this._buildPath(staffId, "shifts"), query);
2237
+ }
2238
+ };
2239
+
1907
2240
  // src/client.ts
1908
2241
  var BookingClient = class {
1909
2242
  constructor(config) {
@@ -1941,11 +2274,26 @@ var BookingClient = class {
1941
2274
  this._finance ?? (this._finance = new FinanceService(this.httpClient));
1942
2275
  return this._finance;
1943
2276
  }
2277
+ /** Groups service — lazy-initialized on first access */
2278
+ get groups() {
2279
+ this._groups ?? (this._groups = new GroupsService(this.httpClient));
2280
+ return this._groups;
2281
+ }
1944
2282
  /** Guests service — lazy-initialized on first access */
1945
2283
  get guests() {
1946
2284
  this._guests ?? (this._guests = new GuestsService(this.httpClient));
1947
2285
  return this._guests;
1948
2286
  }
2287
+ /** Housekeeping service — lazy-initialized on first access */
2288
+ get housekeeping() {
2289
+ this._housekeeping ?? (this._housekeeping = new HousekeepingService(this.httpClient));
2290
+ return this._housekeeping;
2291
+ }
2292
+ /** Night audit service — lazy-initialized on first access */
2293
+ get nightAudit() {
2294
+ this._nightAudit ?? (this._nightAudit = new NightAuditService(this.httpClient));
2295
+ return this._nightAudit;
2296
+ }
1949
2297
  /** Payments service — lazy-initialized on first access */
1950
2298
  get payments() {
1951
2299
  this._payments ?? (this._payments = new PaymentsService(this.httpClient));
@@ -1956,6 +2304,11 @@ var BookingClient = class {
1956
2304
  this._properties ?? (this._properties = new PropertiesService(this.httpClient));
1957
2305
  return this._properties;
1958
2306
  }
2307
+ /** Rate plans service — lazy-initialized on first access */
2308
+ get ratePlans() {
2309
+ this._ratePlans ?? (this._ratePlans = new RatePlansService(this.httpClient));
2310
+ return this._ratePlans;
2311
+ }
1959
2312
  /** Categories service — lazy-initialized on first access */
1960
2313
  get categories() {
1961
2314
  this._categories ?? (this._categories = new CategoriesService(this.httpClient));
@@ -1966,6 +2319,11 @@ var BookingClient = class {
1966
2319
  this._spaces ?? (this._spaces = new SpacesService(this.httpClient));
1967
2320
  return this._spaces;
1968
2321
  }
2322
+ /** Staff service — lazy-initialized on first access */
2323
+ get staff() {
2324
+ this._staff ?? (this._staff = new StaffService(this.httpClient));
2325
+ return this._staff;
2326
+ }
1969
2327
  setApiKey(key) {
1970
2328
  if (!key || key.trim().length === 0) {
1971
2329
  throw new Error("apiKey must be a non-empty string");
@@ -2087,18 +2445,23 @@ var VERSION = "0.1.0";
2087
2445
  DistributionService,
2088
2446
  FinanceService,
2089
2447
  ForbiddenError,
2448
+ GroupsService,
2090
2449
  GuestsService,
2450
+ HousekeepingService,
2091
2451
  HttpClient,
2452
+ NightAuditService,
2092
2453
  NotFoundError,
2093
2454
  PROPERTY_MODULES,
2094
2455
  PaymentError,
2095
2456
  PaymentsService,
2096
2457
  PropertiesService,
2097
2458
  RateLimitError,
2459
+ RatePlansService,
2098
2460
  SPACE_STATUSES,
2099
2461
  SPACE_TYPES,
2100
2462
  ServerError,
2101
2463
  SpacesService,
2464
+ StaffService,
2102
2465
  TimeoutError,
2103
2466
  VERSION,
2104
2467
  ValidationError,