@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 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 {};