{"_id":"5666d0dad784a70d00397bbc","order":0,"project":"5602b0b27435de0d00fabd94","user":"5602cb474f15002100ee44ba","link_external":false,"category":"5602b0b37435de0d00fabd98","githubsync":"","parentDoc":null,"sync_unique":"","type":"basic","api":{"url":"","auth":"required","params":[],"results":{"codes":[]},"settings":""},"body":"VacayPay is tradename of Rentivo.com, a business that specialises in the vacation rental industry, also known as self catering or holiday rentals. The booking and payment is hosted under the Procuro.io framework.\n\nProcuro is derived from the Latin for \"administer, attend to or manage\". The objective of Procuro is to knit together tools that allow owners and managers to take direct payments, manage their financial data and synchronise information.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/eWWLzvfjS5qfhHLo7Nqo_VACAYPAY-LOGO-oblong-127.fw.png\",\n        \"VACAYPAY-LOGO-oblong-127.fw.png\",\n        \"127\",\n        \"20\",\n        \"#34b494\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\nWe are always happy to hear new ideas for improvements within this industry.","excerpt":"","hidden":false,"slug":"what-is-vacaypay","title":"What is VacayPay?","updates":[],"createdAt":"2015-12-08T12:45:14.091Z","isReference":false,"link_url":"","version":"5602b0b37435de0d00fabd97","__v":2,"childrenPages":[]}

What is VacayPay?


VacayPay is tradename of Rentivo.com, a business that specialises in the vacation rental industry, also known as self catering or holiday rentals. The booking and payment is hosted under the Procuro.io framework. Procuro is derived from the Latin for "administer, attend to or manage". The objective of Procuro is to knit together tools that allow owners and managers to take direct payments, manage their financial data and synchronise information. [block:image] { "images": [ { "image": [ "https://files.readme.io/eWWLzvfjS5qfhHLo7Nqo_VACAYPAY-LOGO-oblong-127.fw.png", "VACAYPAY-LOGO-oblong-127.fw.png", "127", "20", "#34b494", "" ] } ] } [/block] We are always happy to hear new ideas for improvements within this industry.
VacayPay is tradename of Rentivo.com, a business that specialises in the vacation rental industry, also known as self catering or holiday rentals. The booking and payment is hosted under the Procuro.io framework. Procuro is derived from the Latin for "administer, attend to or manage". The objective of Procuro is to knit together tools that allow owners and managers to take direct payments, manage their financial data and synchronise information. [block:image] { "images": [ { "image": [ "https://files.readme.io/eWWLzvfjS5qfhHLo7Nqo_VACAYPAY-LOGO-oblong-127.fw.png", "VACAYPAY-LOGO-oblong-127.fw.png", "127", "20", "#34b494", "" ] } ] } [/block] We are always happy to hear new ideas for improvements within this industry.
{"_id":"5602b0b47435de0d00fabd9a","body":"First you'll need to register a new Procuro account by heading to https://www.procuro.io/register. After confirming your email address, login https://www.procuro.io/login and click \"Submit My Application\" (https://www.procuro.io//vacay-pay/accounts/create). \n\nFrom here you're required to submit a simple application for VacayPay, allowing you to start accepting payments. Fill in your details, upload proof of identification and start the verification process.\n[block:callout]\n{\n  \"type\": \"warning\",\n  \"title\": \"Passport / Proof Of Identitifcation\",\n  \"body\": \"The document file format must be **.jpg** or **.png**\"\n}\n[/block]\nThe approval process normally takes between 24 and 48 hours. We will personally review all accounts and contact you as soon as possible.","excerpt":"This page will help you get started with VacayPay. You'll be up and running in a jiffy!","githubsync":"","order":1,"project":"5602b0b27435de0d00fabd94","updates":[],"category":"5602b0b37435de0d00fabd98","slug":"getting-started","sync_unique":"","title":"Getting Started with VacayPay","__v":9,"createdAt":"2015-09-23T14:01:24.679Z","parentDoc":null,"api":{"settings":"","url":"","auth":"required","params":[],"results":{"codes":[{"status":200,"language":"json","code":"{}","name":""},{"status":400,"language":"json","code":"{}","name":""}]}},"hidden":false,"isReference":false,"link_external":false,"link_url":"","type":"basic","user":"5602afcb1ba3720d00a6ba79","version":"5602b0b37435de0d00fabd97","childrenPages":[]}

Getting Started with VacayPay

This page will help you get started with VacayPay. You'll be up and running in a jiffy!

First you'll need to register a new Procuro account by heading to https://www.procuro.io/register. After confirming your email address, login https://www.procuro.io/login and click "Submit My Application" (https://www.procuro.io//vacay-pay/accounts/create). From here you're required to submit a simple application for VacayPay, allowing you to start accepting payments. Fill in your details, upload proof of identification and start the verification process. [block:callout] { "type": "warning", "title": "Passport / Proof Of Identitifcation", "body": "The document file format must be **.jpg** or **.png**" } [/block] The approval process normally takes between 24 and 48 hours. We will personally review all accounts and contact you as soon as possible.
First you'll need to register a new Procuro account by heading to https://www.procuro.io/register. After confirming your email address, login https://www.procuro.io/login and click "Submit My Application" (https://www.procuro.io//vacay-pay/accounts/create). From here you're required to submit a simple application for VacayPay, allowing you to start accepting payments. Fill in your details, upload proof of identification and start the verification process. [block:callout] { "type": "warning", "title": "Passport / Proof Of Identitifcation", "body": "The document file format must be **.jpg** or **.png**" } [/block] The approval process normally takes between 24 and 48 hours. We will personally review all accounts and contact you as soon as possible.
{"_id":"5666d4a166debc1700503e29","excerpt":"","isReference":false,"title":"Frequently Asked Questions","type":"basic","link_external":false,"link_url":"","parentDoc":null,"project":"5602b0b27435de0d00fabd94","version":"5602b0b37435de0d00fabd97","user":"5602cb474f15002100ee44ba","createdAt":"2015-12-08T13:01:21.181Z","order":2,"slug":"frequently-asked-questions","updates":[],"hidden":false,"sync_unique":"","__v":11,"api":{"auth":"required","params":[],"results":{"codes":[{"status":200,"language":"json","code":"{}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"settings":"","url":""},"body":"##Who are we?\n\nVacayPay is a Tradename of Rentivo.com an Aptenex Ltd registered Trademark. We are a UK company registered at Companies house. We are a technology company that services the vacation rental industry (Please see What is VacayPay). We run businesses in the EU, the Far East and North America. \n\nAs the world shrinks through increased digital avenues, benefits from many quarters can be introduced internationally to this industry. VacayPay is a payment solution provided by our systems and developing integrations.\n\n##Who handles our money?\n\nVacayPay is a technology company that has negotiated rates with merchant providers and us underwritten by large US financial and EU organisations. We have no access to client funds. All payments are processed in secure PCI vault systems and all risk decisions on payments are handled off our systems.\n\n##What volume of money is currently being transacted on VacayPay?\n\nAlthough we cannot disclose our clients or volumes, we do process many thousands of bookings and millions of $/EU and other currencies\n\n##What are the requirements to be eligible for a VacayPay account?\n\nWe can establish accounts in most EU countries, USA and Canada. You need to be an owner or manager of vacation rental properties. The application form will ask a number of questions that will allow us to validate your account.","category":"5602b0b37435de0d00fabd98","githubsync":"","childrenPages":[]}

Frequently Asked Questions


##Who are we? VacayPay is a Tradename of Rentivo.com an Aptenex Ltd registered Trademark. We are a UK company registered at Companies house. We are a technology company that services the vacation rental industry (Please see What is VacayPay). We run businesses in the EU, the Far East and North America. As the world shrinks through increased digital avenues, benefits from many quarters can be introduced internationally to this industry. VacayPay is a payment solution provided by our systems and developing integrations. ##Who handles our money? VacayPay is a technology company that has negotiated rates with merchant providers and us underwritten by large US financial and EU organisations. We have no access to client funds. All payments are processed in secure PCI vault systems and all risk decisions on payments are handled off our systems. ##What volume of money is currently being transacted on VacayPay? Although we cannot disclose our clients or volumes, we do process many thousands of bookings and millions of $/EU and other currencies ##What are the requirements to be eligible for a VacayPay account? We can establish accounts in most EU countries, USA and Canada. You need to be an owner or manager of vacation rental properties. The application form will ask a number of questions that will allow us to validate your account.
##Who are we? VacayPay is a Tradename of Rentivo.com an Aptenex Ltd registered Trademark. We are a UK company registered at Companies house. We are a technology company that services the vacation rental industry (Please see What is VacayPay). We run businesses in the EU, the Far East and North America. As the world shrinks through increased digital avenues, benefits from many quarters can be introduced internationally to this industry. VacayPay is a payment solution provided by our systems and developing integrations. ##Who handles our money? VacayPay is a technology company that has negotiated rates with merchant providers and us underwritten by large US financial and EU organisations. We have no access to client funds. All payments are processed in secure PCI vault systems and all risk decisions on payments are handled off our systems. ##What volume of money is currently being transacted on VacayPay? Although we cannot disclose our clients or volumes, we do process many thousands of bookings and millions of $/EU and other currencies ##What are the requirements to be eligible for a VacayPay account? We can establish accounts in most EU countries, USA and Canada. You need to be an owner or manager of vacation rental properties. The application form will ask a number of questions that will allow us to validate your account.
{"_id":"566d53dd17690a170021b5fe","isReference":false,"link_url":"","parentDoc":null,"excerpt":"When using cards who pays the fees","version":"5602b0b37435de0d00fabd97","project":"5602b0b27435de0d00fabd94","api":{"settings":"","url":"","auth":"required","params":[],"results":{"codes":[{"name":"","status":200,"language":"json","code":"{}"},{"status":400,"language":"json","code":"{}","name":""}]}},"githubsync":"","hidden":false,"order":3,"slug":"applying-charges","sync_unique":"","__v":11,"type":"basic","updates":[],"user":"5602cb474f15002100ee44ba","title":"Applying Charges","category":"5602b0b37435de0d00fabd98","createdAt":"2015-12-13T11:17:49.393Z","link_external":false,"body":"## Who pays the card fees?##\n\nWe are often asked the best way to allocate cards fees. There are many ways to address this and are covered below;\n\n1. The first is to simply charge the fees as an extra on top of the booking value. This can be the full card charge or a proportion. Many countries forbid any increase over and above your own fee with the exception of a small value that covers your own administration of this fee. \n\nThe downside to this is that the guest may see this as a \"charge too far\"\n\n2. The second option is to include the fees in the booking value. These are fees and are part of the business and will be accounted for somewhere. The upside is that all indications are that one charge that covers everything inclusive is the most frictionless route to a booking.\n\n3. Some people will use a card to take a deposit on the booking only. If this is 30% for example the card fees will parallel this in percentage costs. The balance can then be taken by wire transfer with only bank fees applied. This may be considerably less. It depends on your banking fees and booking values\n\n4. Damage deposits may be taken by card and reimbursed, however this is best done before arrival as the time for transfers may take a few days and extend past the guests departure. Pre-authorisation for 7 days may be used in this situation.\n\n##NOTE:## \nIf a card is used for any booking value between £100 and £30,000 there is a joint liability between merchant and card provider. If a deposit is taken by card and a balance by wire, the full value of the booking is covered by both the merchant and provider. In the event of a recharge then the total value is at risk. This is covered by section 75 of the Consumer Protection Act in the UK and similar laws in other countries. Splitting deposit and balance will not remove this liability.","childrenPages":[]}

Applying Charges

When using cards who pays the fees

## Who pays the card fees?## We are often asked the best way to allocate cards fees. There are many ways to address this and are covered below; 1. The first is to simply charge the fees as an extra on top of the booking value. This can be the full card charge or a proportion. Many countries forbid any increase over and above your own fee with the exception of a small value that covers your own administration of this fee. The downside to this is that the guest may see this as a "charge too far" 2. The second option is to include the fees in the booking value. These are fees and are part of the business and will be accounted for somewhere. The upside is that all indications are that one charge that covers everything inclusive is the most frictionless route to a booking. 3. Some people will use a card to take a deposit on the booking only. If this is 30% for example the card fees will parallel this in percentage costs. The balance can then be taken by wire transfer with only bank fees applied. This may be considerably less. It depends on your banking fees and booking values 4. Damage deposits may be taken by card and reimbursed, however this is best done before arrival as the time for transfers may take a few days and extend past the guests departure. Pre-authorisation for 7 days may be used in this situation. ##NOTE:## If a card is used for any booking value between £100 and £30,000 there is a joint liability between merchant and card provider. If a deposit is taken by card and a balance by wire, the full value of the booking is covered by both the merchant and provider. In the event of a recharge then the total value is at risk. This is covered by section 75 of the Consumer Protection Act in the UK and similar laws in other countries. Splitting deposit and balance will not remove this liability.
## Who pays the card fees?## We are often asked the best way to allocate cards fees. There are many ways to address this and are covered below; 1. The first is to simply charge the fees as an extra on top of the booking value. This can be the full card charge or a proportion. Many countries forbid any increase over and above your own fee with the exception of a small value that covers your own administration of this fee. The downside to this is that the guest may see this as a "charge too far" 2. The second option is to include the fees in the booking value. These are fees and are part of the business and will be accounted for somewhere. The upside is that all indications are that one charge that covers everything inclusive is the most frictionless route to a booking. 3. Some people will use a card to take a deposit on the booking only. If this is 30% for example the card fees will parallel this in percentage costs. The balance can then be taken by wire transfer with only bank fees applied. This may be considerably less. It depends on your banking fees and booking values 4. Damage deposits may be taken by card and reimbursed, however this is best done before arrival as the time for transfers may take a few days and extend past the guests departure. Pre-authorisation for 7 days may be used in this situation. ##NOTE:## If a card is used for any booking value between £100 and £30,000 there is a joint liability between merchant and card provider. If a deposit is taken by card and a balance by wire, the full value of the booking is covered by both the merchant and provider. In the event of a recharge then the total value is at risk. This is covered by section 75 of the Consumer Protection Act in the UK and similar laws in other countries. Splitting deposit and balance will not remove this liability.
{"_id":"568e72df46cf4b0d00578f4b","updates":[],"user":"5602cb474f15002100ee44ba","version":"5602b0b37435de0d00fabd97","__v":1,"body":"1. Login to your account and use the drop down menu top right..\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/YaiOC2moR2mb0HztPkoZ_Company.JPG\",\n        \"Company.JPG\",\n        \"276\",\n        \"326\",\n        \"#4e697b\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\n2. Choose \"Company\", you will be directed to the \"Defaults\" company information display page:\n\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/eaBvgzFjSdaW3ZEoi3Rr_logo-page.JPG\",\n        \"logo-page.JPG\",\n        \"833\",\n        \"794\",\n        \"#efedf3\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\n3. Locate a logo URL, add it in the \"logo url\"  box and click save. We suggest you use the URL logo from your website and this will be referenced. Should you change your website logo, the new logo will automatically be pulled in.\n\nTo find an image url, right click on an image from your browser and select \"copy image address\". then paste this URL into the \"logo url\" box.\n\nClick \"Update\" bottom right of the page when finished.","link_url":"","slug":"adding-your-company-logo","category":"5602b0b37435de0d00fabd98","project":"5602b0b27435de0d00fabd94","sync_unique":"","parentDoc":null,"title":"Adding your company logo","type":"basic","api":{"auth":"required","params":[],"results":{"codes":[{"language":"json","code":"{}","name":"","status":200},{"code":"{}","name":"","status":400,"language":"json"}]},"settings":"","url":""},"createdAt":"2016-01-07T14:14:55.428Z","isReference":false,"order":4,"link_external":false,"excerpt":"","githubsync":"","hidden":false,"childrenPages":[]}

Adding your company logo


1. Login to your account and use the drop down menu top right.. [block:image] { "images": [ { "image": [ "https://files.readme.io/YaiOC2moR2mb0HztPkoZ_Company.JPG", "Company.JPG", "276", "326", "#4e697b", "" ] } ] } [/block] 2. Choose "Company", you will be directed to the "Defaults" company information display page: [block:image] { "images": [ { "image": [ "https://files.readme.io/eaBvgzFjSdaW3ZEoi3Rr_logo-page.JPG", "logo-page.JPG", "833", "794", "#efedf3", "" ] } ] } [/block] 3. Locate a logo URL, add it in the "logo url" box and click save. We suggest you use the URL logo from your website and this will be referenced. Should you change your website logo, the new logo will automatically be pulled in. To find an image url, right click on an image from your browser and select "copy image address". then paste this URL into the "logo url" box. Click "Update" bottom right of the page when finished.
1. Login to your account and use the drop down menu top right.. [block:image] { "images": [ { "image": [ "https://files.readme.io/YaiOC2moR2mb0HztPkoZ_Company.JPG", "Company.JPG", "276", "326", "#4e697b", "" ] } ] } [/block] 2. Choose "Company", you will be directed to the "Defaults" company information display page: [block:image] { "images": [ { "image": [ "https://files.readme.io/eaBvgzFjSdaW3ZEoi3Rr_logo-page.JPG", "logo-page.JPG", "833", "794", "#efedf3", "" ] } ] } [/block] 3. Locate a logo URL, add it in the "logo url" box and click save. We suggest you use the URL logo from your website and this will be referenced. Should you change your website logo, the new logo will automatically be pulled in. To find an image url, right click on an image from your browser and select "copy image address". then paste this URL into the "logo url" box. Click "Update" bottom right of the page when finished.
{"_id":"5602b9db4f15002100ee448e","excerpt":"You can get the payment strategy uuid via the integration tab on your VacayPay account","project":"5602b0b27435de0d00fabd94","type":"get","__v":1,"createdAt":"2015-09-23T14:40:27.650Z","sync_unique":"","updates":[],"editedParams":true,"githubsync":"","hidden":false,"isReference":true,"user":"5602afcb1ba3720d00a6ba79","version":"5602b0b37435de0d00fabd97","api":{"auth":"required","examples":{"codes":[{"language":"text","code":""}]},"method":"get","params":[{"default":"2833dda1-b5da-4b16-9f52-8b53f4e7f884","desc":"The UUID","name":"uuid","required":true,"type":"string","in":"path","_id":"5602baa61ba3720d00a6ba85"}],"results":{"codes":[{"status":200,"language":"json","code":"{\n    \"appCode\": 0,\n    \"appMessage\": \"\",\n    \"meta\": [],\n    \"data\": {\n        \"uuid\": \"cecd8be2-2ec3-4f06-bbff-db79198e65a9\",\n        \"strategyType\": \"vacay-pay\",\n        \"accountUuid\": \"2760dd7a-34f4-4278-9e3c-d86f46041fbc\",\n        \"accountRoute\": \"\\/api\\/v1\\/vacay-pay\\/accounts\\/2760dd7a-34f4-4278-9e3c-d86f46041fbc\",\n        \"paymentRoute\": \"\\/api\\/v1\\/vacay-pay\\/accounts\\/2760dd7a-34f4-4278-9e3c-d86f46041fbc\\/payments\",\n        \"createdAt\": \"2015-06-05 15:31:47 UTC\",\n        \"updatedAt\": \"2015-06-05 15:31:49 UTC\"\n    }\n}","name":""}]},"settings":"","url":"/payment-strategy/:uuid"},"category":"5602b9777435de0d00fabdb0","editedParams2":true,"order":0,"parentDoc":null,"slug":"payment-strategyuuid","title":"Payment Strategy / View","body":"","link_external":false,"link_url":"","childrenPages":[]}

getPayment Strategy / View

You can get the payment strategy uuid via the integration tab on your VacayPay account

Path Params

uuid:
required
string2833dda1-b5da-4b16-9f52-8b53f4e7f884
The UUID

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"_id":"5602c34c7435de0d00fabdbc","title":"Account / View","updates":[],"api":{"auth":"required","examples":{"codes":[]},"method":"get","params":[{"default":"","desc":"VacayPay Account UUID","name":"uuid","ref":"","required":true,"type":"string","in":"path","_id":"5602c34c7435de0d00fabdbd"}],"results":{"codes":[{"name":"","status":200,"language":"json","code":"{\n    \"appCode\": 0,\n    \"appMessage\": \"\",\n    \"meta\": [],\n    \"data\": {\n        \"uuid\": \"2760dd7a-34f4-4278-9e3c-d86f46041fbc\",\n        \"accountName\": \"Example Account\",\n        \"accountType\": \"vacaypay\",\n        \"publishableKey\": \"pk_test_rIQe8LhRJGCutDnRGtJADcm2\",\n        \"statementDescriptor\": \"JANE DOE RENTALS\",\n        \"tradingName\": \"Jane Doe Rentals\",\n        \"defaultCurrency\": \"GBP\",\n        \"allowedCurrencies\": [\"GBP\", \"EUR\"],\n        \"country\": \"GB\",\n        \"email\": \"janedoe@gmail.com\",\n        \"firstName\": \"Jane\",\n        \"lastName\": \"Doe\",\n        \"bookingTermsUrl\": \"https://www.procuro.io/terms-and-conditions\",\n        \"enabled\": true,\n        \"verified\": true,\n        \"vacayPayApproved\": true,\n        \"canTakePayments\": true,\n        \"createdAt\": \"2015-05-20 09:30:10 UTC\",\n        \"updatedAt\": \"2015-05-21 09:35:24 UTC\"\n    }\n}"}]},"settings":"","url":"/vacay-pay/accounts/:uuid"},"createdAt":"2015-09-23T15:20:44.204Z","editedParams2":true,"parentDoc":null,"sync_unique":"","type":"get","body":"`accountType` will be one of `['vacaypay', 'stripe_connect']`","editedParams":true,"hidden":false,"isReference":true,"user":"5602afcb1ba3720d00a6ba79","category":"5602b9777435de0d00fabdb0","excerpt":"","project":"5602b0b27435de0d00fabd94","slug":"vacay-payaccountsuuid","link_url":"","order":1,"version":"5602b0b37435de0d00fabd97","__v":0,"githubsync":"","link_external":false,"childrenPages":[]}

getAccount / View


Path Params

uuid:
required
string
VacayPay Account UUID
`accountType` will be one of `['vacaypay', 'stripe_connect']`

Definition

{{ api_url }}{{ page_api_url }}

Result Format



`accountType` will be one of `['vacaypay', 'stripe_connect']`
{"_id":"5602c3c370694e0d00e3c7c7","editedParams":true,"githubsync":"","slug":"vacay-payaccountsuuidpayments","__v":5,"api":{"params":[{"_id":"5602c34c7435de0d00fabdbd","ref":"","in":"path","required":true,"desc":"VacayPay Account UUID","default":"","type":"string","name":"uuid"},{"_id":"5602c4243ee4af170004718e","ref":"","in":"body","required":true,"desc":"Customer Email","default":"","type":"string","name":"email"},{"_id":"5602c4243ee4af170004718d","ref":"","in":"body","required":true,"desc":"Customer First Name","default":"","type":"string","name":"firstName"},{"_id":"5602c4243ee4af170004718c","ref":"","in":"body","required":true,"desc":"Customer Last Name","default":"","type":"string","name":"lastName"},{"_id":"5602c4243ee4af170004718b","ref":"","in":"body","required":true,"desc":"Amount to Charge","default":"","type":"double","name":"amount"},{"_id":"5602c4243ee4af170004718a","ref":"","in":"body","required":true,"desc":"ISO 4217 Currency Code (3 Characters)","default":"","type":"string","name":"currency"},{"_id":"5602c4243ee4af1700047189","ref":"","in":"body","required":true,"desc":"What the payment is for","default":"","type":"string","name":"description"},{"_id":"5602cf6d930fe1170074bdec","ref":"","in":"body","required":false,"desc":"Tokenized card","default":"","type":"string","name":"cardToken"},{"_id":"5602cf6d930fe1170074bde5","ref":"","in":"body","required":false,"desc":"IP Address of the user taking the payment (defaults to the IP calling the API)","default":"","type":"string","name":"accessingIp"},{"_id":"5602cf6d930fe1170074bde4","ref":"","in":"body","required":false,"desc":"External payment reference","default":"","type":"string","name":"externalPaymentReference"},{"_id":"5602cf6d930fe1170074bde3","ref":"","in":"body","required":false,"desc":"External booking reference","default":"","type":"string","name":"externalBookingReference"},{"_id":"560e4efafb97be0d0042beba","ref":"","in":"body","required":false,"desc":"When using a shared account this is required - this will be the guest departure date","default":"","type":"yyyy-mm-dd","name":"organizationPayoutDueDate"},{"_id":"5602cf6d930fe1170074bde2","ref":"","in":"body","required":false,"desc":"Any notes about this payment - not viewable by customer","default":"","type":"string","name":"notes"},{"_id":"5602cf6d930fe1170074bde1","ref":"","in":"body","required":false,"desc":"","default":"","type":"string","name":"billingLine1"},{"_id":"5602cf6d930fe1170074bde0","ref":"","in":"body","required":false,"desc":"","default":"","type":"string","name":"billingLine2"},{"_id":"5602cf6d930fe1170074bddf","ref":"","in":"body","required":false,"desc":"","default":"","type":"string","name":"billingPostcode"},{"_id":"5602cf6d930fe1170074bdde","ref":"","in":"body","required":false,"desc":"","default":"","type":"string","name":"billingTown"},{"_id":"5602cf6d930fe1170074bddd","ref":"","in":"body","required":false,"desc":"","default":"","type":"string","name":"billingRegion"},{"_id":"5602cf6d930fe1170074bddc","ref":"","in":"body","required":false,"desc":"ISO 3166-1 alpha-2 Country Code (2 Characters)","default":"","type":"string","name":"billingCountry"},{"_id":"5602cf6d930fe1170074bddb","ref":"","in":"body","required":false,"desc":"If `true` then an email confirmation will be sent to `email`","default":"true","type":"boolean","name":"sendEmailConfirmation"},{"_id":"5602cf6d930fe1170074bdda","ref":"","in":"body","required":false,"desc":"Whether to pre-authorize the charge","default":"false","type":"boolean","name":"authorize"},{"_id":"5602cf6d930fe1170074bdd9","ref":"","in":"body","required":false,"desc":"An array/object of extra data to be stored with the payment","default":"[]","type":"array_mixed","name":"meta"}],"results":{"codes":[{"name":"","status":200,"language":"json","code":"{\n    \"appCode\": 0,\n    \"appMessage\": \"\",\n    \"meta\": [],\n    \"data\": {\n        \"paymentUuid\": \"ed2749a0-7cf2-41f1-a6a8-958c967f902f\",\n        \"accountUuid\": \"2760dd7a-34f4-4278-9e3c-d86f46041fbc\",\n        \"amount\": 460.00,\n        \"currency\": \"GBP\",\n      \t\"financial\": {\n          \"currency\": \"GBP\",\n          \"total\": 460.00,\n          \"net\": 452.75,\n          \"fees\": 7.25\n        },\n        \"refundedAmount\": 0.00,\n        \"status\": \"succeeded\",\n        \"refunded\": false,\n        \"captured\": true,\n        \"paymentReference\": \"55648e4a-13937\",\n        \"externalPaymentReference\": \"#1234-A\",\n        \"externalBookingReference\": \"84373489\",\n      \t\"description\": \"Full balance for 7 night stay\",\n        \"email\": \"jonh.doe@example.com\",\n        \"firstName\": \"John\",\n        \"lastName\": \"Doe\",\n        \"createdAt\": \"2015-05-26 15:16:27 UTC\",\n        \"updatedAt\": \"2015-05-26 15:16:27 UTC\",\n        \"meta\": {\n            \"example\": [\"foo\", \"bar\"]\n        }\n    }\n}"},{"status":400,"language":"json","code":"{\n    \"appCode\": 1,\n    \"appMessage\": \"Request data did not pass validation, check the errors in meta\",\n    \"meta\": {\n        \"errors\": [\n            {\n                \"field\": \"amount\",\n                \"fieldPretty\": \"Amount\",\n                \"message\": \"This value should be a valid number.\"\n            }\n        ]\n    },\n    \"data\": []\n}","name":""},{"status":400,"language":"json","code":"{\n    \"appCode\": 6,\n    \"appMessage\": \"The request failed for some reason, check the errors in meta\",\n    \"meta\": {\n        \"errors\": [\n            \"There is no token with ID tok_166jm0KbgPhkLwlwTjfIpG4B.\"\n        ]\n    },\n    \"data\": []\n}"}]},"settings":"","url":"/vacay-pay/accounts/:uuid/payments","auth":"required","examples":{"codes":[{"code":"{\n    \"email\": \"john.doe@example.com\",\n    \"firstName\": \"John\",\n    \"lastName\": \"Doe\",\n    \"amount\": 460.00,\n    \"currency\": \"GBP\",\n    \"description\": \"Full balance for 7 night stay\",\n    \"externalPaymentReference\": \"#1234-A\",\n    \"externalBookingReference\": \"84373489\",\n    \"accessingIp\": \"127.0.0.1\",\n    \"cardToken\": \"ct_85eF78bsjdc739h\",\n    \"sendEmailConfirmation\": false,\n    \"meta\": {\n        \"example\": [\"foo\", \"bar\"]\n    }\n}","name":"","language":"json"}]},"method":"post"},"body":"The `financial` object's figures in the response can be a different currency from the customers 'charged' currency due to conversion if the account owner does not have a bank account matching the 'charged' currency.","createdAt":"2015-09-23T15:22:43.754Z","sync_unique":"","link_url":"","order":2,"parentDoc":null,"category":"5602b9777435de0d00fabdb0","editedParams2":true,"hidden":false,"isReference":true,"link_external":false,"version":"5602b0b37435de0d00fabd97","project":"5602b0b27435de0d00fabd94","title":"Payment / Charge","user":"5602afcb1ba3720d00a6ba79","excerpt":"","type":"post","updates":[],"next":{"description":"","pages":[]},"childrenPages":[]}

postPayment / Charge


Path Params

uuid:
required
string
VacayPay Account UUID

Body Params

email:
required
string
Customer Email
firstName:
required
string
Customer First Name
lastName:
required
string
Customer Last Name
amount:
required
double
Amount to Charge
currency:
required
string
ISO 4217 Currency Code (3 Characters)
description:
required
string
What the payment is for
cardToken:
string
Tokenized card
accessingIp:
string
IP Address of the user taking the payment (defaults to the IP calling the API)
externalPaymentReference:
string
External payment reference
externalBookingReference:
string
External booking reference
organizationPayoutDueDate:
yyyy-mm-dd
When using a shared account this is required - this will be the guest departure date
notes:
string
Any notes about this payment - not viewable by customer
billingLine1:
string
billingLine2:
string
billingPostcode:
string
billingTown:
string
billingRegion:
string
billingCountry:
string
ISO 3166-1 alpha-2 Country Code (2 Characters)
sendEmailConfirmation:
booleantrue
If `true` then an email confirmation will be sent to `email`
authorize:
booleanfalse
Whether to pre-authorize the charge
meta:
array of mixed[]
An array/object of extra data to be stored with the payment
The `financial` object's figures in the response can be a different currency from the customers 'charged' currency due to conversion if the account owner does not have a bank account matching the 'charged' currency.

Definition

{{ api_url }}{{ page_api_url }}

Examples


Result Format



The `financial` object's figures in the response can be a different currency from the customers 'charged' currency due to conversion if the account owner does not have a bank account matching the 'charged' currency.
{"_id":"5655c0dd648fc80d00bd0adf","sync_unique":"","user":"5602afcb1ba3720d00a6ba79","excerpt":"","isReference":true,"title":"Payment / Refund","link_url":"","order":3,"parentDoc":null,"project":"5602b0b27435de0d00fabd94","slug":"vacay-payaccountsuuidpaymentspaymentuuidrefund","type":"post","updates":[],"version":"5602b0b37435de0d00fabd97","editedParams2":true,"githubsync":"","api":{"method":"post","params":[{"type":"string","name":"uuid","in":"path","_id":"5602c34c7435de0d00fabdbd","required":true,"desc":"VacayPay Account UUID","default":""},{"_id":"5655c0dd648fc80d00bd0ae3","default":"","desc":"Payment UUID","name":"paymentUuid","required":true,"type":"string","in":"path"},{"in":"body","_id":"5655c0dd648fc80d00bd0ae2","default":"","desc":"Amount to refund","name":"amount","required":true,"type":"double"},{"required":true,"type":"string","in":"body","_id":"5655c0dd648fc80d00bd0ae1","default":"","desc":"One of `duplicate`, `fraudulent` or `requested_by_customer`","name":"reason"},{"_id":"5655c0dd648fc80d00bd0ae0","required":false,"desc":"Reason why payment was refunded","default":"","type":"string","name":"reasonText","in":"body"},{"_id":"5602cf6d930fe1170074bddb","required":false,"desc":"If `true` then an email confirmation will be sent to the payment's email address","default":"true","type":"boolean","name":"sendNotification","in":"body"}],"results":{"codes":[{"status":200,"language":"json","code":"{\n    \"appCode\": 0,\n    \"appMessage\": \"\",\n    \"meta\": [],\n    \"data\": {\n        \"paymentUuid\": \"ed2749a0-7cf2-41f1-a6a8-958c967f902f\",\n        \"accountUuid\": \"2760dd7a-34f4-4278-9e3c-d86f46041fbc\",\n        \"amount\": 500,\n        \"currency\": \"GBP\",\n        \"refundedAmount\": 200,\n        \"status\": \"succeeded\",\n        \"refunded\": false,\n        \"captured\": true,\n        \"paymentReference\": \"XGCKN4RF\",\n        \"externalPaymentReference\": null,\n        \"externalBookingReference\": null,\n        \"email\": \"johndoe@gmail.com\",\n        \"firstName\": \"John\",\n        \"lastName\": \"Doe\",\n        \"createdAt\": \"2015-05-26 15:16:27 UTC\",\n        \"updatedAt\": \"2015-05-26 15:16:27 UTC\",\n        \"meta\": []\n    }\n}","name":""},{"status":400,"language":"json","code":"{\n    \"appCode\": 1,\n    \"appMessage\": \"Request data did not pass validation, check the errors in meta\",\n    \"meta\": {\n        \"errors\": [\n            {\n                \"field\": \"amount\",\n                \"fieldPretty\": \"Amount\",\n                \"message\": \"This value should be a valid number.\"\n            }\n        ]\n    },\n    \"data\": []\n}","name":""},{"status":400,"language":"json","code":"{\n    \"appCode\": 6,\n    \"appMessage\": \"The request failed for some reason, check the errors in meta\",\n    \"meta\": {\n        \"errors\": [\n            \"There is no token with ID tok_166jm0KbgPhkLwlwTjfIpG4B.\"\n        ]\n    },\n    \"data\": []\n}"}]},"settings":"","url":"/vacay-pay/accounts/:uuid/payments/:paymentUuid/refund","auth":"required","examples":{"codes":[{"code":"{\n    \"amount\": 200,\n    \"reason\": \"requested_by_customer\",\n    \"reasonText\": \"Not happy with product\",\n    \"sendNotification\": false\n}","name":"","language":"json"}]}},"body":"","category":"5602b9777435de0d00fabdb0","createdAt":"2015-11-25T14:08:29.715Z","editedParams":true,"hidden":false,"__v":0,"link_external":false,"childrenPages":[]}

postPayment / Refund


Path Params

uuid:
required
string
VacayPay Account UUID
paymentUuid:
required
string
Payment UUID

Body Params

amount:
required
double
Amount to refund
reason:
required
string
One of `duplicate`, `fraudulent` or `requested_by_customer`
reasonText:
string
Reason why payment was refunded
sendNotification:
booleantrue
If `true` then an email confirmation will be sent to the payment's email address

Definition

{{ api_url }}{{ page_api_url }}

Examples


Result Format



{"_id":"56b0907014dfea0d0007cf8a","body":"","category":"5602b9777435de0d00fabdb0","createdAt":"2016-02-02T11:18:08.174Z","order":4,"sync_unique":"","type":"post","__v":2,"editedParams":true,"isReference":true,"link_url":"","project":"5602b0b27435de0d00fabd94","user":"5602afcb1ba3720d00a6ba79","version":"5602b0b37435de0d00fabd97","editedParams2":true,"excerpt":"Note: This is an external provider endpoint, meaning that you have to be an authorized external provider to act on behalf of normal accounts.","parentDoc":null,"title":"Booking / Import *EP","updates":[],"api":{"examples":{"codes":[{"language":"json","code":"{\n  \"key\": \"55039\",\n  \"nonBooking\": false,\n  \"property\": {\n    \"key\": \"4770\",\n    \"name\": \"VacayPay Cottage\"\n  },\n  \"currency\": \"GBP\",\n  \"extras\": [\n      {\n          \"name\": \"Wine Case\",\n          \"type\": \"food\",\n          \"amount\": 50.00\n      },\n      {\n          \"name\": \"Booking Fee\",\n          \"type\": \"fees\",\n          \"amount\": 15.00\n      }\n  ],\n  \"basePrice\": 800.00,\n  \"damageDeposit\": 250.00,\n  \"arrivalDate\": \"2017-06-01\",\n  \"departureDate\": \"2017-06-07\",\n  \"bookingDate\": \"2016-01-13\",\n  \"adults\": 4,\n  \"children\": 2,\n  \"infants\": 0,\n  \"primaryGuest\": {\n    \"email\": \"john.doe@example.com\",\n    \"firstName\": \"John\",\n    \"lastName\": \"Doe\",\n    \"phoneNumber\": \"+447914961139\",\n    \"address\": {\n      \"line1\": \"Example Lane\",\n      \"line2\": \"\",\n      \"town\": \"Example Town\",\n      \"region\": \"Example Region\",\n      \"postcode\": \"TES7 P01\",\n      \"country\": \"GB\"\n    }\n  }\n}","name":""}]},"method":"post","params":[{"in":"body","required":true,"desc":"Name of the extra","default":"","type":"string","name":"extras[].name","_id":"56b0977f7835250d000ffe05","ref":""},{"desc":"External providers unique booking identifier","default":"","type":"string","name":"key","_id":"5602c34c7435de0d00fabdbd","ref":"","in":"body","required":true},{"_id":"56b0977f7835250d000ffe04","ref":"","in":"body","required":true,"desc":"The amount for the extra (in the same currency as the booking)","default":"","type":"double","name":"extras[].amount"},{"name":"basePrice","_id":"5602c4243ee4af170004718d","ref":"","in":"body","required":true,"desc":"Only the cost of the nights itself no fees, damage deposits or extras","default":"","type":"double"},{"type":"string","name":"currency","_id":"5602c4243ee4af170004718e","ref":"","in":"body","required":true,"desc":"Currency of the booking","default":""},{"required":true,"desc":"The main guests details","default":"","type":"array_mixed","name":"primaryGuest","_id":"56b0977f7835250d000ffe02","ref":"","in":"body"},{"ref":"","in":"body","required":false,"desc":"The total price the guest has to pay","default":"","type":"double","name":"totalPrice","_id":"5798c24317ced017003c4c8f"},{"in":"body","required":true,"desc":"","default":"","type":"string","name":"primaryGuest.email","_id":"56b0977f7835250d000ffe01","ref":""},{"desc":"Departure date of the guest","default":"","type":"yyyy-mm-dd","name":"departureDate","_id":"5602c4243ee4af170004718a","ref":"","in":"body","required":true},{"_id":"5602c4243ee4af170004718c","ref":"","in":"body","required":true,"desc":"Damage/Security deposit","default":"","type":"double","name":"damageDeposit"},{"_id":"5602c4243ee4af170004718b","ref":"","in":"body","required":true,"desc":"Arrival date of the guest","default":"","type":"yyyy-mm-dd","name":"arrivalDate"},{"_id":"56b0977f7835250d000ffdff","ref":"","in":"body","required":true,"desc":"","default":"","type":"string","name":"primaryGuest.lastName"},{"_id":"5602cf6d930fe1170074bdec","ref":"","in":"body","required":true,"desc":"","default":"","type":"int","name":"adults"},{"name":"bookingDate","_id":"5602c4243ee4af1700047189","ref":"","in":"body","required":true,"desc":"Date the booking was made","default":"","type":"yyyy-mm-dd"},{"ref":"","in":"body","required":true,"desc":"","default":"","type":"string","name":"primaryGuest.phoneNumber","_id":"56b0977f7835250d000ffdfe"},{"default":"","type":"array_mixed","name":"property","_id":"5602cf6d930fe1170074bdeb","ref":"","in":"body","required":true,"desc":"The property details object"},{"default":"","type":"int","name":"infants","_id":"5602cf6d930fe1170074bde4","ref":"","in":"body","required":true,"desc":"External payment reference"},{"in":"body","required":false,"desc":"If this is a non-booking or not","default":"false","type":"boolean","name":"nonBooking","_id":"56b0977f7835250d000ffe07","ref":""},{"required":true,"desc":"","default":"","type":"int","name":"children","_id":"5602cf6d930fe1170074bde5","ref":"","in":"body"},{"type":"string","name":"primaryGuest.address.line2","_id":"56b0977f7835250d000ffdfb","ref":"","in":"body","required":false,"desc":"","default":""},{"desc":"Name of the property","default":"","type":"string","name":"property.name","_id":"5602cf6d930fe1170074bde9","ref":"","in":"body","required":true},{"name":"property.key","_id":"5602cf6d930fe1170074bdea","ref":"","in":"body","required":true,"desc":"External providers unique property identifier","default":"","type":"string"},{"type":"array_object","name":"extras","_id":"56b0977f7835250d000ffe06","ref":"","in":"body","required":false,"desc":"Array of extras for this booking","default":""},{"desc":"Type of extra","default":"","type":"string","name":"extras[].type","_id":"56b0977f7835250d000ffe03","ref":"","in":"body","required":false},{"_id":"56b0977f7835250d000ffe00","ref":"","in":"body","required":true,"desc":"","default":"","type":"string","name":"primaryGuest.firstName"},{"name":"primaryGuest.address","_id":"56b0977f7835250d000ffdfd","ref":"","in":"body","required":false,"desc":"","default":"","type":"array_mixed"},{"ref":"","in":"body","required":false,"desc":"","default":"","type":"string","name":"primaryGuest.address.line1","_id":"56b0977f7835250d000ffdfc"},{"in":"body","required":false,"desc":"","default":"","type":"string","name":"primaryGuest.address.town","_id":"56b0977f7835250d000ffdfa","ref":""},{"desc":"","default":"","type":"string","name":"primaryGuest.address.region","_id":"56b0977f7835250d000ffdf9","ref":"","in":"body","required":false},{"name":"primaryGuest.address.postcode","_id":"56b0977f7835250d000ffdf8","ref":"","in":"body","required":false,"desc":"","default":"","type":"string"},{"type":"string","name":"primaryGuest.country","_id":"56b0977f7835250d000ffdf7","ref":"","in":"body","required":false,"desc":"Two letter country code","default":""}],"results":{"codes":[{"name":"","code":"{\n  \"appCode\": 0,\n  \"appMessage\": \"\",\n  \"meta\": {},\n  \"data\": {\n    \"uuid\": \"a1754d70-e0a1-413f-b6b4-116ef0a477e8\",\n    \"status\": \"booked\",\n    \"currency\": \"GBP\",\n    \"customReference\": \"SJGN4TVK\",\n    \"externalProvider\": \"rentivo\",\n    \"externalProviderKey\": \"55039\",\n    \"basePrice\": 800,\n    \"totalPrice\": 1115,\n    \"damageDeposit\": 250,\n    \"property\": {\n      \"name\": \"VacayPay Cottage\",\n      \"uuid\": \"457f451c-ffe7-4233-95c5-db010247e66f\"\n    },\n    \"extras\": [\n      {\n          \"name\": \"Wine Case\",\n          \"amount\": 50.00,\n        \t\"currency\": \"GBP\"\n      },\n      {\n          \"name\": \"Booking Fee\",\n          \"amount\": 15.00,\n          \"currency\": \"GBP\"\n      }\n  \t],\n    \"arrivalDate\": \"2017-06-01\",\n    \"departureDate\": \"2017-06-07\",\n    \"bookingDate\": \"2016-01-13\",\n    \"adults\": 4,\n    \"children\": 2,\n    \"infants\": 0,\n    \"nights\": 6,\n    \"primaryGuest\": {\n      \"email\": \"john.doe@example.com\",\n      \"firstName\": \"John\",\n      \"lastName\": \"Doe\",\n      \"phoneNumber\": \"+447914961139\",\n      \"address\": {\n        \"line1\": \"Example Lane\",\n        \"line2\": \"\",\n        \"town\": \"Example Town\",\n        \"region\": \"Example Region\",\n        \"postcode\": \"TES7 P01\",\n        \"country\": \"GB\"\n      }\n    },\n    \"createdAt\": \"2016-02-02\",\n    \"updatedAt\": \"2016-02-02\"\n  }\n}","language":"json","status":201},{"name":"","code":"{\n  \"appCode\": 1,\n  \"appMessage\": \"Request data did not pass validation, check the errors in meta\",\n  \"meta\": {\n    \"errors\": [\n      {\n        \"field\": \"currency\",\n        \"fieldPretty\": \"Currency\",\n        \"message\": \"This value should not be blank.\"\n      },\n      {\n        \"field\": \"extras[0].name\",\n        \"fieldPretty\": \"Extras -> Name\",\n        \"message\": \"This value should not be blank.\"\n      }\n    ]\n  },\n  \"data\": {}\n}","language":"json","status":400},{"code":"{\n  \"appCode\": 6,\n  \"appMessage\": \"The request failed for some reason, check the errors in meta\",\n  \"meta\": {\n    \"errors\": [\n      \"This booking has already been imported\"\n    ]\n  },\n  \"data\": {}\n}","language":"json","status":400}]},"settings":"","url":"/bookings/create","auth":"required"},"githubsync":"","hidden":false,"link_external":false,"slug":"booking-import","childrenPages":[]}

postBooking / Import *EP

Note: This is an external provider endpoint, meaning that you have to be an authorized external provider to act on behalf of normal accounts.

Body Params

extras[].name:
required
string
Name of the extra
key:
required
string
External providers unique booking identifier
extras[].amount:
required
double
The amount for the extra (in the same currency as the booking)
basePrice:
required
double
Only the cost of the nights itself no fees, damage deposits or extras
currency:
required
string
Currency of the booking
primaryGuest:
required
array of mixed
The main guests details
totalPrice:
double
The total price the guest has to pay
primaryGuest.email:
required
string
departureDate:
required
yyyy-mm-dd
Departure date of the guest
damageDeposit:
required
double
Damage/Security deposit
arrivalDate:
required
yyyy-mm-dd
Arrival date of the guest
primaryGuest.lastName:
required
string
adults:
required
integer
bookingDate:
required
yyyy-mm-dd
Date the booking was made
primaryGuest.phoneNumber:
required
string
property:
required
array of mixed
The property details object
infants:
required
integer
External payment reference
nonBooking:
booleanfalse
If this is a non-booking or not
children:
required
integer
primaryGuest.address.line2:
string
property.name:
required
string
Name of the property
property.key:
required
string
External providers unique property identifier
extras:
array of objects
Array of extras for this booking
extras[].type:
string
Type of extra
primaryGuest.firstName:
required
string
primaryGuest.address:
array of mixed
primaryGuest.address.line1:
string
primaryGuest.address.town:
string
primaryGuest.address.region:
string
primaryGuest.address.postcode:
string
primaryGuest.country:
string
Two letter country code

Definition

{{ api_url }}{{ page_api_url }}

Examples


Result Format



{"_id":"56b0ad547835250d000ffe1b","hidden":false,"isReference":true,"editedParams":true,"excerpt":"Note: This is an external provider endpoint, meaning that you have to be an authorized external provider to act on behalf of normal accounts.","project":"5602b0b27435de0d00fabd94","sync_unique":"","updates":[],"version":"5602b0b37435de0d00fabd97","createdAt":"2016-02-02T13:21:24.016Z","link_external":false,"order":5,"parentDoc":null,"type":"post","__v":1,"api":{"url":"/bookings/payments/add","auth":"required","examples":{"codes":[{"code":"{\n\t\"bookingKey\": \"55039\",\n  \"currency\": \"GBP\",\n  \"amount\": 438.23,\n  \"paymentDate\": \"2016-02-01\",\n  \"description\": \"Deposit Payment\",\n  \"method\": \"card_visa\",\n  \"type\": \"deposit\"\n}","language":"json","name":"Normal Payment"},{"code":"{\n\t\"bookingKey\": \"a1754d70-e0a1-413f-b6b4-116ef0a477e8\",\n  \"vacayPayPaymentUuid\": \"23d610a0-77d0-4a4c-a981-fe3e3de72bbe\"\n}","language":"json","name":"VacayPay Payment"}]},"method":"post","params":[{"name":"bookingKey","ref":"","required":true,"type":"string","in":"body","_id":"5602c34c7435de0d00fabdbd","default":"","desc":"External providers unique booking identifier"},{"type":"string","in":"body","_id":"5602c4243ee4af170004718e","default":"","desc":"If the payment is a VacayPay this is all you need to provide (along with bookingKey)","name":"vacayPayPaymentUuid","ref":"","required":false},{"ref":"","required":true,"type":"string","in":"body","_id":"5602c4243ee4af170004718d","default":"","desc":"Currency of payment (has to be same as booking)","name":"currency"},{"_id":"5602c4243ee4af170004718c","default":"","desc":"Amount of money paid by guest","name":"amount","ref":"","required":true,"type":"double","in":"body"},{"in":"body","_id":"56b0977f7835250d000ffdf7","default":"","desc":"Date the payment was made","name":"paymentDate","ref":"","required":true,"type":"yyyy-mm-dd"},{"type":"string","in":"body","_id":"56b0ad547835250d000ffe1d","default":"","desc":"Description of the payment","name":"description","ref":"","required":false},{"ref":"","required":true,"type":"string","in":"body","_id":"56b0ad547835250d000ffe1c","default":"","desc":"One of 'internal', 'cash', 'cheque', 'paypal', 'bank_transfer', 'card_visa', 'card_mastercard', 'card_american_express', 'card_diners_club', 'card_other', 'card_unknown'","name":"method"},{"_id":"56b0d7c76d004b17008065e9","default":"","desc":"One of 'deposit', 'balance', 'refund', 'transfer', 'damage_deposit'","name":"type","ref":"","required":true,"type":"string","in":"body"}],"results":{"codes":[{"name":"","code":"{\n  \"appCode\": 0,\n  \"appMessage\": \"\",\n  \"meta\": {},\n  \"data\": {\n    \"bookingUuid\": \"012c43df-48b8-443b-8ac8-f24f3bb810e9\",\n    \"journalUuid\": \"174d7813-962c-4151-ad54-a8ad0f12e19f\",\n    \"currency\": \"GBP\",\n    \"amount\": 438.23,\n    \"method\": \"card_visa\",\n    \"type\": \"deposit\",\n    \"paymentDate\": \"2016-02-01\",\n    \"createdAt\": \"2016-02-02\",\n    \"updatedAt\": \"2016-02-02\"\n  }\n}","language":"json","status":201},{"name":"","code":"{\n  \"appCode\": 1,\n  \"appMessage\": \"Request data did not pass validation, check the errors in meta\",\n  \"meta\": {\n    \"errors\": [\n      {\n        \"field\": \"currency\",\n        \"fieldPretty\": \"Currency\",\n        \"message\": \"This value should not be blank.\"\n      },\n    ]\n  },\n  \"data\": {}\n}","language":"json","status":400},{"status":400,"language":"json","code":"{\n  \"appCode\": 6,\n  \"appMessage\": \"The request failed for some reason, check the errors in meta\",\n  \"meta\": {\n    \"errors\": [\n      \"The booking for that external provider key does not exist\"\n    ]\n  },\n  \"data\": {}\n}","name":null}]},"settings":""},"link_url":"","githubsync":"","slug":"booking-payment-add","title":"Booking / Payment / Add *EP","user":"5602afcb1ba3720d00a6ba79","body":"Regarding the `type` parameter, if the amount is for the total amount set it to `balance`.","category":"5602b9777435de0d00fabdb0","editedParams2":true,"childrenPages":[]}

postBooking / Payment / Add *EP

Note: This is an external provider endpoint, meaning that you have to be an authorized external provider to act on behalf of normal accounts.

Body Params

bookingKey:
required
string
External providers unique booking identifier
vacayPayPaymentUuid:
string
If the payment is a VacayPay this is all you need to provide (along with bookingKey)
currency:
required
string
Currency of payment (has to be same as booking)
amount:
required
double
Amount of money paid by guest
paymentDate:
required
yyyy-mm-dd
Date the payment was made
description:
string
Description of the payment
method:
required
string
One of 'internal', 'cash', 'cheque', 'paypal', 'bank_transfer', 'card_visa', 'card_mastercard', 'card_american_express', 'card_diners_club', 'card_other', 'card_unknown'
type:
required
string
One of 'deposit', 'balance', 'refund', 'transfer', 'damage_deposit'
Regarding the `type` parameter, if the amount is for the total amount set it to `balance`.

Definition

{{ api_url }}{{ page_api_url }}

Examples


Result Format



Regarding the `type` parameter, if the amount is for the total amount set it to `balance`.
{"_id":"56b7bed3a6c10c0d00a2d696","category":"5602b9777435de0d00fabdb0","excerpt":"","type":"get","version":"5602b0b37435de0d00fabd97","body":"This will retrieve a pre-existing payment and display the same data as received when taking a payment.","githubsync":"","hidden":false,"isReference":true,"sync_unique":"","__v":3,"order":6,"parentDoc":null,"project":"5602b0b27435de0d00fabd94","slug":"payment-charge","title":"Payment / Get","updates":[],"user":"5602afcb1ba3720d00a6ba79","link_url":"","api":{"settings":"","url":"/vacay-pay/accounts/:uuid/payments/:paymentUuid","auth":"required","examples":{"codes":[]},"method":"get","params":[],"results":{"codes":[{"status":200,"language":"json","code":"{\n    \"appCode\": 0,\n    \"appMessage\": \"\",\n    \"meta\": [],\n    \"data\": {\n        \"paymentUuid\": \"ed2749a0-7cf2-41f1-a6a8-958c967f902f\",\n        \"accountUuid\": \"2760dd7a-34f4-4278-9e3c-d86f46041fbc\",\n        \"amount\": 460.00,\n        \"currency\": \"GBP\",\n      \t\"financial\": {\n          \"currency\": \"GBP\",\n          \"total\": 460.00,\n          \"net\": 452.75,\n          \"fees\": 7.25\n        },\n        \"refundedAmount\": 0.00,\n        \"status\": \"succeeded\",\n        \"refunded\": false,\n        \"captured\": true,\n        \"paymentReference\": \"55648e4a-13937\",\n        \"externalPaymentReference\": \"#1234-A\",\n        \"externalBookingReference\": \"84373489\",\n      \t\"description\": \"Full balance for 7 night stay\",\n        \"email\": \"jonh.doe@example.com\",\n        \"firstName\": \"John\",\n        \"lastName\": \"Doe\",\n        \"createdAt\": \"2015-05-26 15:16:27 UTC\",\n        \"updatedAt\": \"2015-05-26 15:16:27 UTC\",\n        \"meta\": {\n            \"example\": [\"foo\", \"bar\"]\n        }\n    }\n}","name":""},{"code":"{\n  \"appCode\": 2,\n  \"appMessage\": \"Specified resource not found\",\n  \"meta\": {\n    \"resource\": \"vacay-pay/account/payment\"\n  },\n  \"data\": {}\n}","status":404,"language":"json"}]}},"createdAt":"2016-02-07T22:01:55.213Z","link_external":false,"childrenPages":[]}

getPayment / Get


This will retrieve a pre-existing payment and display the same data as received when taking a payment.

Definition

{{ api_url }}{{ page_api_url }}

Result Format



This will retrieve a pre-existing payment and display the same data as received when taking a payment.
{"_id":"571e0a64edc4a92b00a4cc00","editedParams2":true,"excerpt":"Note: This is an external provider endpoint, meaning that you have to be an authorized external provider to act on behalf of normal accounts.","isReference":true,"link_external":false,"link_url":"","body":"","parentDoc":null,"project":"5602b0b27435de0d00fabd94","updates":[],"user":"5602afcb1ba3720d00a6ba79","__v":1,"editedParams":true,"githubsync":"","order":7,"sync_unique":"","api":{"auth":"required","examples":{"codes":[{"language":"json","code":"{\n    \"currency\": \"CAD\",\n    \"arrivalDate\": \"2016-12-13\",\n    \"departureDate\": \"2016-12-23\",\n    \"guests\": 6,\n    \"extras\": [\n        {\n            \"name\": \"Booking Fee\",\n            \"amount\": 10\n        }\n    ]\n}","name":""}]},"method":"post","params":[{"required":true,"desc":"The ID of the property coming from the external provider","default":"","type":"string","name":"externalPropertyId","in":"path","_id":"5602c34c7435de0d00fabdbd","ref":""},{"desc":"3 character ISO currency code","default":"","type":"string","name":"currency","in":"body","_id":"571e0bdd2063800e0041a32c","ref":"","required":true},{"name":"arrivalDate","in":"body","_id":"571e0bdd2063800e0041a32b","ref":"","required":true,"desc":"","default":"","type":"yyyy-mm-dd"},{"desc":"","default":"","type":"yyyy-mm-dd","name":"departureDate","in":"body","_id":"571e0bdd2063800e0041a32a","ref":"","required":true},{"ref":"","required":true,"desc":"","default":"","type":"int","name":"guests","in":"body","_id":"571e0bdd2063800e0041a329"},{"required":false,"desc":"","default":"","type":"array_object","name":"extras","in":"body","_id":"571e0bdd2063800e0041a328","ref":""},{"default":"","type":"string","name":"extras.name","in":"body","_id":"571e0bdd2063800e0041a327","ref":"","required":false,"desc":"Name of the extra"},{"in":"body","_id":"571e0bdd2063800e0041a326","ref":"","required":false,"desc":"Description","default":"","type":"string","name":"extras.description"},{"ref":"","required":false,"desc":"Cost of the extra","default":"","type":"double","name":"extras.amount","in":"body","_id":"571e0bdd2063800e0041a325"},{"required":false,"desc":"The matches for this extra to be linked to the current extras in the system","default":"","type":"array_string","name":"extras.matches","in":"body","_id":"571e0bdd2063800e0041a324","ref":""}],"results":{"codes":[{"status":200,"language":"json","code":"{\n  \"appCode\": 0,\n  \"appMessage\": \"\",\n  \"meta\": {},\n  \"data\": {\n    \"currency\": \"CAD\",\n    \"description\": \"Test Property\",\n    \"total\": 4594,\n    \"basePrice\": 3550,\n    \"damageDeposit\": 500,\n    \"adjustments\": [\n      {\n        \"type\": \"extra\",\n        \"priceGroup\": \"total\",\n        \"amount\": 10,\n        \"hidden\": false,\n        \"identifier\": \"booking fee\",\n        \"description\": \"Booking Fee\",\n        \"calculationOperand\": \"addition\"\n      },\n      {\n        \"type\": \"tax\",\n        \"priceGroup\": \"total\",\n        \"amount\": 71.2,\n        \"hidden\": false,\n        \"identifier\": \"mrdt\",\n        \"description\": \"MRDT\",\n        \"calculationOperand\": \"addition\"\n      },\n      {\n        \"type\": \"tax\",\n        \"priceGroup\": \"total\",\n        \"amount\": 178,\n        \"hidden\": false,\n        \"identifier\": \"gst\",\n        \"description\": \"GST\",\n        \"calculationOperand\": \"addition\"\n      },\n      {\n        \"type\": \"tax\",\n        \"priceGroup\": \"total\",\n        \"amount\": 284.8,\n        \"hidden\": false,\n        \"identifier\": \"pst\",\n        \"description\": \"PST\",\n        \"calculationOperand\": \"addition\"\n      },\n      {\n        \"type\": \"damage_deposit\",\n        \"priceGroup\": \"total\",\n        \"amount\": 500,\n        \"hidden\": false,\n        \"identifier\": \"Damage Deposit\",\n        \"description\": \"\",\n        \"calculationOperand\": \"addition\"\n      }\n    ],\n    \"stayBreakdown\": {\n      \"arrivalDate\": \"2016-12-13\",\n      \"departureDate\": \"2016-12-23\",\n      \"bookingDate\": \"2016-04-25\",\n      \"noNights\": 10,\n      \"guests\": 6,\n      \"adults\": null,\n      \"children\": null,\n      \"infants\": null,\n      \"daysBeforeArrival\": 232,\n      \"extras\": [\n        {\n          \"name\": \"Booking Fee\",\n          \"description\": null,\n          \"amount\": 10,\n          \"matches\": []\n        }\n      ],\n      \"nights\": {\n        \"2016-12-13\": {\n          \"date\": \"2016-12-13\",\n          \"dayOfWeek\": \"tuesday\",\n          \"cost\": 295\n        },\n        \"2016-12-14\": {\n          \"date\": \"2016-12-14\",\n          \"dayOfWeek\": \"wednesday\",\n          \"cost\": 295\n        },\n        \"2016-12-15\": {\n          \"date\": \"2016-12-15\",\n          \"dayOfWeek\": \"thursday\",\n          \"cost\": 295\n        },\n        \"2016-12-16\": {\n          \"date\": \"2016-12-16\",\n          \"dayOfWeek\": \"friday\",\n          \"cost\": 295\n        },\n        \"2016-12-17\": {\n          \"date\": \"2016-12-17\",\n          \"dayOfWeek\": \"saturday\",\n          \"cost\": 395\n        },\n        \"2016-12-18\": {\n          \"date\": \"2016-12-18\",\n          \"dayOfWeek\": \"sunday\",\n          \"cost\": 395\n        },\n        \"2016-12-19\": {\n          \"date\": \"2016-12-19\",\n          \"dayOfWeek\": \"monday\",\n          \"cost\": 395\n        },\n        \"2016-12-20\": {\n          \"date\": \"2016-12-20\",\n          \"dayOfWeek\": \"tuesday\",\n          \"cost\": 395\n        },\n        \"2016-12-21\": {\n          \"date\": \"2016-12-21\",\n          \"dayOfWeek\": \"wednesday\",\n          \"cost\": 395\n        },\n        \"2016-12-22\": {\n          \"date\": \"2016-12-22\",\n          \"dayOfWeek\": \"thursday\",\n          \"cost\": 395\n        }\n      }\n    }\n  }\n}","name":""},{"status":400,"language":"json","code":"{\n  \"appCode\": 1,\n  \"appMessage\": \"Request data did not pass validation, check the errors in meta\",\n  \"meta\": {\n    \"errors\": [\n      {\n        \"field\": \"currency\",\n        \"fieldPretty\": \"Currency\",\n        \"message\": \"This value should not be blank.\"\n      }\n    ],\n    \"reason\": \"Context has validation errors - cannot generate price\"\n  },\n  \"data\": {}\n}","name":""},{"status":400,"language":"json","code":"{\n    \"appCode\": 6,\n    \"appMessage\": \"The request failed for some reason, check the errors in meta\",\n    \"meta\": {\n        \"errors\": [\n            \"Invalid property pricing configuration\"\n        ]\n    },\n    \"data\": []\n}"}]},"settings":"","url":"/properties/pricing/generate/external/:externalPropertyId"},"category":"5602b9777435de0d00fabdb0","slug":"property-pricing-generate-ep","title":"Property / Pricing / Generate *EP","type":"post","version":"5602b0b37435de0d00fabd97","createdAt":"2016-04-25T12:15:32.774Z","hidden":false,"childrenPages":[]}

postProperty / Pricing / Generate *EP

Note: This is an external provider endpoint, meaning that you have to be an authorized external provider to act on behalf of normal accounts.

Path Params

externalPropertyId:
required
string
The ID of the property coming from the external provider

Body Params

currency:
required
string
3 character ISO currency code
arrivalDate:
required
yyyy-mm-dd
departureDate:
required
yyyy-mm-dd
guests:
required
integer
extras:
array of objects
extras.name:
string
Name of the extra
extras.description:
string
Description
extras.amount:
double
Cost of the extra
extras.matches:
array of strings
The matches for this extra to be linked to the current extras in the system

Definition

{{ api_url }}{{ page_api_url }}

Examples


Result Format



{"_id":"5602c1f34f15002100ee44a0","slug":"taking-a-payment","version":"5602b0b37435de0d00fabd97","__v":12,"hidden":false,"githubsync":"","isReference":false,"link_url":"","order":0,"createdAt":"2015-09-23T15:14:59.953Z","link_external":false,"parentDoc":null,"updates":[],"user":"5602afcb1ba3720d00a6ba79","api":{"auth":"required","params":[],"results":{"codes":[{"name":"","status":200,"language":"json","code":"{}"},{"language":"json","code":"{}","name":"","status":400}]},"settings":"","url":""},"body":"Before you can take a payment we need to make sure your account is configured properly.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"1. Create An Email Signature (only once)\"\n}\n[/block]\nWhen a payment is taken, an email confirmation is sent to the customers email address. By default, your email signature will be blank.\n\nTo prevent confusion, we strongly recommend to create an email signature based on your companies details.\n\nHead over to **Account Settings** > **Company**, which can be found in the top right corner of the page (https://www.procuro.io/company)\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"2. Access The Virtual Terminal\"\n}\n[/block]\nPayments are taken through the VacayPay virtual terminal, which can be found by clicking  **VacayPay** in the left side menu and the **Take Payment** button in the top right (please note this button will not show if you're account has not yet been approved).\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"3. Take A Payment\"\n}\n[/block]\nOnce you've accessed the virtual terminal, taking a payment is as simple as filling out the form and clicking \"Take Payment\" in the bottom right. Please wait a few moments, a box will appear asking you to confirm the details. Once submitted, the customer will be charged and a confirmation email is sent with your email signature at the bottom.\n\nThe video below demonstrates how to login, access the virtual terminal and take a payment. Please read step 1 first and create your email signature before following the steps below.\n\n**Please Note:** Currencies are set up for each account. EU, £, CAD & USD are all available.\n[block:embed]\n{\n  \"html\": \"<iframe class=\\\"embedly-embed\\\" src=\\\"//cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2F2CayAaPSn5U%3Ffeature%3Doembed&url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D2CayAaPSn5U&image=https%3A%2F%2Fi.ytimg.com%2Fvi%2F2CayAaPSn5U%2Fhqdefault.jpg&key=02466f963b9b4bb8845a05b53d3235d7&type=text%2Fhtml&schema=youtube\\\" width=\\\"854\\\" height=\\\"480\\\" scrolling=\\\"no\\\" frameborder=\\\"0\\\" allowfullscreen></iframe>\",\n  \"url\": \"https://www.youtube.com/watch?v=2CayAaPSn5U\",\n  \"title\": \"How To Take A Payment With VacayPay (Procuro)\",\n  \"favicon\": \"https://s.ytimg.com/yts/img/favicon-vflz7uhzw.ico\",\n  \"image\": \"https://i.ytimg.com/vi/2CayAaPSn5U/hqdefault.jpg\"\n}\n[/block]","project":"5602b0b27435de0d00fabd94","sync_unique":"","title":"Taking Your First Payment","type":"basic","category":"5602c1cd930fe1170074bdb0","excerpt":"How to process a payment through the Virtual Terminal","childrenPages":[]}

Taking Your First Payment

How to process a payment through the Virtual Terminal

Before you can take a payment we need to make sure your account is configured properly. [block:api-header] { "type": "basic", "title": "1. Create An Email Signature (only once)" } [/block] When a payment is taken, an email confirmation is sent to the customers email address. By default, your email signature will be blank. To prevent confusion, we strongly recommend to create an email signature based on your companies details. Head over to **Account Settings** > **Company**, which can be found in the top right corner of the page (https://www.procuro.io/company) [block:api-header] { "type": "basic", "title": "2. Access The Virtual Terminal" } [/block] Payments are taken through the VacayPay virtual terminal, which can be found by clicking **VacayPay** in the left side menu and the **Take Payment** button in the top right (please note this button will not show if you're account has not yet been approved). [block:api-header] { "type": "basic", "title": "3. Take A Payment" } [/block] Once you've accessed the virtual terminal, taking a payment is as simple as filling out the form and clicking "Take Payment" in the bottom right. Please wait a few moments, a box will appear asking you to confirm the details. Once submitted, the customer will be charged and a confirmation email is sent with your email signature at the bottom. The video below demonstrates how to login, access the virtual terminal and take a payment. Please read step 1 first and create your email signature before following the steps below. **Please Note:** Currencies are set up for each account. EU, £, CAD & USD are all available. [block:embed] { "html": "<iframe class=\"embedly-embed\" src=\"//cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2F2CayAaPSn5U%3Ffeature%3Doembed&url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D2CayAaPSn5U&image=https%3A%2F%2Fi.ytimg.com%2Fvi%2F2CayAaPSn5U%2Fhqdefault.jpg&key=02466f963b9b4bb8845a05b53d3235d7&type=text%2Fhtml&schema=youtube\" width=\"854\" height=\"480\" scrolling=\"no\" frameborder=\"0\" allowfullscreen></iframe>", "url": "https://www.youtube.com/watch?v=2CayAaPSn5U", "title": "How To Take A Payment With VacayPay (Procuro)", "favicon": "https://s.ytimg.com/yts/img/favicon-vflz7uhzw.ico", "image": "https://i.ytimg.com/vi/2CayAaPSn5U/hqdefault.jpg" } [/block]
Before you can take a payment we need to make sure your account is configured properly. [block:api-header] { "type": "basic", "title": "1. Create An Email Signature (only once)" } [/block] When a payment is taken, an email confirmation is sent to the customers email address. By default, your email signature will be blank. To prevent confusion, we strongly recommend to create an email signature based on your companies details. Head over to **Account Settings** > **Company**, which can be found in the top right corner of the page (https://www.procuro.io/company) [block:api-header] { "type": "basic", "title": "2. Access The Virtual Terminal" } [/block] Payments are taken through the VacayPay virtual terminal, which can be found by clicking **VacayPay** in the left side menu and the **Take Payment** button in the top right (please note this button will not show if you're account has not yet been approved). [block:api-header] { "type": "basic", "title": "3. Take A Payment" } [/block] Once you've accessed the virtual terminal, taking a payment is as simple as filling out the form and clicking "Take Payment" in the bottom right. Please wait a few moments, a box will appear asking you to confirm the details. Once submitted, the customer will be charged and a confirmation email is sent with your email signature at the bottom. The video below demonstrates how to login, access the virtual terminal and take a payment. Please read step 1 first and create your email signature before following the steps below. **Please Note:** Currencies are set up for each account. EU, £, CAD & USD are all available. [block:embed] { "html": "<iframe class=\"embedly-embed\" src=\"//cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2F2CayAaPSn5U%3Ffeature%3Doembed&url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D2CayAaPSn5U&image=https%3A%2F%2Fi.ytimg.com%2Fvi%2F2CayAaPSn5U%2Fhqdefault.jpg&key=02466f963b9b4bb8845a05b53d3235d7&type=text%2Fhtml&schema=youtube\" width=\"854\" height=\"480\" scrolling=\"no\" frameborder=\"0\" allowfullscreen></iframe>", "url": "https://www.youtube.com/watch?v=2CayAaPSn5U", "title": "How To Take A Payment With VacayPay (Procuro)", "favicon": "https://s.ytimg.com/yts/img/favicon-vflz7uhzw.ico", "image": "https://i.ytimg.com/vi/2CayAaPSn5U/hqdefault.jpg" } [/block]
{"_id":"567429d54b2a680d00524f15","githubsync":"","link_url":"","project":"5602b0b27435de0d00fabd94","sync_unique":"","__v":9,"body":"This simply creates a formatted link with price and information that automatically despatches an email to the customer with comments and an expiry date.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Creation\"\n}\n[/block]\nClick the  VacayPay menu item to show the \"Take Payment\" and \"Generate Payment\" link (blue)\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/by1BakmrStOsBQDZdT7s_payment-link.JPG\",\n        \"payment-link.JPG\",\n        \"1154\",\n        \"385\",\n        \"#38393f\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\nClick the Generate Payment\" link (blue) and you will be taken to this page, where you may enter all the relevant details. Please note that you may add a Company name if the guest is paying on behalf of a company. If ticked this will be displayed on the email payment link. The free text box below on the right will show on the actual quotation page, not in the email itself (see last image)\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/NM5PvVOpSEGWIftAuTcF_payment-link-2.JPG\",\n        \"payment-link-2.JPG\",\n        \"1395\",\n        \"814\",\n        \"#6199cc\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\nOnce the fields have been completed click \" Generate Payment Link\" and the payment request will be despatched. The details will be shown.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/XVH3ilRTmwpbzgeRRKQY_payment-link-3.JPG\",\n        \"payment-link-3.JPG\",\n        \"1422\",\n        \"533\",\n        \"#9c8465\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\nA simple email (to avoid spam filters) will arrive with the guest:\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/ASzkbYgSzGJNcv4H8QF3_emailpl.JPG\",\n        \"emailpl.JPG\",\n        \"721\",\n        \"209\",\n        \"#749ccc\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\nClicking the link will produce a beautiful payment page\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/nE4yJsDnRyerZxBYShp3_final-link.JPG\",\n        \"final-link.JPG\",\n        \"923\",\n        \"976\",\n        \"#25b5b9\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\n##Resending\nShould the guest lose or delete the link, then to resend a link, Click  \"VacayPay\" and select \"Payment Links\" tab and then select the blue payment page tab. Copy the exact URL and re-mail it to the guest.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/iGwsWyBjRaGtjLg3DvTE_resend.JPG\",\n        \"resend.JPG\",\n        \"1420\",\n        \"401\",\n        \"#589aa4\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]","category":"5602c1cd930fe1170074bdb0","link_external":false,"order":1,"parentDoc":null,"slug":"create-a-payment-link","title":"Create A Simple Payment Link","createdAt":"2015-12-18T15:44:21.184Z","hidden":false,"isReference":false,"type":"basic","version":"5602b0b37435de0d00fabd97","api":{"auth":"required","params":[],"results":{"codes":[{"status":200,"language":"json","code":"{}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"settings":"","url":""},"excerpt":"","updates":[],"user":"5602cb474f15002100ee44ba","childrenPages":[]}

Create A Simple Payment Link


This simply creates a formatted link with price and information that automatically despatches an email to the customer with comments and an expiry date. [block:api-header] { "type": "basic", "title": "Creation" } [/block] Click the VacayPay menu item to show the "Take Payment" and "Generate Payment" link (blue) [block:image] { "images": [ { "image": [ "https://files.readme.io/by1BakmrStOsBQDZdT7s_payment-link.JPG", "payment-link.JPG", "1154", "385", "#38393f", "" ] } ] } [/block] Click the Generate Payment" link (blue) and you will be taken to this page, where you may enter all the relevant details. Please note that you may add a Company name if the guest is paying on behalf of a company. If ticked this will be displayed on the email payment link. The free text box below on the right will show on the actual quotation page, not in the email itself (see last image) [block:image] { "images": [ { "image": [ "https://files.readme.io/NM5PvVOpSEGWIftAuTcF_payment-link-2.JPG", "payment-link-2.JPG", "1395", "814", "#6199cc", "" ] } ] } [/block] Once the fields have been completed click " Generate Payment Link" and the payment request will be despatched. The details will be shown. [block:image] { "images": [ { "image": [ "https://files.readme.io/XVH3ilRTmwpbzgeRRKQY_payment-link-3.JPG", "payment-link-3.JPG", "1422", "533", "#9c8465", "" ] } ] } [/block] A simple email (to avoid spam filters) will arrive with the guest: [block:image] { "images": [ { "image": [ "https://files.readme.io/ASzkbYgSzGJNcv4H8QF3_emailpl.JPG", "emailpl.JPG", "721", "209", "#749ccc", "" ] } ] } [/block] Clicking the link will produce a beautiful payment page [block:image] { "images": [ { "image": [ "https://files.readme.io/nE4yJsDnRyerZxBYShp3_final-link.JPG", "final-link.JPG", "923", "976", "#25b5b9", "" ] } ] } [/block] ##Resending Should the guest lose or delete the link, then to resend a link, Click "VacayPay" and select "Payment Links" tab and then select the blue payment page tab. Copy the exact URL and re-mail it to the guest. [block:image] { "images": [ { "image": [ "https://files.readme.io/iGwsWyBjRaGtjLg3DvTE_resend.JPG", "resend.JPG", "1420", "401", "#589aa4", "" ] } ] } [/block]
This simply creates a formatted link with price and information that automatically despatches an email to the customer with comments and an expiry date. [block:api-header] { "type": "basic", "title": "Creation" } [/block] Click the VacayPay menu item to show the "Take Payment" and "Generate Payment" link (blue) [block:image] { "images": [ { "image": [ "https://files.readme.io/by1BakmrStOsBQDZdT7s_payment-link.JPG", "payment-link.JPG", "1154", "385", "#38393f", "" ] } ] } [/block] Click the Generate Payment" link (blue) and you will be taken to this page, where you may enter all the relevant details. Please note that you may add a Company name if the guest is paying on behalf of a company. If ticked this will be displayed on the email payment link. The free text box below on the right will show on the actual quotation page, not in the email itself (see last image) [block:image] { "images": [ { "image": [ "https://files.readme.io/NM5PvVOpSEGWIftAuTcF_payment-link-2.JPG", "payment-link-2.JPG", "1395", "814", "#6199cc", "" ] } ] } [/block] Once the fields have been completed click " Generate Payment Link" and the payment request will be despatched. The details will be shown. [block:image] { "images": [ { "image": [ "https://files.readme.io/XVH3ilRTmwpbzgeRRKQY_payment-link-3.JPG", "payment-link-3.JPG", "1422", "533", "#9c8465", "" ] } ] } [/block] A simple email (to avoid spam filters) will arrive with the guest: [block:image] { "images": [ { "image": [ "https://files.readme.io/ASzkbYgSzGJNcv4H8QF3_emailpl.JPG", "emailpl.JPG", "721", "209", "#749ccc", "" ] } ] } [/block] Clicking the link will produce a beautiful payment page [block:image] { "images": [ { "image": [ "https://files.readme.io/nE4yJsDnRyerZxBYShp3_final-link.JPG", "final-link.JPG", "923", "976", "#25b5b9", "" ] } ] } [/block] ##Resending Should the guest lose or delete the link, then to resend a link, Click "VacayPay" and select "Payment Links" tab and then select the blue payment page tab. Copy the exact URL and re-mail it to the guest. [block:image] { "images": [ { "image": [ "https://files.readme.io/iGwsWyBjRaGtjLg3DvTE_resend.JPG", "resend.JPG", "1420", "401", "#589aa4", "" ] } ] } [/block]
{"_id":"5602c9601ba3720d00a6baa6","slug":"quotation","user":"5602afcb1ba3720d00a6ba79","__v":15,"api":{"auth":"required","params":[],"results":{"codes":[{"status":200,"language":"json","code":"{}","name":""},{"language":"json","code":"{}","name":"","status":400}]},"settings":"","url":""},"hidden":false,"isReference":false,"link_external":false,"excerpt":"How to create a Rentivo quotation within VacayPay & Procuro","githubsync":"","title":"Generate A Quotation And Payment Page","type":"basic","updates":[],"createdAt":"2015-09-23T15:46:40.689Z","link_url":"","parentDoc":null,"project":"5602b0b27435de0d00fabd94","sync_unique":"","body":"Please note, before you can generate a quote you must have a Rentivo website. If you don't have a Rentivo website and would be interested in having a beautifully designed vacation rental website with multiple themes, SEO optimisation, CMS, custom branding and much more, please visit http://www.rentivo.com for more information.\n[block:callout]\n{\n  \"type\": \"warning\",\n  \"title\": \"Rentivo Connection Required\",\n  \"body\": \"You must have a Rentivo Connection enabled on your account, if you do not see a **Rentivo** menu item and have a Rentivo account please contact support@procuro.io\"\n}\n[/block]\nBelow is a screencast walk through of how to create a Rentivo quotation.\n[block:embed]\n{\n  \"html\": \"<iframe class=\\\"embedly-embed\\\" src=\\\"//cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2Fe-imQFl9-pw%3Ffeature%3Doembed&url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3De-imQFl9-pw&image=https%3A%2F%2Fi.ytimg.com%2Fvi%2Fe-imQFl9-pw%2Fhqdefault.jpg&key=02466f963b9b4bb8845a05b53d3235d7&type=text%2Fhtml&schema=youtube\\\" width=\\\"854\\\" height=\\\"480\\\" scrolling=\\\"no\\\" frameborder=\\\"0\\\" allowfullscreen></iframe>\",\n  \"url\": \"https://www.youtube.com/watch?v=e-imQFl9-pw\",\n  \"title\": \"Create A Rentivo Payment Quotation - VacayPay (Procuro)\",\n  \"favicon\": \"https://s.ytimg.com/yts/img/favicon-vflz7uhzw.ico\",\n  \"image\": \"https://i.ytimg.com/vi/e-imQFl9-pw/hqdefault.jpg\"\n}\n[/block]","category":"5602c948930fe1170074bdcb","order":0,"version":"5602b0b37435de0d00fabd97","childrenPages":[]}

Generate A Quotation And Payment Page

How to create a Rentivo quotation within VacayPay & Procuro

Please note, before you can generate a quote you must have a Rentivo website. If you don't have a Rentivo website and would be interested in having a beautifully designed vacation rental website with multiple themes, SEO optimisation, CMS, custom branding and much more, please visit http://www.rentivo.com for more information. [block:callout] { "type": "warning", "title": "Rentivo Connection Required", "body": "You must have a Rentivo Connection enabled on your account, if you do not see a **Rentivo** menu item and have a Rentivo account please contact support@procuro.io" } [/block] Below is a screencast walk through of how to create a Rentivo quotation. [block:embed] { "html": "<iframe class=\"embedly-embed\" src=\"//cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2Fe-imQFl9-pw%3Ffeature%3Doembed&url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3De-imQFl9-pw&image=https%3A%2F%2Fi.ytimg.com%2Fvi%2Fe-imQFl9-pw%2Fhqdefault.jpg&key=02466f963b9b4bb8845a05b53d3235d7&type=text%2Fhtml&schema=youtube\" width=\"854\" height=\"480\" scrolling=\"no\" frameborder=\"0\" allowfullscreen></iframe>", "url": "https://www.youtube.com/watch?v=e-imQFl9-pw", "title": "Create A Rentivo Payment Quotation - VacayPay (Procuro)", "favicon": "https://s.ytimg.com/yts/img/favicon-vflz7uhzw.ico", "image": "https://i.ytimg.com/vi/e-imQFl9-pw/hqdefault.jpg" } [/block]
Please note, before you can generate a quote you must have a Rentivo website. If you don't have a Rentivo website and would be interested in having a beautifully designed vacation rental website with multiple themes, SEO optimisation, CMS, custom branding and much more, please visit http://www.rentivo.com for more information. [block:callout] { "type": "warning", "title": "Rentivo Connection Required", "body": "You must have a Rentivo Connection enabled on your account, if you do not see a **Rentivo** menu item and have a Rentivo account please contact support@procuro.io" } [/block] Below is a screencast walk through of how to create a Rentivo quotation. [block:embed] { "html": "<iframe class=\"embedly-embed\" src=\"//cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2Fe-imQFl9-pw%3Ffeature%3Doembed&url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3De-imQFl9-pw&image=https%3A%2F%2Fi.ytimg.com%2Fvi%2Fe-imQFl9-pw%2Fhqdefault.jpg&key=02466f963b9b4bb8845a05b53d3235d7&type=text%2Fhtml&schema=youtube\" width=\"854\" height=\"480\" scrolling=\"no\" frameborder=\"0\" allowfullscreen></iframe>", "url": "https://www.youtube.com/watch?v=e-imQFl9-pw", "title": "Create A Rentivo Payment Quotation - VacayPay (Procuro)", "favicon": "https://s.ytimg.com/yts/img/favicon-vflz7uhzw.ico", "image": "https://i.ytimg.com/vi/e-imQFl9-pw/hqdefault.jpg" } [/block]
{"_id":"5731a2fc08cf4f0e00ee51bc","createdAt":"2016-05-10T08:59:40.251Z","hidden":false,"version":"5602b0b37435de0d00fabd97","api":{"results":{"codes":[{"status":200,"language":"json","code":"{}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"settings":"","url":"","auth":"required","params":[]},"body":"Procuro offers a complex and flexible property pricing solution, this is currently integrated with Rentivo. \n\nWe have tried to support as many methods of pricing as possible. If you have any ideas or requirements that we don't support please get in touch with us at support@procuro.io\n\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"1. Accessing Pricing\"\n}\n[/block]\nTo be able to access the pricing interface and use it, you will need the following:\n\n - Property Module Enabled\n - Rentivo Connection Enabled\n - Rentivo Properties Synced\n\n*Note: If you already have a Rentivo account let us know and we'll set this up for you*\n[block:callout]\n{\n  \"type\": \"warning\",\n  \"body\": \"If you need to re-sync with new properties, on the property list page there is a **Toolbox** tab that has a button to sync with Rentivo.\",\n  \"title\": \"Synchronization\"\n}\n[/block]\nOnce these requirements are met, you will be able to find the pricing by selecting a property (View Property) and clicking the **Pricing** tab below the title.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"2. Understanding the GUI\"\n}\n[/block]\nWhen the pricing interface loads, you'll see something similar to this image.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/2WQ2OLzZSoCOcjpUxM7d_Screenshot%20from%202016-05-10%2011-39-48.png\",\n        \"Screenshot from 2016-05-10 11-39-48.png\",\n        \"1697\",\n        \"578\",\n        \"#196ac3\",\n        \"\"\n      ],\n      \"caption\": \"\"\n    }\n  ]\n}\n[/block]\nThe pricing is divided into two sections, the main content (left side - largest) and the price tests. What the actual sections do will be explained on their separate pages.\n\nThe key points are - to modify/change pricing you will use the tabs on the top left hand side (starting with Intro, Currency).\n\nTo save your pricing you need to click the **Save Pricing** in the top right hand corner.\n\nIf you forget which currency you are pricing for, the current currency is mentioned on the top blue bar.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"3. Terminology\"\n}\n[/block]\nWe refer to seasons as **periods**. Modifiers are adjustments to the price such as a discount or price increase based on a selection of conditions that you can choose from.\n\nWhen you see a modification type field, it will either say **fixed** or **percentage**. Fixed is where you simply enter a value eg 250 (will be £250).\n\nPercentage you will enter a decimal from 0 to 1. Eg:\n\n - 0.05 = 5%\n - 0.1 = 10%\n - 0.10 = 10%\n - 0.68 = 68%","user":"5602afcb1ba3720d00a6ba79","link_url":"","project":"5602b0b27435de0d00fabd94","slug":"property-pricing-getting-started","title":"Getting Started","updates":[],"excerpt":"","githubsync":"","isReference":false,"order":0,"parentDoc":null,"sync_unique":"","type":"basic","__v":7,"category":"5731a14bd720220e008e9fa1","link_external":false,"childrenPages":[]}

Getting Started


Procuro offers a complex and flexible property pricing solution, this is currently integrated with Rentivo. We have tried to support as many methods of pricing as possible. If you have any ideas or requirements that we don't support please get in touch with us at support@procuro.io [block:api-header] { "type": "basic", "title": "1. Accessing Pricing" } [/block] To be able to access the pricing interface and use it, you will need the following: - Property Module Enabled - Rentivo Connection Enabled - Rentivo Properties Synced *Note: If you already have a Rentivo account let us know and we'll set this up for you* [block:callout] { "type": "warning", "body": "If you need to re-sync with new properties, on the property list page there is a **Toolbox** tab that has a button to sync with Rentivo.", "title": "Synchronization" } [/block] Once these requirements are met, you will be able to find the pricing by selecting a property (View Property) and clicking the **Pricing** tab below the title. [block:api-header] { "type": "basic", "title": "2. Understanding the GUI" } [/block] When the pricing interface loads, you'll see something similar to this image. [block:image] { "images": [ { "image": [ "https://files.readme.io/2WQ2OLzZSoCOcjpUxM7d_Screenshot%20from%202016-05-10%2011-39-48.png", "Screenshot from 2016-05-10 11-39-48.png", "1697", "578", "#196ac3", "" ], "caption": "" } ] } [/block] The pricing is divided into two sections, the main content (left side - largest) and the price tests. What the actual sections do will be explained on their separate pages. The key points are - to modify/change pricing you will use the tabs on the top left hand side (starting with Intro, Currency). To save your pricing you need to click the **Save Pricing** in the top right hand corner. If you forget which currency you are pricing for, the current currency is mentioned on the top blue bar. [block:api-header] { "type": "basic", "title": "3. Terminology" } [/block] We refer to seasons as **periods**. Modifiers are adjustments to the price such as a discount or price increase based on a selection of conditions that you can choose from. When you see a modification type field, it will either say **fixed** or **percentage**. Fixed is where you simply enter a value eg 250 (will be £250). Percentage you will enter a decimal from 0 to 1. Eg: - 0.05 = 5% - 0.1 = 10% - 0.10 = 10% - 0.68 = 68%
Procuro offers a complex and flexible property pricing solution, this is currently integrated with Rentivo. We have tried to support as many methods of pricing as possible. If you have any ideas or requirements that we don't support please get in touch with us at support@procuro.io [block:api-header] { "type": "basic", "title": "1. Accessing Pricing" } [/block] To be able to access the pricing interface and use it, you will need the following: - Property Module Enabled - Rentivo Connection Enabled - Rentivo Properties Synced *Note: If you already have a Rentivo account let us know and we'll set this up for you* [block:callout] { "type": "warning", "body": "If you need to re-sync with new properties, on the property list page there is a **Toolbox** tab that has a button to sync with Rentivo.", "title": "Synchronization" } [/block] Once these requirements are met, you will be able to find the pricing by selecting a property (View Property) and clicking the **Pricing** tab below the title. [block:api-header] { "type": "basic", "title": "2. Understanding the GUI" } [/block] When the pricing interface loads, you'll see something similar to this image. [block:image] { "images": [ { "image": [ "https://files.readme.io/2WQ2OLzZSoCOcjpUxM7d_Screenshot%20from%202016-05-10%2011-39-48.png", "Screenshot from 2016-05-10 11-39-48.png", "1697", "578", "#196ac3", "" ], "caption": "" } ] } [/block] The pricing is divided into two sections, the main content (left side - largest) and the price tests. What the actual sections do will be explained on their separate pages. The key points are - to modify/change pricing you will use the tabs on the top left hand side (starting with Intro, Currency). To save your pricing you need to click the **Save Pricing** in the top right hand corner. If you forget which currency you are pricing for, the current currency is mentioned on the top blue bar. [block:api-header] { "type": "basic", "title": "3. Terminology" } [/block] We refer to seasons as **periods**. Modifiers are adjustments to the price such as a discount or price increase based on a selection of conditions that you can choose from. When you see a modification type field, it will either say **fixed** or **percentage**. Fixed is where you simply enter a value eg 250 (will be £250). Percentage you will enter a decimal from 0 to 1. Eg: - 0.05 = 5% - 0.1 = 10% - 0.10 = 10% - 0.68 = 68%
{"_id":"5731bd4cd720220e008e9fd8","api":{"results":{"codes":[{"status":200,"language":"json","code":"{}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"settings":"","url":"","auth":"required","params":[]},"type":"basic","updates":[],"order":1,"parentDoc":null,"__v":3,"category":"5731a14bd720220e008e9fa1","createdAt":"2016-05-10T10:51:56.124Z","excerpt":"","isReference":false,"githubsync":"","link_external":false,"slug":"property-pricing-tests","user":"5602afcb1ba3720d00a6ba79","sync_unique":"","title":"Price Tests","version":"5602b0b37435de0d00fabd97","body":"**Price Tests** allow you to add various dates and other information to test your pricing against whilst you work on it. Eg. if you are pricing the summer, having a few tests around the start/middle/end will allow you to re-run and calculate prices whilst slightly changing parts of the pricing.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"1. Adding Tests\"\n}\n[/block]\n\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/RKwDPsN4Ql6oTwjxV2AS_Screenshot%20from%202016-05-10%2011-43-42.png\",\n        \"Screenshot from 2016-05-10 11-43-42.png\",\n        \"527\",\n        \"462\",\n        \"#5494cd\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\nAdding tests is quite simple, fill in all the fields and click **Add Test**. It'll then appear in a tabular format below. In the image above I have added 3 different tests and ran the pricing on them. This is done by clicking **Run Tests**.\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Run Tests\",\n  \"body\": \"You do not have to save the pricing every time you want to run the tests - the current pricing is always used. You **will** have to save the pricing before you leave the page though.\"\n}\n[/block]\nIf the pricing generates a price or fails (eg no dates added that cover the test date range) you can click on the price field to view more details about it.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/65LqmnivR3KRmdF7hnnh_Screenshot%20from%202016-05-10%2011-44-17.png\",\n        \"Screenshot from 2016-05-10 11-44-17.png\",\n        \"527\",\n        \"543\",\n        \"#e2e4e9\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]","hidden":false,"link_url":"","project":"5602b0b27435de0d00fabd94","childrenPages":[]}

Price Tests


**Price Tests** allow you to add various dates and other information to test your pricing against whilst you work on it. Eg. if you are pricing the summer, having a few tests around the start/middle/end will allow you to re-run and calculate prices whilst slightly changing parts of the pricing. [block:api-header] { "type": "basic", "title": "1. Adding Tests" } [/block] [block:image] { "images": [ { "image": [ "https://files.readme.io/RKwDPsN4Ql6oTwjxV2AS_Screenshot%20from%202016-05-10%2011-43-42.png", "Screenshot from 2016-05-10 11-43-42.png", "527", "462", "#5494cd", "" ] } ] } [/block] Adding tests is quite simple, fill in all the fields and click **Add Test**. It'll then appear in a tabular format below. In the image above I have added 3 different tests and ran the pricing on them. This is done by clicking **Run Tests**. [block:callout] { "type": "info", "title": "Run Tests", "body": "You do not have to save the pricing every time you want to run the tests - the current pricing is always used. You **will** have to save the pricing before you leave the page though." } [/block] If the pricing generates a price or fails (eg no dates added that cover the test date range) you can click on the price field to view more details about it. [block:image] { "images": [ { "image": [ "https://files.readme.io/65LqmnivR3KRmdF7hnnh_Screenshot%20from%202016-05-10%2011-44-17.png", "Screenshot from 2016-05-10 11-44-17.png", "527", "543", "#e2e4e9", "" ] } ] } [/block]
**Price Tests** allow you to add various dates and other information to test your pricing against whilst you work on it. Eg. if you are pricing the summer, having a few tests around the start/middle/end will allow you to re-run and calculate prices whilst slightly changing parts of the pricing. [block:api-header] { "type": "basic", "title": "1. Adding Tests" } [/block] [block:image] { "images": [ { "image": [ "https://files.readme.io/RKwDPsN4Ql6oTwjxV2AS_Screenshot%20from%202016-05-10%2011-43-42.png", "Screenshot from 2016-05-10 11-43-42.png", "527", "462", "#5494cd", "" ] } ] } [/block] Adding tests is quite simple, fill in all the fields and click **Add Test**. It'll then appear in a tabular format below. In the image above I have added 3 different tests and ran the pricing on them. This is done by clicking **Run Tests**. [block:callout] { "type": "info", "title": "Run Tests", "body": "You do not have to save the pricing every time you want to run the tests - the current pricing is always used. You **will** have to save the pricing before you leave the page though." } [/block] If the pricing generates a price or fails (eg no dates added that cover the test date range) you can click on the price field to view more details about it. [block:image] { "images": [ { "image": [ "https://files.readme.io/65LqmnivR3KRmdF7hnnh_Screenshot%20from%202016-05-10%2011-44-17.png", "Screenshot from 2016-05-10 11-44-17.png", "527", "543", "#e2e4e9", "" ] } ] } [/block]
{"_id":"5731d24d08cf4f0e00ee5215","category":"5731a14bd720220e008e9fa1","createdAt":"2016-05-10T12:21:33.819Z","githubsync":"","isReference":false,"order":2,"sync_unique":"","updates":[],"version":"5602b0b37435de0d00fabd97","api":{"auth":"required","params":[],"url":"","results":{"codes":[{"language":"json","code":"{}","name":"","status":200},{"status":400,"language":"json","code":"{}","name":""}]},"settings":""},"body":"Our pricing supports an unlimited amount of currencies, each currency has an entirely separate configuration to generate prices.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Adding and Selecting a Currency\"\n}\n[/block]\nOn a property with no configuration you will first need to select the **currency** tab, from there use the dropdown to select the desired currency and click **Add Currency**.\n\nFrom there, go ahead and click **Select** on the newly added currency.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/W21PT6qJSVye4uphxud4_Screenshot%20from%202016-05-10%2013-16-45.png\",\n        \"Screenshot from 2016-05-10 13-16-45.png\",\n        \"1651\",\n        \"453\",\n        \"#2c7aca\",\n        \"\"\n      ],\n      \"caption\": \"Notice the **current currency** on the top blue bar.\"\n    }\n  ]\n}\n[/block]\nIf you look at the navigation bar you'll see the tabs Defaults, Taxes, Periods and Modifiers have appeared.\n\nYou can now modify the pricing for the selected currency.","link_external":false,"link_url":"","slug":"property-pricing-currency-selection","type":"basic","user":"5602afcb1ba3720d00a6ba79","hidden":false,"project":"5602b0b27435de0d00fabd94","title":"Currency Selection","__v":0,"excerpt":"","parentDoc":null,"childrenPages":[]}

Currency Selection


Our pricing supports an unlimited amount of currencies, each currency has an entirely separate configuration to generate prices. [block:api-header] { "type": "basic", "title": "Adding and Selecting a Currency" } [/block] On a property with no configuration you will first need to select the **currency** tab, from there use the dropdown to select the desired currency and click **Add Currency**. From there, go ahead and click **Select** on the newly added currency. [block:image] { "images": [ { "image": [ "https://files.readme.io/W21PT6qJSVye4uphxud4_Screenshot%20from%202016-05-10%2013-16-45.png", "Screenshot from 2016-05-10 13-16-45.png", "1651", "453", "#2c7aca", "" ], "caption": "Notice the **current currency** on the top blue bar." } ] } [/block] If you look at the navigation bar you'll see the tabs Defaults, Taxes, Periods and Modifiers have appeared. You can now modify the pricing for the selected currency.
Our pricing supports an unlimited amount of currencies, each currency has an entirely separate configuration to generate prices. [block:api-header] { "type": "basic", "title": "Adding and Selecting a Currency" } [/block] On a property with no configuration you will first need to select the **currency** tab, from there use the dropdown to select the desired currency and click **Add Currency**. From there, go ahead and click **Select** on the newly added currency. [block:image] { "images": [ { "image": [ "https://files.readme.io/W21PT6qJSVye4uphxud4_Screenshot%20from%202016-05-10%2013-16-45.png", "Screenshot from 2016-05-10 13-16-45.png", "1651", "453", "#2c7aca", "" ], "caption": "Notice the **current currency** on the top blue bar." } ] } [/block] If you look at the navigation bar you'll see the tabs Defaults, Taxes, Periods and Modifiers have appeared. You can now modify the pricing for the selected currency.
{"_id":"5731d483d720220e008ea00f","__v":1,"order":3,"type":"basic","createdAt":"2016-05-10T12:30:59.503Z","githubsync":"","link_external":false,"parentDoc":null,"slug":"property-pricing-defaults","title":"Defaults","updates":[],"user":"5602afcb1ba3720d00a6ba79","excerpt":"","hidden":false,"isReference":false,"link_url":"","sync_unique":"","version":"5602b0b37435de0d00fabd97","api":{"url":"","auth":"required","params":[],"results":{"codes":[{"status":200,"language":"json","code":"{}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"settings":""},"body":"Defaults are quite self-explanatory. There are various settings you don't want to have to change on every period such as minimum nights.\n\nFor example, If every period always has a minimum stay of say 2 nights, putting it in the defaults section is the easiest method to ensure accuracy.","category":"5731a14bd720220e008e9fa1","project":"5602b0b27435de0d00fabd94","childrenPages":[]}

Defaults


Defaults are quite self-explanatory. There are various settings you don't want to have to change on every period such as minimum nights. For example, If every period always has a minimum stay of say 2 nights, putting it in the defaults section is the easiest method to ensure accuracy.
Defaults are quite self-explanatory. There are various settings you don't want to have to change on every period such as minimum nights. For example, If every period always has a minimum stay of say 2 nights, putting it in the defaults section is the easiest method to ensure accuracy.
{"_id":"5731d7d7a825f30e00b5195f","sync_unique":"","api":{"params":[],"url":"","results":{"codes":[{"code":"{}","name":"","status":200,"language":"json"},{"status":400,"language":"json","code":"{}","name":""}]},"settings":"","auth":"required"},"category":"5731a14bd720220e008e9fa1","githubsync":"","project":"5602b0b27435de0d00fabd94","version":"5602b0b37435de0d00fabd97","__v":0,"createdAt":"2016-05-10T12:45:11.641Z","excerpt":"","link_url":"","parentDoc":null,"isReference":false,"link_external":false,"order":4,"updates":[],"user":"5602afcb1ba3720d00a6ba79","body":"Taxes allow you to add a fixed or percentage based amount to the final price - if a percentage based tax is used then non-taxable items such as a damage deposit won't be factored into the calculation.","hidden":false,"slug":"proeprty-pricing-taxes","title":"Taxes","type":"basic","childrenPages":[]}

Taxes


Taxes allow you to add a fixed or percentage based amount to the final price - if a percentage based tax is used then non-taxable items such as a damage deposit won't be factored into the calculation.
Taxes allow you to add a fixed or percentage based amount to the final price - if a percentage based tax is used then non-taxable items such as a damage deposit won't be factored into the calculation.
{"_id":"5731d5c3d720220e008ea011","__v":9,"link_url":"","order":5,"parentDoc":null,"project":"5602b0b27435de0d00fabd94","sync_unique":"","user":"5602afcb1ba3720d00a6ba79","api":{"auth":"required","params":[],"results":{"codes":[{"language":"json","code":"{}","name":"","status":200},{"status":400,"language":"json","code":"{}","name":""}]},"settings":"","url":""},"category":"5731a14bd720220e008e9fa1","githubsync":"","isReference":false,"body":"Periods (commonly referred to as seasons) are the backbone of the pricing.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Settings Breakdown\"\n}\n[/block]\nAn example period has been set up:\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/Y9sPR0g5QHKbWzZ1cR0l_Screenshot%20from%202016-05-10%2014-06-42.png\",\n        \"Screenshot from 2016-05-10 14-06-42.png\",\n        \"1649\",\n        \"803\",\n        \"#2371c5\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\nThe picture is quite self-explanatory. A date range for this period with a description and an option for minimum night stay.\n\nArrival/Departure days allows you to restrict the period to only allow for example change over days.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/QRlQvkspSIiEtwxsjjoa_Screenshot%20from%202016-05-10%2015-04-06.png\",\n        \"Screenshot from 2016-05-10 15-04-06.png\",\n        \"808\",\n        \"261\",\n        \"#e1e2e8\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\nIf this period is matched when a price is generated, the rate settings above will determine the base price. The rate type is either **Nightly** or **Weekly**. If a weekly price is set and the guest is only staying for 3 days, the rate will be automatically calculated from the weekly rate.\n\nThe next major part is the **strategy**. Strategies will modify the rate depending on certain conditions specific to that strategy. The first one being **Extra Nights Alteration**.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Strategy: Extra Nights Alteration\"\n}\n[/block]\nThis strategy modifies individual/all nights prices.\n\nBelow is an image of what appears when the strategy is selected.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/sjJ6l4byS66MJLem9koj_Screenshot%20from%202016-05-10%2015-32-33.png\",\n        \"Screenshot from 2016-05-10 15-32-33.png\",\n        \"812\",\n        \"681\",\n        \"#e0e2e7\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\nTo start off, the modification method determines what type of alteration will be made. A fixed value eg **£100** instead of £125. Or a percentage say **10%** making the £125 be discounted to **£112.50**.\n\nThis alteration **will only** take place if the **night** condition is met in the brackets table.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/2DBQuXUISiiYcRC8RRW9_Screenshot%20from%202016-05-10%2015-39-55.png\",\n        \"Screenshot from 2016-05-10 15-39-55.png\",\n        \"803\",\n        \"729\",\n        \"#e0e1e5\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\nThis is best explained with an example, if a price was generated with 7 nights the total cost would be £125 x 7 = £875.\n\nIf the total nights were 8, the first 7 nights would still equal £875 but the 8th night would be £110, totalling £985.\n\nIf the total nights were 16, this is what it would look like:\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Night No.\",\n    \"h-1\": \"Amount\",\n    \"h-2\": \"Reason\",\n    \"0-0\": \"1-7\",\n    \"1-0\": \"8\",\n    \"2-0\": \"9\",\n    \"3-0\": \"10\",\n    \"4-0\": \"11\",\n    \"5-0\": \"12\",\n    \"6-0\": \"13\",\n    \"0-1\": \"£125 Each\",\n    \"0-2\": \"These nights do not match any 'bracket'.\",\n    \"7-0\": \"14\",\n    \"8-0\": \"15\",\n    \"9-0\": \"16\",\n    \"1-1\": \"£110\",\n    \"1-2\": \"Matches the 8th night bracket\",\n    \"2-2\": \"Matches the 9th night bracket\",\n    \"2-1\": \"£105\",\n    \"3-1\": \"£100\",\n    \"4-1\": \"£100\",\n    \"5-1\": \"£100\",\n    \"6-1\": \"£100\",\n    \"3-2\": \"Matches the `10-1`3 night bracket, this is an inclusive night range\",\n    \"4-2\": \"Matches the `10-13` night bracket, this is an inclusive night range\",\n    \"5-2\": \"Matches the `10-13` night bracket, this is an inclusive night range\",\n    \"6-2\": \"Matches the `10-13` night bracket, this is an inclusive night range\",\n    \"7-1\": \"£95\",\n    \"8-1\": \"£95\",\n    \"9-1\": \"£95\",\n    \"7-2\": \"Matches the `14+` bracket, `+` indicates the current night and anything higher\",\n    \"8-2\": \"Matches the `14+` bracket, `+` indicates the current night and anything higher\",\n    \"9-2\": \"Matches the `14+` bracket, `+` indicates the current night and anything higher\"\n  },\n  \"cols\": 3,\n  \"rows\": 10\n}\n[/block]\nThis is the functionality when both options (**Apply To Total** and **Make Previous Nights Same Right**) are **unchecked**.\n\n**Make Previous Nights Same Rate** will take the last matched value (in this case `14+`) and use that price of **£95** for all the other matched brackets (night 8 to 16).\n\n**Apply To Total** when checked will only work when **Make Previous Nights Same Rate** is also checked. This option will as before, take the last matched bracket (`14+`) and apply it to **every** night in the period. In this scenario that means every night from 1 - 16 will cost £95.\n\nThis strategy is a great way to incentivise people to book more nights than they originally intended.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Strategy: Partial Week Alteration\"\n}\n[/block]\nThis strategy can only be used on a weekly rate type. Some owners or agents like to charge a higher rate for people who only book 3 days instead of a week, usually 60% of the total week cost for 3 days. Below is an image that describes this.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/dnZhZ2pTiqneuH216TrW_Screenshot%20from%202016-05-11%2010-41-08.png\",\n        \"Screenshot from 2016-05-11 10-41-08.png\",\n        \"805\",\n        \"781\",\n        \"#dfe0e4\",\n        \"\"\n      ],\n      \"caption\": \"Brackets are also used in this strategy\"\n    }\n  ]\n}\n[/block]\n**Modification Method**: Whether you want the alteration to be a fixed or percentage based value.\n\n**Minimum** & **Maximum**: The range of weeks you want this alteration to apply, for example if they only book between 0 and 2 weeks you can charge them premium rates for non-complete weeks. If they book 3 weeks and 2 days, don't apply the alteration since it is a long stay.\n\nThe brackets in this image match the extra days after complete weeks, for example if a price for 9 nights were being booked that is 1 week and 2 extra days. The 2 extra days are what is attempted to be matched.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/xFZGxMu9TxOgLzOe1VKS_Screenshot%20from%202016-05-11%2010-50-51.png\",\n        \"Screenshot from 2016-05-11 10-50-51.png\",\n        \"589\",\n        \"447\",\n        \"#ae745a\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\nHere you can see that the two extra nights matched into the `1-3` bracket, meaning 60% of the total weekly price which is £850 * 0.6 = £510 split over two days (£255).","createdAt":"2016-05-10T12:36:19.212Z","excerpt":"","hidden":false,"slug":"property-pricing-periods","version":"5602b0b37435de0d00fabd97","link_external":false,"title":"Periods","type":"basic","updates":[],"childrenPages":[]}

Periods


Periods (commonly referred to as seasons) are the backbone of the pricing. [block:api-header] { "type": "basic", "title": "Settings Breakdown" } [/block] An example period has been set up: [block:image] { "images": [ { "image": [ "https://files.readme.io/Y9sPR0g5QHKbWzZ1cR0l_Screenshot%20from%202016-05-10%2014-06-42.png", "Screenshot from 2016-05-10 14-06-42.png", "1649", "803", "#2371c5", "" ] } ] } [/block] The picture is quite self-explanatory. A date range for this period with a description and an option for minimum night stay. Arrival/Departure days allows you to restrict the period to only allow for example change over days. [block:image] { "images": [ { "image": [ "https://files.readme.io/QRlQvkspSIiEtwxsjjoa_Screenshot%20from%202016-05-10%2015-04-06.png", "Screenshot from 2016-05-10 15-04-06.png", "808", "261", "#e1e2e8", "" ] } ] } [/block] If this period is matched when a price is generated, the rate settings above will determine the base price. The rate type is either **Nightly** or **Weekly**. If a weekly price is set and the guest is only staying for 3 days, the rate will be automatically calculated from the weekly rate. The next major part is the **strategy**. Strategies will modify the rate depending on certain conditions specific to that strategy. The first one being **Extra Nights Alteration**. [block:api-header] { "type": "basic", "title": "Strategy: Extra Nights Alteration" } [/block] This strategy modifies individual/all nights prices. Below is an image of what appears when the strategy is selected. [block:image] { "images": [ { "image": [ "https://files.readme.io/sjJ6l4byS66MJLem9koj_Screenshot%20from%202016-05-10%2015-32-33.png", "Screenshot from 2016-05-10 15-32-33.png", "812", "681", "#e0e2e7", "" ] } ] } [/block] To start off, the modification method determines what type of alteration will be made. A fixed value eg **£100** instead of £125. Or a percentage say **10%** making the £125 be discounted to **£112.50**. This alteration **will only** take place if the **night** condition is met in the brackets table. [block:image] { "images": [ { "image": [ "https://files.readme.io/2DBQuXUISiiYcRC8RRW9_Screenshot%20from%202016-05-10%2015-39-55.png", "Screenshot from 2016-05-10 15-39-55.png", "803", "729", "#e0e1e5", "" ] } ] } [/block] This is best explained with an example, if a price was generated with 7 nights the total cost would be £125 x 7 = £875. If the total nights were 8, the first 7 nights would still equal £875 but the 8th night would be £110, totalling £985. If the total nights were 16, this is what it would look like: [block:parameters] { "data": { "h-0": "Night No.", "h-1": "Amount", "h-2": "Reason", "0-0": "1-7", "1-0": "8", "2-0": "9", "3-0": "10", "4-0": "11", "5-0": "12", "6-0": "13", "0-1": "£125 Each", "0-2": "These nights do not match any 'bracket'.", "7-0": "14", "8-0": "15", "9-0": "16", "1-1": "£110", "1-2": "Matches the 8th night bracket", "2-2": "Matches the 9th night bracket", "2-1": "£105", "3-1": "£100", "4-1": "£100", "5-1": "£100", "6-1": "£100", "3-2": "Matches the `10-1`3 night bracket, this is an inclusive night range", "4-2": "Matches the `10-13` night bracket, this is an inclusive night range", "5-2": "Matches the `10-13` night bracket, this is an inclusive night range", "6-2": "Matches the `10-13` night bracket, this is an inclusive night range", "7-1": "£95", "8-1": "£95", "9-1": "£95", "7-2": "Matches the `14+` bracket, `+` indicates the current night and anything higher", "8-2": "Matches the `14+` bracket, `+` indicates the current night and anything higher", "9-2": "Matches the `14+` bracket, `+` indicates the current night and anything higher" }, "cols": 3, "rows": 10 } [/block] This is the functionality when both options (**Apply To Total** and **Make Previous Nights Same Right**) are **unchecked**. **Make Previous Nights Same Rate** will take the last matched value (in this case `14+`) and use that price of **£95** for all the other matched brackets (night 8 to 16). **Apply To Total** when checked will only work when **Make Previous Nights Same Rate** is also checked. This option will as before, take the last matched bracket (`14+`) and apply it to **every** night in the period. In this scenario that means every night from 1 - 16 will cost £95. This strategy is a great way to incentivise people to book more nights than they originally intended. [block:api-header] { "type": "basic", "title": "Strategy: Partial Week Alteration" } [/block] This strategy can only be used on a weekly rate type. Some owners or agents like to charge a higher rate for people who only book 3 days instead of a week, usually 60% of the total week cost for 3 days. Below is an image that describes this. [block:image] { "images": [ { "image": [ "https://files.readme.io/dnZhZ2pTiqneuH216TrW_Screenshot%20from%202016-05-11%2010-41-08.png", "Screenshot from 2016-05-11 10-41-08.png", "805", "781", "#dfe0e4", "" ], "caption": "Brackets are also used in this strategy" } ] } [/block] **Modification Method**: Whether you want the alteration to be a fixed or percentage based value. **Minimum** & **Maximum**: The range of weeks you want this alteration to apply, for example if they only book between 0 and 2 weeks you can charge them premium rates for non-complete weeks. If they book 3 weeks and 2 days, don't apply the alteration since it is a long stay. The brackets in this image match the extra days after complete weeks, for example if a price for 9 nights were being booked that is 1 week and 2 extra days. The 2 extra days are what is attempted to be matched. [block:image] { "images": [ { "image": [ "https://files.readme.io/xFZGxMu9TxOgLzOe1VKS_Screenshot%20from%202016-05-11%2010-50-51.png", "Screenshot from 2016-05-11 10-50-51.png", "589", "447", "#ae745a", "" ] } ] } [/block] Here you can see that the two extra nights matched into the `1-3` bracket, meaning 60% of the total weekly price which is £850 * 0.6 = £510 split over two days (£255).
Periods (commonly referred to as seasons) are the backbone of the pricing. [block:api-header] { "type": "basic", "title": "Settings Breakdown" } [/block] An example period has been set up: [block:image] { "images": [ { "image": [ "https://files.readme.io/Y9sPR0g5QHKbWzZ1cR0l_Screenshot%20from%202016-05-10%2014-06-42.png", "Screenshot from 2016-05-10 14-06-42.png", "1649", "803", "#2371c5", "" ] } ] } [/block] The picture is quite self-explanatory. A date range for this period with a description and an option for minimum night stay. Arrival/Departure days allows you to restrict the period to only allow for example change over days. [block:image] { "images": [ { "image": [ "https://files.readme.io/QRlQvkspSIiEtwxsjjoa_Screenshot%20from%202016-05-10%2015-04-06.png", "Screenshot from 2016-05-10 15-04-06.png", "808", "261", "#e1e2e8", "" ] } ] } [/block] If this period is matched when a price is generated, the rate settings above will determine the base price. The rate type is either **Nightly** or **Weekly**. If a weekly price is set and the guest is only staying for 3 days, the rate will be automatically calculated from the weekly rate. The next major part is the **strategy**. Strategies will modify the rate depending on certain conditions specific to that strategy. The first one being **Extra Nights Alteration**. [block:api-header] { "type": "basic", "title": "Strategy: Extra Nights Alteration" } [/block] This strategy modifies individual/all nights prices. Below is an image of what appears when the strategy is selected. [block:image] { "images": [ { "image": [ "https://files.readme.io/sjJ6l4byS66MJLem9koj_Screenshot%20from%202016-05-10%2015-32-33.png", "Screenshot from 2016-05-10 15-32-33.png", "812", "681", "#e0e2e7", "" ] } ] } [/block] To start off, the modification method determines what type of alteration will be made. A fixed value eg **£100** instead of £125. Or a percentage say **10%** making the £125 be discounted to **£112.50**. This alteration **will only** take place if the **night** condition is met in the brackets table. [block:image] { "images": [ { "image": [ "https://files.readme.io/2DBQuXUISiiYcRC8RRW9_Screenshot%20from%202016-05-10%2015-39-55.png", "Screenshot from 2016-05-10 15-39-55.png", "803", "729", "#e0e1e5", "" ] } ] } [/block] This is best explained with an example, if a price was generated with 7 nights the total cost would be £125 x 7 = £875. If the total nights were 8, the first 7 nights would still equal £875 but the 8th night would be £110, totalling £985. If the total nights were 16, this is what it would look like: [block:parameters] { "data": { "h-0": "Night No.", "h-1": "Amount", "h-2": "Reason", "0-0": "1-7", "1-0": "8", "2-0": "9", "3-0": "10", "4-0": "11", "5-0": "12", "6-0": "13", "0-1": "£125 Each", "0-2": "These nights do not match any 'bracket'.", "7-0": "14", "8-0": "15", "9-0": "16", "1-1": "£110", "1-2": "Matches the 8th night bracket", "2-2": "Matches the 9th night bracket", "2-1": "£105", "3-1": "£100", "4-1": "£100", "5-1": "£100", "6-1": "£100", "3-2": "Matches the `10-1`3 night bracket, this is an inclusive night range", "4-2": "Matches the `10-13` night bracket, this is an inclusive night range", "5-2": "Matches the `10-13` night bracket, this is an inclusive night range", "6-2": "Matches the `10-13` night bracket, this is an inclusive night range", "7-1": "£95", "8-1": "£95", "9-1": "£95", "7-2": "Matches the `14+` bracket, `+` indicates the current night and anything higher", "8-2": "Matches the `14+` bracket, `+` indicates the current night and anything higher", "9-2": "Matches the `14+` bracket, `+` indicates the current night and anything higher" }, "cols": 3, "rows": 10 } [/block] This is the functionality when both options (**Apply To Total** and **Make Previous Nights Same Right**) are **unchecked**. **Make Previous Nights Same Rate** will take the last matched value (in this case `14+`) and use that price of **£95** for all the other matched brackets (night 8 to 16). **Apply To Total** when checked will only work when **Make Previous Nights Same Rate** is also checked. This option will as before, take the last matched bracket (`14+`) and apply it to **every** night in the period. In this scenario that means every night from 1 - 16 will cost £95. This strategy is a great way to incentivise people to book more nights than they originally intended. [block:api-header] { "type": "basic", "title": "Strategy: Partial Week Alteration" } [/block] This strategy can only be used on a weekly rate type. Some owners or agents like to charge a higher rate for people who only book 3 days instead of a week, usually 60% of the total week cost for 3 days. Below is an image that describes this. [block:image] { "images": [ { "image": [ "https://files.readme.io/dnZhZ2pTiqneuH216TrW_Screenshot%20from%202016-05-11%2010-41-08.png", "Screenshot from 2016-05-11 10-41-08.png", "805", "781", "#dfe0e4", "" ], "caption": "Brackets are also used in this strategy" } ] } [/block] **Modification Method**: Whether you want the alteration to be a fixed or percentage based value. **Minimum** & **Maximum**: The range of weeks you want this alteration to apply, for example if they only book between 0 and 2 weeks you can charge them premium rates for non-complete weeks. If they book 3 weeks and 2 days, don't apply the alteration since it is a long stay. The brackets in this image match the extra days after complete weeks, for example if a price for 9 nights were being booked that is 1 week and 2 extra days. The 2 extra days are what is attempted to be matched. [block:image] { "images": [ { "image": [ "https://files.readme.io/xFZGxMu9TxOgLzOe1VKS_Screenshot%20from%202016-05-11%2010-50-51.png", "Screenshot from 2016-05-11 10-50-51.png", "589", "447", "#ae745a", "" ] } ] } [/block] Here you can see that the two extra nights matched into the `1-3` bracket, meaning 60% of the total weekly price which is £850 * 0.6 = £510 split over two days (£255).
{"_id":"573302725bf1bb0e00e40297","slug":"modifiers","version":"5602b0b37435de0d00fabd97","category":"5731a14bd720220e008e9fa1","order":999,"project":"5602b0b27435de0d00fabd94","link_external":false,"link_url":"","user":"5602afcb1ba3720d00a6ba79","__v":1,"createdAt":"2016-05-11T09:59:14.335Z","hidden":false,"sync_unique":"","title":"Modifiers","type":"basic","api":{"url":"","auth":"required","params":[],"results":{"codes":[{"status":200,"language":"json","code":"{}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"settings":""},"body":"If you have all your periods set up and want to say increase the price for a certain date range, modifiers is a great way to do this without having to touch the periods.\n\nIn the image below there has been a 10% charge applied to 5 guests and more.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/JYIYm5m9TYGLAY2Uadjj_Screenshot%20from%202016-05-11%2015-34-29.png\",\n        \"Screenshot from 2016-05-11 15-34-29.png\",\n        \"1365\",\n        \"807\",\n        \"#548db9\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\nComparing the two prices and seeing the 'modification' on the price breakdown shows that this was applied.\n\n**Amount**: If the modification type is percentage then it has to be between 0 and 1, eg for 45% it would be 0.45.\n\n**Math Operator**: Whether to increase or decrease the price.\n\n**Modification Type**: Fixed or percentage based. Percentage based requires a decimal from 0 to 1.","excerpt":"","githubsync":"","isReference":false,"updates":[],"childrenPages":[]}

Modifiers


If you have all your periods set up and want to say increase the price for a certain date range, modifiers is a great way to do this without having to touch the periods. In the image below there has been a 10% charge applied to 5 guests and more. [block:image] { "images": [ { "image": [ "https://files.readme.io/JYIYm5m9TYGLAY2Uadjj_Screenshot%20from%202016-05-11%2015-34-29.png", "Screenshot from 2016-05-11 15-34-29.png", "1365", "807", "#548db9", "" ] } ] } [/block] Comparing the two prices and seeing the 'modification' on the price breakdown shows that this was applied. **Amount**: If the modification type is percentage then it has to be between 0 and 1, eg for 45% it would be 0.45. **Math Operator**: Whether to increase or decrease the price. **Modification Type**: Fixed or percentage based. Percentage based requires a decimal from 0 to 1.
If you have all your periods set up and want to say increase the price for a certain date range, modifiers is a great way to do this without having to touch the periods. In the image below there has been a 10% charge applied to 5 guests and more. [block:image] { "images": [ { "image": [ "https://files.readme.io/JYIYm5m9TYGLAY2Uadjj_Screenshot%20from%202016-05-11%2015-34-29.png", "Screenshot from 2016-05-11 15-34-29.png", "1365", "807", "#548db9", "" ] } ] } [/block] Comparing the two prices and seeing the 'modification' on the price breakdown shows that this was applied. **Amount**: If the modification type is percentage then it has to be between 0 and 1, eg for 45% it would be 0.45. **Math Operator**: Whether to increase or decrease the price. **Modification Type**: Fixed or percentage based. Percentage based requires a decimal from 0 to 1.
{"_id":"57333f57a6a9c40e00e13976","hidden":false,"link_url":"","slug":"conditions","type":"basic","user":"5602afcb1ba3720d00a6ba79","body":"This is a list of conditions and their explanations.\n\nConditions are used to match periods and modifiers to apply pricing to them. Periods only allow the date range but modifiers allow any condition - this provides great flexibility in altering the price.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Date Range\"\n}\n[/block]\nThe date range is a core condition that is used for your periods.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/4VHKNWsRmaCEW8upzr1g_Screenshot%20from%202016-05-11%2015-14-59.png\",\n        \"Screenshot from 2016-05-11 15-14-59.png\",\n        \"802\",\n        \"540\",\n        \"#4da2b9\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\n**Start/End Date**: These are inclusive eg. start date is 2016-04-15, an arrival date on that day would be matched.\n\n**Arrival/Departure Days**: These allow you to limit any booking to the specific days, eg can only depart on a saturday for change over days.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Night / Guest  Range\"\n}\n[/block]\nThis condition will match the nights/guests to a set range based on minimum and maximum.\n\nGuest Range\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Booking Days\"\n}\n[/block]\nSame as night / guest range, but requires a bit more explanation.\n\nThis will match for how many days in advance the guest is booking, eg. if you set the minimum to 60, then the guest would have to book 60 days in advance for this condition to match.","githubsync":"","link_external":false,"project":"5602b0b27435de0d00fabd94","updates":[],"version":"5602b0b37435de0d00fabd97","category":"5731a14bd720220e008e9fa1","createdAt":"2016-05-11T14:19:03.507Z","isReference":false,"title":"Conditions","api":{"url":"","auth":"required","params":[],"results":{"codes":[{"language":"json","code":"{}","name":"","status":200},{"status":400,"language":"json","code":"{}","name":""}]},"settings":""},"order":999,"sync_unique":"","__v":2,"excerpt":"","childrenPages":[]}

Conditions


This is a list of conditions and their explanations. Conditions are used to match periods and modifiers to apply pricing to them. Periods only allow the date range but modifiers allow any condition - this provides great flexibility in altering the price. [block:api-header] { "type": "basic", "title": "Date Range" } [/block] The date range is a core condition that is used for your periods. [block:image] { "images": [ { "image": [ "https://files.readme.io/4VHKNWsRmaCEW8upzr1g_Screenshot%20from%202016-05-11%2015-14-59.png", "Screenshot from 2016-05-11 15-14-59.png", "802", "540", "#4da2b9", "" ] } ] } [/block] **Start/End Date**: These are inclusive eg. start date is 2016-04-15, an arrival date on that day would be matched. **Arrival/Departure Days**: These allow you to limit any booking to the specific days, eg can only depart on a saturday for change over days. [block:api-header] { "type": "basic", "title": "Night / Guest Range" } [/block] This condition will match the nights/guests to a set range based on minimum and maximum. Guest Range [block:api-header] { "type": "basic", "title": "Booking Days" } [/block] Same as night / guest range, but requires a bit more explanation. This will match for how many days in advance the guest is booking, eg. if you set the minimum to 60, then the guest would have to book 60 days in advance for this condition to match.
This is a list of conditions and their explanations. Conditions are used to match periods and modifiers to apply pricing to them. Periods only allow the date range but modifiers allow any condition - this provides great flexibility in altering the price. [block:api-header] { "type": "basic", "title": "Date Range" } [/block] The date range is a core condition that is used for your periods. [block:image] { "images": [ { "image": [ "https://files.readme.io/4VHKNWsRmaCEW8upzr1g_Screenshot%20from%202016-05-11%2015-14-59.png", "Screenshot from 2016-05-11 15-14-59.png", "802", "540", "#4da2b9", "" ] } ] } [/block] **Start/End Date**: These are inclusive eg. start date is 2016-04-15, an arrival date on that day would be matched. **Arrival/Departure Days**: These allow you to limit any booking to the specific days, eg can only depart on a saturday for change over days. [block:api-header] { "type": "basic", "title": "Night / Guest Range" } [/block] This condition will match the nights/guests to a set range based on minimum and maximum. Guest Range [block:api-header] { "type": "basic", "title": "Booking Days" } [/block] Same as night / guest range, but requires a bit more explanation. This will match for how many days in advance the guest is booking, eg. if you set the minimum to 60, then the guest would have to book 60 days in advance for this condition to match.
{"_id":"5602bb694f15002100ee4494","body":"[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Basics\"\n}\n[/block]\n - The API is `HTTPS` only\n -  You **must** pass the header `Content-Type: application/json` on each request\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Authentication\"\n}\n[/block]\nYou can retrieve your API keys at https://www.procuro.io/api-keys or by clicking on **Account Settings**.\n\nYou must pass your API key in a `X-Auth-Token` header on the request.\n\n**Note:** If the endpoint requires an external provider authentication token (need to contact us to become an external provider) then it must be placed in an `X-Provider-Token` header.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Response Codes\"\n}\n[/block]\nBelow is a list of response codes to determine why a request failed.\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Number\",\n    \"h-1\": \"Name\",\n    \"h-2\": \"Description\",\n    \"0-0\": \"0\",\n    \"0-1\": \"Success\",\n    \"1-0\": \"1\",\n    \"1-1\": \"Validation Error\",\n    \"1-2\": \"The request has invalid / incorrectly formatted parameters\",\n    \"2-0\": \"2\",\n    \"2-1\": \"Resource Not Found\",\n    \"2-2\": \"Could not locate the specified resource eg. a payment\",\n    \"3-0\": \"3\",\n    \"3-1\": \"Unauthorized Request\",\n    \"3-2\": \"This action is unauthorized\",\n    \"5-0\": \"5\",\n    \"5-1\": \"Invalid JSON\",\n    \"5-2\": \"The JSON body of the request could not be parsed\",\n    \"6-0\": \"6\",\n    \"6-1\": \"Request Failed\",\n    \"6-2\": \"You can find the reason for the request failure within the `meta` json response\",\n    \"7-0\": \"7\",\n    \"7-1\": \"Endpoint Not Found\",\n    \"7-2\": \"The requested endpoint does not exist\",\n    \"0-2\": \":+1:\",\n    \"9-0\": \"9\",\n    \"9-1\": \"Duplicate Action\",\n    \"4-0\": \"4\",\n    \"4-1\": \"API Unauthorized\",\n    \"4-2\": \"API Key / External Provider Token Invalid - Check your credentials\",\n    \"9-2\": \"Attempting an action that is a duplicate. Eg attempting to create a booking that already exists.\",\n    \"8-0\": \"8\",\n    \"8-1\": \"Malformed Request\",\n    \"8-2\": \"Request cannot be parsed, ensure that the `Content-Type` is `application/json`\"\n  },\n  \"cols\": 3,\n  \"rows\": 10\n}\n[/block]","hidden":false,"link_external":false,"link_url":"","parentDoc":null,"title":"Overview","version":"5602b0b37435de0d00fabd97","__v":5,"api":{"auth":"required","params":[],"results":{"codes":[{"status":200,"language":"json","code":"{}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"settings":"","url":""},"order":0,"project":"5602b0b27435de0d00fabd94","slug":"overview","sync_unique":"","category":"5602baf31ba3720d00a6ba86","excerpt":"How the Procuro API functions and operates","type":"basic","createdAt":"2015-09-23T14:47:05.620Z","githubsync":"","isReference":false,"updates":[],"user":"5602afcb1ba3720d00a6ba79","childrenPages":[]}

Overview

How the Procuro API functions and operates

[block:api-header] { "type": "basic", "title": "Basics" } [/block] - The API is `HTTPS` only - You **must** pass the header `Content-Type: application/json` on each request [block:api-header] { "type": "basic", "title": "Authentication" } [/block] You can retrieve your API keys at https://www.procuro.io/api-keys or by clicking on **Account Settings**. You must pass your API key in a `X-Auth-Token` header on the request. **Note:** If the endpoint requires an external provider authentication token (need to contact us to become an external provider) then it must be placed in an `X-Provider-Token` header. [block:api-header] { "type": "basic", "title": "Response Codes" } [/block] Below is a list of response codes to determine why a request failed. [block:parameters] { "data": { "h-0": "Number", "h-1": "Name", "h-2": "Description", "0-0": "0", "0-1": "Success", "1-0": "1", "1-1": "Validation Error", "1-2": "The request has invalid / incorrectly formatted parameters", "2-0": "2", "2-1": "Resource Not Found", "2-2": "Could not locate the specified resource eg. a payment", "3-0": "3", "3-1": "Unauthorized Request", "3-2": "This action is unauthorized", "5-0": "5", "5-1": "Invalid JSON", "5-2": "The JSON body of the request could not be parsed", "6-0": "6", "6-1": "Request Failed", "6-2": "You can find the reason for the request failure within the `meta` json response", "7-0": "7", "7-1": "Endpoint Not Found", "7-2": "The requested endpoint does not exist", "0-2": ":+1:", "9-0": "9", "9-1": "Duplicate Action", "4-0": "4", "4-1": "API Unauthorized", "4-2": "API Key / External Provider Token Invalid - Check your credentials", "9-2": "Attempting an action that is a duplicate. Eg attempting to create a booking that already exists.", "8-0": "8", "8-1": "Malformed Request", "8-2": "Request cannot be parsed, ensure that the `Content-Type` is `application/json`" }, "cols": 3, "rows": 10 } [/block]
[block:api-header] { "type": "basic", "title": "Basics" } [/block] - The API is `HTTPS` only - You **must** pass the header `Content-Type: application/json` on each request [block:api-header] { "type": "basic", "title": "Authentication" } [/block] You can retrieve your API keys at https://www.procuro.io/api-keys or by clicking on **Account Settings**. You must pass your API key in a `X-Auth-Token` header on the request. **Note:** If the endpoint requires an external provider authentication token (need to contact us to become an external provider) then it must be placed in an `X-Provider-Token` header. [block:api-header] { "type": "basic", "title": "Response Codes" } [/block] Below is a list of response codes to determine why a request failed. [block:parameters] { "data": { "h-0": "Number", "h-1": "Name", "h-2": "Description", "0-0": "0", "0-1": "Success", "1-0": "1", "1-1": "Validation Error", "1-2": "The request has invalid / incorrectly formatted parameters", "2-0": "2", "2-1": "Resource Not Found", "2-2": "Could not locate the specified resource eg. a payment", "3-0": "3", "3-1": "Unauthorized Request", "3-2": "This action is unauthorized", "5-0": "5", "5-1": "Invalid JSON", "5-2": "The JSON body of the request could not be parsed", "6-0": "6", "6-1": "Request Failed", "6-2": "You can find the reason for the request failure within the `meta` json response", "7-0": "7", "7-1": "Endpoint Not Found", "7-2": "The requested endpoint does not exist", "0-2": ":+1:", "9-0": "9", "9-1": "Duplicate Action", "4-0": "4", "4-1": "API Unauthorized", "4-2": "API Key / External Provider Token Invalid - Check your credentials", "9-2": "Attempting an action that is a duplicate. Eg attempting to create a booking that already exists.", "8-0": "8", "8-1": "Malformed Request", "8-2": "Request cannot be parsed, ensure that the `Content-Type` is `application/json`" }, "cols": 3, "rows": 10 } [/block]
{"_id":"5603b553e416560d00fa639f","isReference":false,"user":"5602afcb1ba3720d00a6ba79","version":"5602b0b37435de0d00fabd97","githubsync":"","project":"5602b0b27435de0d00fabd94","title":"Testing","updates":[],"excerpt":"How to test your API integration","parentDoc":null,"category":"5602baf31ba3720d00a6ba86","createdAt":"2015-09-24T08:33:23.402Z","hidden":false,"link_external":false,"__v":4,"api":{"settings":"","url":"","auth":"required","params":[],"results":{"codes":[{"name":"","status":200,"language":"json","code":"{}"},{"language":"json","code":"{}","name":"","status":400}]}},"body":"To start creating test payments you can use the test API credentials.\n\nAPI Key: `SGD0qydBXp58i0n5QHnTG38D-OOzvDu0KlVliOhZpyw`\nPayment Strategy UUID: `2833dda1-b5da-4b16-9f52-8b53f4e7f884`\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Test Cards\"\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Card Notice\",\n  \"body\": \"For successful payments, the expiry date should be in the future with a three digit CVC number such as 111.\"\n}\n[/block]\nFor successful transactions\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Number\",\n    \"h-1\": \"Card Type\",\n    \"0-0\": \"4242424242424242\",\n    \"1-0\": \"4012888888881881\",\n    \"2-0\": \"4000056655665556\",\n    \"3-0\": \"5555555555554444\",\n    \"4-0\": \"5200828282828210\",\n    \"5-0\": \"378282246310005\",\n    \"0-1\": \"Visa\",\n    \"1-1\": \"Visa\",\n    \"2-1\": \"Visa (debit)\",\n    \"3-1\": \"MasterCard\",\n    \"4-1\": \"MasterCard (debit)\",\n    \"5-1\": \"American Express\"\n  },\n  \"cols\": 2,\n  \"rows\": 6\n}\n[/block]\nFor other response see the description\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Number\",\n    \"h-1\": \"Description\",\n    \"0-0\": \"4000000000000002\",\n    \"0-1\": \"Card Declined\",\n    \"1-0\": \"Either\\n- Set the CVC to a two digit number\\n- 4000000000000127\",\n    \"1-1\": \"Incorrect CVC\",\n    \"2-0\": \"4000000000000069\",\n    \"2-1\": \"Expired Card\",\n    \"3-0\": \"4000000000000119\",\n    \"3-1\": \"Processing Error\"\n  },\n  \"cols\": 2,\n  \"rows\": 4\n}\n[/block]","type":"basic","link_url":"","order":1,"slug":"testing","sync_unique":"","childrenPages":[]}

Testing

How to test your API integration

To start creating test payments you can use the test API credentials. API Key: `SGD0qydBXp58i0n5QHnTG38D-OOzvDu0KlVliOhZpyw` Payment Strategy UUID: `2833dda1-b5da-4b16-9f52-8b53f4e7f884` [block:api-header] { "type": "basic", "title": "Test Cards" } [/block] [block:callout] { "type": "info", "title": "Card Notice", "body": "For successful payments, the expiry date should be in the future with a three digit CVC number such as 111." } [/block] For successful transactions [block:parameters] { "data": { "h-0": "Number", "h-1": "Card Type", "0-0": "4242424242424242", "1-0": "4012888888881881", "2-0": "4000056655665556", "3-0": "5555555555554444", "4-0": "5200828282828210", "5-0": "378282246310005", "0-1": "Visa", "1-1": "Visa", "2-1": "Visa (debit)", "3-1": "MasterCard", "4-1": "MasterCard (debit)", "5-1": "American Express" }, "cols": 2, "rows": 6 } [/block] For other response see the description [block:parameters] { "data": { "h-0": "Number", "h-1": "Description", "0-0": "4000000000000002", "0-1": "Card Declined", "1-0": "Either\n- Set the CVC to a two digit number\n- 4000000000000127", "1-1": "Incorrect CVC", "2-0": "4000000000000069", "2-1": "Expired Card", "3-0": "4000000000000119", "3-1": "Processing Error" }, "cols": 2, "rows": 4 } [/block]
To start creating test payments you can use the test API credentials. API Key: `SGD0qydBXp58i0n5QHnTG38D-OOzvDu0KlVliOhZpyw` Payment Strategy UUID: `2833dda1-b5da-4b16-9f52-8b53f4e7f884` [block:api-header] { "type": "basic", "title": "Test Cards" } [/block] [block:callout] { "type": "info", "title": "Card Notice", "body": "For successful payments, the expiry date should be in the future with a three digit CVC number such as 111." } [/block] For successful transactions [block:parameters] { "data": { "h-0": "Number", "h-1": "Card Type", "0-0": "4242424242424242", "1-0": "4012888888881881", "2-0": "4000056655665556", "3-0": "5555555555554444", "4-0": "5200828282828210", "5-0": "378282246310005", "0-1": "Visa", "1-1": "Visa", "2-1": "Visa (debit)", "3-1": "MasterCard", "4-1": "MasterCard (debit)", "5-1": "American Express" }, "cols": 2, "rows": 6 } [/block] For other response see the description [block:parameters] { "data": { "h-0": "Number", "h-1": "Description", "0-0": "4000000000000002", "0-1": "Card Declined", "1-0": "Either\n- Set the CVC to a two digit number\n- 4000000000000127", "1-1": "Incorrect CVC", "2-0": "4000000000000069", "2-1": "Expired Card", "3-0": "4000000000000119", "3-1": "Processing Error" }, "cols": 2, "rows": 4 } [/block]