---
# System prepended metadata

title: Reefnet

---

# Reefnet

## table

### introductions

|field|type|nullable|
|---|---|---|
|logo|string|V|
|home_photo|images|V|
|photo|string|V|
|title|string|V|
|overview|text|V|

### social_media

|field|type|nullable|default|
|---|---|---|---|
|introduction_id|foreignId|||
|is_published|boolean||false|
|provider|string|||
|link|text|V||

### home_photos

|field|type|nullable|default|
|---|---|---|---|
|introduction_id|foreignId|||
|path|string|||
|sort|integer|||
|is_published|boolean||false|

### listings

|field|type|nullable|default|
|---|---|---|---|
|list_name|string|V||
|subtitle|string|V||
|overview|text|V||
|details|text|V||
|address|string|V||
|airport_address|string|V||
|address_supplement|string|V||
|latitude|decimal(10, 7)|V||
|longitude|decimal(10, 7)|V||
|cover|string|V||
|capacity|unsignedInteger|V||
|number_of_rooms|unsignedInteger|V||
|number_of_toilets|unsignedInteger|V||
|property_tag|text(array)|V||
|kitchen|text(array)|V||
|bedroom_and_laundry|text(array)|V||
|bathroom|text(array)|V||
|entertainment|text(array)|V||
|heating_and_cooling|text(array)|V||
|parking_spaces_and_facilities|text(array)|V||
|safety_and_health|text(array)|V||
|basic_rate_per_night|unsignedInteger|V||
|basic_clean_fee|unsignedInteger|V||
|number_of_people_included_in_the_basic_charge|unsignedInteger|V||
|basic_charge_to_be_added_per_guest|unsignedInteger|V||
|coupon_id|foreignId|V||
|check_in_time|time|V||
|check_out_time|time|V||
|pets|boolean|V||
|smoking|boolean|V||
|parties_or_events|boolean|V||
|cancellation_policy|string|V||
|owner|string|V||
|airbnb|text|V||
|minpaku|text|V||
|status|boolean||false|
|sort|integer|V||

### photos

|field|type|nullable|default|
|---|---|---|---|
|id|foreignId|||
|model_type|string|||
|model_id|foreignId|||
|photo|string|||
|sort|integer|||
|is_published|boolean||false|

### listing_bedrooms

|field|type|nullable|default|
|---|---|---|---|
|listing_id|foreignId|||
|name|string|V||

### bed_types

|field|type|nullable|default|
|---|---|---|---|
|listing_bedroom_id|foreignId|||
|name|string|V||
|quantity|unsignedInteger|V||

### marketings

|field|type|nullable|default|
|---|---|---|---|
|name|string|V||
|status|boolean||false|
|published_from|date|||
|published_to|date|||
|cover|string|V||
|sort|integer||0|

### listing_marketing

|field|type|nullable|default|
|---|---|---|---|
|listing_id|foreignId|||
|marketing_id|foreignId|||

### listing_introduction

|field|type|nullable|default|
|---|---|---|---|
|banner|string|V||
|title|string|V||

### orders

|field|type|nullable|default|
|---|---|---|---|
|listing_id|foreignId|||
|first_name|string|V||
|last_name|string|V||
|email|string|V||
|phone_number|string|V||
|check_in_date|dateTime|V||
|check_out_date|dateTime|V||
|guests|unsignedInteger|V||
|total_price|unsignedInteger|V||
|birthday|date|V||
|gender|string|V||
|address|string|V||
|job|string|V||
|coupon_id|foreignId|V||

### accompanies

|field|type|nullable|default|
|---|---|---|---|
|order_id|foreignId||
|name|string|V||
|phone_number|string|V||
|birthday|date|V||
|gender|string|V||
|address|string|V||
|job|string|V||

### coupons

|field|type|nullable|default|
|---|---|---|---|
|title|string|V||
|status|boolean||false|
|code|string|||
|type|string||['listing', 'additional-service']|
|additional_service_category_id|foreignId|V||
|discount_method|string|||
|discount_amount|unsignedInteger||0|
|number_of_night|unsignedInteger||0|
|usage_count|unsignedInteger||0|

```` graphql
enum CouponType {
  LISTING @enum(value: "listing")
  ADDITIONAL_SERVICE @enum(value: "additional-service")
}
````

```` graphql
enum DiscountMethod {
  PERCENTAGE @enum(value: "percentage")
  FLAT_RATE @enum(value: "flat-rate")
  ONE_NIGHT_FREE @enum(value: "one-night-free")
  ONE_CHANCE_FREE @enum(value: "one-chance-free")
}
````

### coupon_dates

|field|type|nullable|default|
|---|---|---|---|
|coupon_id|foreignId|||
|started_from|date|||
|end_at|date|||

### coupon_listing

|field|type|nullable|default|
|---|---|---|---|
|coupon_id|foreignId|||
|listing_id|foreignId|||

### additional_service_coupon

|field|type|nullable|default|
|---|---|---|---|
|coupon_id|foreignId|||
|additional_service_id|foreignId|||

### additional_services

|field|type|nullable|default|
|---|---|---|---|
|additional_service_category_id|foreignId|||
|name|string|V||
|status|boolean||false|
|published_from|date|||
|published_to|date|||
|details|text|V||
|cover|string|V||
|basic_rate_per_person|unsignedInteger|V||
|least_people|unsignedInteger|V||
|max_people|unsignedInteger|V||
|service_charge|unsignedInteger|V||
|description|String|V||
|notice|String|V||


### additional_service_times

|field|type|nullable|default|
|---|---|---|---|
|additional_service_id|foreignId|||
|time|time|||

### additional_service_categories

|field|type|nullable|default|
|---|---|---|---|
|name|string|V||
|status|boolean||false|

### additional_service_orders

|field|type|nullable|default|
|---|---|---|---|
|additional_service_id|foreignId|||
|order_id|foreignId|||
|reservation_time|dateTime|||
|guests|unsignedInteger|||
|total_price|unsignedInteger|V||
|coupon_id|foreignId|V||

## 權限分成 (deparcated)
* ~~view-middleend~~
* ~~manage-user~~

### 角色分成管理者和員工
* admin
    * ~~view-middleend~~
    * ~~manage-user~~
* staff
    * ~~view-middleend~~

### Beds24 欄位對應

#### Property

|reefnet|beds24|
|---|---|
|name|name|
|state|state|
|city|city|
|address|address|
|latitude|latitude|
|longitude|longitude|

## Listing removed columns (2022-06-14)

* property_tag
* kitchen
* bedroom_and_laundry
* bathroom
* entertainment
* heating_and_cooling
* parking_spaces_and_facilities
* safety_and_health

## 權限區分 (2022-06-20)

* Admin 有
    * All Source 
        * Property
    * Reservation 
        * Order
    * Listings 
        * Listing
        * ListingIntroduction
    * Configuration 
        * Coupon
        * Accessory
        * Tag
    * Additional Service 
        * AdditionalService
        * AdditionalServiceIntroduction
    * Front Design 
        * Introduction
        * Marketing
    * Account
        * User

* Staff 有
    * All Source 
        * Property
    * Reservation 
        * Order
    * Listings 
        * Listing
        * ListingIntroduction
    * Configuration 
        * Coupon
        * Accessory
        * Tag
    * Additional Service 
        * AdditionalService
        * AdditionalServiceIntroduction
    * Front Design 
        * Introduction
        * Marketing

* Vendor 有
    * Additional Service 
        * AdditionalService
        * AdditionalServiceIntroduction

```graphql
enum Permission {
 VIEW_ALL_SOURCE @enum(value: "view-all-source")
 VIEW_RESERVATION @enum(value: "view-reservation")
 VIEW_LISTING @enum(value: "view-listing")
 VIEW_CONFIGURATION @enum(value: "view-configuration")
 VIEW_ADDITIONAL_SERVICE @enum(value: "view-additional-service")
 VIEW_FRONT_DESIGN @enum(value: "view-front-design")
 VIEW_ACCOUNT @enum(value: "view-account")
} 
```

## listing 每日價格 (2022-06-21)

### booking_parameters

|field|type|nullable|default|
|---|---|---|---|
|listing_id|foreignId|||
|date|date|||
|basic_rate_per_night|unsignedInteger|V||
|basic_clean_fee|unsignedInteger|V||
|number_of_people_included_in_the_basic_charge|unsignedInteger|V||
|basic_charge_to_be_added_per_guest|unsignedInteger|V||
|status|boolean||false|
 
 ## todo
 
- [x] updateAdditionalServiceOrderStatus 
