@tillhub/schemas 6.104.0 → 6.108.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/CHANGELOG.md CHANGED
@@ -1,3 +1,43 @@
1
+ # [6.108.0](https://github.com/tillhub/schemas/compare/v6.107.0...v6.108.0) (2021-12-22)
2
+
3
+
4
+ ### Features
5
+
6
+ * **pricebooks:** Add Price Books to untrash ([#654](https://github.com/tillhub/schemas/issues/654)) ([d7850b5](https://github.com/tillhub/schemas/commit/d7850b5))
7
+
8
+ # [6.107.0](https://github.com/tillhub/schemas/compare/v6.106.0...v6.107.0) (2021-12-21)
9
+
10
+
11
+ ### Features
12
+
13
+ * **staffs:** Staff permissions from template instead of scopes ([#653](https://github.com/tillhub/schemas/issues/653)) ([821e7c5](https://github.com/tillhub/schemas/commit/821e7c5))
14
+
15
+ # [6.106.0](https://github.com/tillhub/schemas/compare/v6.105.0...v6.106.0) (2021-12-13)
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * **transactions:** items ([876dc02](https://github.com/tillhub/schemas/commit/876dc02))
21
+
22
+
23
+ ### Features
24
+
25
+ * **transactions:** legacy ([eb5ae77](https://github.com/tillhub/schemas/commit/eb5ae77))
26
+ * **transactions:** legacy ([910471b](https://github.com/tillhub/schemas/commit/910471b))
27
+
28
+ # [6.105.0](https://github.com/tillhub/schemas/compare/v6.104.0...v6.105.0) (2021-12-13)
29
+
30
+
31
+ ### Bug Fixes
32
+
33
+ * **abocard-systems:** fixes due to linter ([49ddbc3](https://github.com/tillhub/schemas/commit/49ddbc3))
34
+
35
+
36
+ ### Features
37
+
38
+ * **abocard:** Add "discount_type" and "selling_price_method" ([#649](https://github.com/tillhub/schemas/issues/649)) ([b2024de](https://github.com/tillhub/schemas/commit/b2024de))
39
+ * **prices:** add actual prices schema #API-1257 ([2260e72](https://github.com/tillhub/schemas/commit/2260e72)), closes [#API-1257](https://github.com/tillhub/schemas/issues/API-1257)
40
+
1
41
  # [6.104.0](https://github.com/tillhub/schemas/compare/v6.103.0...v6.104.0) (2021-12-07)
2
42
 
3
43
 
@@ -1,5 +1,6 @@
1
1
  const { oneOf } = require('../../helpers/payload-or-null')
2
2
  const baseObject = require('../../common/base')
3
+ const currencyAmount = require('../../common/currency_amount')
3
4
  const voucherSystemPropertiesFull = require('../voucher_systems/base')
4
5
 
5
6
  const {
@@ -231,7 +232,28 @@ const request = {
231
232
  description: 'Defines whether assigning a customer is required for creation actions within this system.',
232
233
  type: 'boolean',
233
234
  default: 'false'
234
- })
235
+ }),
236
+ discount_type: oneOf(
237
+ {
238
+ description: `
239
+ the calculation type of the discount of the Purpose Product (Zweck/Artikel).
240
+ * \`relative\` - stores discount absolute in currency of system
241
+ * \`absolute\` - stores relative discount value in percent (e.g.: 12,58%) to allow two decimals on percent if necessary (which wouldn’t be possible with a rate)
242
+ `,
243
+ type: 'string',
244
+ enum: ['relative', 'absolute']
245
+ },
246
+ { default: null }
247
+ ),
248
+ selling_price_method: {
249
+ description: `
250
+ "static", "dynamic" configuration of selling price.
251
+ * \`static\` - For "static" we use the current behavior of our implementation.
252
+ * \`dynamic\` - For "dynamic" we calculate the selling price according to this document
253
+ `,
254
+ enum: ['static', 'dynamic'],
255
+ default: 'static'
256
+ }
235
257
  }
236
258
 
237
259
  const response = {
@@ -239,7 +261,14 @@ const response = {
239
261
  deleted: {
240
262
  type: 'boolean'
241
263
  },
242
- ...request
264
+ ...request,
265
+ actual_amount: {
266
+ description: 'The calculated amount of abocard based on abocard system settings (discount_type, selling_price_method, etc.) and location',
267
+ ...oneOf({
268
+ ...currencyAmount
269
+ }),
270
+ default: null
271
+ }
243
272
  }
244
273
 
245
274
  module.exports = {
@@ -1,3 +1,5 @@
1
+ const { oneOf } = require('../../helpers/payload-or-null')
2
+
1
3
  module.exports = {
2
4
  firstname: {
3
5
  anyOf: [
@@ -210,6 +212,9 @@ module.exports = {
210
212
  }
211
213
  ]
212
214
  },
215
+ user_permission_template_id: oneOf({
216
+ type: 'string'
217
+ }),
213
218
  active: {
214
219
  type: 'boolean'
215
220
  },
@@ -35,6 +35,7 @@ module.exports.query = {
35
35
  'product_service_questions',
36
36
  'product_templates',
37
37
  'products_v1',
38
+ 'pricebooks',
38
39
  'promotions',
39
40
  'reasons',
40
41
  'regions',
@@ -31,6 +31,7 @@ module.exports.request = {
31
31
  'product_service_questions',
32
32
  'product_templates',
33
33
  'products_v1',
34
+ 'pricebooks',
34
35
  'promotions',
35
36
  'reasons',
36
37
  'regions',
@@ -384,7 +384,8 @@ const internalDiscounts = {
384
384
  'sconto',
385
385
  'item',
386
386
  'promotion',
387
- 'voucher'
387
+ 'voucher',
388
+ 'product_voucher'
388
389
  ]
389
390
  },
390
391
  {
@@ -159,6 +159,10 @@ module.exports.prices = {
159
159
  }
160
160
  }
161
161
  }
162
+ },
163
+ actual: {
164
+ query: require('./prices/actual/query'),
165
+ response: require('./prices/actual/response')
162
166
  }
163
167
  }
164
168
 
@@ -0,0 +1,34 @@
1
+ module.exports = {
2
+ $id: 'https://schemas.tillhub.com/v1/products.prices.actual.query.schema.json',
3
+ $schema: 'http://json-schema.org/draft-07/schema#',
4
+ additionalProperties: false,
5
+ type: 'object',
6
+ required: [
7
+ 'location'
8
+ ],
9
+ properties: {
10
+ product_id: {
11
+ description: 'Product ID (required if no "product_custom_id" provided)',
12
+ type: 'string',
13
+ format: 'uuid',
14
+ example: 'fd4bac62-937b-445f-b7bf-fb9e653de50f'
15
+ },
16
+ product_custom_id: {
17
+ description: 'Product custom ID',
18
+ type: 'string',
19
+ example: '936835 1234'
20
+ },
21
+ location: {
22
+ description: 'Product location',
23
+ type: 'string',
24
+ format: 'uuid',
25
+ example: '69ac1b92-7956-43d8-8620-e556299b5023'
26
+ },
27
+ quantity: {
28
+ description: 'Product quantity (to search among product scaled price embedded in product only)',
29
+ type: 'integer',
30
+ minimum: 0,
31
+ example: 3
32
+ }
33
+ }
34
+ }
@@ -0,0 +1,16 @@
1
+ const priceBookEntryBase = require('../book/entry').base
2
+
3
+ module.exports = {
4
+ $id: 'https://schemas.tillhub.com/v1/products.prices.actual.response.schema.json',
5
+ $schema: 'http://json-schema.org/draft-07/schema#',
6
+ additionalProperties: false,
7
+ type: 'object',
8
+ required: [
9
+ ],
10
+ properties: {
11
+ amount_net: priceBookEntryBase.amount_net,
12
+ amount_gross: priceBookEntryBase.amount_gross,
13
+ rate: priceBookEntryBase.rate,
14
+ currency: priceBookEntryBase.currency
15
+ }
16
+ }
@@ -88,7 +88,8 @@ module.exports = {
88
88
  'sconto',
89
89
  'item',
90
90
  'promotion',
91
- 'voucher'
91
+ 'voucher',
92
+ 'product_voucher'
92
93
  ]
93
94
  }),
94
95
  name: {
@@ -132,7 +133,9 @@ module.exports = {
132
133
  'item',
133
134
  'customer',
134
135
  'promotion',
135
- 'sconto'
136
+ 'sconto',
137
+ 'voucher',
138
+ 'product_voucher'
136
139
  ]
137
140
  },
138
141
  {
@@ -123,6 +123,10 @@ module.exports = {
123
123
  maxLength: 2048,
124
124
  description: 'Messages from voucher processing.'
125
125
  },
126
+ creation: oneOf({
127
+ type: 'object',
128
+ description: 'Client specified container to store created abocards and/or vouchers.'
129
+ }),
126
130
  type: {
127
131
  type: 'string',
128
132
  description: 'Mainly legacy support for Fleurop flows.',
@@ -136,7 +140,9 @@ module.exports = {
136
140
  'tillhub_create', // formerly 6
137
141
  'tillhub_recharge', // formerly 7
138
142
  'tillhub_reedeem', // formerly 8
139
- 'tillhub_percentage' // formerly 9
143
+ 'tillhub_percentage', // formerly 9
144
+ 'tillhub_product', // ...
145
+ 'tillhub_abocard_sell' // ...
140
146
  ]
141
147
  },
142
148
  status: {
@@ -285,7 +285,6 @@ module.exports = {
285
285
  })
286
286
  },
287
287
  discounts: {
288
- deprecated: true,
289
288
  ...oneOf({
290
289
  type: 'array',
291
290
  items: {
@@ -306,7 +305,8 @@ module.exports = {
306
305
  'sconto', // originated from rounding currencies that do not use a 0.01 physical unit, e.g. CHF
307
306
  'item', // discounts that can only be used per item
308
307
  'promotion', // originated from applying the outcome of a promotion
309
- 'voucher' // originated from applying a percentage voucher
308
+ 'voucher', // originated from applying a percentage voucher
309
+ 'product_voucher' // originated from applying a voucher bound to a product
310
310
  ],
311
311
  description: 'The group type of discount (type was taken)'
312
312
  },
@@ -410,6 +410,8 @@ module.exports = {
410
410
  'voucher_is_locked', // If is_voucher, indicates the locked state within the API
411
411
  'voucher_message', // If is_voucher, collected messages from voucher processing API calls
412
412
  'voucher_title', // If is_voucher, a currently not used custom title
413
+ 'voucher_linked_product', // If is_voucher and of type product, the id of the affected product
414
+ 'voucher_creation', // If is_voucher and it involves creation of vocuhers or abocards - a stringified JSON of the relevant contents
413
415
  /*
414
416
  the voucher_type enum:
415
417
  [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tillhub/schemas",
3
- "version": "6.104.0",
3
+ "version": "6.108.0",
4
4
  "private": false,
5
5
  "description": "All Tillhub API OpenAPI 3 compatible JSON Schemas.",
6
6
  "main": "./lib/index.js",