PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB`Mini Shell

HOME


Mini Shell 1.0
DIR:/home/htlwork.com/www/dev/pricelow/app/code/Lof/MarketplaceGraphQl/etc/
Upload File :
Current File : /home/htlwork.com/www/dev/pricelow/app/code/Lof/MarketplaceGraphQl/etc/schema.graphqls
# Landofcoder
#
# NOTICE OF LICENSE
#
# This source file is subject to the Landofcoder.com license that is
# available through the world-wide-web at this URL:
# https://landofcoder.com/LICENSE.txt
#
# DISCLAIMER
#
# Do not edit or add to this file if you wish to upgrade this extension to newer
# version in the future.
#
# @category    Landofcoder
# @package     Lof_MarketplaceGraphQl
# @copyright   Copyright (c) Landofcoder (https://landofcoder.com/)
# @license     https://landofcoder.com/LICENSE.txt

enum UrlRewriteEntityTypeEnum {
    LOF_MARKETPLACE
}

interface ProductInterface {
    seller: Seller @doc(description: "Seller who sell this product") @resolver(class: "Lof\\MarketplaceGraphQl\\Model\\Resolver\\Seller")
}

type StoreConfig {

    lofmarketplace_general_enable  : String  @doc(description: "Query by lofmarketplace_general_enable.")
    lofmarketplace_general_rating_approval  : String  @doc(description: "Query by lofmarketplace_general_rating_approval.")
    lofmarketplace_general_seller_approval  : String  @doc(description: "Query by lofmarketplace_general_seller_approval.")
    lofmarketplace_product_view_seller_info  : String  @doc(description: "Query by lofmarketplace_product_view_seller_info.")
    lofmarketplace_product_view_seller_name  : String  @doc(description: "Query by lofmarketplace_product_view_seller_name.")
    lofmarketplace_product_view_seller_image  : String  @doc(description: "Query by lofmarketplace_product_view_seller_image.")
    lofmarketplace_product_view_seller_address  : String  @doc(description: "Query by lofmarketplace_product_view_seller_address.")
    lofmarketplace_product_view_seller_sale  : String  @doc(description: "Query by lofmarketplace_product_view_seller_sale.")
    lofmarketplace_product_view_seller_phone  : String  @doc(description: "Query by lofmarketplace_product_view_seller_phone.")
    lofmarketplace_product_view_seller_contact  : String  @doc(description: "Query by lofmarketplace_product_view_seller_contact.")
    lofmarketplace_product_view_seller_contact_text  : String  @doc(description: "Query by lofmarketplace_product_view_seller_contact_text.")
    lofmarketplace_list_show_seller_name  : String  @doc(description: "Query by lofmarketplace_list_show_seller_name.")
    lofmarketplace_list_item_per_page  : String  @doc(description: "Query by lofmarketplace_list_item_per_page.")
    lofmarketplace_list_page_title  : String  @doc(description: "Query by lofmarketplace_list_page_title.")
    lofmarketplace_list_meta_description  : String  @doc(description: "Query by lofmarketplace_list_meta_description.")
    lofmarketplace_list_meta_keywords  : String  @doc(description: "Query by lofmarketplace_list_meta_keywords.")
    lofmarketplace_group_show_seller_name  : String  @doc(description: "Query by lofmarketplace_group_show_seller_name.")
    lofmarketplace_group_item_per_page  : String  @doc(description: "Query by lofmarketplace_group_item_per_page.")
    lofmarketplace_group_seller_enable : String  @doc(description: "Query by lofmarketplace_group_seller_enable.")
    lofmarketplace_group_seller_available : String  @doc(description: "Query by lofmarketplace_group_seller_available.")
    lofmarketplace_available_countries_enable : String  @doc(description: "Query by lofmarketplace_available_countries_enable.")
    lofmarketplace_available_countries : String  @doc(description: "Query by lofmarketplace_available_countries.")
}

type Query {
    sellerById(
        seller_id: Int! @doc(description: "Seller id")
        get_other_info: Boolean = false @doc(description: "Get other info: reviews, ratings, total sales, vacation")
        get_products: Boolean = false @doc(description: "Get Latest Products")
    ): Seller @resolver(class: "\\Lof\\MarketplaceGraphQl\\Model\\Resolver\\SellerById") @doc(description: "Get Seller by ID") @cache( cacheIdentity: "Lof\\MarketplaceGraphQl\\Model\\Resolver\\SellerById\\Identity")

    sellerByUrl(
        seller_url: String! @doc(description: "Seller Url Key")
        get_other_info: Boolean = false @doc(description: "Get other info: reviews, ratings, total sales, vacation")
        get_products: Boolean = false @doc(description: "Get Latest Products")
    ): Seller @resolver(class: "\\Lof\\MarketplaceGraphQl\\Model\\Resolver\\SellerByUrl") @doc(description: "Get Seller by Url key") @cache( cacheIdentity: "Lof\\MarketplaceGraphQl\\Model\\Resolver\\SellerByUrl\\Identity")

    lofSellerByProduct(
        product_sku: String! @doc(description: "Product SKU")
        get_other_info: Boolean = false @doc(description: "Get other info: reviews, ratings, total sales, vacation")
        get_products: Boolean = false @doc(description: "Get Latest Products")
    ): Seller @resolver(class: "\\Lof\\MarketplaceGraphQl\\Model\\Resolver\\SellerByProduct") @doc(description: "Get Seller by ID")  @cache( cacheIdentity: "Lof\\MarketplaceGraphQl\\Model\\Resolver\\SellerByProduct\\Identity")

    productsBySellerId(
        seller_id: Int! @doc(description: "Seller id")
        search: String = "" @doc(description: "Performs a full-text search using the specified key words.")
        filter: ProductAttributeFilterInput @doc(description: "Identifies which product attributes to search for and return.")
        pageSize: Int = 20 @doc(description: "Specifies the maximum number of results to return at once. This attribute is optional."),
        currentPage: Int = 1 @doc(description: "Specifies which page of results to return. The default value is 1.")
        sort: ProductAttributeSortInput @doc(description: "Specifies which attributes to sort on, and whether to return the results in ascending or descending order.")
    ): Products @resolver(class: "\\Lof\\MarketplaceGraphQl\\Model\\Resolver\\ProductBySellerId") @doc(description: "Get Product by Seller ID")

    productsBySellerUrl(
        seller_url: String! @doc(description: "Seller id")
        search: String = "" @doc(description: "Performs a full-text search using the specified key words.")
        filter: ProductAttributeFilterInput @doc(description: "Identifies which product attributes to search for and return.")
        pageSize: Int = 20 @doc(description: "Specifies the maximum number of results to return at once. This attribute is optional.")
        currentPage: Int = 1 @doc(description: "Specifies which page of results to return. The default value is 1.")
        sort: ProductAttributeSortInput @doc(description: "Specifies which attributes to sort on, and whether to return the results in ascending or descending order.")
    ): Products @resolver(class: "\\Lof\\MarketplaceGraphQl\\Model\\Resolver\\ProductBySellerUrl") @doc(description: "Get Product by Seller Url key")

    lofProductList(
        search: String = "" @doc(description: "Performs a full-text search using the specified key words.")
        filter: ProductAttributeFilterInput @doc(description: "Identifies which product attributes to search for and return.")
        pageSize: Int = 20 @doc(description: "Specifies the maximum number of results to return at once. This attribute is optional.")
        currentPage: Int = 1 @doc(description: "Specifies which page of results to return. The default value is 1.")
        sort: ProductAttributeSortInput @doc(description: "Specifies which attributes to sort on, and whether to return the results in ascending or descending order.")
    ):Products @resolver(class: "\\Lof\\MarketplaceGraphQl\\Model\\Resolver\\ProductSellers") @doc(description: "The seller product query searches for seller products that match the criteria specified in the search and filter attributes")

    sellers(
       filter: SellerFilterInput @doc(description: "Identifies which question attributes to search for and return.")
       pageSize: Int = 5 @doc(description: "Specifies the maximum number of results to return at once. This attribute is optional.")
       currentPage: Int = 1 @doc(description: "Specifies which page of results to return. The default value is 1.")
       sort: SellerSortInput @doc(description: "Specifies which attributes to sort on, and whether to return the results in ascending or descending order.")
   ):Sellers @resolver(class: "\\Lof\\MarketplaceGraphQl\\Model\\Resolver\\Sellers") @doc(description: "The seller query searches for sellers that match the criteria specified in the search and filter attributes") @cache( cacheIdentity: "Lof\\MarketplaceGraphQl\\Model\\Resolver\\Sellers\\Identity")

   sellerCollection(
       filter: SellerGroupFilterInput @doc(description: "Identifies which question attributes to search for and return.")
       pageSize: Int = 5 @doc(description: "Specifies the maximum number of results to return at once. This attribute is optional.")
       currentPage: Int = 1 @doc(description: "Specifies which page of results to return. The default value is 1.")
       sort: SellerGroupSortInput @doc(description: "Specifies which attributes to sort on, and whether to return the results in ascending or descending order.")
   ):SellerGroups @resolver(class: "\\Lof\\MarketplaceGraphQl\\Model\\Resolver\\SellerGroups") @doc(description: "The seller query searches for sellers that match the criteria specified in the search and filter attributes") @cache( cacheIdentity: "Lof\\MarketplaceGraphQl\\Model\\Resolver\\SellerGroups\\Identity")

   sellerRatings(
       seller_url: String! @doc(description: "Seller Url Key")
       filter: SellerRatingFilterInput @doc(description: "Identifies which seller ratings attributes to search for and return.")
       pageSize: Int = 5 @doc(description: "Specifies the maximum number of results to return at once. This attribute is optional.")
       currentPage: Int = 1 @doc(description: "Specifies which page of results to return. The default value is 1.")
       sort: SellerRatingSortInput @doc(description: "Specifies which attributes to sort on, and whether to return the results in ascending or descending order.")
   ):SellerRates @resolver(class: "\\Lof\\MarketplaceGraphQl\\Model\\Resolver\\SellerRates") @doc(description: "The seller rates query searches for seller ratings that match the criteria specified in the search and filter attributes") @cache( cacheIdentity: "Lof\\MarketplaceGraphQl\\Model\\Resolver\\Sellers\\Identity")

}

type Mutation {

    registerSeller(input: SellerMutationInput!): MarketplaceOuput @resolver(class: "\\Lof\\MarketplaceGraphQl\\Model\\Resolver\\CreateSeller") @doc(description: "Register a new Seller Account, create new seller account")

    becomeSeller (
        input: SellerInput @doc(description: "Query by BecomeSellerMutationInput.")
    ) : MarketplaceOuput @resolver( class: "Lof\\MarketplaceGraphQl\\Model\\Resolver\\BecomeSeller") @doc(description: "Query by Mutation Become Seller.")

    reviewSeller(input: ReviewInput!): MarketplaceOuput @resolver(class: "\\Lof\\MarketplaceGraphQl\\Model\\Resolver\\ReviewSeller") @doc(description: "Review Seller")

    customerSendMessage(input: CustomerMessageInput!): SellerMessage @resolver(class:"\\Lof\\MarketplaceGraphQl\\Model\\Resolver\\Customer\\SendMessage") @doc(description: "Customer send message to seller")

    customerReplyMessage(input: ReplyMessageInput!): SellerMessageDetail @resolver(class:"\\Lof\\MarketplaceGraphQl\\Model\\Resolver\\Customer\\ReplyMessage") @doc(description: "Customer reply Messaage")

    customerDeleteMessage(message_id: Int!): MarketplaceOuput @resolver(class:"\\Lof\\MarketplaceGraphQl\\Model\\Resolver\\Customer\\DeleteMessage") @doc(description: "Customer delete Messaage by id")

    sellerReplyMessage(input: SellerReplyMessageInput!): SellerMessageDetail @resolver(class:"\\Lof\\MarketplaceGraphQl\\Model\\Resolver\\Seller\\ReplyMessage") @doc(description: "Seller reply Messaage")
}

type Customer {
    seller: Seller @resolver( class: "Lof\\MarketplaceGraphQl\\Model\\Resolver\\Customer\\Seller") @doc(description: "Query seller profile of current logged in customer account.")

    sellerMessages (
        filter: SellerMessageFilterInput @doc(description: "Identifies which seller messages filter inputs to search for and return.")
        pageSize: Int = 20 @doc(description: "Specifies the maximum number of results to return at once. This attribute is optional.")
        currentPage: Int = 1 @doc(description: "Specifies which page of results to return. The default value is 1.")
        sort: SellerMessageSortInput @doc(description: "Specifies which attributes to sort on, and whether to return the results in ascending or descending seller message.")
    ): SellerMessages @resolver( class: "Lof\\MarketplaceGraphQl\\Model\\Resolver\\Customer\\Messages") @doc(description: "Query by Query Customer Messages.")
}

type SellerRate {
    rating_id: Int @doc(description: "Rating ID")
    seller_id: Int @doc(description: "Seller ID")
    customer_id: Int @doc(description: "Customer ID")
    rate1: Int @doc(description: "Rate 1")
    rate2: Int @doc(description: "Rate 2")
    rate3: Int @doc(description: "Rate 3")
    rate4: Int @doc(description: "Rate 4")
    rate5: Int @doc(description: "Rate 5")
    rating: Int @doc(description: "Total Rate")
    email: String @doc(description: "Email")
    title: String @doc(description: "Title")
    status: String @doc(description: "Status")
    detail: String @doc(description: "Detail")
    nickname: String @doc(description: "Nick Name")
    created_at: String @doc(description: "Created At")
    verified_buyer: String @doc(description: "Query Verified Buyer")
    is_recommended: String @doc(description: "Query is_recommended")
    is_hidden: String @doc(description: "Query is_hidden")
    answer: String @doc(description: "Query answer")
    admin_note: String @doc(description: "Query admin_note")
    like_about: String @doc(description: "Query like_about")
    not_like_about: String @doc(description: "Query not_like_about")
    guest_email: String @doc(description: "Query guest_email")
    plus_review: String @doc(description: "Query plus_review")
    minus_review: String @doc(description: "Query minus_review")
    report_abuse: String @doc(description: "Query report_abuse")
    country: String @doc(description: "Query country")
}

type Seller {
    seller_id: Int @doc(description: "Seller ID")
    contact_number: String @doc(description: "Phone Number")
    shop_title: String @doc(description: "Shop Title")
    company_locality: String @doc(description: "Company Locality")
    company_description: String @doc(description: "Company Description")
    return_policy: String @doc(description: "Return Policy")
    shipping_policy: String @doc(description: "Shipping Policy")
    address: String @doc(description: "Address")
    country: String @doc(description: "Country")
    image: String @doc(description: "Image")
    thumbnail: String @doc(description: "Thumbnail")
    city: String @doc(description: "City")
    region: String @doc(description: "Region")
    group: String @doc(description: "Group")
    group_id: Int @doc(description: "Group")
    url: String @doc(description: "Shop Url")
    customer_id: Int @doc(description: "Customer Id")
    email: String @doc(description: "Email")
    name: String @doc(description: "Name")
    sale: String @doc(description: "Sale")
    commission_id: String @doc(description: "Commission Id")
    page_layout: String @doc(description: "Page Layout")
    status: Int @doc(description: "Status")
    position: Int @doc(description: "Position")
    twitter_id: String @doc(description: "Twitter Id")
    facebook_id: String @doc(description: "Facebook Id")
    gplus_id: String @doc(description: "Gplus Id")
    youtube_id: String @doc(description: "Youtube Id")
    vimeo_id: String @doc(description: "Vimeo Id")
    instagram_id: String @doc(description: "Instagram Id")
    pinterest_id: String @doc(description: "Pinterest Id")
    linkedin_id: String @doc(description: "Linkedin Id")
    tw_active: Int @doc(description: "Tw Active")
    fb_active: Int @doc(description: "Fb Active")
    gplus_active: Int @doc(description: "Gplus Active")
    vimeo_active: Int @doc(description: "Vimeo Active")
    instagram_active: Int @doc(description: "Instagram Active")
    pinterest_active: Int @doc(description: "Pinterest Active")
    linkedin_active: Int @doc(description: "Linkedin Active")
    banner_pic: String @doc(description: "Banner Pic")
    shop_url: String @doc(description: "Shop Url")
    url_key: String @doc(description: "Shop url_key")
    logo_pic: String @doc(description: "Logo Pic")
    verify_status: Int @doc(description: "verify_status")
    product_count: Int @doc(description: "product_count")
    telephone: String @doc(description: "telephone")
    creation_time: String @doc(description: "creation_time")
    update_time: String @doc(description: "update_time")
    country_id: String @doc(description: "country_id")
    total_sold: String @doc(description: "total_sold")
    operating_time: String @doc(description: "operating_time")
    order_processing_time: String @doc(description: "order_processing_time")
    shipping_partners: String @doc(description: "shipping_partners")
    offers: String @doc(description: "offers")
    benefits: String @doc(description: "benefits")
    product_shipping_info: String @doc(description: "product_shipping_info")
    prepare_time: String @doc(description: "prepare_time")
    response_ratio: String @doc(description: "response_ratio")
    response_time: String @doc(description: "response_time")
    store_id: [Int] @doc(description: "Store Id")
    seller_rates: SellerRates @doc(description: "Seller Rates")
    products: Products @doc(description: "Products")
}
type Sellers {
    total_count: Int @doc(description: "The number of sellers returned")
    items: [Seller] @doc(description: "An array of sellers that match the specified search criteria")
    page_info: SearchResultPageInfo @doc(description: "An object that includes the page_info and currentPage values specified in the query.")
    sort_fields: SortFields @doc(description: "An object that includes the default sort field and all available sort fields.") @resolver(class: "Lof\\MarketplaceGraphQl\\Model\\Resolver\\Sellers\\SortFields")
}

type Products {
    total_count: Int @doc(description: "The number of seller products returned")
    page_info: SearchResultPageInfo @doc(description: "Metadata for pagination rendering")
    items: [ProductInterface] @doc(description: "An array of seller products that match the specified search criteria")
}

type SellerRates {
    total_count: Int @doc(description: "The number of seller rates returned")
    page_info: SearchResultPageInfo @doc(description: "Metadata for pagination rendering")
    items: [SellerRate] @doc(description: "An array of seller rates")
}

input SellerSortInput @doc(description: "SellerSortInput specifies the attribute to use for sorting search results and indicates whether the results are sorted in ascending or descending order. It's possible to sort sellers using searchable attributes with enabled 'Use in Filter Options' option")
{
    position: SortEnum @doc(description: "Sort by the position (position).")
    creation_time: SortEnum @doc(description: "Sort by the creation_time assigned to each seller.")
    update_time: SortEnum @doc(description: "Sort by the update_time assigned to each seller.")
    total_sold: SortEnum @doc(description: "Sort by the total_sold assigned to each seller.")
    product_count: SortEnum @doc(description: "Sort by the product_count assigned to each seller.")
    name: SortEnum @doc(description: "Sort by the name assigned to each seller.")
    shop_title: SortEnum @doc(description: "Sort by the shop_title assigned to each seller.")
    sale: SortEnum @doc(description: "Sort by the sale assigned to each seller.")
    country_id: SortEnum @doc(description: "Sort by the country_id assigned to each seller.")
    region: SortEnum @doc(description: "Sort by the region assigned to each seller.")
    status: SortEnum @doc(description: "Sort by the status assigned to each seller.")
}

input SellerGroupSortInput @doc(description: "SellerGroupSortInput specifies the attribute to use for sorting search results and indicates whether the results are sorted in ascending or descending order. It's possible to sort sellers using searchable attributes with enabled 'Use in Filter Options' option")
{
    position: SortEnum @doc(description: "Sort by the position (position).")
    name: SortEnum @doc(description: "Sort by the name assigned to each seller.")
    group_id: SortEnum @doc(description: "Sort by the group_id assigned to each seller.")
    shown_in_sidebar: SortEnum @doc(description: "Sort by the shown_in_sidebar assigned to each seller.")
    status: SortEnum @doc(description: "Sort by the status assigned to each seller.")
}

input SellerRatingSortInput @doc(description: "SellerRatingSortInput specifies the attribute to use for sorting search results and indicates whether the results are sorted in ascending or descending order. It's possible to sort sellers using searchable attributes with enabled 'Use in Filter Options' option")
{
    rating_id: SortEnum @doc(description: "Sort by the rating_id.")
    title: SortEnum @doc(description: "Sort by the title assigned to each seller.")
    nickname: SortEnum @doc(description: "Sort by the nickname assigned to each seller.")
    created_at: SortEnum @doc(description: "Sort by the created_at assigned to each seller.")
    updated_at: SortEnum @doc(description: "Sort by the updated_at assigned to each seller.")
    status: SortEnum @doc(description: "Sort by the status assigned to each seller.")
    rate1: SortEnum @doc(description: "Sort by the rate1 assigned to each seller.")
    rate2: SortEnum @doc(description: "Sort by the rate2 assigned to each seller.")
    rate3: SortEnum @doc(description: "Sort by the rate3 assigned to each seller.")
    rate4: SortEnum @doc(description: "Sort by the rate4 assigned to each seller.")
    rate5: SortEnum @doc(description: "Sort by the rate5 assigned to each seller.")
    rating: SortEnum @doc(description: "Sort by the rating assigned to each seller.")
    verified_buyer: SortEnum @doc(description: "Sort by the verified_buyer assigned to each seller.")
    is_recommended: SortEnum @doc(description: "Sort by the is_recommended assigned to each seller.")
    answer: SortEnum @doc(description: "Sort by the answer assigned to each seller.")
    like_about: SortEnum @doc(description: "Sort by the like_about assigned to each seller.")
    not_like_about: SortEnum @doc(description: "Sort by the not_like_about assigned to each seller.")
    plus_review: SortEnum @doc(description: "Sort by the plus_review assigned to each seller.")
    minus_review: SortEnum @doc(description: "Sort by the minus_review assigned to each seller.")
    report_abuse: SortEnum @doc(description: "Sort by the report_abuse assigned to each seller.")
    country: SortEnum @doc(description: "Sort by the country assigned to each seller.")
}

input SellerRatingFilterInput {
    rating_id: FilterTypeInput @doc(description: "Query rating_id")
    title: FilterTypeInput @doc(description: "Query title")
    nickname: FilterTypeInput @doc(description: "Query nickname")
    created_at: FilterTypeInput @doc(description: "Query created_at")
    updated_at: FilterTypeInput @doc(description: "Query updated_at")
    status: FilterTypeInput @doc(description: "Query status")
    rate1: FilterTypeInput @doc(description: "Query rate1")
    rate2: FilterTypeInput @doc(description: "Query rate2")
    rate3: FilterTypeInput @doc(description: "Query rate3")
    rate4: FilterTypeInput @doc(description: "Query rate4")
    rate5: FilterTypeInput @doc(description: "Query rate5")
    rating: FilterTypeInput @doc(description: "Query rating")
    verified_buyer: FilterTypeInput @doc(description: "Query verified_buyer")
    is_recommended: FilterTypeInput @doc(description: "Query is_recommended")
    answer: FilterTypeInput @doc(description: "Query answer")
    like_about: FilterTypeInput @doc(description: "Query like_about")
    not_like_about: FilterTypeInput @doc(description: "Query not_like_about")
    plus_review: FilterTypeInput @doc(description: "Query plus_review")
    minus_review: FilterTypeInput @doc(description: "Query minus_review")
    report_abuse: FilterTypeInput @doc(description: "Query report_abuse")
    country: FilterTypeInput @doc(description: "Query country")

    or: SellerRatingFilterInput @doc(description: "The keyword required to perform a logical OR comparison")
}

input SellerFilterInput {
    seller_id: FilterTypeInput @doc(description: "Seller ID")
    name: FilterTypeInput @doc(description: "Name")
    status: FilterTypeInput @doc(description: "Status")
    email: FilterTypeInput @doc(description: "Email")
    group_id: FilterTypeInput @doc(description: "group_id")
    page_title: FilterTypeInput @doc(description: "page_title")
    meta_keywords: FilterTypeInput @doc(description: "meta_keywords")
    created_at: FilterMatchTypeInput @doc(description: "created_at")
    address: FilterMatchTypeInput @doc(description: "address")
    country: FilterTypeInput @doc(description: "country")
    city: FilterTypeInput @doc(description: "city")
    region: FilterTypeInput @doc(description: "region")
    or: SellerFilterInput @doc(description: "The keyword required to perform a logical OR comparison")
}

input SellerGroupFilterInput {
    group_id: FilterTypeInput @doc(description: "Seller Group ID")
    name: FilterTypeInput @doc(description: "Name")
    status: FilterTypeInput @doc(description: "Status")
    url_key: FilterTypeInput @doc(description: "Url_key")
    position: FilterTypeInput @doc(description: "position")
    show_in_sidebar: FilterTypeInput @doc(description: "show_in_sidebar")
    or: SellerGroupFilterInput @doc(description: "The keyword required to perform a logical OR comparison")
}

input SellerProductFilterInput {
    name: FilterTypeInput @doc(description: "Name")
    type_id: FilterTypeInput @doc(description: "Type")
    price: FilterTypeInput @doc(description: "Price")
    created_at: FilterTypeInput @doc(description: "Created At")
    approval: FilterTypeInput @doc(description: "Approval")
    sku: FilterTypeInput @doc(description: "SKU")
    or: SellerFilterInput @doc(description: "The keyword required to perform a logical OR comparison")
}
type SellerProducts {
    total_count: Int @doc(description: "The number of seller products returned")
    items: [SellerProduct] @doc(description: "An array of seller products")
}

type SellerProduct {
    product_id: Int @doc(description: "Product Id")
    product_name: String @doc(description: "Product Name")
    status: Int @doc(description: "Status")
    store_id: Int @doc(description: "Store Id")
}

type SellerGroup {
    group_id: Int @doc(description: "Group Id")
    name: String @doc(description: "name")
    url_key: String @doc(description: "url_key")
    status: Int @doc(description: "Status")
    position: Int @doc(description: "position")
    can_add_product: Int @doc(description: "can_add_product")
    can_use_message: Int @doc(description: "can_use_message")
    can_use_vacation: Int @doc(description: "can_use_vacation")
    can_use_withdrawal: Int @doc(description: "can_use_withdrawal")
}

type SellerGroups {
    total_count: Int @doc(description: "The number of sellers returned")
    items: [SellerGroup] @doc(description: "An array of sellers that match the specified search criteria")
    page_info: SearchResultPageInfo @doc(description: "An object that includes the page_info and currentPage values specified in the query.")
    sort_fields: SortFields @doc(description: "An object that includes the default sort field and all available sort fields.") @resolver(class: "Lof\\MarketplaceGraphQl\\Model\\Resolver\\Sellers\\SortFields")
}

type MarketplaceOuput {
    code: String @doc(description: "The response code")
    message: String @doc(description: "The response message")
}

input SellerMutationInput {
    seller: SellerInput! @doc(description: "Seller Input data")
    customer: CustomerDataInput! @doc(description: "Seller Input data")
    password: String!
}

input SellerInput {
    group_id  : String @doc(description: "An group_id")
    url_key  : String! @doc(description: "An seller url key.")
}

input CustomerDataInput {
    prefix: String @doc(description: "An honorific, such as Dr., Mr., or Mrs.")
    firstname: String! @doc(description: "The customer's first name")
    middlename: String @doc(description: "The customer's middle name")
    lastname: String! @doc(description: "The customer's family name")
    suffix: String @doc(description: "A value such as Sr., Jr., or III")
    email: String! @doc(description: "The customer's email address. Required for customer creation")
    dob: String @doc(description: "Deprecated: Use `date_of_birth` instead")
    date_of_birth: String @doc(description: "The customer's date of birth")
    taxvat: String @doc(description: "The customer's Tax/VAT number (for corporate customers)")
    gender: Int @doc(description: "The customer's gender (Male - 1, Female - 2)")
    is_subscribed: Boolean @doc(description: "Indicates whether the customer is subscribed to the company's newsletter")
    address: AddressInput @doc(description: "The customer's AddressInput")
}

input AddressInput {
    region_id: String @doc(description: "The address's region_id")
    country_id: CountryCodeEnum! @doc(description: "Deprecated: use `country_code` instead.")
    city: String @doc(description: "The city or town")
    street: [String] @doc(description: "An array of strings that define the street number and name")
    company: String @doc(description: "The customer's company")
    telephone: String @doc(description: "The telephone number")
    postcode: String @doc(description: "The customer's ZIP or postal code")
    fax: String @doc(description: "The fax number")
    vat_id: String @doc(description: "The customer's Tax/VAT number (for corporate customers)")
    custom_attributes: [CustomerAddressAttributeInput] @doc(description: "Deprecated: Custom attributes should not be put into container.")
}

input SellerReplyMessageInput {
    message_id: Int! @doc(description: "Current message_id")
    content: String! @doc(description: "Message Content.")
}

input SellerCustomerInput {
    seller: SellerInput!
    customer: CustomerDataInput!
    password: String!
    or: SellerCustomerInput
}

input SellerInput {
    group_id  : String!
    url_key  : String!
}

input ReviewInput {
    seller_url  : String!
    rate1  : Int!
    rate2  : Int!
    rate3  : Int!
    nickname  : String!
    email  : String!
    title  : String!
    detail  : String!
    like_about: String
    not_like_about: String
    is_recommended: Int
}

input CustomerDataInput {
    firstname: String!
    lastname: String!
    email: String!
    address: AddressInput
}

input AddressInput {
    region_id: String
    country_id: String!
    city: String!
    street: String!
    company: String
    telephone: String!
    postcode: String!
    or: AddressInput
}

input SellerCustomerInput {
    seller: SellerInput!
    customer: CustomerDataInput!
    password: String!
    or: SellerCustomerInput
}

input SellerInput {
    group_id  : String!
    url_key  : String!
}

input CustomerDataInput {
    firstname: String!
    lastname: String!
    email: String!
    address: AddressInput
}

input AddressInput {
    region_id: String
    country_id: String!
    city: String!
    street: String!
    company: String
    telephone: String!
    postcode: String!
    or: AddressInput
}

type SellerMessages {
  total_count: Int @doc(description: "The number of seller messages returned")
  items: [SellerMessage] @doc(description: "An array of items that match the specified search criteria")
  page_info: SearchResultPageInfo @doc(description: "An object that includes the page_info and currentPage values specified in the query.")
}

type SellerMessageDetails {
  total_count: Int @doc(description: "The number of seller messages details returned")
  items: [SellerMessageDetail] @doc(description: "An array of items that match the specified search criteria")
  page_info: SearchResultPageInfo @doc(description: "An object that includes the page_info and currentPage values specified in the query.")
}

type SellerMessage {
    message_id: Int @doc(description: "The number of seller message returned")
    description: String @doc(description: "message description field")
    subject: String @doc(description: "message subject field")
    sender_email: String @doc(description: "sender_email field")
    sender_name: String @doc(description: "sender_name field")
    created_at: String @doc(description: "created_at field")
    status: Int @doc(description: "status field")
    is_read: Int @doc(description: "is_read field")
    sender_id: Int @doc(description: "sender_id field")
    owner_id: Int @doc(description: "owner_id field")
    receiver_id: Int @doc(description: "receiver_id field")
    seller_send: Int @doc(description: "seller_send field")
    details (
        pageSize: Int = 20 @doc(description: "Specifies the maximum number of results to return at once. This attribute is optional.")
        currentPage: Int = 1 @doc(description: "Specifies which page of results to return. The default value is 1.")
    ): SellerMessageDetails @doc(description: "List of message details by message_id.") @resolver(class: "\\Lof\\MarketplaceGraphQl\\Model\\Resolver\\MessageDetail")
}

type SellerMessageDetail {
    content: String @doc(description: "An encoded rating value id.")
    sender_name: String @doc(description: "sender_name field.")
    sender_email: String @doc(description: "sender_email field")
    receiver_name: String @doc(description: "receiver_name field.")
    is_read: Int @doc(description: "is_read field")
    created_at: String @doc(description: "created_at field")
}

input SellerMessageFilterInput {
    message_id: FilterEqualTypeInput @deprecated(reason: "Filter Seller Message message_id")
    description: FilterTypeInput @deprecated(reason: "Filter Seller Message description")
    subject: FilterTypeInput @deprecated(reason: "Filter Seller Message subject")
    sender_email: FilterTypeInput @deprecated(reason: "Filter Seller Message sender_email")
    sender_name: FilterTypeInput @deprecated(reason: "Filter Seller Message sender_name")
    created_at: FilterTypeInput @deprecated(reason: "Filter Seller Message created_at")
    status: FilterEqualTypeInput @deprecated(reason: "Filter Seller Message status")
    is_read: FilterEqualTypeInput @deprecated(reason: "Filter Seller Message is_read")
    sender_id: FilterEqualTypeInput @deprecated(reason: "Filter Seller Message sender_id")
    owner_id: FilterEqualTypeInput @deprecated(reason: "Filter Seller Message owner_id")
    receiver_id: FilterEqualTypeInput @deprecated(reason: "Filter Seller Message receiver_id")
    seller_send: FilterEqualTypeInput @deprecated(reason: "Filter Seller Message seller_send")
    or: SellerMessageFilterInput @deprecated(reason: "Filter Seller Message condition OR")
}

input SellerMessageSortInput {
    message_id: SortEnum @doc(description: "Sort by the message_id assigned to each message (default).")
    subject: SortEnum @doc(description: "Sort by the subject.")
    sender_id: SortEnum @doc(description: "Sort by the sender_id.")
    owner_id: SortEnum @doc(description: "Sort by the owner_id assigned to each order.")
    sender_name: SortEnum @doc(description: "Sort by the sender_name assigned to each message.")
    sender_email: SortEnum @doc(description: "Sort by the sender_email assigned to each message.")
    status: SortEnum @doc(description: "Sort by the status assigned to each message.")
    is_read: SortEnum @doc(description: "Sort by the is_read assigned to each message.")
    seller_send: SortEnum @doc(description: "Sort by the seller_send assigned to each message.")
}

input CustomerMessageInput {
    seller_url: String! @doc(description: "Current seller_url Key")
    subject: String @doc(description: "Message Subject")
    content: String! @doc(description: "Message Content.")
}

input ReplyMessageInput {
    message_id: Int! @doc(description: "Current message_id")
    content: String! @doc(description: "Message Content.")
}

type SortField {
    value: String @doc(description: "Attribute code of sort field.")
    label: String @doc(description: "Label of sort field.")
}
type SortFields @doc(description: "SortFields contains a default value for sort fields and all available sort fields.") {
    default: String @doc(description: "Default value of sort fields.")
    options: [SortField] @doc(description: "Available sort fields.")
}