Rev 3087 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
namespace java in.shop2020.crmnamespace py shop2020.thriftpy.crmenum TicketPriority {LOW = 0,HIGH = 1,MEDIUM = 2}enum TicketStatus {OPEN = 0,CLOSED = 1,REOPEN = 2}enum ContactMedium {PHONE = 0,EMAIL = 1}enum TicketCategory {RETURN_FORM = 1,ORDER_CANCELLATION = 2,DELIVERY_PROBLEM = 3,PAYMENT_STATUS = 4,ORDER_STATUS = 5,PRODUCT_REQUEST = 6,PRODUCT_QUESTION = 7,OTHER = 8}struct Ticket {1:i64 id,2:i64 customerId,3:i64 openDate,4:i64 closeDate,5:string subject,6:i64 creatorId,7:i64 receipientId,8:i64 orderId,9:string airwayBillNo,10:string productName}struct Activity {1:i64 id,2:string description,3:i64 contactTimestamp,4:ContactMedium contactMedium,5:i64 customerId,6:i64 creatorId,7:i64 contactingAgentId, // id of agent that contacted the customer!// ticket related fields8:i64 ticketId,9:TicketPriority ticketPriority,10:i64 ticketAssigneeId,11:TicketStatus ticketStatus,12:TicketCategory ticketCategory}struct Agent {1:i64 id,2:string name,3:string emailId,4:i64 managerId,5:string password}service CRMService {// Methods to read/write tickets from/in databaselist<Ticket> getTickets(1:i64 customerId);Ticket getTicket(1:i64 ticketId);void updateTicket(1:Ticket ticket);i64 insertTicket(1:Ticket ticket);// Methods to read/write activities from/in databaselist<Activity> getActivities(1:i64 customerId);list<Activity> getActivitiesForTicket(1:i64 ticketId);Activity getActivity(1:i64 activityId);Activity getLastActivity(1:i64 ticketId);void insertActivity(1:Activity activity);// Methods to read agent informationAgent getAgent(1:i64 agentId);Agent getAgentByEmailId(1:string agentEmailId);}