@revolugo/common 6.9.6 → 6.9.7-beta.1

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.
Files changed (63) hide show
  1. package/package.json +12 -7
  2. package/src/cancellation-policies.test.ts +12 -9
  3. package/src/cancellation-policies.ts +31 -26
  4. package/src/constants/countries.ts +0 -2515
  5. package/src/constants/currencies.ts +0 -1812
  6. package/src/constants/environment.ts +1 -0
  7. package/src/constants/hotel-offers.ts +2 -0
  8. package/src/constants/hotel.ts +3 -0
  9. package/src/constants/locales.ts +6 -0
  10. package/src/constants/measurement.ts +1 -0
  11. package/src/constants/time.ts +1 -0
  12. package/src/countries/constants.ts +2518 -0
  13. package/src/countries/index.ts +7 -0
  14. package/src/currencies/index.ts +1817 -0
  15. package/src/models/paginated-queries.ts +1 -0
  16. package/src/types/country.ts +1 -1
  17. package/src/types/elements/amenity.ts +266 -0
  18. package/src/types/elements/bed.ts +20 -0
  19. package/src/types/elements/booking-policy.ts +80 -0
  20. package/src/types/elements/booking.ts +236 -0
  21. package/src/types/elements/cancellation-policy.ts +20 -0
  22. package/src/types/elements/contact-person.ts +158 -0
  23. package/src/types/elements/currency.ts +3 -0
  24. package/src/types/elements/event-metadata.ts +38 -0
  25. package/src/types/elements/event.ts +14 -0
  26. package/src/types/elements/hotel-image.ts +44 -0
  27. package/src/types/elements/hotel-images.ts +47 -0
  28. package/src/types/elements/hotel-offer-request.ts +82 -0
  29. package/src/types/elements/hotel-offer.ts +208 -0
  30. package/src/types/elements/hotel-review-rating.ts +14 -0
  31. package/src/types/elements/hotel-room-offer-package-type.ts +8 -0
  32. package/src/types/elements/hotel-room-offer-request.ts +77 -0
  33. package/src/types/elements/hotel-room-offer-type.ts +6 -0
  34. package/src/types/elements/hotel-room-offer.ts +192 -0
  35. package/src/types/elements/hotel-room.ts +102 -0
  36. package/src/types/elements/hotel-rooming-list.ts +49 -0
  37. package/src/types/elements/hotel.ts +184 -0
  38. package/src/types/elements/index.ts +22 -0
  39. package/src/types/elements/invoice.ts +21 -0
  40. package/src/types/elements/payment-method.ts +159 -0
  41. package/src/types/elements/source-market.ts +247 -0
  42. package/src/types/elements/tag.ts +32 -0
  43. package/src/types/elements/tax.ts +52 -0
  44. package/src/types/elements/travel-times.ts +45 -0
  45. package/src/types/index.ts +1 -0
  46. package/src/utils/array-tools.ts +3 -2
  47. package/src/utils/case-transformers.ts +1 -0
  48. package/src/utils/colors.ts +4 -4
  49. package/src/utils/currency.ts +30 -18
  50. package/src/utils/dates.ts +6 -10
  51. package/src/utils/debounce.ts +2 -2
  52. package/src/utils/find-unique-keys.ts +2 -2
  53. package/src/utils/get-guest-count.ts +1 -0
  54. package/src/utils/index.ts +1 -1
  55. package/src/utils/lang-default-fallbacks.ts +1 -1
  56. package/src/utils/math.ts +3 -3
  57. package/src/utils/numbers.ts +8 -7
  58. package/src/utils/object-tools.ts +60 -2
  59. package/src/utils/poller.ts +1 -0
  60. package/src/utils/random.ts +12 -0
  61. package/src/utils/strings.ts +5 -2
  62. package/src/utils/validators.ts +1 -0
  63. package/src/utils/countries.ts +0 -4
@@ -0,0 +1,192 @@
1
+ import type { BreakfastOptionType } from '#constants'
2
+ import type { CancellationPolicy } from './cancellation-policy.ts'
3
+ import type { CurrencyType } from './currency.ts'
4
+ import type { HotelRoomOfferPackageType } from './hotel-room-offer-package-type.ts'
5
+ import type { HotelRoomOfferType } from './hotel-room-offer-type.ts'
6
+ import type { HotelRoom } from './hotel-room.ts'
7
+ import type { SourceMarket } from './source-market.ts'
8
+ import type { Tag } from './tag.ts'
9
+ import type { Tax } from './tax.ts'
10
+
11
+ /**
12
+ * Description of the Hotel Room Offer.
13
+ * @export
14
+ * @interface HotelRoomOffer
15
+ */
16
+ export interface HotelRoomOffer {
17
+ /**
18
+ * Quantity of breakfast per night included in the given **Hotel Room Offer**
19
+ * @type {number}
20
+ * @memberof HotelRoomOffer
21
+ */
22
+ breakfastCount?: number | null
23
+ /**
24
+ * This parameter describes the breakfast option for the given **Hotel Room Offer**:
25
+ * - **breakfast_option = "INCLUDED"**:
26
+ * 1. When **HotelRoomOffer.type = "PACKAGE"**:
27
+ * the returned **Hotel Room Offer** includes breakfast for the requested **guest count (adult_count + children over 3)**, you cannot choose otherwise, and the returned **price** already includes it,
28
+ * 2. When **HotelRoomOffer.type = "HOTEL_ROOM"**:
29
+ * the returned **Hotel Room Offer** includes breakfast for the **Hotel Room Offer** maximum occupancy, you cannot choose otherwise, and the returned **price** already includes it,
30
+ * -**breakfast_option = "OPTIONAL"**: the returned **Hotel Room Offer** does not include by default the breakfast and so does the returned **price**, but you'll be able to let your customers choose to add it to their booking. In that case, a **breakfast_price_per_guest_per_night** expressed in the requested **currency** will be available in the returned data, and you'll be to perform one of the two following actions:
31
+ * - Call **[Create Hotel Room Offer endpoint](/v1/documentation#operation/postV1Hotel_room_offers)** and get a fresh **Hotel Room Offer** with updated price
32
+ * - Compute and display the total price of the **Hotel Room Offer** related to the guest_count and night count requested including extra breafasts.,
33
+ * - **breakfast_option = "NOT_INCLUDED"**: the returned **Hotel Room Offer** does not include breakfast and you cannot choose otherwise through API. Guest may still be able to add extra breakfast option(s) at the time of check-in directly at the hotel's reception.
34
+ * @type {string}
35
+ * @memberof HotelRoomOffer
36
+ */
37
+ breakfastOption: BreakfastOptionType
38
+ /**
39
+ * Price of breakfast per guest per night for the given **Hotel Room Offer**, expressed in the requested **currency**, when applicable.
40
+ *
41
+ * <div style="background-color: #ffffef; padding: 20px; border: 1px solid lightgrey; border-radius: 5px;"><b style="color: red; margin-top: 10px;">🛑 DEPRECATED.</b>
42
+ *
43
+ * <b style="color: orange;">Field renamed to "breakfast_unit_price"</div>
44
+ * @type {number}
45
+ * @memberof HotelRoomOffer
46
+ */
47
+ breakfastPricePerGuestPerNight?: number | null
48
+ /**
49
+ * Price of breakfast per guest per night for the given **Hotel Room Offer**, expressed in the requested **currency**, when applicable.
50
+ * @type {number}
51
+ * @memberof HotelRoomOffer
52
+ */
53
+ breakfastUnitPrice?: number | null
54
+ /**
55
+ * The list of cancellation policies applied to the given **Hotel Room Offer**.
56
+ * @type {Array<CancellationPolicy>}
57
+ * @memberof HotelRoomOffer
58
+ */
59
+ cancellationPolicies: CancellationPolicy[]
60
+ /**
61
+ * When **type = HOTEL_ROOM**: this parameters represents the available quantity for the given **Hotel Room Offer**.
62
+ * When **type = PACKAGE**: count = 1 always.
63
+ * @type {number}
64
+ * @memberof HotelRoomOffer
65
+ */
66
+ count?: number | null
67
+ /**
68
+ *
69
+ * @type {CurrencyBookingApiClient}
70
+ * @memberof HotelRoomOffer
71
+ */
72
+ currency: CurrencyType
73
+ /**
74
+ * id of the associated Hotel.
75
+ * @type {string}
76
+ * @memberof HotelRoomOffer
77
+ */
78
+ hotelId: string
79
+ /**
80
+ * List of Hotel Rooms included in the Hotel Room Offer.
81
+ * @type {Array<HotelRoom>}
82
+ * @memberof HotelRoomOffer
83
+ */
84
+ hotelRooms: HotelRoom[]
85
+ /**
86
+ * Hotel Room Offer id.
87
+ * @type {string}
88
+ * @memberof HotelRoomOffer
89
+ */
90
+ id?: string
91
+ /**
92
+ * An **Hotel Room Offer** of type **PACKAGE** can be of **4 types**, described by **package_type** parameter:
93
+ *
94
+ * - **CHEAPEST** : The cheapest combination of hotel rooms that can accommodate the requested guest count. Note that it may not match the requested room count (e.g., 4 guests and 2 rooms requested may return an hotel room package including only 1 room with an occupancy of 4).
95
+ *
96
+ * -**MATCHING_ROOM_COUNT** : the cheapest hotel room package that can accommodate the given guest count and that matches exactly the room count given.
97
+ *
98
+ * -**BEST_MATCH** : The cheapest hotel room package that matches the given room and guest count with a balanced distribution of guests across the rooms (e.g.; 8 guests and 3 rooms requested may return an **Hotel Room Offer** package including 2 rooms with an occupancy of 3 on each one and 1 room with an occupancy of 2).
99
+ *
100
+ * -**REGULAR** : any other available package.
101
+ * @type {string}
102
+ * @memberof HotelRoomOffer
103
+ */
104
+ packageType?: HotelRoomOfferPackageType
105
+ /**
106
+ * Price with taxes NOT INCLUDED of the given **Hotel Room Offer** including breakfast(s) when applicable, expressed in the requested **currency**.
107
+ * @type {number}
108
+ * @memberof HotelRoomOffer
109
+ */
110
+ price: number
111
+ /**
112
+ *
113
+ * @type {SourceMarket}
114
+ * @memberof HotelRoomOffer
115
+ */
116
+ sourceMarket: SourceMarket
117
+ /**
118
+ *
119
+ * @type {Array<Tag>}
120
+ * @memberof HotelRoomOffer
121
+ */
122
+ tags?: Tag[]
123
+ /**
124
+ * Price of the given **Hotel Room Offer** including breakfast(s) when applicable, and including all taxes from returned **taxes** list parameter expressed in the requested **currency**.
125
+ *
126
+ * This data is not returned for a **Hotel Room Offer** of type **HOTEL_ROOM**, you'll need to compute and display the actual tax included price of the final **Hotel Room** package corresponding to the guest count and night count requested, or make a call to the **[Create Hotel Room Offer](/v1/documentation#operation/postV1Hotel_room_offers)** endpoint in order to get a valid and bookable **Hotel Room Offer** where **type = PACKAGE** based on a packaged list of **Hotel Room Offers** of type **HOTEL_ROOM**.
127
+ * @type {number}
128
+ * @memberof HotelRoomOffer
129
+ */
130
+ taxIncludedPrice: number
131
+ /**
132
+ *
133
+ * @type {Array<Tax>}
134
+ * @memberof HotelRoomOffer
135
+ */
136
+ taxes?: Tax[]
137
+ /**
138
+ * Hotel Room Offer type.
139
+ *
140
+ * **Hotel Room Offers** with **type = "PACKAGE"** are **Hotel Room Offers** that are already bookable and you'll be able to follow the next step of the **Booking Flow** calling **[Create Booking Policies endpoint](/v1/documentation#operation/postV1Booking_policies)**.
141
+ *
142
+ * Otherwise, you'll be able to create a new **Hotel Room Offer** with **type = "PACKAGE"** from multiple **Hotel Room Offers** with **type = "HOTEL_ROOM"**. See **[Create Hotel Room Offer endpoint](/v1/documentation#operation/postV1Hotel_room_offers)** for details.
143
+ * @type {string}
144
+ * @memberof HotelRoomOffer
145
+ */
146
+ type?: HotelRoomOfferType
147
+ }
148
+
149
+ export interface HotelRoomOfferResponse {
150
+ /**
151
+ * The total number of adults who will be staying in the property.
152
+ * @type {number}
153
+ * @memberof HotelRoomOfferResponse
154
+ */
155
+ adultCount: number
156
+ /**
157
+ * Date of check-in formatted as YYYY-MM-DD.
158
+ * @type {string}
159
+ * @memberof HotelRoomOfferResponse
160
+ */
161
+ checkInDate: string
162
+ /**
163
+ * Date of check-out formatted as YYYY-MM-DD.
164
+ * @type {string}
165
+ * @memberof HotelRoomOfferResponse
166
+ */
167
+ checkOutDate: string
168
+ /**
169
+ * A comma-separated list of child ages (0 up to 17). e.g.: "3,7" represents 2 children respectively 3 and 7 years old.
170
+ * @type {string}
171
+ * @memberof HotelRoomOfferResponse
172
+ */
173
+ children?: string | null
174
+ /**
175
+ *
176
+ * @type {CurrencyBookingApiClient}
177
+ * @memberof HotelRoomOfferResponse
178
+ */
179
+ currency: CurrencyType
180
+ /**
181
+ * Hotel id
182
+ * @type {string}
183
+ * @memberof HotelRoomOfferResponse
184
+ */
185
+ hotelId: string
186
+ /**
187
+ *
188
+ * @type {HotelRoomOffer}
189
+ * @memberof HotelRoomOfferResponse
190
+ */
191
+ hotelRoomOffer: HotelRoomOffer
192
+ }
@@ -0,0 +1,102 @@
1
+ import type { Bed } from './bed.ts'
2
+
3
+ export interface HotelRoom {
4
+ /**
5
+ * List of amenities in the room. May be subject to changes at the Hotel.
6
+ * @type {Array<string>}
7
+ * @memberof HotelRoom
8
+ */
9
+ amenities?: string[] | null
10
+ /**
11
+ * Beds list.
12
+ * Each nested array of beds represents a single combination of possible beds.
13
+ * e.g.: The following object represents **1 double bed or 1 sofa bed and 1 double bed or 1 single bed**:
14
+ * ```
15
+ * [
16
+ * [
17
+ * { count: 1, name: 'double', occupancy: 2 },
18
+ * { count: 1, name: 'sofa', occupancy: 1 }
19
+ * ],
20
+ * [
21
+ * { count: 1, name: 'double', occupancy: 2 },
22
+ * { count: 1, name: 'single', occupancy: 1 }
23
+ * ]
24
+ * ]
25
+ * ```
26
+ * @type {Array<Array<Bed>>}
27
+ * @memberof HotelRoom
28
+ */
29
+ beds: Bed[][]
30
+ /**
31
+ * Prettified and localized list of beds
32
+ * @type {string}
33
+ * @memberof HotelRoom
34
+ */
35
+ bedsPretty: string
36
+ /**
37
+ * Hotel Room count included in the Hotel Room Offer.
38
+ * @type {number}
39
+ * @memberof HotelRoom
40
+ */
41
+ count: number
42
+ /**
43
+ * Hotel Room description.
44
+ * @type {string}
45
+ * @memberof HotelRoom
46
+ */
47
+ description: string
48
+ /**
49
+ * Whether high resolution images are available.
50
+ * @type {boolean}
51
+ * @memberof HotelRoom
52
+ */
53
+ highresImages?: boolean | null
54
+ /**
55
+ * Hotel Room id, when applicable.
56
+ * @type {string}
57
+ * @memberof HotelRoom
58
+ */
59
+ id?: string
60
+ /**
61
+ * List of indexes corresponding to image names for the given Hotel Room among the related hotel images.
62
+ * @type {Array<number>}
63
+ * @memberof HotelRoom
64
+ */
65
+ imageIndexes?: number[] | null
66
+ /**
67
+ * Whether low resolution images are available.
68
+ * @type {boolean}
69
+ * @memberof HotelRoom
70
+ */
71
+ lowresImages?: boolean | null
72
+ /**
73
+ * Total occupancy of a single hotel room.
74
+ * @type {number}
75
+ * @memberof HotelRoom
76
+ */
77
+ occupancy: number
78
+ /**
79
+ * Rich Hotel Room description. May contain HTML tags markup.
80
+ * @type {string}
81
+ * @memberof HotelRoom
82
+ */
83
+ richDescription?: string | null
84
+ /**
85
+ * Room surface in square feet. May be subject to changes at the Hotel.
86
+ * @type {number}
87
+ * @memberof HotelRoom
88
+ */
89
+ roomSquareFeet?: number | null
90
+ /**
91
+ * Room surface in square meters. May be subject to changes at the Hotel.
92
+ * @type {number}
93
+ * @memberof HotelRoom
94
+ */
95
+ roomSquareMeters?: number | null
96
+ /**
97
+ * Whether thumb resolution images are available (in order to display them as image carousel navigation for instance).
98
+ * @type {boolean}
99
+ * @memberof HotelRoom
100
+ */
101
+ thumbImages?: boolean | null
102
+ }
@@ -0,0 +1,49 @@
1
+ import type { HotelRoom } from './index.ts'
2
+
3
+ export interface HotelRoomingListGuest {
4
+ /**
5
+ *
6
+ * @type {string}
7
+ * @memberof HotelRoomingListGuest
8
+ */
9
+ fullname: string
10
+ /**
11
+ *
12
+ * @type {string}
13
+ * @memberof HotelRoomingListGuest
14
+ */
15
+ id: string
16
+ }
17
+
18
+ export interface HotelRoomingList {
19
+ /**
20
+ *
21
+ * @type {HotelRoom}
22
+ * @memberof HotelRoomingList
23
+ */
24
+ hotelRoom?: HotelRoom
25
+ /**
26
+ *
27
+ * @type {string}
28
+ * @memberof HotelRoomingList
29
+ */
30
+ hotelRoomId: string
31
+ /**
32
+ * Guests of a hotel rooming list
33
+ * @type {Array<HotelRoomingListGuest>}
34
+ * @memberof HotelRoomingList
35
+ */
36
+ hotelRoomingListGuests: HotelRoomingListGuest[]
37
+ /**
38
+ *
39
+ * @type {string}
40
+ * @memberof HotelRoomingList
41
+ */
42
+ id: string
43
+ /**
44
+ *
45
+ * @type {string}
46
+ * @memberof HotelRoomingList
47
+ */
48
+ limitDate?: string | null
49
+ }
@@ -0,0 +1,184 @@
1
+ import type { Amenities } from './amenity.ts'
2
+ import type { CurrencyType } from './currency.ts'
3
+ import type { HotelImage } from './hotel-image.ts'
4
+ import type { HotelImages } from './hotel-images.ts'
5
+ import type { HotelReviewRating } from './hotel-review-rating.ts'
6
+ import type { TravelTimeItem } from './travel-times.ts'
7
+
8
+ export interface Hotel {
9
+ /**
10
+ * Hotel address.
11
+ * @type {string}
12
+ * @memberof HotelApi
13
+ */
14
+ address?: string | null
15
+ /**
16
+ * Second part of hotel address.
17
+ * @type {string}
18
+ * @memberof HotelApi
19
+ */
20
+ address2?: string | null
21
+ /**
22
+ *
23
+ * @type {Amenities}
24
+ * @memberof HotelApi
25
+ */
26
+ amenities?: Amenities | null
27
+ /**
28
+ * Check in time of the hotel.
29
+ * @type {string}
30
+ * @memberof HotelApi
31
+ */
32
+ checkInTime?: string | null
33
+ /**
34
+ * Check out time of the hotel.
35
+ * @type {string}
36
+ * @memberof HotelApi
37
+ */
38
+ checkOutTime?: string | null
39
+ /**
40
+ * City
41
+ * @type {string}
42
+ * @memberof HotelApi
43
+ */
44
+ city?: string | null
45
+ /**
46
+ * Country
47
+ * @type {string}
48
+ * @memberof HotelApi
49
+ */
50
+ country?: string | null
51
+ /**
52
+ * Hotel country code in ISO2.
53
+ * @type {string}
54
+ * @memberof HotelApi
55
+ */
56
+ countryCode?: string | null
57
+ /**
58
+ *
59
+ * @type {CurrencyBookingApiClient}
60
+ * @memberof HotelApi
61
+ */
62
+ currency?: CurrencyType
63
+ /**
64
+ * Hotel description.
65
+ * @type {string}
66
+ * @memberof HotelApi
67
+ */
68
+ description?: string | null
69
+ /**
70
+ * Distance from a requested location, expressed in meters
71
+ * @type {number}
72
+ * @memberof HotelApi
73
+ */
74
+ distance?: number | null
75
+ /**
76
+ * Hotel email.
77
+ * @type {string}
78
+ * @memberof HotelApi
79
+ */
80
+ email?: string | null
81
+ /**
82
+ * Hotel fax number.
83
+ * @type {string}
84
+ * @memberof HotelApi
85
+ */
86
+ fax?: string | null
87
+ /**
88
+ * List of hotel images in various sizes featuring an indicator for the primary (hero) image
89
+ * @type {Array<HotelImage>}
90
+ * @memberof HotelApi
91
+ */
92
+ hotelImages?: HotelImage[] | null
93
+ /**
94
+ * List of meta reviews (category and rating) that are summary of verified reviews collected across the web on the Hotel to help choose the best option.
95
+ * @type {Array<HotelReviewRating>}
96
+ * @memberof HotelApi
97
+ */
98
+ hotelReviewRatings?: HotelReviewRating[] | null
99
+ /**
100
+ * Hotel id.
101
+ * @type {string}
102
+ * @memberof HotelApi
103
+ */
104
+ id: string
105
+ /**
106
+ *
107
+ * @type {HotelImages}
108
+ * @memberof HotelApi
109
+ */
110
+ images?: HotelImages | null
111
+ /**
112
+ * Hotel latitude.
113
+ * @type {number}
114
+ * @memberof HotelApi
115
+ */
116
+ latitude: number
117
+ /**
118
+ * Hotel longitude.
119
+ * @type {number}
120
+ * @memberof HotelApi
121
+ */
122
+ longitude: number
123
+ /**
124
+ * Hotel name.
125
+ * @type {string}
126
+ * @memberof HotelApi
127
+ */
128
+ name: string
129
+ /**
130
+ * Hotel phone number.
131
+ * @type {string}
132
+ * @memberof HotelApi
133
+ */
134
+ phone?: string | null
135
+ /**
136
+ * Internal policy of the hotel.
137
+ * @type {string}
138
+ * @memberof HotelApi
139
+ */
140
+ policy?: string | null
141
+ /**
142
+ * Hotel address postal code.
143
+ * @type {string}
144
+ * @memberof HotelApi
145
+ */
146
+ postalCode?: string | null
147
+ /**
148
+ * Hotel Star rating.
149
+ * @type {any}
150
+ * @memberof HotelApi
151
+ */
152
+ // oxlint-disable-next-line no-explicit-any
153
+ rating?: any | null
154
+ /**
155
+ * Hotel address state.
156
+ * @type {string}
157
+ * @memberof HotelApi
158
+ */
159
+ state?: string | null
160
+ /**
161
+ * TripAdvisor property id. When applicable.
162
+ * @type {string}
163
+ * @memberof HotelApi
164
+ */
165
+ taId?: string | null
166
+ /**
167
+ * Hotel timezone.
168
+ * @type {string}
169
+ * @memberof HotelApi
170
+ */
171
+ timezone: string
172
+ /**
173
+ *
174
+ * @type {Array<TravelTimesApi>}
175
+ * @memberof HotelApi
176
+ */
177
+ venues?: TravelTimeItem[]
178
+ /**
179
+ * Hotel website url.
180
+ * @type {string}
181
+ * @memberof HotelApi
182
+ */
183
+ website?: string | null
184
+ }
@@ -0,0 +1,22 @@
1
+ export type * from './bed.ts'
2
+ export type * from './booking-policy.ts'
3
+ export type * from './cancellation-policy.ts'
4
+ export type * from './event-metadata.ts'
5
+ export type * from './hotel-image.ts'
6
+ export type * from './hotel-images.ts'
7
+ export type * from './hotel-offer-request.ts'
8
+ export type * from './hotel-room-offer.ts'
9
+ export * from './hotel-room-offer-type.ts'
10
+ export * from './hotel-room-offer-package-type.ts'
11
+ export type * from './hotel-room-offer-request.ts'
12
+ export type * from './hotel-room.ts'
13
+ export { SourceMarketEnum } from './source-market.ts'
14
+ export type * from './tag.ts'
15
+ export * from './tax.ts'
16
+ export * from './booking.ts'
17
+ export * from './payment-method.ts'
18
+ export * from './invoice.ts'
19
+ export type * from './hotel.ts'
20
+ export * from './hotel-offer.ts'
21
+ export * from './contact-person.ts'
22
+ export type * from './hotel-review-rating.ts'
@@ -0,0 +1,21 @@
1
+ export interface InvoiceApi {
2
+ /**
3
+ *
4
+ * @type {string}
5
+ * @memberof InvoiceApi
6
+ */
7
+ type: InvoiceApiType
8
+ /**
9
+ *
10
+ * @type {string}
11
+ * @memberof InvoiceApi
12
+ */
13
+ url: string
14
+ }
15
+
16
+ export enum InvoiceApiTypeEnum {
17
+ CreditNote = 'credit_note',
18
+ Invoice = 'invoice',
19
+ }
20
+
21
+ type InvoiceApiType = `${InvoiceApiTypeEnum}`