qualipool / swissrets

A swiss real estate transaction standard
https://swissrets.ch
MIT License
26 stars 18 forks source link

Add information about property transaction procedure #134

Open ghost opened 4 years ago

ghost commented 4 years ago

Problem description Some key indicators for the transaction of investment properties are missing in SwissRETS. Information about the transaction type, the timeline and some general conditions for the offers are important.

Desired Solution Add information about the property transaction procedure and timeline, minimal prices for the offers and steps to increase an offer:

Process types: Real estate transactions can be distinguished into:

Timeline

Minimum price Starting price for a transaction. The seller only accepts offers that equal or higher than the minimum.

Offer increase Amount by which a prospective buyer needs to increase his offer. (CHF 10'000 / CHF 20'000 / CHF 50'000 / CHF 100'000) This is only relevant for auction based transactions

jensstalder commented 3 years ago

Currently already implemented version

<auction
  expiration = xs:dateTime
  start = xs:dateTime>
positiveInteger
</auction>

Timeline

Process types:

Q: Can the type be infered by the ginven data. F.e. defining a start end and starting bid will imply a normal auction. Defining nboStart nboEnd will define a bidding system? Or should we define this explicitly separately (see type="" in example).

Offer increase

Q: Does the offer increase require all increments to be as such (rastered), or does it mean its the minimal increase but auctioneers can increase by a arbitrary amount when minimum increase is reached?

Minimum price

Already implemented since the base integer value represents the staring price.

Full possible result example

<auction nboStart="" start="" expiration="" type="fixed|normal|bidding" minIncrement="10000">1234567</auction>
ghost commented 3 years ago

What im wondering here is everything should go in an element, when only 1 of the 3 procedures is an auction?

Timeline: I would be potentially enough to add only nboStart="" but this needs to be well documented in that case so everyone knows how where to add the values

Process types: I would go for an explicit definition here ( type="")

Offer increase: Should be minimal increase but auctioneers can increase by a arbitrary amount when minimum increase is reached

jensstalder commented 3 years ago

@rgutzwiller

So this then

<auction start="" bindingStart="" expiration="" type="fixed|normal|bidding" minIncrease="10000">1234567</auction>

start: Defines when the action starts bindingStart: Defines when the bidding becomes binding. Must be after start date. type: TODO: We need to define the types. normal is probably not a good option. Will fixed and bidding be enough? value: Defines the starting price minIncrease: Defines the minimum amount of increase for a bid.

Once I know the types and if this looks ok to you I can create a PR. As far as I can tell these are all required values right?

jensstalder commented 3 years ago

Ok I think we got a solution now:

<property>
    <availability start="2018-12-13T12:12:12" expiration="2019-12-13T12:12:12">active</availability>
        <prices currency="CHF">
            <buy referring="all">
                  <price>850000</price>
                  <extra>25000</extra>
                   <wirPercentage>5</wirPercentage>
                   <yearlyOperationAndMaitenanceCosts>50123</yearlyOperationAndMaitenanceCosts>
            </buy>
            <auction start="2012-12-13T12:12:12" expiration="2012-12-13T12:12:13" minimalIncrease>745</auction>
            <bidding start="2012-12-13T12:12:12" bindingStart="2012-12-14T12:12:12" expiration="2012-12-15T12:12:13">745</auction>
            <deposit type="bank-guarantee">60000</deposit>
            <additionalOffers>
                  <offer type="parking-garage" interval="onetime">25000</offer>
            </additionalOffers>
    </prices>
</property>

What I am unsure about. Can <availability start="2018-12-13T12:12:12" expiration="2019-12-13T12:12:12" represent/replace the start and expiration dates from <action> and <bidding> or is that a seperate inromation?