OrderCalculationService.svc

public interface IOrderCalculationService
{
    CalculateOrderResponse CalculateOrder(CalculateOrderRequest response);
}
public class CalculateOrderRequest
{
    public CalculateOrderRequest();
 
    public int? AccountId { getset; }
    public string AccountNumber { getset; }
    public string AccountSSN { getset; }
    public double? BrokerFeePercent { getset; }
    public double? CashQuantity { getset; }
    public string CommissionCategory { getset; }
    public FeeType? CommissionType { getset; }
    public double? CommissionValue { getset; }
    public double? DiscountPercent { getset; }
    public bool ForAllocation { getset; }
    public bool IncludeCommissionInPrice { getset; }
    public int? IntroducingUserId { getset; }
    public int? OrderInstructionId { getset; }
    public string OrderReference { getset; }
    public string PortfolioExternalReferenceId { getset; }
    public int? PortfolioId { getset; }
    public double? Price { getset; }
    public double? PriceToFee { getset; }
    public double? ProcessingFee { getset; }
    public double? Quantity { getset; }
    public int? SalespersonUserId { getset; }
    public DateTime? SettlementDate { getset; }
    public Side Side { getset; }
    public string Symbol { getset; }
    public DateTime? TradeDate { getset; }
    public int? TraderUserId { getset; }
    public bool UseCommissionCategory { getset; }
    public bool? UseEnhancedFatFingersCheck { getset; }
}

 

public class CalculateOrderResponse
{
    public CalculateOrderResponse();
 
    public int? AccountId { getset; }
    public string AccountNumber { getset; }
    public string AccountSSN { getset; }
    public AssetClass AssetClass { getset; }
    public double? BestAsk { getset; }
    public double? BestBid { getset; }
    public BondCalculation BondCalculation { getset; }
    public double? BrokerFeeAmount { getset; }
    public double? BrokerFeePercent { getset; }
    public double? CashQuantity { getset; }
    public double? CommissionAmount { getset; }
    public string CommissionCategory { getset; }
    public FeeType? CommissionType { getset; }
    public double? CommissionValue { getset; }
    public string Currency { getset; }
    public int? CustomerId { getset; }
    public string CustomerName { getset; }
    public string CustomerSSN { getset; }
    public double? DiscountAmount { getset; }
    public double? DiscountPercent { getset; }
    public double? DiscountPrice { getset; }
    public double? DiscountValue { getset; }
    public double? EffectiveCommissionAmount { getset; }
    public double? EffectiveCommissionPercent { getset; }
    public string ErrorMessage { getset; }
    public string ErrorMessageDetails { getset; }
    public bool IncludeCommissionInPrice { getset; }
    public string InstrumentName { getset; }
    public double? LastPrice { getset; }
    public string Message { getset; }
    public string PortfolioExternalReferenceId { getset; }
    public int? PortfolioId { getset; }
    public double? Price { getset; }
    public double? PriceToFee { getset; }
    public double? ProcessingFee { getset; }
    public double? Quantity { getset; }
    public DateTime? SettlementDate { getset; }
    public Side Side { getset; }
    public bool Success { getset; }
    public string Symbol { getset; }
    public double? TaxAmount { getset; }
    public double? TotalCost { getset; }
    public double? TotalPayment { getset; }
    public double? TotalTradeValue { getset; }
    public double? TotalValue { getset; }
    public DateTime? TradeDate { getset; }
    public string WarningMessage { getset; }
}