---
title: "Register a new Property (e.g. 'BIG4 Launceston')"
method: POST
path: "/properties"
tags: ["Propertys"]
---

# Register a new Property (e.g. 'BIG4 Launceston')

`POST /properties`

## Request

- Base URL: `http://localhost:8000`
- URL: `http://localhost:8000/properties`
- Auth: HTTP bearer

Registers a new Property (e.g. 'BIG4 Launceston').

## Headers

- `API-Version` '1'

## Request body

- PropertyCreate: PropertyCreate is a Pydantic model that represents the schema for creating a new property.
  - `name` string, required
  - `type` integer, required
  - `slug` string, required
  - `address` string, required
  - `state` string, required
  - `country` 'AU' | 'NZ'
  - `region` string, nullable
  - `lat` number, required
  - `lon` number, required
  - `desc` string, nullable
  - `pms` string, nullable
  - `pms_config` PropertyPMSConfig
    - `type` string, required
    - `endpoint` string, required
    - `newbook` NewbookConfig
      - `username` string, nullable, required
      - `password` string, nullable, required
      - `instance_token` string, required
    - `rms` RMSConfig
      - `client_id` string, required
      - `client_password` string, required
  - `website` string, uri, nullable
  - `email` string, email, nullable
  - `phone_free` string, nullable
  - `phone_alt` string, nullable
  - `features` integer[], nullable
  - `managements` integer[], nullable
  - `highlights` string[], nullable
  - `images` PropertyImage[], nullable
    - `description` string, nullable, required
    - `url` string, uri, required
  - `google_place_id` string, nullable: Google Maps Place ID for star ratings
  - `status` string, nullable
  - `visibility` string
  - `booking_enabled` boolean
  - `manual_request_enabled` boolean, nullable: Whether guests can submit Request to Book. Omission preserves the existing AU default and keeps new NZ catalogue entries directory-only.

## Response `200`

Successful Response

- Property: Property is a Pydantic model that represents the schema for a property.
  - `id` integer, required
  - `name` string, required
  - `type` integer, required
  - `slug` string, required
  - `address` string, required
  - `state` string, required
  - `country` 'AU' | 'NZ'
  - `region` string, nullable
  - `lat` number, required
  - `lon` number, required
  - `desc` string, nullable, required
  - `pms` string, nullable, required
  - `pms_config` PropertyPMSConfig, required
    - `type` string, required
    - `endpoint` string, required
    - `newbook` NewbookConfig
      - `username` string, nullable, required
      - `password` string, nullable, required
      - `instance_token` string, required
    - `rms` RMSConfig
      - `client_id` string, required
      - `client_password` string, required
  - `website` string, uri, nullable, required
  - `email` string, email, nullable, required
  - `phone_free` string, nullable, required
  - `phone_alt` string, nullable, required
  - `features` integer[], nullable
  - `managements` integer[], nullable
  - `highlights` string[], nullable
  - `images` PropertyImage[], nullable
    - `description` string, nullable, required
    - `url` string, uri, required
  - `status` string, nullable, required
  - `visibility` string
  - `booking_enabled` boolean
  - `register_date` string, date-time, nullable, required
  - `updated_at` string, date-time, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/totalparks/apis/total-parks-public-api.md) · [All operations](https://skmtc.dev/totalparks/apis/total-parks-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/totalparks/apis/total-parks-public-api/revisions/dcb4c822e2c6?raw)
