Subversion Repositories SmartDukaan

Rev

Rev 3087 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
3026 mandeep.dh 1
namespace java in.shop2020.crm
2
namespace py shop2020.thriftpy.crm
3
 
4
enum TicketPriority {
5
    LOW = 0,
6
    HIGH = 1,
7
    MEDIUM = 2
8
}
9
 
10
enum TicketStatus {
11
    OPEN = 0,
12
    CLOSED = 1,
13
    REOPEN = 2
14
}
15
 
16
enum ContactMedium {
17
    PHONE = 0,
18
    EMAIL = 1
19
}
20
 
21
enum TicketCategory {
22
    RETURN_FORM = 1,
23
    ORDER_CANCELLATION = 2,
24
    DELIVERY_PROBLEM = 3,
25
    PAYMENT_STATUS = 4,
26
    ORDER_STATUS = 5,
27
    PRODUCT_REQUEST = 6,
28
    PRODUCT_QUESTION = 7,
29
    OTHER = 8
30
}
31
 
32
struct Ticket {
33
    1:i64 id,
34
    2:i64 customerId,
35
    3:i64 openDate,
36
    4:i64 closeDate,
37
    5:string subject,
38
    6:i64 creatorId,
39
    7:i64 receipientId,
40
    8:i64 orderId,
41
    9:string airwayBillNo,
42
   10:string productName
43
}
44
 
45
struct Activity {
46
    1:i64 id,
47
    2:string description,
48
    3:i64 contactTimestamp,
49
    4:ContactMedium contactMedium,
50
    5:i64 customerId,
51
    6:i64 creatorId,
52
    7:i64 contactingAgentId, // id of agent that contacted the customer!
53
 
54
    // ticket related fields
55
    8:i64 ticketId,
56
    9:TicketPriority ticketPriority,
57
   10:i64 ticketAssigneeId,
58
   11:TicketStatus ticketStatus,
59
   12:TicketCategory ticketCategory
60
}
61
 
62
struct Agent {
63
    1:i64 id,
64
    2:string name,
65
    3:string emailId,
66
    4:i64 managerId,
67
    5:string password
68
}
69
 
70
service CRMService {
71
    // Methods to read/write tickets from/in database
72
    list<Ticket> getTickets(1:i64 customerId);
73
    Ticket getTicket(1:i64 ticketId);
74
    void updateTicket(1:Ticket ticket);
75
    i64 insertTicket(1:Ticket ticket);
76
 
77
    // Methods to read/write activities from/in database
78
    list<Activity> getActivities(1:i64 customerId);
79
    list<Activity> getActivitiesForTicket(1:i64 ticketId);
80
    Activity getActivity(1:i64 activityId);
81
    Activity getLastActivity(1:i64 ticketId);
82
    void insertActivity(1:Activity activity);
83
 
84
    // Methods to read agent information
85
    Agent getAgent(1:i64 agentId);
86
    Agent getAgentByEmailId(1:string agentEmailId);
87
}