public class ContractDto
{
    /// <summary>
    /// Код договора
    /// </summary>
    public long ID { get; set; }
    /// <summary>
    /// Время начала аренды
    /// </summary>
    public DateTime DateFrom { get; set; }
    /// <summary>
    /// Время окончания аренды
    /// </summary>
    public DateTime DateTo { get; set; }
    /// <summary>
    /// Строковое наименование автомобиля
    /// </summary>
    public string Vehicle { get; set; }
		/// <summary>
    /// Код автомобиля
    /// </summary>
		public long VehicleId { get; set; }
		/// <summary>
    /// Территория эксплуатации
    /// </summary>
    public string AllowedLocation { get; set; }

		/// <summary>
    /// Адрес доставки
    /// </summary>
    public AddressDto DeliveryAddress { get; set; }

    /// <summary>
    /// Адрес возврата
    /// </summary>
    public AddressDto ReturnAddress { get; set; }

    /// <summary>
    /// Строковый номер договора
    /// </summary>
    public string ContractNumber { get; set; }
    /// <summary>
    /// Статус договора
    /// </summary>
    public DogovorState ContractState { get; set; }
    /// <summary>
    /// Уточнение статуса договора
    /// </summary>
    public long CustomContractState { get; set; }
    /// <summary>
    /// Тип договора
    /// </summary>
    public long ContractType { get; set; }
		/// <summary>
    /// Детальная информация об условиях открытия договора
    /// </summary>
		public OpenedInfoDto OpenedInfo { get; set; }
    /// <summary>
    /// Детальная информация об условиях открытия договора или последнем продлении (если оно было), если продлений НЕ было, то совпадает с OpenedInfo
    /// </summary>
    public OpenedInfoDto LastOpenedInfo { get; set; }
    /// <summary>
    /// Объект автомобиль
    /// </summary>
    public AutoDto Auto { get; set; }
    /// <summary>
    /// Баланс
    /// </summary>
    public decimal TotalBalanceSum { get; set; }
    /// <summary>
    /// Баланс штрафов
    /// </summary>
    public decimal FinesGBDDBalance { get; set; }
    /// <summary>
    /// Баланс депозита
    /// </summary>
    public decimal DepositBalance { get; set; }
    /// <summary>
    /// Баланс аренды
    /// </summary>
    public decimal RentBalance { get; set; }
    /// <summary>
    /// Баланс дополнительных услуг
    /// </summary>
    public decimal AddServicesBalance { get; set; }
    /// <summary>
    /// Баланс прочих услуг
    /// </summary>
    public decimal OtherBalance { get; set; }
    /// <summary>
    /// Дата до которой оплачен договор
    /// </summary>
    public DateTime PaymentBeforeDate { get; set; }
    /// <summary>
    /// Дата до которой удерживается депозит
    /// </summary>
    public DateTime ReturnDepositDateTime { get; set; }
    
    /// <summary>
		/// Е-Подписи
		/// </summary>
		public List<ESignOutputDto> ESigns { get; set; }
}
public class ESignOutputDto
{
  /// <summary>
  /// Дата подписания
  /// </summary>
	public string SignDate { get; set; }
  /// <summary>
  /// Версия подписанного документа
  /// </summary>
	public string ContractVersion { get; set; }
  /// <summary>
  /// Адреса документов, которые были подписаны
  /// </summary>
	public string[] Documents { get; set; }
  /// <summary>
  /// Сервис с помощью которого было отправлено сообщение для подписи
  /// </summary>
	public string KeyTransport { get; set; }
  /// <summary>
  /// Ключ для подписи договора
  /// </summary>
	public string UserSignKey { get; set; }
  /// <summary>
  /// Хэш ключа для подписи
  /// </summary>
	public string UserSignHash { get; set; }
}

Допустимые значения поля ContractState см. в Перечисление DogovorState

Допустимые значения поля CustomContractState см. в Перечисление XPContractStates

Описание поля Auto см. Объект Автомобиль (AutoDto)

Описание поля LastOpenedInfo см. ниже

public class OpenedInfoDto
{
    //----------------стоимость открытия или продления--------------
    /// <summary>
    /// Базовая цена при заключении
    /// </summary>
    public double BasePrice { get; set; } = 0;
    /// <summary>
    /// Признак того, что базовая цена была установлена вручную а не расчитана по тарифу
    /// </summary>
    public bool IsCustomBasePrice { get; set; } = false;
    /// <summary>
    /// Признак того, что текущая цена была установлена вручную а не расчитана по тарифу
    /// </summary>
    public bool IsCustomCurrentPrice { get; set; } = false;
    /// <summary>
    /// Текущая цена по тарифу
    /// </summary>
    public double CurrentPrice { get; set; } = 0;
    /// <summary>
    /// Сумма депозита
    /// </summary>
    public double DepositSum { get; set; } = 0;
    /// <summary>
    /// Сумма начисленная за услуги (аренда + доп. услуги)
    /// </summary>
    public double ServicesSum { get; set; } = 0;
    /// <summary>
    /// Сумма дополнительных услуг
    /// </summary>
    public double AddServices { get; set; } = 0;
    /// <summary>
    /// Сумма дополнительной скидки
    /// </summary>
    public double ExternalDiscountSum { get; set; } = 0;
    /// <summary>
    /// Итоговая сумма (DepositSum + ServicesSum)
    /// </summary>
    public double TotalSum { get; set; } = 0;
    /// <summary>
    /// Сумма за услуги без дополнительных услуг
    /// </summary>
    public double ServicesSumWithotAddServices { get; set; } = 0;
    /// <summary>
    /// Стоимость договора без скидок, базовая цена * кол-во дней, т.е. сколько бы клиент заплатил без скидок на авто, скидок клиента и скидок по тарифу
    /// </summary>
    public double BasePriceSum { get; set; } = 0;

    //-------------------скидки действующие при открытии или продлении---
    /// <summary>
    /// Процент скидка на автомобиль
    /// </summary>
    public double AutoDiscountPercent { get; set; } = 0;
    /// <summary>
    /// Верхняя дата действия скидки по договору
    /// </summary>
    public DateTime AutoDiscountBeforeDate { get; set; } = A2.Libs.DateTime2.MinSystemDate;
    /// <summary>
    /// Процент скидки клиента
    /// </summary>
    public double ClientDiscountPercent { get; set; } = 0;
    /// <summary>
    /// Процент скидки по тарифу
    /// </summary>
    public double TarifDiscountPercent { get; set; } = 0;
    /// <summary>
    /// Результирующий процент скидки
    /// </summary>
    public double ResultDiscountPercent { get; set; } = 0;
    /// <summary>
    /// Скидка в процентах текущей цены относительно базовой (100 - GetPercent(BasePrice, CurrentPrice))
    /// </summary>
    public double BasePriceDiscountPercent { get; set; } = 0;
    /// <summary>
    /// Итоговая скидка в процентах без учета скидки клиента (BasePriceDiscountPercent + AutoDiscountPercent)
    /// </summary>
    public double TotalDiscountPercent { get; set; } = 0;
    /// <summary>
    /// Итоговая сумма скидки
    /// </summary>
    public double Discount { get; set; } = 0;

    //------------------период действия открытия или продления
    /// <summary>
    /// Начало действия договора
    /// </summary>
    public DateTime DateTimeFrom { get; set; } = A2.Libs.DateTime2.MinSystemDate;
    /// <summary>
    /// Окончание дейтсвия договора
    /// </summary>
    public DateTime DateTimeTo { get; set; } = A2.Libs.DateTime2.MinSystemDate;
    /// <summary>
    /// Целое кол-во дней договора
    /// </summary>
    public int CountDays { get; set; } = 0;
    /// <summary>
    /// Количество часов по договору
    /// </summary>
    public int CountHours { get; set; } = 0;
    /// <summary>
    /// Кол-во дней с часами в десятичном представлении
    /// </summary>
    public double CountDaysWithHours { get; set; } = 0;
    /// <summary>
    /// Период действия договора
    /// </summary>
    public TimeSpan ContractInterval { get; set; } = TimeSpan.Zero;
    /// <summary>
    /// Период действия договора в строковом выражени (например, 5 дней 17 часов)
    /// </summary>
    public string ContractIntervalString { get; set; } = "";
    /// <summary>
    /// Расчетное количество суток, дробная часть соответствует параметру DayHoursePart
    /// </summary>
    public decimal EstimatedDaysCount { get; set; } = 0;
    /// <summary>
    /// Часть суток, выраженная в десятичной форме, которая соответсвует кол-ву часов, превышающих сутки.
    /// Например, 1 сутки и три часа. Три часа тарифицируются как 60% суток, поэтому в DayHoursePart == 0.6.
    /// </summary>
    public decimal DayHoursePart { get; set; } = 0;

    //-----------------------тариф--------------------------
    /// <summary>
    /// Наименование тарифа
    /// </summary>
    public string TarifTitle { get; set; } = "";
    /// <summary>
    /// Код тарифа
    /// </summary>
    public long TarifId { get; set; } = 0;
    /// <summary>
    /// Полностью сериализованый тариф, который использовался при операции
    /// </summary>
    public string TarifString { get; set; } = "";
    /// <summary>
    /// Значение тарифа для открытия или продления договора
    /// </summary>
    public Tarifs.TarifValue TarifValue { get; set; } = new Tarifs.TarifValue();

    //---------------------ограничения тарифа---------------
    /// <summary>
    /// Стоимость километра перепробега
    /// </summary>
    public long MilleageCost { get; set; } = 0;
    /// <summary>
    /// Флаг того, что используется увеличенный лимит по пробегу
    /// </summary>
    public bool IsUpperMilleageLimit { get; set; } = false;
    /// <summary>
    /// Кол-во километров, включенных в лимитный тариф
    /// </summary>
    public long MillegaeLimit { get; set; } = 0;
    /// <summary>
    /// Лимит отвественности
    /// </summary>
    public long LiabilityLimit { get; set; } = 0;
    /// <summary>
    /// Кол-во дней переноса договора (при смене автмобиля)
    /// </summary>
    public int TransferCountDays { get; set; } = 0;

    //--------------------доп. услуги---------------------
    /// <summary>
    /// Список дополнительных услуг
    /// </summary>
    public List<XL.Base.AddServices.ServicePriceItem> AddServicesList { get; set; } = null;
}

Описание класса AddressDto см. ниже

public class AddressDto
{
    /// <summary>
    /// Отображаемый адрес
    /// </summary>
    public string DisplayAddress { get; set; } = "";
    /// <summary>
    /// Широта (могут пыть пустыми если адрес не нормализован)
    /// </summary>
    public string Lat { get; set; } = "";
    /// <summary>
    /// Долгота (могут пыть пустыми если адрес не нормализован)
    /// </summary>
    public string Lon { get; set; } = "";
}

Пример

{
	DateFrom: “11.12.2017 21:10:10”,
	DateTo: “12.12.2017 23:10:10”,
	Vehicle: “Mercedes Benz G-Класс 2018, черный”,
	AllowedLocation: “Москва и МО”,
	ContractNumber: “170031”,
	ContractState: 0,
	CustomContractState: 0
}