DjaBoo REST API

Available commands & examples of DjaBoo REST API

Customer

Customer - Add New Customer

POST yourdomain.djaboo.app/api/customers

Header

Champ Type Description
Authorization String

Basic Access Authentication token.

Paramètre

Champ Type Description
company String

Mandatory Customer company.

vat (optional) String

Optional Vat.

phonenumber (optional) String

Optional Customer Phone.

website (optional) String

Optional Customer Website.

groups_in (optional) Number[]

Optional Customer groups.

default_language (optional) String

Optional Customer Default Language.

default_currency (optional) String

Optional default currency.

address (optional) String

Optional Customer address.

city (optional) String

Optional Customer City.

state (optional) String

Optional Customer state.

zip (optional) String

Optional Zip Code.

partnership_type (optional) String

Optional Customer partnership type.

country (optional) String

Optional country.

billing_street (optional) String

Optional Billing Address: Street.

billing_city (optional) String

Optional Billing Address: City.

billing_state (optional) Number

Optional Billing Address: State.

billing_zip (optional) String

Optional Billing Address: Zip.

billing_country (optional) String

Optional Billing Address: Country.

shipping_street (optional) String

Optional Shipping Address: Street.

shipping_city (optional) String

Optional Shipping Address: City.

shipping_state (optional) String

Optional Shipping Address: State.

shipping_zip (optional) String

Optional Shipping Address: Zip.

shipping_country (optional) String

Optional Shipping Address: Country.

Success 200

Champ Type Description
status Boolean

Request status.

message String

Customer add successful.

Error 4xx

Nom Type Description
status Boolean

Request status.

message String

Customer add fail.

HTTP/1.1 200 OK
{
  "status": true,
  "message": "Customer add successful."
}
HTTP/1.1 404 Not Found
{
  "status": false,
  "message": "Customer add fail."
}

Customer - Delete a Customer

DELETE yourdomain.djaboo.app/api/delete/customers/:id

Header

Champ Type Description
Authorization String

Basic Access Authentication token.

Paramètre

Champ Type Description
id Number

Customer unique ID.

Success 200

Champ Type Description
status String

Request status.

message String

Customer Delete Successful.

Error 4xx

Nom Type Description
status Boolean

Request status.

message String

Customer Delete Fail.

HTTP/1.1 200 OK
{
  "status": true,
  "message": "Customer Delete Successful."
}
HTTP/1.1 404 Not Found
{
  "status": false,
  "message": "Customer Delete Fail."
}

Customer - Request customer information

GET yourdomain.djaboo.app/api/customers/:id

Header

Champ Type Description
Authorization String

Basic Access Authentication token.

Paramètre

Champ Type Description
id Number

customer unique ID.

Success 200

Champ Type Description
customer Object

information.

Error 4xx

Nom Type Description
status Boolean

Request status.

message String

No data were found.

HTTP/1.1 200 OK
{
     "id": "28",
     "name": "Test1",
     "description": null,
     "status": "1",
     "clientid": "11",
     "billing_type": "3",
     "start_date": "2019-04-19",
     "deadline": "2019-08-30",
     "customer_created": "2019-07-16",
     "date_finished": null,
     "progress": "0",
     "progress_from_tasks": "1",
     "customer_cost": "0.00",
     "customer_rate_per_hour": "0.00",
     "estimated_hours": "0.00",
     "addedfrom": "5",
     "rel_type": "customer",
     "potential_revenue": "0.00",
     "potential_margin": "0.00",
     "external": "E",
    ...
}
HTTP/1.1 404 Not Found
{
  "status": false,
  "message": "No data were found"
}

Customer - Search Customer Information

GET yourdomain.djaboo.app/api/customers/search/:keysearch

Header

Champ Type Description
Authorization String

Basic Access Authentication token.

Paramètre

Champ Type Description
keysearch String

Search Keywords.

Success 200

Champ Type Description
customer Object

information.

Error 4xx

Nom Type Description
status Boolean

Request status.

message String

No data were found.

HTTP/1.1 200 OK
{
     "id": "28",
     "name": "Test1",
     "description": null,
     "status": "1",
     "clientid": "11",
     "billing_type": "3",
     "start_date": "2019-04-19",
     "deadline": "2019-08-30",
     "customer_created": "2019-07-16",
     "date_finished": null,
     "progress": "0",
     "progress_from_tasks": "1",
     "customer_cost": "0.00",
     "customer_rate_per_hour": "0.00",
     "estimated_hours": "0.00",
     "addedfrom": "5",
     "rel_type": "customer",
     "potential_revenue": "0.00",
     "potential_margin": "0.00",
     "external": "E",
    ...
}
HTTP/1.1 404 Not Found
{
  "status": false,
  "message": "No data were found"
}

Customer - Update a Customer

PUT yourdomain.djaboo.app/api/customers/:id

Header

Champ Type Description
Authorization String

Basic Access Authentication token.

Paramètre

Champ Type Description
company String

Mandatory Customer company.

vat (optional) String

Optional Vat.

phonenumber (optional) String

Optional Customer Phone.

website (optional) String

Optional Customer Website.

groups_in (optional) Number[]

Optional Customer groups.

default_language (optional) String

Optional Customer Default Language.

default_currency (optional) String

Optional default currency.

address (optional) String

Optional Customer address.

city (optional) String

Optional Customer City.

state (optional) String

Optional Customer state.

zip (optional) String

Optional Zip Code.

country (optional) String

Optional country.

billing_street (optional) String

Optional Billing Address: Street.

billing_city (optional) String

Optional Billing Address: City.

billing_state (optional) Number

Optional Billing Address: State.

billing_zip (optional) String

Optional Billing Address: Zip.

billing_country (optional) String

Optional Billing Address: Country.

shipping_street (optional) String

Optional Shipping Address: Street.

shipping_city (optional) String

Optional Shipping Address: City.

shipping_state (optional) String

Optional Shipping Address: State.

shipping_zip (optional) String

Optional Shipping Address: Zip.

shipping_country (optional) String

Optional Shipping Address: Country.

Success 200

Champ Type Description
status Boolean

Request status.

message String

Customer Update Successful.

Error 4xx

Nom Type Description
status Boolean

Request status.

message String

Customer Update Fail.

HTTP/1.1 200 OK
{
  "status": true,
  "message": "Customer Update Successful."
}
HTTP/1.1 404 Not Found
{
  "status": false,
  "message": "Customer Update Fail."
}

Contact

Contact - Add New Contact

POST yourdomain.djaboo.app/api/contacts/

Header

Champ Type Description
Authorization String

Basic Access Authentication token

Paramètre

Champ Type Description
customer_id Number

Mandatory Customer id.

firstname String

Mandatory First Name

lastname String

Mandatory Last Name

email String

Mandatory E-mail

title (optional) String

Optional Position

phonenumber (optional) String

Optional Phone Number

direction (optional) String

Optional Direction (rtl or ltr)

Valeur par défaut : rtl

password (optional) String

Optional password (only required if you pass send_set_password_email parameter)

is_primary (optional) String

Optional Primary Contact (set on or don't pass it)

Valeur par défaut : on

donotsendwelcomeemail (optional) String

Optional Do Not Send Welcome Email (set on or don't pass it)

send_set_password_email (optional) String

Optional Send Set Password Email (set on or don't pass it)

permissions (optional) Array

Optional Permissions for this contact(["1", "2", "3", "4", "5", "6" ])
[
"1", // Invoices permission
"2", // Estimates permission
"3", // Contracts permission
"4", // Proposals permission
"5", // Support permission
"6" // Projects permission
]

invoice_emails (optional) String

Optional E-Mail Notification for Invoices (set value same as name or don't pass it)

Valeur par défaut : invoice_emails

estimate_emails (optional) String

Optional E-Mail Notification for Estimate (set value same as name or don't pass it)

Valeur par défaut : estimate_emails

credit_note_emails (optional) String

Optional E-Mail Notification for Credit Note (set value same as name or don't pass it)

Valeur par défaut : credit_note_emails

project_emails (optional) String

Optional E-Mail Notification for Project (set value same as name or don't pass it)

Valeur par défaut : project_emails

ticket_emails (optional) String

Optional E-Mail Notification for Tickets (set value same as name or don't pass it)

Valeur par défaut : ticket_emails

task_emails (optional) String

Optional E-Mail Notification for Task (set value same as name or don't pass it)

Valeur par défaut : task_emails

contract_emails (optional) String

Optional E-Mail Notification for Contract (set value same as name or don't pass it)

Valeur par défaut : contract_emails

Success 200

Champ Type Description
status Boolean

Request status.

message String

Contact added successfully.

Error 4xx

Nom Type Description
status Boolean

Request status

message String

Contact add fail

email String

This Email is already exists

HTTP/1.1 200 OK
{
  "status": true,
  "message": "Contact added successfully"
}
HTTP/1.1 404 Not Found
{
  "status": false,
  "message": "Contact add fail"
}
    HTTP/1.1 409 Conflict
    {
      "status": false,
      "error": {
			"email":"This Email is already exists"
		},
		"message": "This Email is already exists"
    }

Contact - Delete Contact

DELETE yourdomain.djaboo.app/api/delete/contacts/:id

Header

Champ Type Description
Authorization String

Basic Access Authentication token

Paramètre

Champ Type Description
customer_id Number

unique Customer id

Success 200

Champ Type Description
status String

Request status.

message String

Contact Deleted Successfully

Error 4xx

Nom Type Description
status Boolean

Request status

message String

Contact Delete Fail

HTTP/1.1 200 OK
{
  "status": true,
  "message": "Contact Deleted Successfully"
}
HTTP/1.1 404 Not Found
{
  "status": false,
  "message": "Contact Delete Fail"
}

Contact - List all Contacts of a Customer

GET yourdomain.djaboo.app/api/contacts/:customer_id/:contact_id

Header

Champ Type Description
Authorization String

Basic Access Authentication token

Paramètre

Champ Type Description
customer_id Number

Mandatory Customer unique ID

contact_id Number

Optional Contact unique ID
Note : if you don't pass Contact id then it will list all contacts of the customer

Success 200

Champ Type Description
Contact Object

Contact information

Error 4xx

Nom Type Description
status Boolean

Request status

message String

No data were found

    HTTP/1.1 200 OK
	{
		"id": "6",
		"userid": "1",
		"company": "xyz",
		"vat": "",
		"phonenumber": "1234567890",
		"country": "0",
		"city": "",
		"zip": "360005",
		"state": "",
		"address": "",
		"website": "",
		"datecreated": "2020-08-19 20:07:49",
		"active": "1",
		"leadid": null,
		"billing_street": "",
		"billing_city": "",
		"billing_state": "",
		"billing_zip": "",
		"billing_country": "0",
		"shipping_street": "",
		"shipping_city": "",
		"shipping_state": "",
		"shipping_zip": "",
		"shipping_country": "0",
		"longitude": null,
		"latitude": null,
		"default_language": "english",
		"default_currency": "0",
		"show_primary_contact": "0",
		"stripe_id": null,
		"registration_confirmed": "1",
		"addedfrom": "1"
	}
HTTP/1.1 404 Not Found
{
  "status": false,
  "message": "No data were found"
}

Contact - Search Contact Information

GET yourdomain.djaboo.app/api/contacts/search/:keysearch

Header

Champ Type Description
Authorization String

Basic Access Authentication token

Paramètre

Champ Type Description
keysearch String

Search Keywords

Success 200

Champ Type Description
Contact Object

Contact information

Error 4xx

Nom Type Description
status Boolean

Request status

message String

No data were found

 HTTP/1.1 200 OK
 {
    "id": "8",
    "userid": "1",
    "is_primary": "0",
    "firstname": "chirag",
    "lastname": "jagani",
    "email": "useremail@gmail.com",
    "phonenumber": "",
    "title": null,
    "datecreated": "2020-05-19 20:07:49",
    "password": "$2a$08$6DLJFalqvJGVymCwW2ppNe9HOG5YUP04vzthXZjOFFUQknxfG6QHe",
    "new_pass_key": null,
    "new_pass_key_requested": null,
    "email_verified_at": "2020-08-28 21:36:06",
    "email_verification_key": null,
    "email_verification_sent_at": null,
    "last_ip": null,
    "last_login": null,
    "last_password_change": null,
    "active": "1",
    "profile_image": null,
    "direction": null,
    "invoice_emails": "0",
    "estimate_emails": "0",
    "credit_note_emails": "0",
    "contract_emails": "0",
    "task_emails": "0",
    "project_emails": "0",
    "ticket_emails": "0",
    "company": "trueline",
    "vat": "",
    "country": "0",
    "city": "",
    "zip": "",
    "state": "",
    "address": "",
    "website": "",
    "leadid": null,
    "billing_street": "",
    "billing_city": "",
    "billing_state": "",
    "billing_zip": "",
    "billing_country": "0",
    "shipping_street": "",
    "shipping_city": "",
    "shipping_state": "",
    "shipping_zip": "",
    "shipping_country": "0",
    "longitude": null,
    "latitude": null,
    "default_language": "english",
    "default_currency": "0",
    "show_primary_contact": "0",
    "stripe_id": null,
    "registration_confirmed": "1",
    "addedfrom": "1"
}
HTTP/1.1 404 Not Found
{
  "status": false,
  "message": "No data were found"
}

Contact - Update Contact Information

PUT yourdomain.djaboo.app/api/contacts/:id

Header

Champ Type Description
Authorization String

Basic Access Authentication token

Paramètre

Champ Type Description
id Number

Mandatory Customer Contact id.

firstname String

Mandatory First Name

lastname String

Mandatory Last Name

email String

Mandatory E-mail

title (optional) String

Optional Position

phonenumber (optional) String

Optional Phone Number

direction (optional) String

Optional Direction (rtl or ltr)

Valeur par défaut : rtl

password (optional) String

Optional password (only required if you pass send_set_password_email parameter)

is_primary (optional) String

Optional Primary Contact (set on or don't pass it)

Valeur par défaut : on

donotsendwelcomeemail (optional) String

Optional Do Not Send Welcome Email (set on or don't pass it)

send_set_password_email (optional) String

Optional Send Set Password Email (set on or don't pass it)

permissions (optional) Array

Optional Permissions for this contact(["1", "2", "3", "4", "5", "6" ])
[
"1", // Invoices permission
"2", // Estimates permission
"3", // Contracts permission
"4", // Proposals permission
"5", // Support permission
"6" // Projects permission
]

invoice_emails (optional) String

Optional E-Mail Notification for Invoices (set value same as name or don't pass it)

Valeur par défaut : invoice_emails

estimate_emails (optional) String

Optional E-Mail Notification for Estimate (set value same as name or don't pass it)

Valeur par défaut : estimate_emails

credit_note_emails (optional) String

Optional E-Mail Notification for Credit Note (set value same as name or don't pass it)

Valeur par défaut : credit_note_emails

project_emails (optional) String

Optional E-Mail Notification for Project (set value same as name or don't pass it)

Valeur par défaut : project_emails

ticket_emails (optional) String

Optional E-Mail Notification for Tickets (set value same as name or don't pass it)

Valeur par défaut : ticket_emails

task_emails (optional) String

Optional E-Mail Notification for Task (set value same as name or don't pass it)

Valeur par défaut : task_emails

contract_emails (optional) String

Optional E-Mail Notification for Contract (set value same as name or don't pass it)

Valeur par défaut : contract_emails

Success 200

Champ Type Description
status Boolean

Request status

message String

Contact updated successful

Error 4xx

Nom Type Description
email String

This Email is already exists

status Boolean

Request status

message String

Contact add fail

HTTP/1.1 200 OK
{
  "status": true,
  "message": "Contact Updated Successfully"
}
    HTTP/1.1 409 Conflict
    {
      "status": false,
      "error": {
			"email":"This Email is already exists"
		},
		"message": "This Email is already exists"
    }
HTTP/1.1 404 Not Found
{
  "status": false,
  "message": "Contact Update fail"
}

Invoice

Invoice - Add New invoice

POST yourdomain.djaboo.app/api/invoices

Header

Champ Type Description
Authorization String

Basic Access Authentication token.

Paramètre

Champ Type Description
clientid Number

Mandatory. Customer id

number Number

Mandatory. Invoice Number

date Date

Mandatory. Invoice Date

currency Number

Mandatory. currency field

newitems Array

Mandatory. New Items to be added, supporting description, price, qty, long_description, order, taxname

subtotal Decimal

Mandatory. calculation based on item Qty, Rate and Tax

total Decimal

Mandatory. calculation based on subtotal, Discount and Adjustment

billing_street String

Mandatory. Street Address

allowed_payment_modes Array

Mandatory. Payment modes

billing_city (optional) String

Optional. City Name for billing

billing_state (optional) String

Optional. Name of state for billing

billing_zip (optional) Number

Optional. Zip code

billing_country (optional) Number

Optional. Country code

include_shipping (optional) boolean

Optional. set yes if you want add Shipping Address

Valeur par défaut : no

show_shipping_on_invoice (optional) boolean

Optional. Shows shipping details in invoice.

shipping_street (optional) String

Optional. Address of shipping

shipping_city (optional) String

Optional. City name for shipping

shipping_state (optional) String

Optional. Name of state for shipping

shipping_zip (optional) Number

Optional. Zip code for shipping

shipping_country (optional) Number

Optional. Country code

duedate (optional) Date

Optional. Due date for Invoice

cancel_overdue_reminders (optional) boolean

Optional. Prevent sending overdue remainders for invoice

tags (optional) String

Optional. TAGS comma separated

sale_agent (optional) Number

Optional. Sale Agent name

recurring (optional) String

Optional. recurring 1 to 12 or custom

discount_type (optional) String

Optional. before_tax / after_tax discount type

repeat_every_custom (optional) Number

Optional. if recurring is custom set number gap

repeat_type_custom (optional) String

Optional. if recurring is custom set gap option day/week/month/year

cycles (optional) Number

Optional. number of cycles 0 for infinite

adminnote (optional) String

Optional. notes by admin

clientnote (optional) String

Optional. client notes

terms (optional) String

Optional. Terms

Success 200

Champ Type Description
status Boolean

Request status.

message String

Invoice Added Successfully

Error 4xx

Nom Type Description
status Boolean

Request status.

message String

Invoice add fail

newitems[] String

The Items field is required

number String

The Invoice number is already in use

allowed_payment_modes[] String

The Allow Payment Mode field is required

billing_street String

The Billing Street field is required

subtotal String

The Sub Total field is required

total String

The Total field is required

HTTP/1.1 200 OK
{
  "status": true,
  "message": "Invoice Added Successfully"
}
HTTP/1.1 404 Not Found
{
  "status": false,
  "message": "Invoice Add Fail"
}
    HTTP/1.1 409 Conflict
    {
      "status": false,
      "error": {
			"number":"The Invoice number is already in use"
		},
		"message": "The Invoice number is already in use"
    }
  HTTP/1.1 404 Not Found
   {
	    "status": false,
	    "error": {
	        "allowed_payment_modes[]": "The Allow Payment Mode field is required."
	    },
	    "message": "<p>The Allow Payment Mode field is required.</p>\n"
	}
  HTTP/1.1 404 Not Found
   {
	    "status": false,
	    "error": {
	        "billing_street": "The Billing Street field is required"
	    },
	    "message": "<p>The Billing Street field is required</p>\n"
	}
  HTTP/1.1 404 Not Found
   {
	    "status": false,
	    "error": {
	        "newitems[]": "The Items field is required"
	    },
	    "message": "<p>The Items field is required</p>\n"
	}
  HTTP/1.1 404 Not Found
   {
	    "status": false,
	    "error": {
	        "subtotal": "The Sub Total field is required"
	    },
	    "message": "<p>The Sub Total field is required</p>\n"
	}
  HTTP/1.1 404 Not Found
   {
	    "status": false,
	    "error": {
	        "total": "The Total field is required"
	    },
	    "message": "<p>The Total field is required</p>\n"
	}

Invoice - Delete invoice

DELETE yourdomain.djaboo.app/api/invoices/:id

Header

Champ Type Description
Authorization String

Basic Access Authentication token.

Success 200

Champ Type Description
status Boolean

Request status.

message String

Invoice Deleted Successfully

Error 4xx

Nom Type Description
status Boolean

Request status.

message String

Invoice Delete Fail

HTTP/1.1 200 OK
{
  "status": true,
  "message": "Invoice Deleted Successfully"
}
HTTP/1.1 404 Not Found
{
  "status": false,
  "message": "Invoice Delete Fail"
}

Invoice - Request invoice information

GET yourdomain.djaboo.app/api/invoices/:id

Header

Champ Type Description
Authorization String

Basic Access Authentication token.

Paramètre

Champ Type Description
id Number

Contact unique ID

Success 200

Champ Type Description
Invoice Object

Invoice information.

Error 4xx

Nom Type Description
status Boolean

Request status.

message String

No data were found.

  HTTP/1.1 200 OK
  {
      "id": "2",
      "sent": "0",
      "datesend": null,
      "clientid": "1",
      "deleted_customer_name": null,
      "number": "2",
      "prefix": "INV-",
      "number_format": "1",
      "datecreated": "2020-05-26 19:53:11",
      "date": "2020-05-26",
      "duedate": "2020-06-25",
      "currency": "1",
      "subtotal": "5.00",
      "total_tax": "0.00",
      "total": "5.00",
      "adjustment": "0.00",
      "addedfrom": "0",
      "hash": "7bfac86da004df5364407574d4d1dbf2",
      "status": "1",
      "clientnote": null,
      "adminnote": null,
      "last_overdue_reminder": null,
      "cancel_overdue_reminders": "0",
      "allowed_payment_modes": "['1']",
      "token": null,
      "discount_percent": "0.00",
      "discount_total": "0.00",
      "discount_type": "",
      "recurring": "0",
      "recurring_type": null,
      "custom_recurring": "0",
      "cycles": "0",
      "total_cycles": "0",
      "is_recurring_from": null,
      "last_recurring_date": null,
      "terms": null,
      "sale_agent": "0",
      "billing_street": "",
      "billing_city": "",
      "billing_state": "",
      "billing_zip": "",
      "billing_country": null,
      "shipping_street": null,
      "shipping_city": null,
      "shipping_state": null,
      "shipping_zip": null,
      "shipping_country": null,
      "include_shipping": "0",
      "show_shipping_on_invoice": "1",
      "show_quantity_as": "1",
      "project_id": "0",
      "subscription_id": "0",
      "symbol": "$",
      "name": "USD",
      "decimal_separator": ".",
      "thousand_separator": ",",
      "placement": "before",
      "isdefault": "1",
      "currencyid": "1",
      "currency_name": "USD",
      "total_left_to_pay": "5.00",
      "items": [
       {
          "id": "2",
          "rel_id": "2",
          "rel_type": "invoice",
          "description": "12MP Dual Camera with cover",
          "long_description": "The JBL Cinema SB110 is a hassle-free soundbar",
          "qty": "1.00",
          "rate": "5.00",
          "unit": "",
          "item_order": "1"
          }
      ],
      "attachments": [],
      "visible_attachments_to_customer_found": false,
      "client": {
      "userid": "1",
      "company": "trueline",
      "vat": "",
      "phonenumber": "",
      "country": "0",
      "city": "",
      "zip": "",
      "state": "",
      "address": "",
      "website": "",
      "datecreated": "2020-05-19 20:07:49",
      "active": "1",
      "leadid": null,
      "billing_street": "",
      "billing_city": "",
      "billing_state": "",
      "billing_zip": "",
      "billing_country": "0",
      "shipping_street": "",
      "shipping_city": "",
      "shipping_state": "",
      "shipping_zip": "",
      "shipping_country": "0",
      "longitude": null,
      "latitude": null,
      "default_language": "english",
      "default_currency": "0",
      "show_primary_contact": "0",
      "stripe_id": null,
      "registration_confirmed": "1",
      "addedfrom": "1"
  },
  "payments": [],
  "scheduled_email": null
}
HTTP/1.1 404 Not Found
{
  "status": false,
  "message": "No data were found"
}

Invoice - Search invoice information

GET yourdomain.djaboo.app/api/invoices/search/:keysearch

Header

Champ Type Description
Authorization String

Basic Access Authentication token.

Paramètre

Champ Type Description
keysearch String

Search Keywords.

Success 200

Champ Type Description
Invoice Object

Information.

Error 4xx

Nom Type Description
status Boolean

Request status.

message String

No data were found.

HTTP/1.1 200 OK
  {
      "id": "19",
      "sent": "0",
      "datesend": null,
      "clientid": "3",
      "deleted_customer_name": null,
      "number": "19",
      "prefix": "INV-",
      "number_format": "1",
      "datecreated": "2020-08-18 21:19:51",
      "date": "2020-07-04",
      "duedate": "2020-08-03",
      "currency": "1",
      "subtotal": "20.00",
      "total_tax": "1.80",
      "total": "21.80",
      "adjustment": "0.00",
      "addedfrom": "1",
      "hash": "809c0e4c9efba2a3bedfdb5871dc6240",
      "status": "2",
      "clientnote": "",
      "adminnote": "",
      "last_overdue_reminder": null,
      "cancel_overdue_reminders": "0",
      "allowed_payment_modes": "['1']",
      "token": null,
      "discount_percent": "0.00",
      "discount_total": "0.00",
      "discount_type": "",
      "recurring": "0",
      "recurring_type": null,