@peektravel/app-utilities 0.7.4 → 0.8.0

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/llms.txt CHANGED
@@ -108,6 +108,12 @@ final authority and may still reject the request.
108
108
  carries `minPrice`/`maxPrice` (`PricingMoney | null`, `null` for add-ons and
109
109
  when Peek reports no range); every `PricingMoney` includes a `displayPrice`
110
110
  string (e.g. `"$50.00"`) on values read back from the gateway.
111
+ `getCustomQuestions(productId)` returns an activity's operator-configured
112
+ custom questions as `CustomQuestion[]` — each with `id`, `order`, `isRequired`,
113
+ `questionText`, `hintText`, `questionType` (`CHECK_BOX`/`TEXT`/`LOCATION`/
114
+ `SELECT_ONE`/…), `internalLabel`, `perGuest`, `defaultValue`, and
115
+ `options: CustomQuestionOption[]` (`{ id, order, value }`, empty for
116
+ free-text/checkbox questions). Question definitions, not answers — no PII.
111
117
  - `getAccountUserService()` — `getAll()`, `getById(userId)`
112
118
  - `getResourcePoolService()` — `getAll(mode?)`
113
119
  - `getTimeslotService()` — `getForDay(productId, date, filter?)`, `getById(id)`,
@@ -158,8 +164,15 @@ stay internal.
158
164
  - Payment source ids: `ps_…` or `cash/cash` | `custom/other` | `custom/voucher`.
159
165
  Payment ids (refunds): `pmt_…`.
160
166
  - Idempotency key required on `makePayment`, `refund`, `create({markAsPaid:true})`.
161
- - `create()` uses pre-resolved ids only (resolve via product + availability
162
- services); no free-text matching.
167
+ - `create()` uses pre-resolved ids for product/ticket/time (resolve via product
168
+ + availability services); no free-text matching there. The one exception is
169
+ `CreateBookingInput.customQuestionAnswers?: CustomQuestionAnswerInput[]`
170
+ (`{questionIdOrText, value}`): when supplied, the activity's custom questions
171
+ are fetched and each answer is matched (id or lenient text) and validated by
172
+ type (checkbox `yes/no/true/false`; text verbatim; select-one/location by
173
+ option id or lenient label) before the quote is made — an unmatched/ambiguous
174
+ question or option, or an invalid checkbox value, fails creation up front.
175
+ Per-guest questions are not yet supported (answering one fails creation).
163
176
 
164
177
  ## Errors
165
178
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peektravel/app-utilities",
3
- "version": "0.7.4",
3
+ "version": "0.8.0",
4
4
  "description": "GraphQL JS mapping utilities extracted from the Peek Pro Autopilot connector.",
5
5
  "license": "MIT",
6
6
  "repository": {