@spoot/hostfully-api 1.0.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/README.md +33 -0
- package/dist/src/AgenciesApi.d.ts +74 -0
- package/dist/src/AgenciesApi.js +37 -0
- package/dist/src/AmenitiesApi.d.ts +42 -0
- package/dist/src/AmenitiesApi.js +257 -0
- package/dist/src/FeesApi.d.ts +59 -0
- package/dist/src/FeesApi.js +87 -0
- package/dist/src/FetchTransport.d.ts +17 -0
- package/dist/src/FetchTransport.js +98 -0
- package/dist/src/HostfullyApi.d.ts +22 -0
- package/dist/src/HostfullyApi.js +44 -0
- package/dist/src/LeadsApi.d.ts +513 -0
- package/dist/src/LeadsApi.js +132 -0
- package/dist/src/MessagesApi.d.ts +64 -0
- package/dist/src/MessagesApi.js +59 -0
- package/dist/src/OrderApi.d.ts +453 -0
- package/dist/src/OrderApi.js +124 -0
- package/dist/src/PricingApi.d.ts +137 -0
- package/dist/src/PricingApi.js +204 -0
- package/dist/src/PropertiesApi.d.ts +251 -0
- package/dist/src/PropertiesApi.js +183 -0
- package/dist/src/RateLimiting.d.ts +6 -0
- package/dist/src/RateLimiting.js +50 -0
- package/dist/src/Transport.d.ts +13 -0
- package/dist/src/Transport.js +2 -0
- package/dist/src/enums.d.ts +7 -0
- package/dist/src/enums.js +167 -0
- package/dist/src/index.d.ts +12 -0
- package/dist/src/index.js +28 -0
- package/dist/src/pagination.d.ts +15 -0
- package/dist/src/pagination.js +19 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +31 -0
package/README.md
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# @spoot/hostfully-api
|
|
2
|
+
|
|
3
|
+
TypeScript client for the [Hostfully](https://www.hostfully.com) property management GraphQL API. Covers properties, fees, pricing, leads, messages, agencies, orders, and amenities.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
npm install @spoot/hostfully-api
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
import { HostfullyApi } from "@spoot/hostfully-api";
|
|
15
|
+
import "dotenv/config";
|
|
16
|
+
|
|
17
|
+
const api = new HostfullyApi({
|
|
18
|
+
endpoint: new URL("https://api.hostfully.com/graphql"),
|
|
19
|
+
apiKey: process.env.HOSTFULLY_API_KEY!,
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
const properties = await api.properties.list();
|
|
23
|
+
const pricing = await api.pricing.get(propertyUid, checkIn, checkOut);
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Internally uses `@spoot/gql` for query execution, `@spoot/rx` for streaming results, and `@spoot/schedule` / `@spoot/day` for date handling.
|
|
27
|
+
|
|
28
|
+
## Development
|
|
29
|
+
|
|
30
|
+
```sh
|
|
31
|
+
pnpm typecheck # type-check
|
|
32
|
+
pnpm build:lib # compile to dist/
|
|
33
|
+
```
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { HostfullyApi } from "./HostfullyApi";
|
|
3
|
+
declare const AgencySchema: z.ZodObject<{
|
|
4
|
+
uid: z.ZodString;
|
|
5
|
+
name: z.ZodString;
|
|
6
|
+
agencyEmailAddress: z.ZodString;
|
|
7
|
+
phoneNumber: z.ZodString;
|
|
8
|
+
website: z.ZodString;
|
|
9
|
+
address1: z.ZodString;
|
|
10
|
+
city: z.ZodString;
|
|
11
|
+
zipCode: z.ZodString;
|
|
12
|
+
state: z.ZodString;
|
|
13
|
+
currency: z.ZodString;
|
|
14
|
+
currencyCode: z.ZodString;
|
|
15
|
+
countryCode: z.ZodString;
|
|
16
|
+
defaultCheckInTime: z.ZodNumber;
|
|
17
|
+
defaultCheckOutTime: z.ZodNumber;
|
|
18
|
+
rentalCondition: z.ZodNullable<z.ZodString>;
|
|
19
|
+
}, "strip", z.ZodTypeAny, {
|
|
20
|
+
name: string;
|
|
21
|
+
uid: string;
|
|
22
|
+
city: string;
|
|
23
|
+
state: string;
|
|
24
|
+
zipCode: string;
|
|
25
|
+
address1: string;
|
|
26
|
+
countryCode: string;
|
|
27
|
+
phoneNumber: string;
|
|
28
|
+
currency: string;
|
|
29
|
+
agencyEmailAddress: string;
|
|
30
|
+
website: string;
|
|
31
|
+
currencyCode: string;
|
|
32
|
+
defaultCheckInTime: number;
|
|
33
|
+
defaultCheckOutTime: number;
|
|
34
|
+
rentalCondition: string | null;
|
|
35
|
+
}, {
|
|
36
|
+
name: string;
|
|
37
|
+
uid: string;
|
|
38
|
+
city: string;
|
|
39
|
+
state: string;
|
|
40
|
+
zipCode: string;
|
|
41
|
+
address1: string;
|
|
42
|
+
countryCode: string;
|
|
43
|
+
phoneNumber: string;
|
|
44
|
+
currency: string;
|
|
45
|
+
agencyEmailAddress: string;
|
|
46
|
+
website: string;
|
|
47
|
+
currencyCode: string;
|
|
48
|
+
defaultCheckInTime: number;
|
|
49
|
+
defaultCheckOutTime: number;
|
|
50
|
+
rentalCondition: string | null;
|
|
51
|
+
}>;
|
|
52
|
+
export type Agency = z.infer<typeof AgencySchema>;
|
|
53
|
+
export declare class AgenciesApi {
|
|
54
|
+
private readonly api;
|
|
55
|
+
constructor(api: HostfullyApi);
|
|
56
|
+
get(): Promise<{
|
|
57
|
+
name: string;
|
|
58
|
+
uid: string;
|
|
59
|
+
city: string;
|
|
60
|
+
state: string;
|
|
61
|
+
zipCode: string;
|
|
62
|
+
address1: string;
|
|
63
|
+
countryCode: string;
|
|
64
|
+
phoneNumber: string;
|
|
65
|
+
currency: string;
|
|
66
|
+
agencyEmailAddress: string;
|
|
67
|
+
website: string;
|
|
68
|
+
currencyCode: string;
|
|
69
|
+
defaultCheckInTime: number;
|
|
70
|
+
defaultCheckOutTime: number;
|
|
71
|
+
rentalCondition: string | null;
|
|
72
|
+
}[]>;
|
|
73
|
+
}
|
|
74
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AgenciesApi = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const AgencySchema = zod_1.z.object({
|
|
6
|
+
uid: zod_1.z.string(),
|
|
7
|
+
name: zod_1.z.string(),
|
|
8
|
+
agencyEmailAddress: zod_1.z.string(),
|
|
9
|
+
phoneNumber: zod_1.z.string(),
|
|
10
|
+
website: zod_1.z.string(),
|
|
11
|
+
address1: zod_1.z.string(),
|
|
12
|
+
city: zod_1.z.string(),
|
|
13
|
+
zipCode: zod_1.z.string(),
|
|
14
|
+
state: zod_1.z.string(),
|
|
15
|
+
currency: zod_1.z.string(),
|
|
16
|
+
currencyCode: zod_1.z.string(),
|
|
17
|
+
countryCode: zod_1.z.string(),
|
|
18
|
+
defaultCheckInTime: zod_1.z.number(),
|
|
19
|
+
defaultCheckOutTime: zod_1.z.number(),
|
|
20
|
+
rentalCondition: zod_1.z.string().nullable(),
|
|
21
|
+
});
|
|
22
|
+
class AgenciesApi {
|
|
23
|
+
api;
|
|
24
|
+
constructor(api) {
|
|
25
|
+
this.api = api;
|
|
26
|
+
}
|
|
27
|
+
async get() {
|
|
28
|
+
return (await this.api.transport.fetch({
|
|
29
|
+
path: `/api/v3.1/agencies/${this.api.agencyUid}`,
|
|
30
|
+
method: "GET",
|
|
31
|
+
response: zod_1.z.object({
|
|
32
|
+
agency: zod_1.z.array(AgencySchema),
|
|
33
|
+
}),
|
|
34
|
+
})).agency;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.AgenciesApi = AgenciesApi;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { HostfullyApi } from "./HostfullyApi";
|
|
3
|
+
import { Property } from "./PropertiesApi";
|
|
4
|
+
export declare const AmenityIdSchema: z.ZodEnum<["HAS_TV", "HAS_CABLE_TV", "HAS_SMART_TV", "HAS_AIR_CONDITIONING", "HAS_HEATING", "HAS_KITCHEN", "HAS_KITCHENETTE", "HAS_INTERNET_WIFI", "HAS_PAID_WIFI", "HAS_WIFI_SPEED_25", "HAS_WIFI_SPEED_50", "HAS_WIFI_SPEED_100", "HAS_WIFI_SPEED_250", "HAS_WIFI_SPEED_500", "HAS_WASHER", "HAS_DRYER", "HAS_SHARED_WASHER", "HAS_SHARED_DRYER", "HAS_POOL", "HAS_POOL_ALL_YEAR", "HAS_POOL_SEASONAL", "HAS_COMMUNAL_POOL", "HAS_HEATED_POOL", "HAS_INDOOR_POOL", "HAS_INDOOR_POOL_ALL_YEAR", "HAS_INDOOR_POOL_SEASONAL", "HAS_FENCED_POOL", "HAS_FENCED_YARD", "HAS_HOT_TUB", "HAS_FREE_PARKING", "HAS_FREE_STREET_PARKING", "HAS_PAID_OFF_PREMISES_PARKING", "HAS_PAID_ON_PREMISES_PARKING", "HAS_EV_CAR_CHARGER", "HAS_INDOOR_FIREPLACE", "IS_WHEELCHAIR_ACCESSIBLE", "HAS_SINGLE_LEVEL", "HAS_SMOKE_DETECTOR", "HAS_FIRE_EXTINGUISHER", "HAS_EMERGENCY_EXIT", "HAS_DEADBOLT_LOCK", "HAS_OUTDOOR_LIGHTING", "HAS_ESSENTIALS", "HAS_BALCONY_TERRASSE", "HAS_BABY_HIGH_CHAIR", "HAS_BABY_TRAVEL_BED", "HAS_CDDVD_PLAYER", "HAS_BOARD_GAMES", "HAS_BARBECUE", "HAS_ELEVATOR", "HAS_DEHUMIDIFIER", "HAS_CEILING_FAN", "HAS_VENTILATION_FAN", "HAS_HAIR_DRYER", "HAS_CROCKERY_CUTLERY", "HAS_POTS_PANS", "HAS_OVEN", "HAS_MICROWAVE_OVEN", "HAS_WATER_KETTLE", "HAS_COFFEE_MAKER", "HAS_DISHWASHER", "HAS_TOASTER", "HAS_FRIDGE", "HAS_KITCHEN_ISLAND", "HAS_DINING_TABLE", "HAS_ALARM_SYSTEM", "HAS_BASKETBALL_COURT", "HAS_CINEMA_ROOM", "HAS_GATED_PROPERTY", "HAS_HELIPAD", "HAS_GYM", "HAS_IPOD_STATION", "HAS_JACUZZI", "HAS_STEAM_ROOM", "HAS_LIBRARY", "HAS_MASSAGE_ROOM", "HAS_OFFICE", "HAS_DESK", "HAS_DESK_CHAIR", "HAS_COMPUTER_MONITOR", "HAS_PRINTER", "HAS_POOL_TABLE", "HAS_PIANO", "HAS_SAFE_BOX", "HAS_CABINET_LOCKS", "HAS_SEA_VIEW", "HAS_SMART_HOME", "HAS_SOCCER_FIELD", "HAS_TENNIS", "HAS_TOILETRIES", "HAS_WINE_CELLAR", "HAS_WARDROBE", "HAS_IRON", "HAS_IRONING_FACILITIES", "HAS_SHAMPOO", "HAS_BREAKFAST", "HAS_MEAL_DELIVERY", "HAS_BUZZER", "HAS_DOORMAN", "HAS_CARBON_MONOXIDE_DETECTOR", "HAS_FIRST_AID_KIT", "HAS_CAT", "HAS_DOG", "HAS_OTHER_PET", "HAS_24_CHECKIN", "HAS_SAFETY_CARD", "HAS_HANGERS", "IS_LAPTOP_FRIENDLY", "HAS_LOCK_ON_BEDROOM", "HAS_PRIVATE_ENTRANCE", "HAS_BABY_BATH", "HAS_BABY_MONITOR", "HAS_BABYSITTER_RECOMMENDATIONS", "HAS_BATHTUB", "HAS_CHANGING_TABLE", "HAS_CHILDRENS_BOOKS_AND_TOYS", "HAS_OUTDOOR_PLAY_AREA", "HAS_CHILDRENS_DINNERWARE", "HAS_CHILDCARE", "HAS_FIREPLACE_GUARDS", "HAS_GAME_CONSOLE", "HAS_OUTLET_COVERS", "HAS_PACK_N_PLAY_TRAVEL_CRIB", "HAS_ROOM_DARKENING_SHADES", "HAS_STAIR_GATES", "HAS_TABLE_CORNER_GUARDS", "HAS_WINDOW_GUARDS", "HAS_LAKE_ACCESS", "HAS_BEACH_FRONT", "HAS_WATER_FRONT", "HAS_SKI_IN_SKI_OUT", "HAS_STOVE", "CHECK_IN_OPTION", "CHECK_IN_OPTION_INSTRUCTION", "HAS_LINENS", "HAS_TOWELS", "HAS_HOT_WATER", "HAS_COOKING_BASICS", "HAS_SURVEILLANCE", "HAS_GARDEN", "HAS_DECK_PATIO", "HAS_AIR_FILTER", "HAS_ENHANCED_CLEANING", "HAS_CLEANING_WITH_DISINFECTANTS", "HAS_HIGH_TOUCH_SURFACES_CLEANING_WITH_DISINFECTANTS", "HAS_IN_PERSON_CHECKIN", "HAS_CONTACTLESS_CHECKIN", "HAS_CONCIERGE", "HAS_OCEAN_FRONT", "IS_RESORT", "IS_RURAL", "HAS_TOWN", "HAS_WATER_VIEW", "IS_DOWNTOWN", "HAS_GOLF_COURSE_VIEW", "IS_LAKEFRONT", "HAS_MOUNTAIN", "IS_NEAR_OCEAN", "HAS_RIVER", "HAS_VILLAGE", "HAS_BEACH", "HAS_BEACH_VIEW", "IS_GOLF_COURSE_FRONT", "HAS_LAKE", "HAS_LAKE_VIEW", "HAS_MOUNTAIN_VIEW", "HAS_BAKING_SHEET", "HAS_BARBEQUE_UTENSILS", "HAS_BEACH_ESSENTIALS", "HAS_BIDET", "HAS_BIKES_FOR_RENT", "HAS_BLENDER", "HAS_BOAT_SLIP", "HAS_BODY_SOAP", "HAS_BREAD_MAKER", "HAS_CLEANING_PRODUCTS", "HAS_CLOTHES_DRYING_RACK", "HAS_COFFEE", "HAS_CONDITIONER", "HAS_ETHERNET_CONNECTION", "HAS_EXERCISE_EQUIPMENT", "HAS_EXTRA_PILLOWS_AND_BLANKETS", "HAS_FIRE_PIT", "HAS_FREEZER", "HAS_HAMMOCK", "HAS_LAUNDROMAT_NEARBY", "HAS_KAYAK", "HAS_MINI_FRIDGE", "HAS_MOSQUITO_NET", "HAS_OUTDOOR_KITCHEN", "HAS_OUTDOOR_SEATING", "HAS_PING_PONG_TABLE", "HAS_POCKET_WIFI", "HAS_PORTABLE_FANS", "HAS_RAIN_SHOWER", "HAS_RECORD_PLAYER", "HAS_RESORT_ACCESS", "HAS_RICE_MAKER", "HAS_SAFE", "HAS_SHOWER_GEL", "HAS_SOUND_SYSTEM", "HAS_TRASH_COMPACTER", "HAS_WINE_GLASSES", "INVOICE_PROVIDED"]>;
|
|
5
|
+
declare const AmenitySchema: z.ZodObject<{
|
|
6
|
+
uid: z.ZodString;
|
|
7
|
+
amenity: z.ZodEnum<["HAS_TV", "HAS_CABLE_TV", "HAS_SMART_TV", "HAS_AIR_CONDITIONING", "HAS_HEATING", "HAS_KITCHEN", "HAS_KITCHENETTE", "HAS_INTERNET_WIFI", "HAS_PAID_WIFI", "HAS_WIFI_SPEED_25", "HAS_WIFI_SPEED_50", "HAS_WIFI_SPEED_100", "HAS_WIFI_SPEED_250", "HAS_WIFI_SPEED_500", "HAS_WASHER", "HAS_DRYER", "HAS_SHARED_WASHER", "HAS_SHARED_DRYER", "HAS_POOL", "HAS_POOL_ALL_YEAR", "HAS_POOL_SEASONAL", "HAS_COMMUNAL_POOL", "HAS_HEATED_POOL", "HAS_INDOOR_POOL", "HAS_INDOOR_POOL_ALL_YEAR", "HAS_INDOOR_POOL_SEASONAL", "HAS_FENCED_POOL", "HAS_FENCED_YARD", "HAS_HOT_TUB", "HAS_FREE_PARKING", "HAS_FREE_STREET_PARKING", "HAS_PAID_OFF_PREMISES_PARKING", "HAS_PAID_ON_PREMISES_PARKING", "HAS_EV_CAR_CHARGER", "HAS_INDOOR_FIREPLACE", "IS_WHEELCHAIR_ACCESSIBLE", "HAS_SINGLE_LEVEL", "HAS_SMOKE_DETECTOR", "HAS_FIRE_EXTINGUISHER", "HAS_EMERGENCY_EXIT", "HAS_DEADBOLT_LOCK", "HAS_OUTDOOR_LIGHTING", "HAS_ESSENTIALS", "HAS_BALCONY_TERRASSE", "HAS_BABY_HIGH_CHAIR", "HAS_BABY_TRAVEL_BED", "HAS_CDDVD_PLAYER", "HAS_BOARD_GAMES", "HAS_BARBECUE", "HAS_ELEVATOR", "HAS_DEHUMIDIFIER", "HAS_CEILING_FAN", "HAS_VENTILATION_FAN", "HAS_HAIR_DRYER", "HAS_CROCKERY_CUTLERY", "HAS_POTS_PANS", "HAS_OVEN", "HAS_MICROWAVE_OVEN", "HAS_WATER_KETTLE", "HAS_COFFEE_MAKER", "HAS_DISHWASHER", "HAS_TOASTER", "HAS_FRIDGE", "HAS_KITCHEN_ISLAND", "HAS_DINING_TABLE", "HAS_ALARM_SYSTEM", "HAS_BASKETBALL_COURT", "HAS_CINEMA_ROOM", "HAS_GATED_PROPERTY", "HAS_HELIPAD", "HAS_GYM", "HAS_IPOD_STATION", "HAS_JACUZZI", "HAS_STEAM_ROOM", "HAS_LIBRARY", "HAS_MASSAGE_ROOM", "HAS_OFFICE", "HAS_DESK", "HAS_DESK_CHAIR", "HAS_COMPUTER_MONITOR", "HAS_PRINTER", "HAS_POOL_TABLE", "HAS_PIANO", "HAS_SAFE_BOX", "HAS_CABINET_LOCKS", "HAS_SEA_VIEW", "HAS_SMART_HOME", "HAS_SOCCER_FIELD", "HAS_TENNIS", "HAS_TOILETRIES", "HAS_WINE_CELLAR", "HAS_WARDROBE", "HAS_IRON", "HAS_IRONING_FACILITIES", "HAS_SHAMPOO", "HAS_BREAKFAST", "HAS_MEAL_DELIVERY", "HAS_BUZZER", "HAS_DOORMAN", "HAS_CARBON_MONOXIDE_DETECTOR", "HAS_FIRST_AID_KIT", "HAS_CAT", "HAS_DOG", "HAS_OTHER_PET", "HAS_24_CHECKIN", "HAS_SAFETY_CARD", "HAS_HANGERS", "IS_LAPTOP_FRIENDLY", "HAS_LOCK_ON_BEDROOM", "HAS_PRIVATE_ENTRANCE", "HAS_BABY_BATH", "HAS_BABY_MONITOR", "HAS_BABYSITTER_RECOMMENDATIONS", "HAS_BATHTUB", "HAS_CHANGING_TABLE", "HAS_CHILDRENS_BOOKS_AND_TOYS", "HAS_OUTDOOR_PLAY_AREA", "HAS_CHILDRENS_DINNERWARE", "HAS_CHILDCARE", "HAS_FIREPLACE_GUARDS", "HAS_GAME_CONSOLE", "HAS_OUTLET_COVERS", "HAS_PACK_N_PLAY_TRAVEL_CRIB", "HAS_ROOM_DARKENING_SHADES", "HAS_STAIR_GATES", "HAS_TABLE_CORNER_GUARDS", "HAS_WINDOW_GUARDS", "HAS_LAKE_ACCESS", "HAS_BEACH_FRONT", "HAS_WATER_FRONT", "HAS_SKI_IN_SKI_OUT", "HAS_STOVE", "CHECK_IN_OPTION", "CHECK_IN_OPTION_INSTRUCTION", "HAS_LINENS", "HAS_TOWELS", "HAS_HOT_WATER", "HAS_COOKING_BASICS", "HAS_SURVEILLANCE", "HAS_GARDEN", "HAS_DECK_PATIO", "HAS_AIR_FILTER", "HAS_ENHANCED_CLEANING", "HAS_CLEANING_WITH_DISINFECTANTS", "HAS_HIGH_TOUCH_SURFACES_CLEANING_WITH_DISINFECTANTS", "HAS_IN_PERSON_CHECKIN", "HAS_CONTACTLESS_CHECKIN", "HAS_CONCIERGE", "HAS_OCEAN_FRONT", "IS_RESORT", "IS_RURAL", "HAS_TOWN", "HAS_WATER_VIEW", "IS_DOWNTOWN", "HAS_GOLF_COURSE_VIEW", "IS_LAKEFRONT", "HAS_MOUNTAIN", "IS_NEAR_OCEAN", "HAS_RIVER", "HAS_VILLAGE", "HAS_BEACH", "HAS_BEACH_VIEW", "IS_GOLF_COURSE_FRONT", "HAS_LAKE", "HAS_LAKE_VIEW", "HAS_MOUNTAIN_VIEW", "HAS_BAKING_SHEET", "HAS_BARBEQUE_UTENSILS", "HAS_BEACH_ESSENTIALS", "HAS_BIDET", "HAS_BIKES_FOR_RENT", "HAS_BLENDER", "HAS_BOAT_SLIP", "HAS_BODY_SOAP", "HAS_BREAD_MAKER", "HAS_CLEANING_PRODUCTS", "HAS_CLOTHES_DRYING_RACK", "HAS_COFFEE", "HAS_CONDITIONER", "HAS_ETHERNET_CONNECTION", "HAS_EXERCISE_EQUIPMENT", "HAS_EXTRA_PILLOWS_AND_BLANKETS", "HAS_FIRE_PIT", "HAS_FREEZER", "HAS_HAMMOCK", "HAS_LAUNDROMAT_NEARBY", "HAS_KAYAK", "HAS_MINI_FRIDGE", "HAS_MOSQUITO_NET", "HAS_OUTDOOR_KITCHEN", "HAS_OUTDOOR_SEATING", "HAS_PING_PONG_TABLE", "HAS_POCKET_WIFI", "HAS_PORTABLE_FANS", "HAS_RAIN_SHOWER", "HAS_RECORD_PLAYER", "HAS_RESORT_ACCESS", "HAS_RICE_MAKER", "HAS_SAFE", "HAS_SHOWER_GEL", "HAS_SOUND_SYSTEM", "HAS_TRASH_COMPACTER", "HAS_WINE_GLASSES", "INVOICE_PROVIDED"]>;
|
|
8
|
+
category: z.ZodNullable<z.ZodEnum<["INDOOR", "OUTDOOR", "EXTRAS", "FAMILY"]>>;
|
|
9
|
+
propertyUid: z.ZodString;
|
|
10
|
+
description: z.ZodNullable<z.ZodString>;
|
|
11
|
+
}, "strip", z.ZodTypeAny, {
|
|
12
|
+
uid: string;
|
|
13
|
+
propertyUid: string;
|
|
14
|
+
amenity: "HAS_TV" | "HAS_CABLE_TV" | "HAS_SMART_TV" | "HAS_AIR_CONDITIONING" | "HAS_HEATING" | "HAS_KITCHEN" | "HAS_KITCHENETTE" | "HAS_INTERNET_WIFI" | "HAS_PAID_WIFI" | "HAS_WIFI_SPEED_25" | "HAS_WIFI_SPEED_50" | "HAS_WIFI_SPEED_100" | "HAS_WIFI_SPEED_250" | "HAS_WIFI_SPEED_500" | "HAS_WASHER" | "HAS_DRYER" | "HAS_SHARED_WASHER" | "HAS_SHARED_DRYER" | "HAS_POOL" | "HAS_POOL_ALL_YEAR" | "HAS_POOL_SEASONAL" | "HAS_COMMUNAL_POOL" | "HAS_HEATED_POOL" | "HAS_INDOOR_POOL" | "HAS_INDOOR_POOL_ALL_YEAR" | "HAS_INDOOR_POOL_SEASONAL" | "HAS_FENCED_POOL" | "HAS_FENCED_YARD" | "HAS_HOT_TUB" | "HAS_FREE_PARKING" | "HAS_FREE_STREET_PARKING" | "HAS_PAID_OFF_PREMISES_PARKING" | "HAS_PAID_ON_PREMISES_PARKING" | "HAS_EV_CAR_CHARGER" | "HAS_INDOOR_FIREPLACE" | "IS_WHEELCHAIR_ACCESSIBLE" | "HAS_SINGLE_LEVEL" | "HAS_SMOKE_DETECTOR" | "HAS_FIRE_EXTINGUISHER" | "HAS_EMERGENCY_EXIT" | "HAS_DEADBOLT_LOCK" | "HAS_OUTDOOR_LIGHTING" | "HAS_ESSENTIALS" | "HAS_BALCONY_TERRASSE" | "HAS_BABY_HIGH_CHAIR" | "HAS_BABY_TRAVEL_BED" | "HAS_CDDVD_PLAYER" | "HAS_BOARD_GAMES" | "HAS_BARBECUE" | "HAS_ELEVATOR" | "HAS_DEHUMIDIFIER" | "HAS_CEILING_FAN" | "HAS_VENTILATION_FAN" | "HAS_HAIR_DRYER" | "HAS_CROCKERY_CUTLERY" | "HAS_POTS_PANS" | "HAS_OVEN" | "HAS_MICROWAVE_OVEN" | "HAS_WATER_KETTLE" | "HAS_COFFEE_MAKER" | "HAS_DISHWASHER" | "HAS_TOASTER" | "HAS_FRIDGE" | "HAS_KITCHEN_ISLAND" | "HAS_DINING_TABLE" | "HAS_ALARM_SYSTEM" | "HAS_BASKETBALL_COURT" | "HAS_CINEMA_ROOM" | "HAS_GATED_PROPERTY" | "HAS_HELIPAD" | "HAS_GYM" | "HAS_IPOD_STATION" | "HAS_JACUZZI" | "HAS_STEAM_ROOM" | "HAS_LIBRARY" | "HAS_MASSAGE_ROOM" | "HAS_OFFICE" | "HAS_DESK" | "HAS_DESK_CHAIR" | "HAS_COMPUTER_MONITOR" | "HAS_PRINTER" | "HAS_POOL_TABLE" | "HAS_PIANO" | "HAS_SAFE_BOX" | "HAS_CABINET_LOCKS" | "HAS_SEA_VIEW" | "HAS_SMART_HOME" | "HAS_SOCCER_FIELD" | "HAS_TENNIS" | "HAS_TOILETRIES" | "HAS_WINE_CELLAR" | "HAS_WARDROBE" | "HAS_IRON" | "HAS_IRONING_FACILITIES" | "HAS_SHAMPOO" | "HAS_BREAKFAST" | "HAS_MEAL_DELIVERY" | "HAS_BUZZER" | "HAS_DOORMAN" | "HAS_CARBON_MONOXIDE_DETECTOR" | "HAS_FIRST_AID_KIT" | "HAS_CAT" | "HAS_DOG" | "HAS_OTHER_PET" | "HAS_24_CHECKIN" | "HAS_SAFETY_CARD" | "HAS_HANGERS" | "IS_LAPTOP_FRIENDLY" | "HAS_LOCK_ON_BEDROOM" | "HAS_PRIVATE_ENTRANCE" | "HAS_BABY_BATH" | "HAS_BABY_MONITOR" | "HAS_BABYSITTER_RECOMMENDATIONS" | "HAS_BATHTUB" | "HAS_CHANGING_TABLE" | "HAS_CHILDRENS_BOOKS_AND_TOYS" | "HAS_OUTDOOR_PLAY_AREA" | "HAS_CHILDRENS_DINNERWARE" | "HAS_CHILDCARE" | "HAS_FIREPLACE_GUARDS" | "HAS_GAME_CONSOLE" | "HAS_OUTLET_COVERS" | "HAS_PACK_N_PLAY_TRAVEL_CRIB" | "HAS_ROOM_DARKENING_SHADES" | "HAS_STAIR_GATES" | "HAS_TABLE_CORNER_GUARDS" | "HAS_WINDOW_GUARDS" | "HAS_LAKE_ACCESS" | "HAS_BEACH_FRONT" | "HAS_WATER_FRONT" | "HAS_SKI_IN_SKI_OUT" | "HAS_STOVE" | "CHECK_IN_OPTION" | "CHECK_IN_OPTION_INSTRUCTION" | "HAS_LINENS" | "HAS_TOWELS" | "HAS_HOT_WATER" | "HAS_COOKING_BASICS" | "HAS_SURVEILLANCE" | "HAS_GARDEN" | "HAS_DECK_PATIO" | "HAS_AIR_FILTER" | "HAS_ENHANCED_CLEANING" | "HAS_CLEANING_WITH_DISINFECTANTS" | "HAS_HIGH_TOUCH_SURFACES_CLEANING_WITH_DISINFECTANTS" | "HAS_IN_PERSON_CHECKIN" | "HAS_CONTACTLESS_CHECKIN" | "HAS_CONCIERGE" | "HAS_OCEAN_FRONT" | "IS_RESORT" | "IS_RURAL" | "HAS_TOWN" | "HAS_WATER_VIEW" | "IS_DOWNTOWN" | "HAS_GOLF_COURSE_VIEW" | "IS_LAKEFRONT" | "HAS_MOUNTAIN" | "IS_NEAR_OCEAN" | "HAS_RIVER" | "HAS_VILLAGE" | "HAS_BEACH" | "HAS_BEACH_VIEW" | "IS_GOLF_COURSE_FRONT" | "HAS_LAKE" | "HAS_LAKE_VIEW" | "HAS_MOUNTAIN_VIEW" | "HAS_BAKING_SHEET" | "HAS_BARBEQUE_UTENSILS" | "HAS_BEACH_ESSENTIALS" | "HAS_BIDET" | "HAS_BIKES_FOR_RENT" | "HAS_BLENDER" | "HAS_BOAT_SLIP" | "HAS_BODY_SOAP" | "HAS_BREAD_MAKER" | "HAS_CLEANING_PRODUCTS" | "HAS_CLOTHES_DRYING_RACK" | "HAS_COFFEE" | "HAS_CONDITIONER" | "HAS_ETHERNET_CONNECTION" | "HAS_EXERCISE_EQUIPMENT" | "HAS_EXTRA_PILLOWS_AND_BLANKETS" | "HAS_FIRE_PIT" | "HAS_FREEZER" | "HAS_HAMMOCK" | "HAS_LAUNDROMAT_NEARBY" | "HAS_KAYAK" | "HAS_MINI_FRIDGE" | "HAS_MOSQUITO_NET" | "HAS_OUTDOOR_KITCHEN" | "HAS_OUTDOOR_SEATING" | "HAS_PING_PONG_TABLE" | "HAS_POCKET_WIFI" | "HAS_PORTABLE_FANS" | "HAS_RAIN_SHOWER" | "HAS_RECORD_PLAYER" | "HAS_RESORT_ACCESS" | "HAS_RICE_MAKER" | "HAS_SAFE" | "HAS_SHOWER_GEL" | "HAS_SOUND_SYSTEM" | "HAS_TRASH_COMPACTER" | "HAS_WINE_GLASSES" | "INVOICE_PROVIDED";
|
|
15
|
+
category: "INDOOR" | "OUTDOOR" | "EXTRAS" | "FAMILY" | null;
|
|
16
|
+
description: string | null;
|
|
17
|
+
}, {
|
|
18
|
+
uid: string;
|
|
19
|
+
propertyUid: string;
|
|
20
|
+
amenity: "HAS_TV" | "HAS_CABLE_TV" | "HAS_SMART_TV" | "HAS_AIR_CONDITIONING" | "HAS_HEATING" | "HAS_KITCHEN" | "HAS_KITCHENETTE" | "HAS_INTERNET_WIFI" | "HAS_PAID_WIFI" | "HAS_WIFI_SPEED_25" | "HAS_WIFI_SPEED_50" | "HAS_WIFI_SPEED_100" | "HAS_WIFI_SPEED_250" | "HAS_WIFI_SPEED_500" | "HAS_WASHER" | "HAS_DRYER" | "HAS_SHARED_WASHER" | "HAS_SHARED_DRYER" | "HAS_POOL" | "HAS_POOL_ALL_YEAR" | "HAS_POOL_SEASONAL" | "HAS_COMMUNAL_POOL" | "HAS_HEATED_POOL" | "HAS_INDOOR_POOL" | "HAS_INDOOR_POOL_ALL_YEAR" | "HAS_INDOOR_POOL_SEASONAL" | "HAS_FENCED_POOL" | "HAS_FENCED_YARD" | "HAS_HOT_TUB" | "HAS_FREE_PARKING" | "HAS_FREE_STREET_PARKING" | "HAS_PAID_OFF_PREMISES_PARKING" | "HAS_PAID_ON_PREMISES_PARKING" | "HAS_EV_CAR_CHARGER" | "HAS_INDOOR_FIREPLACE" | "IS_WHEELCHAIR_ACCESSIBLE" | "HAS_SINGLE_LEVEL" | "HAS_SMOKE_DETECTOR" | "HAS_FIRE_EXTINGUISHER" | "HAS_EMERGENCY_EXIT" | "HAS_DEADBOLT_LOCK" | "HAS_OUTDOOR_LIGHTING" | "HAS_ESSENTIALS" | "HAS_BALCONY_TERRASSE" | "HAS_BABY_HIGH_CHAIR" | "HAS_BABY_TRAVEL_BED" | "HAS_CDDVD_PLAYER" | "HAS_BOARD_GAMES" | "HAS_BARBECUE" | "HAS_ELEVATOR" | "HAS_DEHUMIDIFIER" | "HAS_CEILING_FAN" | "HAS_VENTILATION_FAN" | "HAS_HAIR_DRYER" | "HAS_CROCKERY_CUTLERY" | "HAS_POTS_PANS" | "HAS_OVEN" | "HAS_MICROWAVE_OVEN" | "HAS_WATER_KETTLE" | "HAS_COFFEE_MAKER" | "HAS_DISHWASHER" | "HAS_TOASTER" | "HAS_FRIDGE" | "HAS_KITCHEN_ISLAND" | "HAS_DINING_TABLE" | "HAS_ALARM_SYSTEM" | "HAS_BASKETBALL_COURT" | "HAS_CINEMA_ROOM" | "HAS_GATED_PROPERTY" | "HAS_HELIPAD" | "HAS_GYM" | "HAS_IPOD_STATION" | "HAS_JACUZZI" | "HAS_STEAM_ROOM" | "HAS_LIBRARY" | "HAS_MASSAGE_ROOM" | "HAS_OFFICE" | "HAS_DESK" | "HAS_DESK_CHAIR" | "HAS_COMPUTER_MONITOR" | "HAS_PRINTER" | "HAS_POOL_TABLE" | "HAS_PIANO" | "HAS_SAFE_BOX" | "HAS_CABINET_LOCKS" | "HAS_SEA_VIEW" | "HAS_SMART_HOME" | "HAS_SOCCER_FIELD" | "HAS_TENNIS" | "HAS_TOILETRIES" | "HAS_WINE_CELLAR" | "HAS_WARDROBE" | "HAS_IRON" | "HAS_IRONING_FACILITIES" | "HAS_SHAMPOO" | "HAS_BREAKFAST" | "HAS_MEAL_DELIVERY" | "HAS_BUZZER" | "HAS_DOORMAN" | "HAS_CARBON_MONOXIDE_DETECTOR" | "HAS_FIRST_AID_KIT" | "HAS_CAT" | "HAS_DOG" | "HAS_OTHER_PET" | "HAS_24_CHECKIN" | "HAS_SAFETY_CARD" | "HAS_HANGERS" | "IS_LAPTOP_FRIENDLY" | "HAS_LOCK_ON_BEDROOM" | "HAS_PRIVATE_ENTRANCE" | "HAS_BABY_BATH" | "HAS_BABY_MONITOR" | "HAS_BABYSITTER_RECOMMENDATIONS" | "HAS_BATHTUB" | "HAS_CHANGING_TABLE" | "HAS_CHILDRENS_BOOKS_AND_TOYS" | "HAS_OUTDOOR_PLAY_AREA" | "HAS_CHILDRENS_DINNERWARE" | "HAS_CHILDCARE" | "HAS_FIREPLACE_GUARDS" | "HAS_GAME_CONSOLE" | "HAS_OUTLET_COVERS" | "HAS_PACK_N_PLAY_TRAVEL_CRIB" | "HAS_ROOM_DARKENING_SHADES" | "HAS_STAIR_GATES" | "HAS_TABLE_CORNER_GUARDS" | "HAS_WINDOW_GUARDS" | "HAS_LAKE_ACCESS" | "HAS_BEACH_FRONT" | "HAS_WATER_FRONT" | "HAS_SKI_IN_SKI_OUT" | "HAS_STOVE" | "CHECK_IN_OPTION" | "CHECK_IN_OPTION_INSTRUCTION" | "HAS_LINENS" | "HAS_TOWELS" | "HAS_HOT_WATER" | "HAS_COOKING_BASICS" | "HAS_SURVEILLANCE" | "HAS_GARDEN" | "HAS_DECK_PATIO" | "HAS_AIR_FILTER" | "HAS_ENHANCED_CLEANING" | "HAS_CLEANING_WITH_DISINFECTANTS" | "HAS_HIGH_TOUCH_SURFACES_CLEANING_WITH_DISINFECTANTS" | "HAS_IN_PERSON_CHECKIN" | "HAS_CONTACTLESS_CHECKIN" | "HAS_CONCIERGE" | "HAS_OCEAN_FRONT" | "IS_RESORT" | "IS_RURAL" | "HAS_TOWN" | "HAS_WATER_VIEW" | "IS_DOWNTOWN" | "HAS_GOLF_COURSE_VIEW" | "IS_LAKEFRONT" | "HAS_MOUNTAIN" | "IS_NEAR_OCEAN" | "HAS_RIVER" | "HAS_VILLAGE" | "HAS_BEACH" | "HAS_BEACH_VIEW" | "IS_GOLF_COURSE_FRONT" | "HAS_LAKE" | "HAS_LAKE_VIEW" | "HAS_MOUNTAIN_VIEW" | "HAS_BAKING_SHEET" | "HAS_BARBEQUE_UTENSILS" | "HAS_BEACH_ESSENTIALS" | "HAS_BIDET" | "HAS_BIKES_FOR_RENT" | "HAS_BLENDER" | "HAS_BOAT_SLIP" | "HAS_BODY_SOAP" | "HAS_BREAD_MAKER" | "HAS_CLEANING_PRODUCTS" | "HAS_CLOTHES_DRYING_RACK" | "HAS_COFFEE" | "HAS_CONDITIONER" | "HAS_ETHERNET_CONNECTION" | "HAS_EXERCISE_EQUIPMENT" | "HAS_EXTRA_PILLOWS_AND_BLANKETS" | "HAS_FIRE_PIT" | "HAS_FREEZER" | "HAS_HAMMOCK" | "HAS_LAUNDROMAT_NEARBY" | "HAS_KAYAK" | "HAS_MINI_FRIDGE" | "HAS_MOSQUITO_NET" | "HAS_OUTDOOR_KITCHEN" | "HAS_OUTDOOR_SEATING" | "HAS_PING_PONG_TABLE" | "HAS_POCKET_WIFI" | "HAS_PORTABLE_FANS" | "HAS_RAIN_SHOWER" | "HAS_RECORD_PLAYER" | "HAS_RESORT_ACCESS" | "HAS_RICE_MAKER" | "HAS_SAFE" | "HAS_SHOWER_GEL" | "HAS_SOUND_SYSTEM" | "HAS_TRASH_COMPACTER" | "HAS_WINE_GLASSES" | "INVOICE_PROVIDED";
|
|
21
|
+
category: "INDOOR" | "OUTDOOR" | "EXTRAS" | "FAMILY" | null;
|
|
22
|
+
description: string | null;
|
|
23
|
+
}>;
|
|
24
|
+
export type Amenity = z.infer<typeof AmenitySchema>;
|
|
25
|
+
export type AmenityId = z.infer<typeof AmenityIdSchema>;
|
|
26
|
+
export declare class AmenitiesApi {
|
|
27
|
+
private readonly api;
|
|
28
|
+
constructor(api: HostfullyApi);
|
|
29
|
+
getForProperty(property: Property): Promise<{
|
|
30
|
+
uid: string;
|
|
31
|
+
propertyUid: string;
|
|
32
|
+
amenity: "HAS_TV" | "HAS_CABLE_TV" | "HAS_SMART_TV" | "HAS_AIR_CONDITIONING" | "HAS_HEATING" | "HAS_KITCHEN" | "HAS_KITCHENETTE" | "HAS_INTERNET_WIFI" | "HAS_PAID_WIFI" | "HAS_WIFI_SPEED_25" | "HAS_WIFI_SPEED_50" | "HAS_WIFI_SPEED_100" | "HAS_WIFI_SPEED_250" | "HAS_WIFI_SPEED_500" | "HAS_WASHER" | "HAS_DRYER" | "HAS_SHARED_WASHER" | "HAS_SHARED_DRYER" | "HAS_POOL" | "HAS_POOL_ALL_YEAR" | "HAS_POOL_SEASONAL" | "HAS_COMMUNAL_POOL" | "HAS_HEATED_POOL" | "HAS_INDOOR_POOL" | "HAS_INDOOR_POOL_ALL_YEAR" | "HAS_INDOOR_POOL_SEASONAL" | "HAS_FENCED_POOL" | "HAS_FENCED_YARD" | "HAS_HOT_TUB" | "HAS_FREE_PARKING" | "HAS_FREE_STREET_PARKING" | "HAS_PAID_OFF_PREMISES_PARKING" | "HAS_PAID_ON_PREMISES_PARKING" | "HAS_EV_CAR_CHARGER" | "HAS_INDOOR_FIREPLACE" | "IS_WHEELCHAIR_ACCESSIBLE" | "HAS_SINGLE_LEVEL" | "HAS_SMOKE_DETECTOR" | "HAS_FIRE_EXTINGUISHER" | "HAS_EMERGENCY_EXIT" | "HAS_DEADBOLT_LOCK" | "HAS_OUTDOOR_LIGHTING" | "HAS_ESSENTIALS" | "HAS_BALCONY_TERRASSE" | "HAS_BABY_HIGH_CHAIR" | "HAS_BABY_TRAVEL_BED" | "HAS_CDDVD_PLAYER" | "HAS_BOARD_GAMES" | "HAS_BARBECUE" | "HAS_ELEVATOR" | "HAS_DEHUMIDIFIER" | "HAS_CEILING_FAN" | "HAS_VENTILATION_FAN" | "HAS_HAIR_DRYER" | "HAS_CROCKERY_CUTLERY" | "HAS_POTS_PANS" | "HAS_OVEN" | "HAS_MICROWAVE_OVEN" | "HAS_WATER_KETTLE" | "HAS_COFFEE_MAKER" | "HAS_DISHWASHER" | "HAS_TOASTER" | "HAS_FRIDGE" | "HAS_KITCHEN_ISLAND" | "HAS_DINING_TABLE" | "HAS_ALARM_SYSTEM" | "HAS_BASKETBALL_COURT" | "HAS_CINEMA_ROOM" | "HAS_GATED_PROPERTY" | "HAS_HELIPAD" | "HAS_GYM" | "HAS_IPOD_STATION" | "HAS_JACUZZI" | "HAS_STEAM_ROOM" | "HAS_LIBRARY" | "HAS_MASSAGE_ROOM" | "HAS_OFFICE" | "HAS_DESK" | "HAS_DESK_CHAIR" | "HAS_COMPUTER_MONITOR" | "HAS_PRINTER" | "HAS_POOL_TABLE" | "HAS_PIANO" | "HAS_SAFE_BOX" | "HAS_CABINET_LOCKS" | "HAS_SEA_VIEW" | "HAS_SMART_HOME" | "HAS_SOCCER_FIELD" | "HAS_TENNIS" | "HAS_TOILETRIES" | "HAS_WINE_CELLAR" | "HAS_WARDROBE" | "HAS_IRON" | "HAS_IRONING_FACILITIES" | "HAS_SHAMPOO" | "HAS_BREAKFAST" | "HAS_MEAL_DELIVERY" | "HAS_BUZZER" | "HAS_DOORMAN" | "HAS_CARBON_MONOXIDE_DETECTOR" | "HAS_FIRST_AID_KIT" | "HAS_CAT" | "HAS_DOG" | "HAS_OTHER_PET" | "HAS_24_CHECKIN" | "HAS_SAFETY_CARD" | "HAS_HANGERS" | "IS_LAPTOP_FRIENDLY" | "HAS_LOCK_ON_BEDROOM" | "HAS_PRIVATE_ENTRANCE" | "HAS_BABY_BATH" | "HAS_BABY_MONITOR" | "HAS_BABYSITTER_RECOMMENDATIONS" | "HAS_BATHTUB" | "HAS_CHANGING_TABLE" | "HAS_CHILDRENS_BOOKS_AND_TOYS" | "HAS_OUTDOOR_PLAY_AREA" | "HAS_CHILDRENS_DINNERWARE" | "HAS_CHILDCARE" | "HAS_FIREPLACE_GUARDS" | "HAS_GAME_CONSOLE" | "HAS_OUTLET_COVERS" | "HAS_PACK_N_PLAY_TRAVEL_CRIB" | "HAS_ROOM_DARKENING_SHADES" | "HAS_STAIR_GATES" | "HAS_TABLE_CORNER_GUARDS" | "HAS_WINDOW_GUARDS" | "HAS_LAKE_ACCESS" | "HAS_BEACH_FRONT" | "HAS_WATER_FRONT" | "HAS_SKI_IN_SKI_OUT" | "HAS_STOVE" | "CHECK_IN_OPTION" | "CHECK_IN_OPTION_INSTRUCTION" | "HAS_LINENS" | "HAS_TOWELS" | "HAS_HOT_WATER" | "HAS_COOKING_BASICS" | "HAS_SURVEILLANCE" | "HAS_GARDEN" | "HAS_DECK_PATIO" | "HAS_AIR_FILTER" | "HAS_ENHANCED_CLEANING" | "HAS_CLEANING_WITH_DISINFECTANTS" | "HAS_HIGH_TOUCH_SURFACES_CLEANING_WITH_DISINFECTANTS" | "HAS_IN_PERSON_CHECKIN" | "HAS_CONTACTLESS_CHECKIN" | "HAS_CONCIERGE" | "HAS_OCEAN_FRONT" | "IS_RESORT" | "IS_RURAL" | "HAS_TOWN" | "HAS_WATER_VIEW" | "IS_DOWNTOWN" | "HAS_GOLF_COURSE_VIEW" | "IS_LAKEFRONT" | "HAS_MOUNTAIN" | "IS_NEAR_OCEAN" | "HAS_RIVER" | "HAS_VILLAGE" | "HAS_BEACH" | "HAS_BEACH_VIEW" | "IS_GOLF_COURSE_FRONT" | "HAS_LAKE" | "HAS_LAKE_VIEW" | "HAS_MOUNTAIN_VIEW" | "HAS_BAKING_SHEET" | "HAS_BARBEQUE_UTENSILS" | "HAS_BEACH_ESSENTIALS" | "HAS_BIDET" | "HAS_BIKES_FOR_RENT" | "HAS_BLENDER" | "HAS_BOAT_SLIP" | "HAS_BODY_SOAP" | "HAS_BREAD_MAKER" | "HAS_CLEANING_PRODUCTS" | "HAS_CLOTHES_DRYING_RACK" | "HAS_COFFEE" | "HAS_CONDITIONER" | "HAS_ETHERNET_CONNECTION" | "HAS_EXERCISE_EQUIPMENT" | "HAS_EXTRA_PILLOWS_AND_BLANKETS" | "HAS_FIRE_PIT" | "HAS_FREEZER" | "HAS_HAMMOCK" | "HAS_LAUNDROMAT_NEARBY" | "HAS_KAYAK" | "HAS_MINI_FRIDGE" | "HAS_MOSQUITO_NET" | "HAS_OUTDOOR_KITCHEN" | "HAS_OUTDOOR_SEATING" | "HAS_PING_PONG_TABLE" | "HAS_POCKET_WIFI" | "HAS_PORTABLE_FANS" | "HAS_RAIN_SHOWER" | "HAS_RECORD_PLAYER" | "HAS_RESORT_ACCESS" | "HAS_RICE_MAKER" | "HAS_SAFE" | "HAS_SHOWER_GEL" | "HAS_SOUND_SYSTEM" | "HAS_TRASH_COMPACTER" | "HAS_WINE_GLASSES" | "INVOICE_PROVIDED";
|
|
33
|
+
category: "INDOOR" | "OUTDOOR" | "EXTRAS" | "FAMILY" | null;
|
|
34
|
+
description: string | null;
|
|
35
|
+
}[]>;
|
|
36
|
+
addToProperty(property: Property, { amenity, description }: {
|
|
37
|
+
amenity: AmenityId;
|
|
38
|
+
description?: string;
|
|
39
|
+
}): Promise<void>;
|
|
40
|
+
removeFromProperty(amenity: Amenity): Promise<void>;
|
|
41
|
+
}
|
|
42
|
+
export {};
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AmenitiesApi = exports.AmenityIdSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
exports.AmenityIdSchema = zod_1.z.enum([
|
|
6
|
+
"HAS_TV",
|
|
7
|
+
"HAS_CABLE_TV",
|
|
8
|
+
"HAS_SMART_TV",
|
|
9
|
+
"HAS_AIR_CONDITIONING",
|
|
10
|
+
"HAS_HEATING",
|
|
11
|
+
"HAS_KITCHEN",
|
|
12
|
+
"HAS_KITCHENETTE",
|
|
13
|
+
"HAS_INTERNET_WIFI",
|
|
14
|
+
"HAS_PAID_WIFI",
|
|
15
|
+
"HAS_WIFI_SPEED_25",
|
|
16
|
+
"HAS_WIFI_SPEED_50",
|
|
17
|
+
"HAS_WIFI_SPEED_100",
|
|
18
|
+
"HAS_WIFI_SPEED_250",
|
|
19
|
+
"HAS_WIFI_SPEED_500",
|
|
20
|
+
"HAS_WASHER",
|
|
21
|
+
"HAS_DRYER",
|
|
22
|
+
"HAS_SHARED_WASHER",
|
|
23
|
+
"HAS_SHARED_DRYER",
|
|
24
|
+
"HAS_POOL",
|
|
25
|
+
"HAS_POOL_ALL_YEAR",
|
|
26
|
+
"HAS_POOL_SEASONAL",
|
|
27
|
+
"HAS_COMMUNAL_POOL",
|
|
28
|
+
"HAS_HEATED_POOL",
|
|
29
|
+
"HAS_INDOOR_POOL",
|
|
30
|
+
"HAS_INDOOR_POOL_ALL_YEAR",
|
|
31
|
+
"HAS_INDOOR_POOL_SEASONAL",
|
|
32
|
+
"HAS_FENCED_POOL",
|
|
33
|
+
"HAS_FENCED_YARD",
|
|
34
|
+
"HAS_HOT_TUB",
|
|
35
|
+
"HAS_FREE_PARKING",
|
|
36
|
+
"HAS_FREE_STREET_PARKING",
|
|
37
|
+
"HAS_PAID_OFF_PREMISES_PARKING",
|
|
38
|
+
"HAS_PAID_ON_PREMISES_PARKING",
|
|
39
|
+
"HAS_EV_CAR_CHARGER",
|
|
40
|
+
"HAS_INDOOR_FIREPLACE",
|
|
41
|
+
"IS_WHEELCHAIR_ACCESSIBLE",
|
|
42
|
+
"HAS_SINGLE_LEVEL",
|
|
43
|
+
"HAS_SMOKE_DETECTOR",
|
|
44
|
+
"HAS_FIRE_EXTINGUISHER",
|
|
45
|
+
"HAS_EMERGENCY_EXIT",
|
|
46
|
+
"HAS_DEADBOLT_LOCK",
|
|
47
|
+
"HAS_OUTDOOR_LIGHTING",
|
|
48
|
+
"HAS_ESSENTIALS",
|
|
49
|
+
"HAS_BALCONY_TERRASSE",
|
|
50
|
+
"HAS_BABY_HIGH_CHAIR",
|
|
51
|
+
"HAS_BABY_TRAVEL_BED",
|
|
52
|
+
"HAS_CDDVD_PLAYER",
|
|
53
|
+
"HAS_BOARD_GAMES",
|
|
54
|
+
"HAS_BARBECUE",
|
|
55
|
+
"HAS_ELEVATOR",
|
|
56
|
+
"HAS_DEHUMIDIFIER",
|
|
57
|
+
"HAS_CEILING_FAN",
|
|
58
|
+
"HAS_VENTILATION_FAN",
|
|
59
|
+
"HAS_HAIR_DRYER",
|
|
60
|
+
"HAS_CROCKERY_CUTLERY",
|
|
61
|
+
"HAS_POTS_PANS",
|
|
62
|
+
"HAS_OVEN",
|
|
63
|
+
"HAS_MICROWAVE_OVEN",
|
|
64
|
+
"HAS_WATER_KETTLE",
|
|
65
|
+
"HAS_COFFEE_MAKER",
|
|
66
|
+
"HAS_DISHWASHER",
|
|
67
|
+
"HAS_TOASTER",
|
|
68
|
+
"HAS_FRIDGE",
|
|
69
|
+
"HAS_KITCHEN_ISLAND",
|
|
70
|
+
"HAS_DINING_TABLE",
|
|
71
|
+
"HAS_ALARM_SYSTEM",
|
|
72
|
+
"HAS_BASKETBALL_COURT",
|
|
73
|
+
"HAS_CINEMA_ROOM",
|
|
74
|
+
"HAS_GATED_PROPERTY",
|
|
75
|
+
"HAS_HELIPAD",
|
|
76
|
+
"HAS_GYM",
|
|
77
|
+
"HAS_IPOD_STATION",
|
|
78
|
+
"HAS_JACUZZI",
|
|
79
|
+
"HAS_STEAM_ROOM",
|
|
80
|
+
"HAS_LIBRARY",
|
|
81
|
+
"HAS_MASSAGE_ROOM",
|
|
82
|
+
"HAS_OFFICE",
|
|
83
|
+
"HAS_DESK",
|
|
84
|
+
"HAS_DESK_CHAIR",
|
|
85
|
+
"HAS_COMPUTER_MONITOR",
|
|
86
|
+
"HAS_PRINTER",
|
|
87
|
+
"HAS_POOL_TABLE",
|
|
88
|
+
"HAS_PIANO",
|
|
89
|
+
"HAS_SAFE_BOX",
|
|
90
|
+
"HAS_CABINET_LOCKS",
|
|
91
|
+
"HAS_SEA_VIEW",
|
|
92
|
+
"HAS_SMART_HOME",
|
|
93
|
+
"HAS_SOCCER_FIELD",
|
|
94
|
+
"HAS_TENNIS",
|
|
95
|
+
"HAS_TOILETRIES",
|
|
96
|
+
"HAS_WINE_CELLAR",
|
|
97
|
+
"HAS_WARDROBE",
|
|
98
|
+
"HAS_IRON",
|
|
99
|
+
"HAS_IRONING_FACILITIES",
|
|
100
|
+
"HAS_SHAMPOO",
|
|
101
|
+
"HAS_BREAKFAST",
|
|
102
|
+
"HAS_MEAL_DELIVERY",
|
|
103
|
+
"HAS_BUZZER",
|
|
104
|
+
"HAS_DOORMAN",
|
|
105
|
+
"HAS_CARBON_MONOXIDE_DETECTOR",
|
|
106
|
+
"HAS_FIRST_AID_KIT",
|
|
107
|
+
"HAS_CAT",
|
|
108
|
+
"HAS_DOG",
|
|
109
|
+
"HAS_OTHER_PET",
|
|
110
|
+
"HAS_24_CHECKIN",
|
|
111
|
+
"HAS_SAFETY_CARD",
|
|
112
|
+
"HAS_HANGERS",
|
|
113
|
+
"IS_LAPTOP_FRIENDLY",
|
|
114
|
+
"HAS_LOCK_ON_BEDROOM",
|
|
115
|
+
"HAS_PRIVATE_ENTRANCE",
|
|
116
|
+
"HAS_BABY_BATH",
|
|
117
|
+
"HAS_BABY_MONITOR",
|
|
118
|
+
"HAS_BABYSITTER_RECOMMENDATIONS",
|
|
119
|
+
"HAS_BATHTUB",
|
|
120
|
+
"HAS_CHANGING_TABLE",
|
|
121
|
+
"HAS_CHILDRENS_BOOKS_AND_TOYS",
|
|
122
|
+
"HAS_OUTDOOR_PLAY_AREA",
|
|
123
|
+
"HAS_CHILDRENS_DINNERWARE",
|
|
124
|
+
"HAS_CHILDCARE",
|
|
125
|
+
"HAS_FIREPLACE_GUARDS",
|
|
126
|
+
"HAS_GAME_CONSOLE",
|
|
127
|
+
"HAS_OUTLET_COVERS",
|
|
128
|
+
"HAS_PACK_N_PLAY_TRAVEL_CRIB",
|
|
129
|
+
"HAS_ROOM_DARKENING_SHADES",
|
|
130
|
+
"HAS_STAIR_GATES",
|
|
131
|
+
"HAS_TABLE_CORNER_GUARDS",
|
|
132
|
+
"HAS_WINDOW_GUARDS",
|
|
133
|
+
"HAS_LAKE_ACCESS",
|
|
134
|
+
"HAS_BEACH_FRONT",
|
|
135
|
+
"HAS_WATER_FRONT",
|
|
136
|
+
"HAS_SKI_IN_SKI_OUT",
|
|
137
|
+
"HAS_STOVE",
|
|
138
|
+
"CHECK_IN_OPTION",
|
|
139
|
+
"CHECK_IN_OPTION_INSTRUCTION",
|
|
140
|
+
"HAS_LINENS",
|
|
141
|
+
"HAS_TOWELS",
|
|
142
|
+
"HAS_HOT_WATER",
|
|
143
|
+
"HAS_COOKING_BASICS",
|
|
144
|
+
"HAS_SURVEILLANCE",
|
|
145
|
+
"HAS_GARDEN",
|
|
146
|
+
"HAS_DECK_PATIO",
|
|
147
|
+
"HAS_AIR_FILTER",
|
|
148
|
+
"HAS_ENHANCED_CLEANING",
|
|
149
|
+
"HAS_CLEANING_WITH_DISINFECTANTS",
|
|
150
|
+
"HAS_HIGH_TOUCH_SURFACES_CLEANING_WITH_DISINFECTANTS",
|
|
151
|
+
"HAS_IN_PERSON_CHECKIN",
|
|
152
|
+
"HAS_CONTACTLESS_CHECKIN",
|
|
153
|
+
"HAS_CONCIERGE",
|
|
154
|
+
"HAS_OCEAN_FRONT",
|
|
155
|
+
"IS_RESORT",
|
|
156
|
+
"IS_RURAL",
|
|
157
|
+
"HAS_TOWN",
|
|
158
|
+
"HAS_WATER_VIEW",
|
|
159
|
+
"IS_DOWNTOWN",
|
|
160
|
+
"HAS_GOLF_COURSE_VIEW",
|
|
161
|
+
"IS_LAKEFRONT",
|
|
162
|
+
"HAS_MOUNTAIN",
|
|
163
|
+
"IS_NEAR_OCEAN",
|
|
164
|
+
"HAS_RIVER",
|
|
165
|
+
"HAS_VILLAGE",
|
|
166
|
+
"HAS_BEACH",
|
|
167
|
+
"HAS_BEACH_VIEW",
|
|
168
|
+
"IS_GOLF_COURSE_FRONT",
|
|
169
|
+
"HAS_LAKE",
|
|
170
|
+
"HAS_LAKE_VIEW",
|
|
171
|
+
"HAS_MOUNTAIN_VIEW",
|
|
172
|
+
"HAS_BAKING_SHEET",
|
|
173
|
+
"HAS_BARBEQUE_UTENSILS",
|
|
174
|
+
"HAS_BEACH_ESSENTIALS",
|
|
175
|
+
"HAS_BIDET",
|
|
176
|
+
"HAS_BIKES_FOR_RENT",
|
|
177
|
+
"HAS_BLENDER",
|
|
178
|
+
"HAS_BOAT_SLIP",
|
|
179
|
+
"HAS_BODY_SOAP",
|
|
180
|
+
"HAS_BREAD_MAKER",
|
|
181
|
+
"HAS_CLEANING_PRODUCTS",
|
|
182
|
+
"HAS_CLOTHES_DRYING_RACK",
|
|
183
|
+
"HAS_COFFEE",
|
|
184
|
+
"HAS_CONDITIONER",
|
|
185
|
+
"HAS_ETHERNET_CONNECTION",
|
|
186
|
+
"HAS_EXERCISE_EQUIPMENT",
|
|
187
|
+
"HAS_EXTRA_PILLOWS_AND_BLANKETS",
|
|
188
|
+
"HAS_FIRE_PIT",
|
|
189
|
+
"HAS_FREEZER",
|
|
190
|
+
"HAS_HAMMOCK",
|
|
191
|
+
"HAS_LAUNDROMAT_NEARBY",
|
|
192
|
+
"HAS_KAYAK",
|
|
193
|
+
"HAS_MINI_FRIDGE",
|
|
194
|
+
"HAS_MOSQUITO_NET",
|
|
195
|
+
"HAS_OUTDOOR_KITCHEN",
|
|
196
|
+
"HAS_OUTDOOR_SEATING",
|
|
197
|
+
"HAS_PING_PONG_TABLE",
|
|
198
|
+
"HAS_POCKET_WIFI",
|
|
199
|
+
"HAS_PORTABLE_FANS",
|
|
200
|
+
"HAS_RAIN_SHOWER",
|
|
201
|
+
"HAS_RECORD_PLAYER",
|
|
202
|
+
"HAS_RESORT_ACCESS",
|
|
203
|
+
"HAS_RICE_MAKER",
|
|
204
|
+
"HAS_SAFE",
|
|
205
|
+
"HAS_SHOWER_GEL",
|
|
206
|
+
"HAS_SOUND_SYSTEM",
|
|
207
|
+
"HAS_TRASH_COMPACTER",
|
|
208
|
+
"HAS_WINE_GLASSES",
|
|
209
|
+
"INVOICE_PROVIDED",
|
|
210
|
+
]);
|
|
211
|
+
const AmenitySchema = zod_1.z.object({
|
|
212
|
+
uid: zod_1.z.string(),
|
|
213
|
+
amenity: exports.AmenityIdSchema,
|
|
214
|
+
category: zod_1.z.enum(["INDOOR", "OUTDOOR", "EXTRAS", "FAMILY"]).nullable(),
|
|
215
|
+
propertyUid: zod_1.z.string(),
|
|
216
|
+
description: zod_1.z.string().nullable(),
|
|
217
|
+
});
|
|
218
|
+
class AmenitiesApi {
|
|
219
|
+
api;
|
|
220
|
+
constructor(api) {
|
|
221
|
+
this.api = api;
|
|
222
|
+
}
|
|
223
|
+
async getForProperty(property) {
|
|
224
|
+
return (await this.api.transport.fetch({
|
|
225
|
+
path: `/api/v3.2/amenities`,
|
|
226
|
+
query: { propertyUid: property.uid },
|
|
227
|
+
method: "GET",
|
|
228
|
+
response: zod_1.z.object({
|
|
229
|
+
amenities: zod_1.z.array(AmenitySchema),
|
|
230
|
+
_metadata: zod_1.z.object({
|
|
231
|
+
count: zod_1.z.number(),
|
|
232
|
+
totalCount: zod_1.z.number().nullable(),
|
|
233
|
+
}),
|
|
234
|
+
}),
|
|
235
|
+
})).amenities;
|
|
236
|
+
}
|
|
237
|
+
async addToProperty(property, { amenity, description }) {
|
|
238
|
+
await this.api.transport.fetch({
|
|
239
|
+
method: "POST",
|
|
240
|
+
path: "/api/v3.2/amenities",
|
|
241
|
+
body: {
|
|
242
|
+
amenity,
|
|
243
|
+
propertyUid: property.uid,
|
|
244
|
+
description,
|
|
245
|
+
},
|
|
246
|
+
response: zod_1.z.unknown(),
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
async removeFromProperty(amenity) {
|
|
250
|
+
await this.api.transport.fetch({
|
|
251
|
+
method: "DELETE",
|
|
252
|
+
path: `/api/v3.2/amenities/${amenity.uid}`,
|
|
253
|
+
response: zod_1.z.unknown(),
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
exports.AmenitiesApi = AmenitiesApi;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { HostfullyApi } from "./HostfullyApi";
|
|
3
|
+
import { Property } from "./PropertiesApi";
|
|
4
|
+
declare const PropertyFeeSchema: z.ZodObject<{
|
|
5
|
+
uid: z.ZodString;
|
|
6
|
+
propertyUid: z.ZodString;
|
|
7
|
+
amount: z.ZodNumber;
|
|
8
|
+
amountType: z.ZodEnum<["TAX", "AMOUNT"]>;
|
|
9
|
+
name: z.ZodString;
|
|
10
|
+
optional: z.ZodBoolean;
|
|
11
|
+
scope: z.ZodEnum<["PER_STAY", "PER_GUEST", "PER_NIGHT", "PER_GUEST_PER_NIGHT"]>;
|
|
12
|
+
taxationRate: z.ZodNumber;
|
|
13
|
+
type: z.ZodEnum<["CLEANING", "EARLY_ARRIVAL", "LATE_ARRIVAL", "PET", "TAX", "CUSTOM"]>;
|
|
14
|
+
airbnbType: z.ZodNullable<z.ZodEnum<["PASS_THROUGH_RESORT_FEE", "PASS_THROUGH_MANAGEMENT_FEE", "PASS_THROUGH_COMMUNITY_FEE", "PASS_THROUGH_LINEN_FEE", "PASS_THROUGH_ELECTRICITY_FEE", "PASS_THROUGH_WATER_FEE", "PASS_THROUGH_HEATING_FEE", "PASS_THROUGH_AIR_CONDITIONING_FEE", "PASS_THROUGH_UTILITY_FEE", "PASS_THROUGH_PET_FEE", "PASS_THROUGH_CLEANING_FEE", "PASS_THROUGH_SHORT_TERM_CLEANING_FEE", "PASS_THROUGH_SECURITY_DEPOSIT", "PASS_THROUGH_HOTEL_TAX", "PASS_THROUGH_LODGING_TAX", "PASS_THROUGH_ROOM_TAX", "PASS_THROUGH_TOURIST_TAX", "PASS_THROUGH_TRANSIENT_OCCUPANCY_TAX", "PASS_THROUGH_SALES_TAX", "PASS_THROUGH_VAT_TAX", "PASS_THROUGH_TOURISM_ASSESSMENT_FEE", "AIRBNB_COLLECTED_TAX"]>>;
|
|
15
|
+
bookingDotComType: z.ZodNullable<z.ZodEnum<["AIRPORT_SHUTTLE_FEE", "AIR_CONDITIONING_FEE", "CITY_TAX", "CLUB_CARD_FEE", "CONSERVATION_FEE", "CREDIT_CARD_FEE", "DESTINATION_FEE", "ELECTRICITY_FEE", "ENVIRONMENT_FEE", "FINAL_CLEANING_FEE", "GAS_FEE", "GOODS_AND_SERVICES_TAX", "GOVERNMENT_TAX", "HEATING_FEE", "HERITAGE_FEE", "HOT_SPRING_TAX", "HOUSEKEEPING_FEE", "KITCHEN_LINEN_FEE", "LINEN_FEE", "LINEN_PACKAGE_FEE", "LOCAL_COUNCIL_TAX", "MUNICIPALITY_FEE", "OIL_FEE", "PETS_FEE", "RESIDENTIAL_TAX", "RESORT_FEE", "SAUNA_FITNESS_FACILITIES_TAX", "SEA_PLANE_FEE", "SERVICE_CHARGE_FEE", "SHUTTLE_BOAT_FEE", "SKI_PASS_FEE", "SPA_TAX", "TOWEL_FEE", "TRANSFER_FEE", "TRANSIT_FEE", "VAT", "VISA_SUPPORT_FEE", "WATER_FEE", "WATER_PARK_FEE", "WOOD_FEE", "WRISTBAND_FEE"]>>;
|
|
16
|
+
hostfullyType: z.ZodNullable<z.ZodLiteral<"DEFAULT">>;
|
|
17
|
+
hvmiType: z.ZodNullable<z.ZodEnum<["ADMINISTRATIVE_FEE", "BOOKING_FEE", "CLEANING_FEE", "DOCK_FEE", "GUEST_REGISTRATION", "HOA_FEE", "HOTEL_TAX", "HOT_TUB_FEE", "MANAGEMENT_FEE", "MISCELLANEOUS_FEE", "OCCUPANCY_TAX", "PARKING_FEE", "PER_EXTRA_PERSON_FEE", "POOL_FEE", "POOL_HEATING_FEE", "RESORT_FEE", "SECURITY_DEPOSIT_FEE", "SERVICE_FEE", "UTILITY_FEE", "VAT_TAX", "WAIVER_DAMAGE_FEE", "PET_FEE"]>>;
|
|
18
|
+
vrboType: z.ZodNullable<z.ZodEnum<["ADDITIONAL_BED", "ADMINISTRATIVE", "AIR_CONDITIONING", "ARRIVAL_EARLY", "ARRIVAL_LATE", "ASSOCIATION_PROPERTY", "BABY_BED", "BOOKING_EARLY", "BOOKING_LATE", "CLASS", "CLUB", "CONCIERGE", "DEPARTURE_EARLY", "DEPARTURE_LATE", "ELECTRICITY", "EQUIPMENT", "FOOD", "GARDENING", "GAS", "HEATING", "HIGH_CHAIR", "HOT_TUB", "INTERNET", "LABOR", "LAUNDRY", "LINENS", "LINENS_BATH", "LINENS_BED", "MANAGEMENT", "OIL", "ON_SITE_PAYMENT_METHOD", "PARKING", "PET", "PHONE", "POOL", "POOL_HEATING", "RENT", "RESORT", "SPA", "TAX", "TOILETRIES", "TOUR", "TRANSPORTATION", "UTENSILS_CLEANING", "UTENSILS_FOOD", "VEHICLE", "WAIVER_DAMAGE", "WATER", "WATER_CRAFT", "WATER_CRAFT_MOORING", "WATER_DRINKING", "WOOD"]>>;
|
|
19
|
+
}, "strip", z.ZodTypeAny, {
|
|
20
|
+
type: "PET" | "TAX" | "CLEANING" | "EARLY_ARRIVAL" | "LATE_ARRIVAL" | "CUSTOM";
|
|
21
|
+
name: string;
|
|
22
|
+
uid: string;
|
|
23
|
+
propertyUid: string;
|
|
24
|
+
amount: number;
|
|
25
|
+
amountType: "TAX" | "AMOUNT";
|
|
26
|
+
optional: boolean;
|
|
27
|
+
scope: "PER_STAY" | "PER_GUEST" | "PER_NIGHT" | "PER_GUEST_PER_NIGHT";
|
|
28
|
+
taxationRate: number;
|
|
29
|
+
airbnbType: "PASS_THROUGH_RESORT_FEE" | "PASS_THROUGH_MANAGEMENT_FEE" | "PASS_THROUGH_COMMUNITY_FEE" | "PASS_THROUGH_LINEN_FEE" | "PASS_THROUGH_ELECTRICITY_FEE" | "PASS_THROUGH_WATER_FEE" | "PASS_THROUGH_HEATING_FEE" | "PASS_THROUGH_AIR_CONDITIONING_FEE" | "PASS_THROUGH_UTILITY_FEE" | "PASS_THROUGH_PET_FEE" | "PASS_THROUGH_CLEANING_FEE" | "PASS_THROUGH_SHORT_TERM_CLEANING_FEE" | "PASS_THROUGH_SECURITY_DEPOSIT" | "PASS_THROUGH_HOTEL_TAX" | "PASS_THROUGH_LODGING_TAX" | "PASS_THROUGH_ROOM_TAX" | "PASS_THROUGH_TOURIST_TAX" | "PASS_THROUGH_TRANSIENT_OCCUPANCY_TAX" | "PASS_THROUGH_SALES_TAX" | "PASS_THROUGH_VAT_TAX" | "PASS_THROUGH_TOURISM_ASSESSMENT_FEE" | "AIRBNB_COLLECTED_TAX" | null;
|
|
30
|
+
bookingDotComType: "RESORT_FEE" | "AIRPORT_SHUTTLE_FEE" | "AIR_CONDITIONING_FEE" | "CITY_TAX" | "CLUB_CARD_FEE" | "CONSERVATION_FEE" | "CREDIT_CARD_FEE" | "DESTINATION_FEE" | "ELECTRICITY_FEE" | "ENVIRONMENT_FEE" | "FINAL_CLEANING_FEE" | "GAS_FEE" | "GOODS_AND_SERVICES_TAX" | "GOVERNMENT_TAX" | "HEATING_FEE" | "HERITAGE_FEE" | "HOT_SPRING_TAX" | "HOUSEKEEPING_FEE" | "KITCHEN_LINEN_FEE" | "LINEN_FEE" | "LINEN_PACKAGE_FEE" | "LOCAL_COUNCIL_TAX" | "MUNICIPALITY_FEE" | "OIL_FEE" | "PETS_FEE" | "RESIDENTIAL_TAX" | "SAUNA_FITNESS_FACILITIES_TAX" | "SEA_PLANE_FEE" | "SERVICE_CHARGE_FEE" | "SHUTTLE_BOAT_FEE" | "SKI_PASS_FEE" | "SPA_TAX" | "TOWEL_FEE" | "TRANSFER_FEE" | "TRANSIT_FEE" | "VAT" | "VISA_SUPPORT_FEE" | "WATER_FEE" | "WATER_PARK_FEE" | "WOOD_FEE" | "WRISTBAND_FEE" | null;
|
|
31
|
+
hostfullyType: "DEFAULT" | null;
|
|
32
|
+
hvmiType: "ADMINISTRATIVE_FEE" | "BOOKING_FEE" | "CLEANING_FEE" | "DOCK_FEE" | "GUEST_REGISTRATION" | "HOA_FEE" | "HOTEL_TAX" | "HOT_TUB_FEE" | "MANAGEMENT_FEE" | "MISCELLANEOUS_FEE" | "OCCUPANCY_TAX" | "PARKING_FEE" | "PER_EXTRA_PERSON_FEE" | "POOL_FEE" | "POOL_HEATING_FEE" | "RESORT_FEE" | "SECURITY_DEPOSIT_FEE" | "SERVICE_FEE" | "UTILITY_FEE" | "VAT_TAX" | "WAIVER_DAMAGE_FEE" | "PET_FEE" | null;
|
|
33
|
+
vrboType: "ADDITIONAL_BED" | "ADMINISTRATIVE" | "AIR_CONDITIONING" | "ARRIVAL_EARLY" | "ARRIVAL_LATE" | "ASSOCIATION_PROPERTY" | "BABY_BED" | "BOOKING_EARLY" | "BOOKING_LATE" | "CLASS" | "CLUB" | "CONCIERGE" | "DEPARTURE_EARLY" | "DEPARTURE_LATE" | "ELECTRICITY" | "EQUIPMENT" | "FOOD" | "GARDENING" | "GAS" | "HEATING" | "HIGH_CHAIR" | "HOT_TUB" | "INTERNET" | "LABOR" | "LAUNDRY" | "LINENS" | "LINENS_BATH" | "LINENS_BED" | "MANAGEMENT" | "OIL" | "ON_SITE_PAYMENT_METHOD" | "PARKING" | "PET" | "PHONE" | "POOL" | "POOL_HEATING" | "RENT" | "RESORT" | "SPA" | "TAX" | "TOILETRIES" | "TOUR" | "TRANSPORTATION" | "UTENSILS_CLEANING" | "UTENSILS_FOOD" | "VEHICLE" | "WAIVER_DAMAGE" | "WATER" | "WATER_CRAFT" | "WATER_CRAFT_MOORING" | "WATER_DRINKING" | "WOOD" | null;
|
|
34
|
+
}, {
|
|
35
|
+
type: "PET" | "TAX" | "CLEANING" | "EARLY_ARRIVAL" | "LATE_ARRIVAL" | "CUSTOM";
|
|
36
|
+
name: string;
|
|
37
|
+
uid: string;
|
|
38
|
+
propertyUid: string;
|
|
39
|
+
amount: number;
|
|
40
|
+
amountType: "TAX" | "AMOUNT";
|
|
41
|
+
optional: boolean;
|
|
42
|
+
scope: "PER_STAY" | "PER_GUEST" | "PER_NIGHT" | "PER_GUEST_PER_NIGHT";
|
|
43
|
+
taxationRate: number;
|
|
44
|
+
airbnbType: "PASS_THROUGH_RESORT_FEE" | "PASS_THROUGH_MANAGEMENT_FEE" | "PASS_THROUGH_COMMUNITY_FEE" | "PASS_THROUGH_LINEN_FEE" | "PASS_THROUGH_ELECTRICITY_FEE" | "PASS_THROUGH_WATER_FEE" | "PASS_THROUGH_HEATING_FEE" | "PASS_THROUGH_AIR_CONDITIONING_FEE" | "PASS_THROUGH_UTILITY_FEE" | "PASS_THROUGH_PET_FEE" | "PASS_THROUGH_CLEANING_FEE" | "PASS_THROUGH_SHORT_TERM_CLEANING_FEE" | "PASS_THROUGH_SECURITY_DEPOSIT" | "PASS_THROUGH_HOTEL_TAX" | "PASS_THROUGH_LODGING_TAX" | "PASS_THROUGH_ROOM_TAX" | "PASS_THROUGH_TOURIST_TAX" | "PASS_THROUGH_TRANSIENT_OCCUPANCY_TAX" | "PASS_THROUGH_SALES_TAX" | "PASS_THROUGH_VAT_TAX" | "PASS_THROUGH_TOURISM_ASSESSMENT_FEE" | "AIRBNB_COLLECTED_TAX" | null;
|
|
45
|
+
bookingDotComType: "RESORT_FEE" | "AIRPORT_SHUTTLE_FEE" | "AIR_CONDITIONING_FEE" | "CITY_TAX" | "CLUB_CARD_FEE" | "CONSERVATION_FEE" | "CREDIT_CARD_FEE" | "DESTINATION_FEE" | "ELECTRICITY_FEE" | "ENVIRONMENT_FEE" | "FINAL_CLEANING_FEE" | "GAS_FEE" | "GOODS_AND_SERVICES_TAX" | "GOVERNMENT_TAX" | "HEATING_FEE" | "HERITAGE_FEE" | "HOT_SPRING_TAX" | "HOUSEKEEPING_FEE" | "KITCHEN_LINEN_FEE" | "LINEN_FEE" | "LINEN_PACKAGE_FEE" | "LOCAL_COUNCIL_TAX" | "MUNICIPALITY_FEE" | "OIL_FEE" | "PETS_FEE" | "RESIDENTIAL_TAX" | "SAUNA_FITNESS_FACILITIES_TAX" | "SEA_PLANE_FEE" | "SERVICE_CHARGE_FEE" | "SHUTTLE_BOAT_FEE" | "SKI_PASS_FEE" | "SPA_TAX" | "TOWEL_FEE" | "TRANSFER_FEE" | "TRANSIT_FEE" | "VAT" | "VISA_SUPPORT_FEE" | "WATER_FEE" | "WATER_PARK_FEE" | "WOOD_FEE" | "WRISTBAND_FEE" | null;
|
|
46
|
+
hostfullyType: "DEFAULT" | null;
|
|
47
|
+
hvmiType: "ADMINISTRATIVE_FEE" | "BOOKING_FEE" | "CLEANING_FEE" | "DOCK_FEE" | "GUEST_REGISTRATION" | "HOA_FEE" | "HOTEL_TAX" | "HOT_TUB_FEE" | "MANAGEMENT_FEE" | "MISCELLANEOUS_FEE" | "OCCUPANCY_TAX" | "PARKING_FEE" | "PER_EXTRA_PERSON_FEE" | "POOL_FEE" | "POOL_HEATING_FEE" | "RESORT_FEE" | "SECURITY_DEPOSIT_FEE" | "SERVICE_FEE" | "UTILITY_FEE" | "VAT_TAX" | "WAIVER_DAMAGE_FEE" | "PET_FEE" | null;
|
|
48
|
+
vrboType: "ADDITIONAL_BED" | "ADMINISTRATIVE" | "AIR_CONDITIONING" | "ARRIVAL_EARLY" | "ARRIVAL_LATE" | "ASSOCIATION_PROPERTY" | "BABY_BED" | "BOOKING_EARLY" | "BOOKING_LATE" | "CLASS" | "CLUB" | "CONCIERGE" | "DEPARTURE_EARLY" | "DEPARTURE_LATE" | "ELECTRICITY" | "EQUIPMENT" | "FOOD" | "GARDENING" | "GAS" | "HEATING" | "HIGH_CHAIR" | "HOT_TUB" | "INTERNET" | "LABOR" | "LAUNDRY" | "LINENS" | "LINENS_BATH" | "LINENS_BED" | "MANAGEMENT" | "OIL" | "ON_SITE_PAYMENT_METHOD" | "PARKING" | "PET" | "PHONE" | "POOL" | "POOL_HEATING" | "RENT" | "RESORT" | "SPA" | "TAX" | "TOILETRIES" | "TOUR" | "TRANSPORTATION" | "UTENSILS_CLEANING" | "UTENSILS_FOOD" | "VEHICLE" | "WAIVER_DAMAGE" | "WATER" | "WATER_CRAFT" | "WATER_CRAFT_MOORING" | "WATER_DRINKING" | "WOOD" | null;
|
|
49
|
+
}>;
|
|
50
|
+
export type PropertyFee = z.infer<typeof PropertyFeeSchema>;
|
|
51
|
+
export type PropertyTaxFeeInput = Omit<PropertyFee, "uid" | "propertyUid">;
|
|
52
|
+
export declare class FeesApi {
|
|
53
|
+
private readonly api;
|
|
54
|
+
constructor(api: HostfullyApi);
|
|
55
|
+
list(property: Property): Promise<PropertyFee[]>;
|
|
56
|
+
create(property: Property, fields: PropertyTaxFeeInput): Promise<void>;
|
|
57
|
+
delete(uid: string): Promise<void>;
|
|
58
|
+
}
|
|
59
|
+
export {};
|